Package: xserver-xorg-input-wacom
Version: 0.10.3+20100109-1
Severity: normal


I can confirm that this bug still exists, and have done a bit of work on
finding out /where/. I'm afraid I'm not very familiar with X11, but in
essence, it seems that the DevConvert call is not being made, so that
setting wcmScaling = 1 in wcmValidateDevice.c might help.

That's not everything, though!

I have a horrible, horrible hack where I altered the following:

diff -r -u4 xf86-input-wacom-0.10.3+20100109//src/wcmCommon.c 
../xf86-input-wacom-0.10.3+20100109//src/wcmCommon.c
--- xf86-input-wacom-0.10.3+20100109//src/wcmCommon.c   2010-01-09 
07:40:54.000000000 +0000
+++ ../xf86-input-wacom-0.10.3+20100109//src/wcmCommon.c        2010-04-05 
16:09:46.000000000 +0100
@@ -857,8 +857,30 @@
                        /* for multiple monitor support, we need to set the 
proper
                         * screen and modify the axes before posting events */
                        if(!(priv->flags & BUTTONS_ONLY_FLAG))
                        {
+                               int i = 0, minX = 0, minY = 0, maxX = 0, maxY = 
0;
+                               if (priv->screen_no > -1) {
+                                       minX = 
priv->screenTopX[priv->screen_no];
+                                       minY = 
priv->screenTopY[priv->screen_no];
+                                       maxX = 
priv->screenBottomX[priv->screen_no];
+                                       maxY = 
priv->screenBottomY[priv->screen_no];
+                               } else {
+                                       for (i = 0; i < priv->numScreen; i++)
+                                       {
+                                               if (priv->screenTopX[i] < minX)
+                                                       minX = 
priv->screenTopX[i];
+                                               if (priv->screenTopY[i] < minY)
+                                                       minY = 
priv->screenTopY[i];
+                                               if (priv->screenBottomX[i] > 
maxX)
+                                                       maxX = 
priv->screenBottomX[i];
+                                               if (priv->screenBottomY[i] > 
maxY)
+                                                       maxY = 
priv->screenBottomY[i];
+                                       }
+                               }
+                               priv->maxWidth = maxX - minX;
+                               priv->maxHeight = maxY - minY;
+
                                xf86WcmSetScreen(local, x, y);
                        }

                        /* unify acceleration in both directions
diff -r -u4 xf86-input-wacom-0.10.3+20100109//src/wcmValidateDevice.c 
../xf86-input-wacom-0.10.3+20100109//src/wcmValidateDevice.c
--- xf86-input-wacom-0.10.3+20100109//src/wcmValidateDevice.c   2010-01-09 
07:40:54.000000000 +0000
+++ ../xf86-input-wacom-0.10.3+20100109//src/wcmValidateDevice.c        
2010-04-05 15:50:45.000000000 +0100
@@ -580,9 +580,9 @@
                        toollist->next = tool;
                }
        }

-       common->wcmScaling = 0;
+       common->wcmScaling = 1;

        common->wcmThreshold = xf86SetIntOption(local->options, "Threshold",
                        common->wcmThreshold);
        if (!IsTouch(priv))

That is, force recalculation of max* on every single move event. I can
now do `xsetwacom --set stylus Screen_No 0`, waggle the stylus, then
`xsetwacom --set stylus Screen_No -- -1` and get proper cross-head
scaling.

The blob of code above could probably be better placed elsewhere, but I
have no idea where. :)

Setting Screen_No to 1 also works perfectly, but Screen_No 0 seems to
use the most recent scaling factor (ie. from Screen_No -1, I'm able to
access just under half of the left screen, and from Screen_No 1, I'm
able to access up to the right hand side. This is presumably due to my
right hand monitor (Screen_No 1) being very slightly wider than the
left hand monitor).

The latest linuxwacom drivers don't want to build for me (I guess due
to server mismatches), so I'm unsure if this has been fixed there. I
do notice that wcmScaling has become a #define in the upstream, however.



Just so you're aware, I'm using fglrx (1:10-3~prerelease-3): the bug
isn't just limited to nvidia but apparently to both nasty closed source
drivers. radeon and radeonhd currently give me a white screen, so I'm
unable to test with them!


-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (990, 'testing'), (700, 'unstable'), (600, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-3-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages xserver-xorg-input-wacom depends on:
ii  libc6                         2.10.2-6   Embedded GNU C Library: Shared lib
ii  libx11-6                      2:1.3.3-2  X11 client-side library
ii  libxi6                        2:1.3-4    X11 Input extension library
ii  xserver-xorg-core             2:1.7.6-1  Xorg X server - core server

xserver-xorg-input-wacom recommends no packages.

Versions of packages xserver-xorg-input-wacom suggests:
ii  xinput                        1.5.1-1    Runtime configuration and test of 

-- no debconf information





-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to