Module: wine Branch: stable Commit: b50b4c4b5a07bb23f9dbdc7729affaa511b6a00b URL: http://source.winehq.org/git/wine.git/?a=commit;h=b50b4c4b5a07bb23f9dbdc7729...
Author: John Klehm xixsimplicityxix@gmail.com Date: Sat May 31 15:51:46 2008 -0500
winex11: Always assign a tablet cursor type. (cherry picked from commit 97b2dcb62cd7ca5c15c19d1fcb0cc2c96ab2e5bf)
---
dlls/winex11.drv/wintab.c | 13 ++++++++++--- 1 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/dlls/winex11.drv/wintab.c b/dlls/winex11.drv/wintab.c index be72a21..691b1bb 100644 --- a/dlls/winex11.drv/wintab.c +++ b/dlls/winex11.drv/wintab.c @@ -227,7 +227,11 @@ typedef struct tagWTI_DEVICES_INFO #define CSR_TYPE_ERASER 0x82a #define CSR_TYPE_MOUSE_2D 0x007 #define CSR_TYPE_MOUSE_4D 0x094 - +/* CSR_TYPE_OTHER is a special value! assumed no real world signifigance + * if a stylus type or eraser type eventually have this value + * it'll be a bug. As of 2008 05 21 we can be sure because + * linux wacom lists all the known values and this isn't one of them */ +#define CSR_TYPE_OTHER 0x000
typedef struct tagWTPACKET { HCTX pkContext; @@ -650,11 +654,14 @@ void X11DRV_LoadTabletInfo(HWND hwnddefault) cursor->NPBTNMARKS[0] = 0 ; cursor->NPBTNMARKS[1] = 1 ; cursor->CAPABILITIES = CRC_MULTIMODE; + + /* prefer finding TYPE_PEN(most capable) */ if (is_stylus(target->name, device_type)) cursor->TYPE = CSR_TYPE_PEN; - if (is_eraser(target->name, device_type)) + else if (is_eraser(target->name, device_type)) cursor->TYPE = CSR_TYPE_ERASER; - + else + cursor->TYPE = CSR_TYPE_OTHER;
any = target->inputclassinfo;