Check a key repeat using xkb ruled keycode
authorjhyuni.kang <jhyuni.kang@samsung.com>
Thu, 7 May 2015 13:24:54 +0000 (09:24 -0400)
committerChris Michael <cp.michael@samsung.com>
Thu, 7 May 2015 13:24:54 +0000 (09:24 -0400)
Summary:
ecore_wayland get a key information using libxkbcommon's functions.
         Also generate key repeat check xkb keymap's information using xkb_keymap_key_repeats().
         But xkb rules reflect X broken keycodes, so offset by 8.
         In ecore_wayland backend, other xkb funtions using offset keycode
         but only use default keycode to check key repeat.
         So I fix it to use xkb ruled keycode.

Test Plan: Long press a key and watch repeated key events generate well

Reviewers: devilhorns, raster

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2475

src/lib/ecore_wayland/ecore_wl_input.c [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index 1792d7f..b0297e9
@@ -829,7 +829,7 @@ _ecore_wl_input_cb_keyboard_key(void *data, struct wl_keyboard *keyboard EINA_UN
    else
      ecore_event_add(ECORE_EVENT_KEY_UP, e, NULL, NULL);
 
-   if (!xkb_keymap_key_repeats(input->xkb.keymap, keycode)) return;
+   if (!xkb_keymap_key_repeats(input->xkb.keymap, code)) return;
 
    if ((!state) && (keycode == input->repeat.key))
      {