Use xf86AddEnabledDevice with threaded input

We didn't use SIGIO input for keyboard processing, but we can use
threaded input.

Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
Keith Packard
2016-05-30 01:27:49 -07:00
committed by Peter Hutterer
parent 9ab899863a
commit 157e0631b1

View File

@@ -45,6 +45,10 @@
#include "xkbstr.h"
#include "xkbsrv.h"
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 23
#define HAVE_THREADED_INPUT 1
#endif
#define CAPSFLAG 1
#define NUMFLAG 2
#define SCROLLFLAG 4
@@ -352,7 +356,11 @@ KbdProc(DeviceIntPtr device, int what)
*/
if (pInfo->fd >= 0) {
xf86FlushInput(pInfo->fd);
#if HAVE_THREADED_INPUT
xf86AddEnabledDevice(pInfo);
#else
AddEnabledDevice(pInfo->fd);
#endif
}
device->public.on = TRUE;
@@ -365,8 +373,13 @@ KbdProc(DeviceIntPtr device, int what)
/*
* Restore original keyboard directness and translation.
*/
if (pInfo->fd != -1)
if (pInfo->fd != -1) {
#if HAVE_THREADED_INPUT
xf86RemoveEnabledDevice(pInfo);
#else
RemoveEnabledDevice(pInfo->fd);
#endif
}
pKbd->KbdOff(pInfo, what);
device->public.on = FALSE;
break;