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;
       +            }
                }
            }