On Mon, May 30, 2016 at 01:27:49AM -0700, Keith Packard wrote: > We couldn't use SIGIO input for keyboard processing, but we can use > threaded input.
s/couldn't/didn't/ > > Signed-off-by: Keith Packard <[email protected]> > --- > src/kbd.c | 16 +++++++++++++++- > 1 file changed, 15 insertions(+), 1 deletion(-) > > diff --git a/src/kbd.c b/src/kbd.c > index e378dcc..3063d27 100644 > --- a/src/kbd.c > +++ b/src/kbd.c > @@ -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,12 @@ KbdProc(DeviceIntPtr device, int what) > */ > if (pInfo->fd >= 0) { > xf86FlushInput(pInfo->fd); > +#if HAVE_THREADED_INPUT > + xf86AddEnabledDevice(pInfo); > +#else > + /* Can't use xf86AddEnabledDevice on an epollfd */ this is from libinput, I removed this line 9ab8998..157e063 master -> master thanks. Cheers, Peter > AddEnabledDevice(pInfo->fd); > +#endif > } > > device->public.on = TRUE; > @@ -365,8 +374,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; > -- > 2.8.1 > > _______________________________________________ > [email protected]: X.Org development > Archives: http://lists.x.org/archives/xorg-devel > Info: https://lists.x.org/mailman/listinfo/xorg-devel > _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
