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

Reviewed-by: Daniel Stone <daniel.stone@collabora.com>
dev
Giulio Camuffo 10 years ago committed by Pekka Paalanen
parent d09dbb35f0
commit 943b46ed66
  1. 5
      src/bindings.c

@ -202,6 +202,9 @@ binding_key(struct weston_keyboard_grab *grab,
if (keyboard->input_method_resource) if (keyboard->input_method_resource)
keyboard->grab = &keyboard->input_method_grab; keyboard->grab = &keyboard->input_method_grab;
free(b); free(b);
} else {
/* Don't send the key press event for the binding key */
return;
} }
} }
if (!wl_list_empty(&keyboard->focus_resource_list)) { 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 /* If this was a key binding and it didn't
* install a keyboard grab, install one now to * install a keyboard grab, install one now to
* swallow the key release. */ * swallow the key press. */
if (seat->keyboard->grab == if (seat->keyboard->grab ==
&seat->keyboard->default_grab) &seat->keyboard->default_grab)
install_binding_grab(seat, time, key, focus); install_binding_grab(seat, time, key, focus);

Loading…
Cancel
Save