Jeremy White : wintab32: Compute our physical device characteristics based on the first tablet device that looks like a stylus .

Alexandre Julliard julliard at winehq.org
Wed Dec 26 10:05:04 CST 2007


Module: wine
Branch: master
Commit: d58429d085cdf890d9362a30b36626ca419e5b5a
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=d58429d085cdf890d9362a30b36626ca419e5b5a

Author: Jeremy White <jwhite at winehq.org>
Date:   Sun Dec 23 10:56:03 2007 -0600

wintab32: Compute our physical device characteristics based on the first tablet device that looks like a stylus.

Otherwise, we may be computing based on a mouse or cursor, and then
come to incorrect values for our tilt and pressure settings.

---

 dlls/winex11.drv/wintab.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/dlls/winex11.drv/wintab.c b/dlls/winex11.drv/wintab.c
index 7065cc8..9b86345 100644
--- a/dlls/winex11.drv/wintab.c
+++ b/dlls/winex11.drv/wintab.c
@@ -528,7 +528,13 @@ void X11DRV_LoadTabletInfo(HWND hwnddefault)
                         if (TRACE_ON(wintab32))
                             trace_axes(Val);
 
-                        if (!axis_read_complete)
+                        /* FIXME:  This is imperfect; we compute our devices capabilities based upon the
+                        **         first pen type device we find.  However, a more correct implementation
+                        **         would require acquiring a wide variety of tablets and running through
+                        **         the various inputs to see what the values are.  Odds are that a
+                        **         more 'correct' algorithm would condense to this one anyway.
+                        */
+                        if (!axis_read_complete && Val->num_axes >= 5 && cursor->TYPE == CSR_TYPE_PEN)
                         {
                             Axis = (XAxisInfoPtr) ((char *) Val + sizeof
                                 (XValuatorInfo));




More information about the wine-cvs mailing list