summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2010-02-12 13:31:49 -0500
committerDana Jansens <danakj@orodu.net>2010-02-12 13:31:49 -0500
commit98c86118ca941d71c0c511c865d5913814012aed (patch)
treedac5b1196cdd5e1d05c02d5191ec97074dfb5455
parent7c2eb3a781b4434d243b3d135e3dc1ce288cf464 (diff)
have obt refresh the xlib keyboard stuff on mappingnotify events
-rw-r--r--obt/mainloop.c3
-rw-r--r--openbox/event.c1
2 files changed, 3 insertions, 1 deletions
diff --git a/obt/mainloop.c b/obt/mainloop.c
index bf866aec..ebc9e96a 100644
--- a/obt/mainloop.c
+++ b/obt/mainloop.c
@@ -300,6 +300,9 @@ void obt_main_loop_run(ObtMainLoop *loop)
do {
XNextEvent(loop->display, &e);
+ if (e.type == MappingNotify)
+ XRefreshKeyboardMapping(&e.xmapping);
+
for (it = loop->x_handlers; it; it = g_slist_next(it)) {
ObtMainLoopXHandlerType *h = it->data;
h->func(&e, h->data);
diff --git a/openbox/event.c b/openbox/event.c
index 13fd3114..44a90f9b 100644
--- a/openbox/event.c
+++ b/openbox/event.c
@@ -638,7 +638,6 @@ static void event_process(const XEvent *ec, gpointer data)
modifier map, and rebind all the key bindings as appropriate */
ob_debug("Keyboard map changed. Reloading keyboard bindings.");
ob_set_state(OB_STATE_RECONFIGURING);
- XRefreshKeyboardMapping(&e->xmapping);
obt_keyboard_reload();
keyboard_rebind();
ob_set_state(OB_STATE_RUNNING);