Wrap version querying
Use bitsets and enums for keycodes and modifiers