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;