summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpingc <pingc>2008-01-10 01:41:58 +0000
committerpingc <pingc>2008-01-10 01:41:58 +0000
commitb15f8391dcecc3235a2f8048b1ffc38d64bda289 (patch)
tree2e24939610cd24927c3367cfe70fa230938c59ef
parentfd096dab9c3dc345a1e1f24200bfb208fcfccf77 (diff)
downloadxf86-input-wacom-b15f8391dcecc3235a2f8048b1ffc38d64bda289.tar.gz
Updated configure scripts for Xorg 7.3 supportrelease-0.7.9-6
-rw-r--r--ChangeLog3
-rw-r--r--src/wacomxi/Makefile.am2
-rwxr-xr-xsrc/xdrv/wcmCommon.c49
-rwxr-xr-xsrc/xdrv/xf86Wacom.c19
4 files changed, 38 insertions, 35 deletions
diff --git a/ChangeLog b/ChangeLog
index c120fd6..4f1df20 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+2008-01-10 Ping Cheng <pingc@wacom.com>
+ * Label 0.7.9-6
+
2008-01-02 Ping Cheng <pingc@wacom.com>
* Updated build and configure scripts (Magnus Vigerlöf)
* Support Xorg 7.3 with multimonitors
diff --git a/src/wacomxi/Makefile.am b/src/wacomxi/Makefile.am
index 8d4c714..72cf866 100644
--- a/src/wacomxi/Makefile.am
+++ b/src/wacomxi/Makefile.am
@@ -14,4 +14,4 @@ EXTRA_DIST = wacomcpl-exec
# Source dependencies
libwacomxi_la_SOURCES = wacomxi.c wacomxi.h
libwacomxi_la_LDFLAGS = -no-undefined
-libwacomxi_la_LIBADD = $(libdir)
+libwacomxi_la_LIBADD = @WCM_WACOMXI_LIBS@
diff --git a/src/xdrv/wcmCommon.c b/src/xdrv/wcmCommon.c
index faf4710..535807d 100755
--- a/src/xdrv/wcmCommon.c
+++ b/src/xdrv/wcmCommon.c
@@ -70,6 +70,23 @@ void xf86WcmMappingFactor(LocalDevicePtr local)
priv->sizeY = priv->bottomY - priv->topY - 2*priv->tvoffsetY;
priv->maxWidth = 0, priv->maxHeight = 0;
+ if (priv->screen_no != -1)
+ priv->currentScreen = priv->screen_no;
+ else if (priv->currentScreen == -1)
+ {
+ /* Get the current screen that the cursor is in */
+#if defined WCM_XFREE86 || GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 0
+ if (miPointerCurrentScreen())
+ priv->currentScreen = miPointerCurrentScreen()->myNum;
+#else
+ if (miPointerGetScreen(local->dev))
+ priv->currentScreen = miPointerGetScreen(local->dev)->myNum;
+#endif
+
+ }
+ if (priv->currentScreen == -1) /* tool on the tablet */
+ priv->currentScreen = 0;
+
if ( ((priv->twinview != TV_NONE) || /* TwinView & whole desktop */
/* stay in one screen at a time (multimonitor) */
!priv->common->wcmMMonitor ||
@@ -87,7 +104,11 @@ void xf86WcmMappingFactor(LocalDevicePtr local)
/* count the whole desktop when no specific screen is defined or
* tool is in relative mode
*/
- for (i = 0; i < priv->numScreen; i++)
+ minX = priv->screenTopX[0];
+ minY = priv->screenTopY[0];
+ maxX = priv->screenBottomX[0];
+ maxY = priv->screenBottomY[0];
+ for (i = 1; i < priv->numScreen; i++)
{
if (priv->screenTopX[i] < minX)
minX = priv->screenTopX[i];
@@ -131,22 +152,6 @@ static void xf86WcmSetScreen(LocalDevicePtr local, int *value0, int *value1)
if (!(local->flags & (XI86_ALWAYS_CORE | XI86_CORE_POINTER))) return;
- if (priv->screen_no != -1)
- priv->currentScreen = priv->screen_no;
- else if (priv->currentScreen == -1)
- {
- /* Get the current screen that the cursor is in */
-#if defined WCM_XFREE86 || GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 0
- if (miPointerCurrentScreen())
- priv->currentScreen = miPointerCurrentScreen()->myNum;
-#else
- if (miPointerGetScreen(local->dev))
- priv->currentScreen = miPointerGetScreen(local->dev)->myNum;
-#endif
-
- } else if (priv->currentScreen == -1) /* tool on the tablet */
- priv->currentScreen = 0;
-
if (priv->twinview != TV_NONE && priv->screen_no == -1 && (priv->flags & ABSOLUTE_FLAG))
{
if (priv->twinview == TV_LEFT_RIGHT)
@@ -169,10 +174,8 @@ static void xf86WcmSetScreen(LocalDevicePtr local, int *value0, int *value1)
if (!(priv->flags & ABSOLUTE_FLAG) || screenInfo.numScreens == 1 || !priv->common->wcmMMonitor)
return;
- v0 = v0 > priv->bottomX ? priv->bottomX - priv->topX :
- v0 < priv->topX ? 0 : v0 - priv->topX;
- v1 = v1 > priv->bottomY ? priv->bottomY - priv->topY :
- v1 < priv->topY ? 0 : v1 - priv->topY;
+ v0 = v0 - priv->topX;
+ v1 = v1 - priv->topY;
if (priv->screen_no == -1)
{
@@ -879,7 +882,7 @@ void xf86WcmSendEvents(LocalDevicePtr local, const WacomDeviceState* ds)
x, y, z, v3, v4, v5, id, serial,
is_button ? "true" : "false", buttons));
- if (x > priv->bottomX)
+/* if (x > priv->bottomX)
x = priv->bottomX;
if (x < priv->topX)
x = priv->topX;
@@ -887,7 +890,7 @@ void xf86WcmSendEvents(LocalDevicePtr local, const WacomDeviceState* ds)
y = priv->bottomY;
if (y < priv->topY)
y = priv->topY;
- priv->currentX = x;
+*/ priv->currentX = x;
priv->currentY = y;
/* update the old records */
diff --git a/src/xdrv/xf86Wacom.c b/src/xdrv/xf86Wacom.c
index 32cf6ea..3a60a31 100755
--- a/src/xdrv/xf86Wacom.c
+++ b/src/xdrv/xf86Wacom.c
@@ -60,9 +60,10 @@
* 2007-11-21 47-pc0.7.9-3 - Updated TwinView screen switch offset
* 2007-12-07 47-pc0.7.9-4 - Support Cintiq 12WX and Bamboo
* 2007-12-20 47-pc0.7.9-5 - multimonitor support update
+ * 2008-01-08 47-pc0.7.9-6 - Configure script change for Xorg 7.3 support
*/
-static const char identification[] = "$Identification: 47-0.7.9-5 $";
+static const char identification[] = "$Identification: 47-0.7.9-6 $";
/****************************************************************************/
@@ -248,13 +249,13 @@ void xf86WcmInitialCoordinates(LocalDevicePtr local, int axes)
tabletSize = priv->bottomX - priv->topX;
}
if (priv->flags & ABSOLUTE_FLAG)
- topx = priv->topX;
+ topx = priv->topX - priv->tvoffsetX;
resolution = common->wcmResolX;
#if defined WCM_XORG && GET_ABI_MAJOR(ABI_XINPUT_VERSION) > 0
/* Ugly hack for Xorg 7.3, which doesn't call xf86WcmDevConvert
* for coordinate conversion at the moment */
- if (priv->flags & ABSOLUTE_FLAG) tabletSize -= topx - priv->tvoffsetX;
+ if (priv->flags & ABSOLUTE_FLAG) tabletSize -= topx;
topx = 0;
tabletSize = (int)((double)tabletSize * priv->factorX + 0.5);
resolution = (int)((double)resolution * priv->factorX + 0.5);
@@ -275,13 +276,13 @@ void xf86WcmInitialCoordinates(LocalDevicePtr local, int axes)
tabletSize = priv->bottomY - priv->topY;
}
if (priv->flags & ABSOLUTE_FLAG)
- topy = priv->topY;
+ topy = priv->topY - priv->tvoffsetY;
resolution = common->wcmResolY;
#if defined WCM_XORG && GET_ABI_MAJOR(ABI_XINPUT_VERSION) > 0
/* Ugly hack for Xorg 7.3, which doesn't call xf86WcmDevConvert
* for coordinate conversion at the moment */
- if (priv->flags & ABSOLUTE_FLAG) tabletSize -= topy - priv->tvoffsetY;
+ if (priv->flags & ABSOLUTE_FLAG) tabletSize -= topy;
topy = 0;
tabletSize = (int)((double)tabletSize * priv->factorY + 0.5);
resolution = (int)((double)resolution * priv->factorY + 0.5);
@@ -869,12 +870,8 @@ static Bool xf86WcmDevConvert(LocalDevicePtr local, int first, int num,
if (priv->flags & ABSOLUTE_FLAG)
{
- v0 = v0 > priv->bottomX - priv->tvoffsetX ? priv->sizeX :
- v0 < priv->topX + priv->tvoffsetX ?
- 0 : v0 - priv->topX - priv->tvoffsetX;
- v1 = v1 > priv->bottomY - priv->tvoffsetY ? priv->sizeY :
- v1 < priv->topY + priv->tvoffsetY ?
- 0 : v1 - priv->topY - priv->tvoffsetY;
+ v0 = v0 - priv->topX - priv->tvoffsetX;
+ v1 = v1 - priv->topY - priv->tvoffsetY;
int leftPadding = 0;
int topPadding = 0;