aboutsummaryrefslogtreecommitdiff
path: root/src/wl_window.c
diff options
context:
space:
mode:
authorHarry Jeffery <harry@exec64.co.uk>2019-08-23 23:34:02 +0100
committerHarry Jeffery <harry@exec64.co.uk>2019-08-23 23:34:02 +0100
commit9e1d6e24a028ec96fb11ba943769764665fb024c (patch)
tree50eaaf19bbff64e6309ebe8c2b1ab1c4b58f3df9 /src/wl_window.c
parent9850d9c6a2be489a912ff3c98c83eef77198fccc (diff)
downloadimv-9e1d6e24a028ec96fb11ba943769764665fb024c.tar.gz
wl_window: Maintain keyboard modifiers state
Diffstat (limited to 'src/wl_window.c')
-rw-r--r--src/wl_window.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/wl_window.c b/src/wl_window.c
index ace66f0..e9a8a0f 100644
--- a/src/wl_window.c
+++ b/src/wl_window.c
@@ -152,13 +152,21 @@ static void keyboard_modifiers(void *data, struct wl_keyboard *keyboard,
uint32_t serial, uint32_t mods_depressed, uint32_t mods_latched,
uint32_t mods_locked, uint32_t group)
{
- (void)data;
(void)keyboard;
(void)serial;
- (void)mods_depressed;
- (void)mods_latched;
- (void)mods_locked;
(void)group;
+ struct imv_window *window = data;
+ struct imv_event e = {
+ .type = IMV_EVENT_KEYBOARD_MODS,
+ .data = {
+ .keyboard_mods = {
+ .depressed = mods_depressed,
+ .latched = mods_latched,
+ .locked = mods_locked,
+ }
+ }
+ };
+ imv_window_push_event(window, &e);
}
static void keyboard_repeat(void *data, struct wl_keyboard *keyboard,