[PATCH synaptics] Support XINPUT ABI version 23
Peter Hutterer
peter.hutterer at who-t.net
Thu Jun 2 00:05:42 UTC 2016
Use input_lock/input_unlock calls instead of SIGIO functions
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
src/synaptics.c | 12 +++++++++---
src/synapticsstr.h | 4 ++++
2 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/src/synaptics.c b/src/synaptics.c
index 70b7f3b..bdc9605 100644
--- a/src/synaptics.c
+++ b/src/synaptics.c
@@ -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;
}
diff --git a/src/synapticsstr.h b/src/synapticsstr.h
index f8ab14e..905b78b 100644
--- a/src/synapticsstr.h
+++ b/src/synapticsstr.h
@@ -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
--
2.7.4
More information about the xorg-devel
mailing list