diff options
author | Chris Michael <cp.michael@samsung.com> | 2015-02-11 14:14:52 -0500 |
---|---|---|
committer | Chris Michael <cp.michael@samsung.com> | 2015-02-11 14:14:52 -0500 |
commit | 4f320a80df28c9f1ed0e1922b3e51ed4b1d19f12 (patch) | |
tree | 79e1aba42a60a9522a6469f1c0623b5896fa1807 | |
parent | 150613086643af46b02acc958252aa553ac89903 (diff) | |
download | efl-4f320a80df28c9f1ed0e1922b3e51ed4b1d19f12.tar.gz |
ecore-drm: Disable/Enable inputs if we release/acquire the VT
Summary: Due to libinput process events directly from evdev, when we
VT switch we should disable/enable inputs accordingly.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
-rw-r--r-- | src/lib/ecore_drm/ecore_drm_tty.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lib/ecore_drm/ecore_drm_tty.c b/src/lib/ecore_drm/ecore_drm_tty.c index f9ea64c305..0d525f07dd 100644 --- a/src/lib/ecore_drm/ecore_drm_tty.c +++ b/src/lib/ecore_drm/ecore_drm_tty.c @@ -10,6 +10,8 @@ static Eina_Bool _ecore_drm_tty_cb_vt_signal(void *data, int type EINA_UNUSED, void *event) { Ecore_Drm_Device *dev; + Ecore_Drm_Input *input; + Eina_List *l; Ecore_Event_Signal_User *ev; siginfo_t sig; @@ -21,12 +23,16 @@ _ecore_drm_tty_cb_vt_signal(void *data, int type EINA_UNUSED, void *event) switch (ev->number) { case 1: + EINA_LIST_FOREACH(dev->inputs, l, input) + ecore_drm_inputs_disable(input); ecore_drm_device_master_drop(dev); ioctl(dev->tty.fd, VT_RELDISP, 1); break; case 2: ioctl(dev->tty.fd, VT_RELDISP, VT_ACKACQ); ecore_drm_device_master_set(dev); + EINA_LIST_FOREACH(dev->inputs, l, input) + ecore_drm_inputs_enable(input); break; default: break; |