Better handle multiple modifiers on keys. - sam - An updated version of the sam text editor.
(HTM) git clone git://vernunftzentrum.de/sam.git
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) LICENSE
---
(DIR) commit 0d7c06d3a08a25ba6050a2c4f1fe531f4a8cbc1e
(DIR) parent c0b56f6d1dd91596de93449e90cd0ec73636e635
(HTM) Author: Rob King <jking@deadpixi.com>
Date: Sun, 4 Sep 2016 22:52:29 -0500
Better handle multiple modifiers on keys.
There are modifiers like Num_Lock that are always on; we need to be able
to handle that situation.
Diffstat:
libXg/gwin.c | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
---
(DIR) diff --git a/libXg/gwin.c b/libXg/gwin.c
@@ -201,11 +201,13 @@ Keyaction(Widget w, XEvent *e, String *p, Cardinal *np)
/* Check to see if it's a specially-handled key first. */
for (Keymapping *m = keymappings; m && m->kind != Kend; m++){
- if (e->xkey.state == m->mask && k == m->sym){
- f = ((GwinWidget)w)->gwin.gotchar;
- if (f)
- (*f)(m->result, m->kind, Tcurrent, 0, 0);
- return;
+ if (k == m->sym){
+ if ((e->xkey.state & m->mask) || m->mask == 0){
+ f = ((GwinWidget)w)->gwin.gotchar;
+ if (f)
+ (*f)(m->result, m->kind, Tcurrent, 0, 0);
+ return;
+ }
}
}