aboutsummaryrefslogtreecommitdiff
path: root/examples/compositor/main.c
diff options
context:
space:
mode:
authornyorain <nyorain@gmail.com>2017-08-17 14:34:31 +0200
committernyorain <nyorain@gmail.com>2017-08-17 14:34:31 +0200
commitedbaa7d6ac0bdbe3230b75e7cf7664dbda7207e0 (patch)
tree30e7f11f634cd5eff5d38c1c2ff7c8e0326c566e /examples/compositor/main.c
parent2db04c369e7e98e8205fac7d1e273dd775efb768 (diff)
Update keyboard modifiers in example compositor
Diffstat (limited to 'examples/compositor/main.c')
-rw-r--r--examples/compositor/main.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/examples/compositor/main.c b/examples/compositor/main.c
index 54d31eb1..1fe81046 100644
--- a/examples/compositor/main.c
+++ b/examples/compositor/main.c
@@ -110,6 +110,16 @@ static void handle_keyboard_key(struct keyboard_state *keyboard, uint32_t keycod
}
if (seat_handle && seat_handle->keyboard) {
+ uint32_t depressed = xkb_state_serialize_mods(keyboard->xkb_state,
+ XKB_STATE_MODS_DEPRESSED);
+ uint32_t latched = xkb_state_serialize_mods(keyboard->xkb_state,
+ XKB_STATE_MODS_LATCHED);
+ uint32_t locked = xkb_state_serialize_mods(keyboard->xkb_state,
+ XKB_STATE_MODS_LOCKED);
+ uint32_t group = xkb_state_serialize_layout(keyboard->xkb_state,
+ XKB_STATE_LAYOUT_EFFECTIVE);
+ wl_keyboard_send_modifiers(seat_handle->keyboard, ++sample->serial, depressed,
+ latched, locked, group);
wl_keyboard_send_key(seat_handle->keyboard, ++sample->serial, 0, keycode, key_state);
}
}