Keyboard handling library using XKB data