From 64760dae6b1184405641b6b46a7967d114f4ab80 Mon Sep 17 00:00:00 2001 From: Philip Langdale Date: Fri, 17 Oct 2008 19:41:07 -0700 Subject: Properly set axis range and resolution for Server 1.5+ --- configure.ac | 3 +++ src/vmmouse.c | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/configure.ac b/configure.ac index a57851f..639ba74 100644 --- a/configure.ac +++ b/configure.ac @@ -86,6 +86,9 @@ PKG_CHECK_EXISTS([xorg-server >= 1.3.99.0 xorg-server <= 1.4.0.90], [AC_DEFINE([CALL_CONVERSION_PROC], 1, [Call conversion_proc from within the driver, as Xserver doesn't])]) +PKG_CHECK_EXISTS([xorg-server > 1.4.0.90], + [AC_DEFINE([ABS_VALUATOR_AXES], 1, + [Define absolute valuator axes])]) CFLAGS="$CFLAGS $XORG_CFLAGS "' -I$(top_srcdir)/src' AC_SUBST([CFLAGS]) diff --git a/src/vmmouse.c b/src/vmmouse.c index bc0cb87..beeed87 100644 --- a/src/vmmouse.c +++ b/src/vmmouse.c @@ -807,10 +807,18 @@ VMMouseDeviceControl(DeviceIntPtr device, int mode) ); /* X valuator */ +#ifdef ABS_VALUATOR_AXES + xf86InitValuatorAxisStruct(device, 0, 0, 65535, 10000, 0, 10000); +#else xf86InitValuatorAxisStruct(device, 0, 0, -1, 1, 0, 1); +#endif xf86InitValuatorDefaults(device, 0); /* Y valuator */ +#ifdef ABS_VALUATOR_AXES + xf86InitValuatorAxisStruct(device, 1, 0, 65535, 10000, 0, 10000); +#else xf86InitValuatorAxisStruct(device, 1, 0, -1, 1, 0, 1); +#endif xf86InitValuatorDefaults(device, 1); #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 0 xf86MotionHistoryAllocate(pInfo); -- cgit v1.2.3