Fix keyboard layouts
Commit 08ca70c00d
added support for Xlib cursor themes by making awesome use
Xlib for its X11 connection and for setting cursor icons. Everything else was
still done through xcb.
However, an unexpected side effect of this is that Xlib enabled the XKB
extension without asking us. This changes the way that keyboard events are
reported which causes problems with various keyboard events.
(Normally, Xlib hides these things by silently fixing up the events that it
hands out to applications. However, since we bypassed Xlib via xcb...)
The fix is simple: Luckily Xlib provides a function for disabling its XKB
support which is just what we need.
Signed-off-by: Uli Schlachter <psychon@znc.in>
This commit is contained in:
parent
5024843e95
commit
03759b4847
|
@ -34,6 +34,7 @@
|
||||||
#include <xcb/shape.h>
|
#include <xcb/shape.h>
|
||||||
|
|
||||||
#include <X11/Xlib-xcb.h>
|
#include <X11/Xlib-xcb.h>
|
||||||
|
#include <X11/XKBlib.h>
|
||||||
|
|
||||||
#include <glib-unix.h>
|
#include <glib-unix.h>
|
||||||
|
|
||||||
|
@ -369,6 +370,9 @@ main(int argc, char **argv)
|
||||||
sigemptyset(&sa.sa_mask);
|
sigemptyset(&sa.sa_mask);
|
||||||
sigaction(SIGSEGV, &sa, 0);
|
sigaction(SIGSEGV, &sa, 0);
|
||||||
|
|
||||||
|
/* XLib sucks */
|
||||||
|
XkbIgnoreExtension(True);
|
||||||
|
|
||||||
/* X stuff */
|
/* X stuff */
|
||||||
globalconf.display = XOpenDisplay(NULL);
|
globalconf.display = XOpenDisplay(NULL);
|
||||||
if (globalconf.display == NULL) {
|
if (globalconf.display == NULL) {
|
||||||
|
|
Loading…
Reference in New Issue