From 9e1d6e24a028ec96fb11ba943769764665fb024c Mon Sep 17 00:00:00 2001 From: Harry Jeffery Date: Fri, 23 Aug 2019 23:34:02 +0100 Subject: wl_window: Maintain keyboard modifiers state --- src/keyboard.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/keyboard.c') diff --git a/src/keyboard.c b/src/keyboard.c index af79006..55e4e49 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -55,6 +55,12 @@ void imv_keyboard_update_key(struct imv_keyboard *keyboard, int scancode, bool p xkb_state_update_key(keyboard->state, scancode + scancode_offset, pressed ? XKB_KEY_DOWN : XKB_KEY_UP); } +void imv_keyboard_update_mods(struct imv_keyboard *keyboard, + int depressed, int latched, int locked) +{ + xkb_state_update_mask(keyboard->state, depressed, latched, locked, 0, 0, 0); +} + static const char *describe_prefix(struct imv_keyboard *keyboard) { const bool ctrl = (xkb_state_mod_name_is_active(keyboard->state, XKB_MOD_NAME_CTRL, XKB_STATE_MODS_EFFECTIVE) > 0); -- cgit v1.2.3