Support XINPUT ABI version 23

Use input_lock/input_unlock calls instead of SIGIO functions

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
Peter Hutterer
2016-06-02 10:05:02 +10:00
parent 59e5db0253
commit 248c5936a0
2 changed files with 13 additions and 3 deletions

View File

@@ -1601,9 +1601,11 @@ timerFunc(OsTimerPtr timer, CARD32 now, pointer arg)
SynapticsPrivate *priv = (SynapticsPrivate *) (pInfo->private);
struct SynapticsHwState *hw = priv->local_hw_state;
int delay;
int sigstate;
sigstate = xf86BlockSIGIO();
#if !HAVE_THREADED_INPUT
int sigstate = xf86BlockSIGIO();
#else
input_lock();
#endif
priv->hwState->millis += now - priv->timer_time;
SynapticsCopyHwState(hw, priv->hwState);
@@ -1613,7 +1615,11 @@ timerFunc(OsTimerPtr timer, CARD32 now, pointer arg)
priv->timer_time = now;
priv->timer = TimerSet(priv->timer, 0, delay, timerFunc, pInfo);
#if !HAVE_THREADED_INPUT
xf86UnblockSIGIO(sigstate);
#else
input_unlock();
#endif
return 0;
}

View File

@@ -36,6 +36,10 @@
#define NO_DRIVER_SCALING 1
#endif
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 23
#define HAVE_THREADED_INPUT 1
#endif
#ifdef DBG
#undef DBG
#endif