Dan Kegel : wintab: Expand whitelist of tablets.
Alexandre Julliard
julliard at winehq.org
Thu Mar 13 14:55:26 CDT 2008
Module: wine
Branch: master
Commit: 8e4d5d21fd2236cba706bfe24a853a17e34de1cd
URL: http://source.winehq.org/git/wine.git/?a=commit;h=8e4d5d21fd2236cba706bfe24a853a17e34de1cd
Author: Dan Kegel <dank at kegel.com>
Date: Thu Mar 13 08:56:05 2008 -0700
wintab: Expand whitelist of tablets.
---
dlls/winex11.drv/wintab.c | 49 ++++++++++++++++++++------------------------
1 files changed, 22 insertions(+), 27 deletions(-)
diff --git a/dlls/winex11.drv/wintab.c b/dlls/winex11.drv/wintab.c
index e5d7071..9645cda 100644
--- a/dlls/winex11.drv/wintab.c
+++ b/dlls/winex11.drv/wintab.c
@@ -388,23 +388,27 @@ BOOL match_token(const char *haystack, const char *needle)
** by Wacom tablets. This code will likely need to be expanded for alternate tablet types
*/
-#define IS_TABLET_CURSOR(n, t) (is_wacom((n), (t)) || is_cursor((n), (t)) || is_stylus((n), (t)) || is_eraser((n), (t)) || is_pad((n), (t)))
-
-static BOOL is_wacom(const char *name, const char *type)
-{
- if (name && match_token(name, "wacom"))
- return TRUE;
- if (type && match_token(type, "wacom"))
- return TRUE;
- return FALSE;
-}
-
-static BOOL is_cursor(const char *name, const char *type)
+static BOOL is_tablet_cursor(const char *name, const char *type)
{
- if (name && match_token(name, "cursor"))
- return TRUE;
- if (type && match_token(type, "cursor"))
- return TRUE;
+ int i;
+ static const char *tablet_cursor_whitelist[] = {
+ "wacom",
+ "wizardpen",
+ "acecad",
+ "tablet",
+ "cursor",
+ "stylus",
+ "eraser",
+ "pad",
+ NULL
+ };
+
+ for (i=0; tablet_cursor_whitelist[i] != NULL; i++) {
+ if (name && match_token(name, tablet_cursor_whitelist[i]))
+ return TRUE;
+ if (type && match_token(type, tablet_cursor_whitelist[i]))
+ return TRUE;
+ }
return FALSE;
}
@@ -426,15 +430,6 @@ static BOOL is_eraser(const char *name, const char *type)
return FALSE;
}
-static BOOL is_pad(const char *name, const char *type)
-{
- if (name && match_token(name, "pad"))
- return TRUE;
- if (type && match_token(type, "pad"))
- return TRUE;
- return FALSE;
-}
-
/***********************************************************************
* X11DRV_LoadTabletInfo (X11DRV.@)
@@ -580,9 +575,9 @@ void X11DRV_LoadTabletInfo(HWND hwnddefault)
}
MultiByteToWideChar(CP_UNIXCP, 0, target->name, -1, cursor->NAME, WT_MAX_NAME_LEN);
- if (! IS_TABLET_CURSOR(target->name, device_type))
+ if (! is_tablet_cursor(target->name, device_type))
{
- WARN("Skipping device %d [name %s|type %s]; not apparently a tablet cursor type device\n",
+ WARN("Skipping device %d [name %s|type %s]; not apparently a tablet cursor type device. If this is wrong, please report to http://forums.winehq.org\n",
loop, devices[loop].name, device_type ? device_type : "");
XFree(device_type);
cursor_target --;
More information about the wine-cvs
mailing list