From ae7f2a58cbb26d0ce5fc5e55d53cbb3d18fe483a Mon Sep 17 00:00:00 2001 From: Ran Benita Date: Wed, 27 Jun 2012 13:23:38 +0300 Subject: [PATCH] xkb: first get keysyms, then update state This is the correct order, as specified in xkb_state_update_key header comment. Signed-off-by: Ran Benita Signed-off-by: David Herrmann --- src/uterm_input_xkb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/uterm_input_xkb.c b/src/uterm_input_xkb.c index ce2f1ef..016aaad 100644 --- a/src/uterm_input_xkb.c +++ b/src/uterm_input_xkb.c @@ -138,6 +138,8 @@ int kbd_dev_process_key(struct kbd_dev *kbd, keymap = xkb_state_get_map(state); keycode = code + EVDEV_KEYCODE_OFFSET; + num_keysyms = xkb_key_get_syms(state, keycode, &keysyms); + if (key_state == KEY_PRESSED) xkb_state_update_key(state, keycode, XKB_KEY_DOWN); else if (key_state == KEY_RELEASED) @@ -149,7 +151,6 @@ int kbd_dev_process_key(struct kbd_dev *kbd, if (key_state == KEY_REPEATED && !xkb_key_repeats(keymap, keycode)) return -ENOKEY; - num_keysyms = xkb_key_get_syms(state, keycode, &keysyms); if (num_keysyms < 0) return -ENOKEY;