From 9e6de217f02dec8a563aa07b04f8c9ca72815d64 Mon Sep 17 00:00:00 2001 From: Giulio Camuffo Date: Fri, 5 Dec 2014 18:02:58 +0200 Subject: [PATCH] input: swallow the key press event when running a compositor key binding Reviewed-by: Daniel Stone --- src/bindings.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/bindings.c b/src/bindings.c index 7d30024a9..b0e8c93f7 100644 --- a/src/bindings.c +++ b/src/bindings.c @@ -202,6 +202,9 @@ binding_key(struct weston_keyboard_grab *grab, if (keyboard->input_method_resource) keyboard->grab = &keyboard->input_method_grab; free(b); + } else { + /* Don't send the key press event for the binding key */ + return; } } else if (!wl_list_empty(&keyboard->focus_resource_list)) { serial = wl_display_next_serial(display); @@ -277,7 +280,7 @@ weston_compositor_run_key_binding(struct weston_compositor *compositor, /* If this was a key binding and it didn't * install a keyboard grab, install one now to - * swallow the key release. */ + * swallow the key press. */ if (seat->keyboard->grab == &seat->keyboard->default_grab) install_binding_grab(seat, time, key);