summaryrefslogtreecommitdiff
path: root/src/lib/ecore_drm
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 /src/lib/ecore_drm
parent150613086643af46b02acc958252aa553ac89903 (diff)
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>
Diffstat (limited to 'src/lib/ecore_drm')
-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
10_ecore_drm_tty_cb_vt_signal(void *data, int type EINA_UNUSED, void *event) 10_ecore_drm_tty_cb_vt_signal(void *data, int type EINA_UNUSED, void *event)
11{ 11{
12 Ecore_Drm_Device *dev; 12 Ecore_Drm_Device *dev;
13 Ecore_Drm_Input *input;
14 Eina_List *l;
13 Ecore_Event_Signal_User *ev; 15 Ecore_Event_Signal_User *ev;
14 siginfo_t sig; 16 siginfo_t sig;
15 17
@@ -21,12 +23,16 @@ _ecore_drm_tty_cb_vt_signal(void *data, int type EINA_UNUSED, void *event)
21 switch (ev->number) 23 switch (ev->number)
22 { 24 {
23 case 1: 25 case 1:
26 EINA_LIST_FOREACH(dev->inputs, l, input)
27 ecore_drm_inputs_disable(input);
24 ecore_drm_device_master_drop(dev); 28 ecore_drm_device_master_drop(dev);
25 ioctl(dev->tty.fd, VT_RELDISP, 1); 29 ioctl(dev->tty.fd, VT_RELDISP, 1);
26 break; 30 break;
27 case 2: 31 case 2:
28 ioctl(dev->tty.fd, VT_RELDISP, VT_ACKACQ); 32 ioctl(dev->tty.fd, VT_RELDISP, VT_ACKACQ);
29 ecore_drm_device_master_set(dev); 33 ecore_drm_device_master_set(dev);
34 EINA_LIST_FOREACH(dev->inputs, l, input)
35 ecore_drm_inputs_enable(input);
30 break; 36 break;
31 default: 37 default:
32 break; 38 break;