summaryrefslogtreecommitdiff
path: root/src/synapticsstr.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/synapticsstr.h')
-rw-r--r--src/synapticsstr.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/synapticsstr.h b/src/synapticsstr.h
index 428befa..a9901a2 100644
--- a/src/synapticsstr.h
+++ b/src/synapticsstr.h
@@ -28,6 +28,14 @@
#define LogMessageVerbSigSafe xf86MsgVerb
#endif
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 19
+#if GET_ABI_MINOR(ABI_XINPUT_VERSION) >= 2
+/* as of 19.2, the server takes device resolution into account when scaling
+ relative events from abs device, so we must not scale in synaptics. */
+#define NO_DRIVER_SCALING 1
+#endif
+#endif
+
#ifdef DBG
#undef DBG
#endif
@@ -250,8 +258,10 @@ struct _SynapticsPrivateRec {
int prev_z; /* previous z value, for palm detection */
int prevFingers; /* previous numFingers, for transition detection */
int avg_width; /* weighted average of previous fingerWidth values */
+#ifndef NO_DRIVER_SCALING
double horiz_coeff; /* normalization factor for x coordintes */
double vert_coeff; /* normalization factor for y coordintes */
+#endif
int minx, maxx, miny, maxy; /* min/max dimensions as detected */
int minp, maxp, minw, maxw; /* min/max pressure and finger width as detected */