summaryrefslogtreecommitdiff
path: root/dwl.c
diff options
context:
space:
mode:
Diffstat (limited to 'dwl.c')
-rw-r--r--dwl.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/dwl.c b/dwl.c
index cfd3d07..800b3f4 100644
--- a/dwl.c
+++ b/dwl.c
@@ -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;