Commit 7d196b39 authored by Thomas Jaeger's avatar Thomas Jaeger Committed by Alexander Larsson
Browse files

Improve detection of input device source type

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: default avatarThomas Jaeger <>
parent e81501eb
......@@ -111,17 +111,15 @@ gdk_input_device_new (GdkDisplay *display,
tmp_name = g_ascii_strdown (gdkdev->, -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 if (g_strrstr (tmp_name, "wacom") ||
g_strrstr (tmp_name, "pen"))
gdkdev->info.source = GDK_SOURCE_PEN;
gdkdev->info.source = GDK_SOURCE_MOUSE;
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment