input: swallow the key press event when running a compositor key binding

Reviewed-by: Daniel Stone <daniel.stone@collabora.com>
This commit is contained in:
Giulio Camuffo 2014-12-05 18:02:58 +02:00 committed by Pekka Paalanen
parent d09dbb35f0
commit 943b46ed66

View File

@ -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;
}
}
if (!wl_list_empty(&keyboard->focus_resource_list)) {
@ -294,7 +297,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, focus);