summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjackinfurs <jackinfurs@gmail.com>2025-12-27 08:21:23 +0000
committerjackinfurs <jackinfurs@gmail.com>2025-12-27 21:26:26 +0000
commit9837ea5729c01bbbec10f6200509146a1b7bd28c (patch)
tree1bdd3e1b2aff2f073d0d63a198cff3ec7f13f172
parent9ba7461f4df9b7bd82d81a784c79d8eb416fd006 (diff)
fix: ignore case of keysyms in `keybindings`
-rw-r--r--config.def.h6
-rw-r--r--dwl.c3
2 files changed, 5 insertions, 4 deletions
diff --git a/config.def.h b/config.def.h
index 95c2afa..804a5cb 100644
--- a/config.def.h
+++ b/config.def.h
@@ -123,7 +123,7 @@ static const char *termcmd[] = { "foot", NULL };
static const char *menucmd[] = { "wmenu-run", NULL };
static const Key keys[] = {
- /* Note that Shift changes certain key codes: c -> C, 2 -> at, etc. */
+ /* Note that Shift changes certain key codes: 2 -> at, etc. */
/* modifier key function argument */
{ MODKEY, XKB_KEY_p, spawn, {.v = menucmd} },
{ MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_Return, spawn, {.v = termcmd} },
@@ -135,7 +135,7 @@ static const Key keys[] = {
{ MODKEY, XKB_KEY_l, setmfact, {.f = +0.05f} },
{ MODKEY, XKB_KEY_Return, zoom, {0} },
{ MODKEY, XKB_KEY_Tab, view, {0} },
- { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_C, killclient, {0} },
+ { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_c, killclient, {0} },
{ MODKEY, XKB_KEY_t, setlayout, {.v = &layouts[0]} },
{ MODKEY, XKB_KEY_f, setlayout, {.v = &layouts[1]} },
{ MODKEY, XKB_KEY_m, setlayout, {.v = &layouts[2]} },
@@ -157,7 +157,7 @@ static const Key keys[] = {
TAGKEYS( XKB_KEY_7, XKB_KEY_ampersand, 6),
TAGKEYS( XKB_KEY_8, XKB_KEY_asterisk, 7),
TAGKEYS( XKB_KEY_9, XKB_KEY_parenleft, 8),
- { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_Q, quit, {0} },
+ { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_q, quit, {0} },
/* Ctrl-Alt-Backspace and Ctrl-Alt-Fx used to be handled by X server */
{ WLR_MODIFIER_CTRL|WLR_MODIFIER_ALT,XKB_KEY_Terminate_Server, quit, {0} },
diff --git a/dwl.c b/dwl.c
index 12f441e..44f3ad9 100644
--- a/dwl.c
+++ b/dwl.c
@@ -1616,7 +1616,8 @@ keybinding(uint32_t mods, xkb_keysym_t sym)
const Key *k;
for (k = keys; k < END(keys); k++) {
if (CLEANMASK(mods) == CLEANMASK(k->mod)
- && sym == k->keysym && k->func) {
+ && xkb_keysym_to_lower(sym) == xkb_keysym_to_lower(k->keysym)
+ && k->func) {
k->func(&k->arg);
return 1;
}