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

Reply via email to