Initialize xkb controls. - 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 955ee1874719635a97ec0ac1fc3ad6c6f275f7e7
 (DIR) parent 20cf9c1ad1e419eda25949b34e9ee537e4f5430d
 (HTM) Author: Rob King <jking@deadpixi.com>
       Date:   Wed, 30 Nov 2016 16:52:32 -0600
       
       Initialize xkb controls.
       
       Diffstat:
         libXg/gwin.c                        |       2 --
         libXg/xtbinit.c                     |       6 +++++-
       
       2 files changed, 5 insertions(+), 3 deletions(-)
       ---
 (DIR) diff --git a/libXg/gwin.c b/libXg/gwin.c
       @@ -254,9 +254,7 @@ Keyaction(Widget w, XEvent *e, String *p, Cardinal *np)
            if(e->xany.type != KeyPress)
                return;
            XkbTranslateKeyCode(xkb, (KeyCode)e->xkey.keycode, e->xkey.state, &md, &k);
       -    fprintf(stderr, "keycode %u, state %d, result %lu ", e->xkey.keycode, e->xkey.state, k);
            XkbTranslateKeySym(e->xany.display, &k, e->xkey.state, buf, sizeof(buf) - 1, &len);
       -    fprintf(stderr, " buf %s\n", buf);
        
            /* Check to see if it's a specially-handled key first. */
            for (Keymapping *m = keymappings; m; m = m->next){
 (DIR) diff --git a/libXg/xtbinit.c b/libXg/xtbinit.c
       @@ -213,12 +213,16 @@ xtbinit(Errfunc f, char *class, int *pargc, char **argv, char **fallbacks)
            int xkbop    = 0;
            int xkbevent = 0;
            int xkberr   = 0;
       -    if (XkbQueryExtension(_dpy, &xkbop, &xkbevent, &xkberr, &xkbmajor, &xkbminor) == False){
       +    if (!XkbQueryExtension(_dpy, &xkbop, &xkbevent, &xkberr, &xkbmajor, &xkbminor)){
                fprintf(stderr, "could not initialize X Keyboard Extension\n");
                exit(EXIT_FAILURE);
            }
        
            xkb = XkbGetKeyboard(_dpy, XkbAllComponentsMask, XkbUseCoreKbd);
       +    if (xkb == NULL || xkb->geom == NULL || XkbGetControls(_dpy, XkbAllControlsMask, xkb)){
       +        fprintf(stderr, "could not initialize keyboard\n");
       +        exit(EXIT_FAILURE);
       +    }
        
            font = XftFontOpenName(_dpy, DefaultScreen(_dpy), fontspec[0] ? fontspec : getenv("FONT") ? getenv("FONT") : "monospace");
            screen.id = 0;