From: Michael Stapelberg Date: Sat, 7 Mar 2015 13:51:24 +0000 (+0100) Subject: Fix bindings using Mode_switch X-Git-Tag: 4.9.1~5^2 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=7340a3e642a517c606e4c18dae19583c9554ddb4;p=i3%2Fi3 Fix bindings using Mode_switch fixes #1518 --- diff --git a/src/bindings.c b/src/bindings.c index e7e424cc..cbac2dfd 100644 --- a/src/bindings.c +++ b/src/bindings.c @@ -211,7 +211,7 @@ Binding *get_binding_from_xcb_event(xcb_generic_event_t *event) { state_filtered &= 0xFF; DLOG("(removed upper 8 bits, state = %d)\n", state_filtered); - if (xkb_current_group == XkbGroup2Index) + if (xkb_current_group == XCB_XKB_GROUP_2) state_filtered |= BIND_MODE_SWITCH; DLOG("(checked mode_switch, state %d)\n", state_filtered); @@ -294,8 +294,8 @@ void translate_keysyms(void) { bind->translated_to[bind->number_keycodes - 1] = i; } - DLOG("Translated symbol \"%s\" to %d keycode\n", bind->symbol, - bind->number_keycodes); + DLOG("Translated symbol \"%s\" to %d keycode (mods %d)\n", bind->symbol, + bind->number_keycodes, bind->mods); } } diff --git a/src/handlers.c b/src/handlers.c index 529a4b58..7a6ab8db 100644 --- a/src/handlers.c +++ b/src/handlers.c @@ -1267,7 +1267,7 @@ void handle_event(int type, xcb_generic_event_t *event) { /* See The XKB Extension: Library Specification, section 14.1 */ /* We check if the current group (each group contains * two levels) has been changed. Mode_switch activates - * group XkbGroup2Index */ + * group XCB_XKB_GROUP_2 */ if (xkb_current_group == state->group) return; xkb_current_group = state->group; @@ -1277,7 +1277,7 @@ void handle_event(int type, xcb_generic_event_t *event) { grab_all_keys(conn, false); } else { DLOG("Mode_switch enabled\n"); - grab_all_keys(conn, false); + grab_all_keys(conn, true); } }