mirror of
https://github.com/labwc/labwc.git
synced 2025-10-29 05:40:24 -04:00
keyboard.c: don't broadcast modifiers from virtual keyboards
Fixes: #2723
This commit is contained in:
parent
3bd5964e34
commit
05ff914cfe
1 changed files with 7 additions and 1 deletions
|
|
@ -104,8 +104,14 @@ seat_client_from_keyboard_resource(struct wl_resource *resource)
|
|||
|
||||
static void
|
||||
broadcast_modifiers_to_unfocused_clients(struct wlr_seat *seat,
|
||||
const struct keyboard *keyboard,
|
||||
const struct wlr_keyboard_modifiers *modifiers)
|
||||
{
|
||||
/* Prevent overwriting the group modifier by a virtual keyboard */
|
||||
if (keyboard->is_virtual) {
|
||||
return;
|
||||
}
|
||||
|
||||
struct wlr_seat_client *client;
|
||||
wl_list_for_each(client, &seat->clients, link) {
|
||||
if (client == seat->keyboard_state.focused_client) {
|
||||
|
|
@ -191,7 +197,7 @@ keyboard_modifiers_notify(struct wl_listener *listener, void *data)
|
|||
* clients with pointer-focus (see issue #2271)
|
||||
*/
|
||||
broadcast_modifiers_to_unfocused_clients(seat->seat,
|
||||
&wlr_keyboard->modifiers);
|
||||
keyboard, &wlr_keyboard->modifiers);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue