[PATCH] Improve detection of input device source type
- From: Thomas Jaeger <ThJaeger gmail com>
- Subject: [PATCH] Improve detection of input device source type
- Date: Mon, 28 Sep 2009 01:39:42 -0400
This detection code is not 100% reliable, but it should fare much better
than the current code, which just compares the device name to a fixed
set of strings. Many applications depend on erasers being recognized
reliably, so we start by checking for a device name containing the
substring 'eraser'.
Signed-off-by: Thomas Jaeger <ThJaeger gmail com>
---
gdk/x11/gdkinput-x11.c | 14 ++++++--------
1 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/gdk/x11/gdkinput-x11.c b/gdk/x11/gdkinput-x11.c
index dfcd8bf..2b42ab8 100644
--- a/gdk/x11/gdkinput-x11.c
+++ b/gdk/x11/gdkinput-x11.c
@@ -115,17 +115,15 @@ gdk_input_device_new (GdkDisplay *display,
tmp_name = g_ascii_strdown (gdkdev->info.name, -1);
- if (!strcmp (tmp_name, "pointer"))
- gdkdev->info.source = GDK_SOURCE_MOUSE;
- else if (!strcmp (tmp_name, "wacom") ||
- !strcmp (tmp_name, "pen"))
- gdkdev->info.source = GDK_SOURCE_PEN;
- else if (!strcmp (tmp_name, "eraser"))
+ if (g_strrstr (tmp_name, "eraser"))
gdkdev->info.source = GDK_SOURCE_ERASER;
- else if (!strcmp (tmp_name, "cursor"))
+ else if (g_strrstr (tmp_name, "cursor"))
gdkdev->info.source = GDK_SOURCE_CURSOR;
- else
+ else if (g_strrstr (tmp_name, "wacom") ||
+ g_strrstr (tmp_name, "pen"))
gdkdev->info.source = GDK_SOURCE_PEN;
+ else
+ gdkdev->info.source = GDK_SOURCE_MOUSE;
g_free(tmp_name);
--
1.6.3.3
--------------080409050503010006090900--
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]