From 4f320a80df28c9f1ed0e1922b3e51ed4b1d19f12 Mon Sep 17 00:00:00 2001 From: Chris Michael Date: Wed, 11 Feb 2015 14:14:52 -0500 Subject: [PATCH] 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 --- src/lib/ecore_drm/ecore_drm_tty.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/lib/ecore_drm/ecore_drm_tty.c b/src/lib/ecore_drm/ecore_drm_tty.c index f9ea64c..0d525f0 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; -- 2.7.4