C++ cross platform key-code library