about summary refs log tree commit diff
path: root/pkgs/sternenseemann/acme/neo-modifier-fix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/sternenseemann/acme/neo-modifier-fix.patch')
-rw-r--r--pkgs/sternenseemann/acme/neo-modifier-fix.patch24
1 files changed, 24 insertions, 0 deletions
diff --git a/pkgs/sternenseemann/acme/neo-modifier-fix.patch b/pkgs/sternenseemann/acme/neo-modifier-fix.patch
new file mode 100644
index 00000000..f5e587d5
--- /dev/null
+++ b/pkgs/sternenseemann/acme/neo-modifier-fix.patch
@@ -0,0 +1,24 @@
+commit 139924014d126578e5a008f1df7a55831e668287
+Author: sternenseemann <sternenseemann@systemli.org>
+Date:   Sat Mar 19 15:52:59 2022 +0100
+
+    cmd/devdraw: Don't use X11 standard interpretation for modifiers
+    
+    This patch is based on a similar one [1] for drawterm by Sören Tempel.
+    
+    [1]: https://github.com/nmeum/aports/blob/master/8pit/drawterm/modifier-fix.patch
+
+diff --git a/src/cmd/devdraw/x11-screen.c b/src/cmd/devdraw/x11-screen.c
+index 0bbc25d6..511fc093 100644
+--- a/src/cmd/devdraw/x11-screen.c
++++ b/src/cmd/devdraw/x11-screen.c
+@@ -408,6 +408,9 @@ runxevent(XEvent *xev)
+ 	case KeyPress:
+ 		ke = (XKeyEvent*)xev;
+ 		XLookupString(ke, NULL, 0, &k, NULL);
++		/* dont use standard interpretation for modifiers */
++		if(IsModifierKey(k))
++			k = XLookupKeysym(ke, 0);
+ 		c = ke->state;
+ 		switch(k) {
+ 		case XK_Alt_L: