forked from enlightenment/enlightenment
Fixed a problem with e wl server that sent invalid key value to wl client. (server-side)
Summary: This problem occurred due to xkb_keysym_t value of libxkbcommon by e wl server. e wl server should pass keycode from evdev input device on to wl client. In order that e wl server receives valid keycode Ecore_Event_Key should have an extended data member. This patch should be applied with client side patch (efl). Test Plan: run e wl server -> create wl client -> type keys Reviewers: raster, devilhorns, zmike Reviewed By: devilhorns CC: cedric Differential Revision: https://phab.enlightenment.org/D713
This commit is contained in:
parent
7274ffa742
commit
fdd4d50146
|
@ -1362,8 +1362,13 @@ _e_wl_shell_shell_surface_cb_key_up(void *data, Evas *e EINA_UNUSED, Evas_Object
|
|||
|
||||
/* if we have a grab, send this key to it */
|
||||
if (grab)
|
||||
grab->interface->key(grab, ev->timestamp, key,
|
||||
WL_KEYBOARD_KEY_STATE_RELEASED);
|
||||
{
|
||||
/* send keycode from evdev */
|
||||
grab->interface->key(grab,
|
||||
ev->timestamp,
|
||||
ev->keycode ? ev->keycode : key,
|
||||
WL_KEYBOARD_KEY_STATE_RELEASED);
|
||||
}
|
||||
|
||||
/* update xkb key state */
|
||||
xkb_state_update_key(_e_wl_comp->input->xkb.state, key + 8, XKB_KEY_UP);
|
||||
|
@ -1437,8 +1442,13 @@ _e_wl_shell_shell_surface_cb_key_down(void *data, Evas *e EINA_UNUSED, Evas_Obje
|
|||
|
||||
/* if we have a grab, send this key to it */
|
||||
if (grab)
|
||||
grab->interface->key(grab, ev->timestamp, key,
|
||||
WL_KEYBOARD_KEY_STATE_PRESSED);
|
||||
{
|
||||
/* send keycode from evdev */
|
||||
grab->interface->key(grab,
|
||||
ev->timestamp,
|
||||
ev->keycode ? ev->keycode : key,
|
||||
WL_KEYBOARD_KEY_STATE_PRESSED);
|
||||
}
|
||||
|
||||
/* update xkb key state */
|
||||
xkb_state_update_key(_e_wl_comp->input->xkb.state, key + 8, XKB_KEY_DOWN);
|
||||
|
|
Loading…
Reference in New Issue