From 9240a40569d14dcecbd44b1302a755bcc6a19bdc Mon Sep 17 00:00:00 2001
From: "Devin J. Pohly" <djpohly@gmail.com>
Date: Sat, 11 Apr 2020 19:46:51 -0500
Subject: add CLEANMASK like dwm

---
 dwl.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/dwl.c b/dwl.c
index 24eeca3..6ef5862 100644
--- a/dwl.c
+++ b/dwl.c
@@ -26,6 +26,7 @@
 #include <wlr/util/log.h>
 #include <xkbcommon/xkbcommon.h>
 
+#define CLEANMASK(mask)         (mask & ~WLR_MODIFIER_CAPS)
 #define LENGTH(X)               (sizeof X / sizeof X[0])
 
 /* For brevity's sake, struct members are annotated where they are used. */
@@ -197,7 +198,9 @@ static bool handle_keybinding(struct dwl_server *server, uint32_t mods, xkb_keys
 	 */
 	bool handled = false;
 	for (int i = 0; i < LENGTH(keys); i++) {
-		if (sym == keys[i].keysym && mods == keys[i].mod && keys[i].func) {
+		if (sym == keys[i].keysym &&
+				CLEANMASK(mods) == CLEANMASK(keys[i].mod) &&
+				keys[i].func) {
 			keys[i].func(server, &keys[i].arg);
 			handled = true;
 		}
-- 
cgit v1.2.3