X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=openbox%2Fevent.c;h=04ecf3837e7f26108b3f43afcb8311b1befd571f;hb=669c7655be8fef885e2f5ea0b0d389046ebb6753;hp=6b0ecdd7b04304ff88ec5bc6d4e6dbac46625656;hpb=040d344a89f40487de8a1920e0aaeccd93a6a995;p=chaz%2Fopenbox diff --git a/openbox/event.c b/openbox/event.c index 6b0ecdd7..04ecf383 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -475,10 +475,12 @@ static void event_process(const XEvent *ec, gpointer data) client = WINDOW_AS_CLIENT(obwin); break; case Window_Menu: - case Window_Internal: /* not to be used for events */ g_assert_not_reached(); break; + case Window_Internal: + /* we don't do anything with events directly on these windows */ + break; } } @@ -639,9 +641,12 @@ static void event_process(const XEvent *ec, gpointer data) else if (e->type == MapRequest) client_manage(window); else if (e->type == MappingNotify) { - /* keyboard layout changes, reconfigure openbox. need to restart the - modkeys system, but also to reload the key bindings. */ - ob_reconfigure(); + /* keyboard layout changes for modifier mapping changes. reload the + modifier map, and rebind all the key bindings as appropriate */ + ob_debug("Kepboard map changed. Reloading keyboard bindings.\n"); + modkeys_shutdown(TRUE); + modkeys_startup(TRUE); + keyboard_rebind(); } else if (e->type == ClientMessage) { /* This is for _NET_WM_REQUEST_FRAME_EXTENTS messages. They come for