diff --git a/src/lib/ecore_drm/ecore_drm_evdev.c b/src/lib/ecore_drm/ecore_drm_evdev.c index e40ad400b3..ec50509264 100644 --- a/src/lib/ecore_drm/ecore_drm_evdev.c +++ b/src/lib/ecore_drm/ecore_drm_evdev.c @@ -361,6 +361,7 @@ _device_handle_key(struct libinput_device *device, struct libinput_event_keyboar e->timestamp = timestamp; e->same_screen = 1; e->keycode = code; + e->keysym = sym; _device_modifiers_update(edev); diff --git a/src/lib/ecore_input/Ecore_Input.h b/src/lib/ecore_input/Ecore_Input.h index f58c56e767..f944006353 100644 --- a/src/lib/ecore_input/Ecore_Input.h +++ b/src/lib/ecore_input/Ecore_Input.h @@ -152,6 +152,7 @@ extern "C" { unsigned int keycode; /**< Key scan code numeric value @since 1.10 */ void *data; /**< User data associated with an Ecore_Event_Key @since 1.10 */ + unsigned int keysym; /**< Encoding of keyboard symbold @since 1.15 */ }; /** diff --git a/src/lib/ecore_wayland/ecore_wl_input.c b/src/lib/ecore_wayland/ecore_wl_input.c index 7813a15b1b..58d1030fce 100755 --- a/src/lib/ecore_wayland/ecore_wl_input.c +++ b/src/lib/ecore_wayland/ecore_wl_input.c @@ -827,6 +827,7 @@ _ecore_wl_input_cb_keyboard_key(void *data, struct wl_keyboard *keyboard EINA_UN e->timestamp = timestamp; e->modifiers = input->modifiers; e->keycode = code; + e->keysym = sym; if (state) ecore_event_add(ECORE_EVENT_KEY_DOWN, e, NULL, NULL); diff --git a/src/lib/ecore_x/xcb/ecore_xcb_events.c b/src/lib/ecore_x/xcb/ecore_xcb_events.c index 0b71451e4b..fdd17da0da 100644 --- a/src/lib/ecore_x/xcb/ecore_xcb_events.c +++ b/src/lib/ecore_x/xcb/ecore_xcb_events.c @@ -2422,6 +2422,7 @@ _ecore_xcb_event_key_press(xcb_generic_event_t *event) e->same_screen = xevent->same_screen; e->root_window = xevent->root; e->keycode = keycode; + e->keysym = sym; DBG("Sending Key Down Event: %s", e->keyname); ecore_event_add(ECORE_EVENT_KEY_DOWN, e, NULL, NULL); diff --git a/src/lib/ecore_x/xlib/ecore_x_events.c b/src/lib/ecore_x/xlib/ecore_x_events.c index 8ab79a4582..98640746ec 100644 --- a/src/lib/ecore_x/xlib/ecore_x_events.c +++ b/src/lib/ecore_x/xlib/ecore_x_events.c @@ -393,6 +393,7 @@ _ecore_key_press(int event, e->same_screen = xevent->same_screen; e->root_window = xevent->root; e->keycode = xevent->keycode; + e->keysym = sym; ecore_event_add(event, e, NULL, NULL);