summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Michael <cp.michael@samsung.com>2015-02-11 14:14:52 -0500
committerChris Michael <cp.michael@samsung.com>2015-02-11 14:14:52 -0500
commit4f320a80df28c9f1ed0e1922b3e51ed4b1d19f12 (patch)
tree79e1aba42a60a9522a6469f1c0623b5896fa1807
parent150613086643af46b02acc958252aa553ac89903 (diff)
downloadefl-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.c6
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;