diff options
-rw-r--r-- | client/x11/platform.cpp | 25 |
1 files changed, 2 insertions, 23 deletions
diff --git a/client/x11/platform.cpp b/client/x11/platform.cpp index 09ca61d0..f3fb4441 100644 --- a/client/x11/platform.cpp +++ b/client/x11/platform.cpp @@ -2953,27 +2953,6 @@ static void init_xfixes() XFixesQueryVersion(x_display, &major, &minor) && major >= 1; } -static unsigned int get_modifier_mask(KeySym modifier) -{ - int mask = 0; - int i; - - XModifierKeymap* map = XGetModifierMapping(x_display); - KeyCode keycode = XKeysymToKeycode(x_display, modifier); - if (keycode == NoSymbol) { - XFreeModifiermap(map); - return 0; - } - - for (i = 0; i < 8; i++) { - if (map->modifiermap[map->max_keypermod * i] == keycode) { - mask = 1 << i; - } - } - XFreeModifiermap(map); - return mask; -} - static void init_kbd() { int xkb_major = XkbMajorVersion; @@ -2986,8 +2965,8 @@ static void init_kbd() !XkbQueryExtension(x_display, &opcode, &event, &error, &xkb_major, &xkb_minor)) { return; } - caps_lock_mask = get_modifier_mask(XK_Caps_Lock); - num_lock_mask = get_modifier_mask(XK_Num_Lock); + caps_lock_mask = XkbKeysymToModifiers(x_display, XK_Caps_Lock); + num_lock_mask = XkbKeysymToModifiers(x_display, XK_Num_Lock); } static void init_XIM() |