From aa5534ec6931ffcc81cca76b98785d57de8e0e52 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 23 Aug 2013 11:23:00 -0700 Subject: [PATCH] ephyr: Do grab/ungrab for ctrl+shift, not just shift+ctrl. Given that the window title says "ctrl+shift", having pressing those keys in that order not ungrab you is fairly mean. Signed-off-by: Eric Anholt Reviewed-by: Adam Jackson Reviewed-by: Julien Cristau --- hw/kdrive/ephyr/ephyr.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/hw/kdrive/ephyr/ephyr.c b/hw/kdrive/ephyr/ephyr.c index 932327dce..d8573e04e 100644 --- a/hw/kdrive/ephyr/ephyr.c +++ b/hw/kdrive/ephyr/ephyr.c @@ -1033,9 +1033,12 @@ ephyrProcessKeyRelease(xcb_generic_event_t *xev) if (!keysyms) keysyms = xcb_key_symbols_alloc(conn); - if ((xcb_key_symbols_get_keysym(keysyms, key->detail, 0) == XK_Shift_L - || xcb_key_symbols_get_keysym(keysyms, key->detail, 0) == XK_Shift_R) - && (key->state & XCB_MOD_MASK_CONTROL)) { + if (((xcb_key_symbols_get_keysym(keysyms, key->detail, 0) == XK_Shift_L + || xcb_key_symbols_get_keysym(keysyms, key->detail, 0) == XK_Shift_R) + && (key->state & XCB_MOD_MASK_CONTROL)) || + ((xcb_key_symbols_get_keysym(keysyms, key->detail, 0) == XK_Control_L + || xcb_key_symbols_get_keysym(keysyms, key->detail, 0) == XK_Control_R) + && (key->state & XCB_MOD_MASK_SHIFT))) { KdScreenInfo *screen = screen_from_window(key->event); EphyrScrPriv *scrpriv = screen->driver;