diff options
Diffstat (limited to 'dwl.c')
| -rw-r--r-- | dwl.c | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -1939,7 +1939,7 @@ keybinding(uint32_t mods, xkb_keysym_t sym, int on_press, int on_repeat, int on_ const Key *k; for (k = keys; k < END(keys); k++) { if (CLEANMASK(mods) == CLEANMASK(k->mod) - && sym == k->keysym + && xkb_keysym_to_lower(sym) == xkb_keysym_to_lower(k->keysym) && chainkey == -1 && k->chain == -1 && k->func) { @@ -1952,16 +1952,17 @@ keybinding(uint32_t mods, xkb_keysym_t sym, int on_press, int on_repeat, int on_ return 1; } } - else if (sym == k->keysym + else if (xkb_keysym_to_lower(sym) == xkb_keysym_to_lower(k->keysym) && chainkey != -1 - && k->chain == chainkey + && xkb_keysym_to_lower(k->chain) == xkb_keysym_to_lower(chainkey) && k->func) { k->func(&k->arg); chainkey = -1; return 1; } else if (CLEANMASK(mods) == CLEANMASK(k->mod) - && k->chain == (int)sym + // && k->chain == (int)sym + && xkb_keysym_to_lower(k->chain) == xkb_keysym_to_lower((int)sym) && chainkey == -1 && k->func) { chainkey = sym; |
