forked from enlightenment/enlightenment
pass keys through xkbcommon under wayland lockscreen
ensure that key states are retained when unlocking
This commit is contained in:
parent
4ae2145330
commit
984a1facd9
|
@ -112,8 +112,14 @@ _key_down(int ctx, Ecore_Event_Key *ev)
|
||||||
{
|
{
|
||||||
E_Desklock_Interface *iface = e_desklock_interface_current_get();
|
E_Desklock_Interface *iface = e_desklock_interface_current_get();
|
||||||
if (iface && iface->key_down)
|
if (iface && iface->key_down)
|
||||||
|
{
|
||||||
|
#ifdef HAVE_WAYLAND
|
||||||
|
if (e_comp->comp_type == E_PIXMAP_TYPE_WL)
|
||||||
|
e_comp_wl_key_up(ev, NULL);
|
||||||
|
#endif
|
||||||
return iface->key_down(ev);
|
return iface->key_down(ev);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if ((e_comp->comp_type == E_PIXMAP_TYPE_X) && (ev->event_window != e_comp->root))
|
if ((e_comp->comp_type == E_PIXMAP_TYPE_X) && (ev->event_window != e_comp->root))
|
||||||
{
|
{
|
||||||
E_Client *ec;
|
E_Client *ec;
|
||||||
|
@ -156,8 +162,14 @@ _key_up(int ctx, Ecore_Event_Key *ev)
|
||||||
{
|
{
|
||||||
E_Desklock_Interface *iface = e_desklock_interface_current_get();
|
E_Desklock_Interface *iface = e_desklock_interface_current_get();
|
||||||
if (iface && iface->key_up)
|
if (iface && iface->key_up)
|
||||||
|
{
|
||||||
|
#ifdef HAVE_WAYLAND
|
||||||
|
if (e_comp->comp_type == E_PIXMAP_TYPE_WL)
|
||||||
|
e_comp_wl_key_up(ev, NULL);
|
||||||
|
#endif
|
||||||
return iface->key_up(ev);
|
return iface->key_up(ev);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if ((e_comp->comp_type == E_PIXMAP_TYPE_X) && (ev->event_window != e_comp->root)) return ECORE_CALLBACK_PASS_ON;
|
if ((e_comp->comp_type == E_PIXMAP_TYPE_X) && (ev->event_window != e_comp->root)) return ECORE_CALLBACK_PASS_ON;
|
||||||
return ((!e_comp->screen) ||
|
return ((!e_comp->screen) ||
|
||||||
(!e_comp->screen->key_up) || (!e_comp->screen->key_up(ev))) &&
|
(!e_comp->screen->key_up) || (!e_comp->screen->key_up(ev))) &&
|
||||||
|
|
Loading…
Reference in New Issue