gdk: A TOUCHPAD device behaves like a mouse

and not like a TOUCHSCREEN. So treat it like that.

https://bugzilla.gnome.org/show_bug.cgi?id=672009
This commit is contained in:
Benjamin Otte
2012-03-20 02:04:22 +01:00
parent c80436ac35
commit bd55519f7e

View File

@ -9271,7 +9271,6 @@ proxy_pointer_event (GdkDisplay *display,
if (pointer_info->need_touch_press_enter && if (pointer_info->need_touch_press_enter &&
gdk_device_get_source (pointer_info->last_slave) != GDK_SOURCE_TOUCHSCREEN && gdk_device_get_source (pointer_info->last_slave) != GDK_SOURCE_TOUCHSCREEN &&
gdk_device_get_source (pointer_info->last_slave) != GDK_SOURCE_TOUCHPAD &&
(source_event->type != GDK_TOUCH_UPDATE || (source_event->type != GDK_TOUCH_UPDATE ||
_gdk_event_get_pointer_emulated (source_event))) _gdk_event_get_pointer_emulated (source_event)))
{ {
@ -9682,8 +9681,7 @@ proxy_button_event (GdkEvent *source_event,
* which synthesized a leave notify event, so synthesize another enter * which synthesized a leave notify event, so synthesize another enter
* notify to tell the pointer is on the window. * notify to tell the pointer is on the window.
*/ */
if (gdk_device_get_source (source_device) == GDK_SOURCE_TOUCHSCREEN || if (gdk_device_get_source (source_device) == GDK_SOURCE_TOUCHSCREEN)
gdk_device_get_source (source_device) == GDK_SOURCE_TOUCHPAD)
mode = GDK_CROSSING_TOUCH_BEGIN; mode = GDK_CROSSING_TOUCH_BEGIN;
else else
mode = GDK_CROSSING_DEVICE_SWITCH; mode = GDK_CROSSING_DEVICE_SWITCH;
@ -9743,8 +9741,7 @@ proxy_button_event (GdkEvent *source_event,
(type == GDK_TOUCH_END && (type == GDK_TOUCH_END &&
_gdk_event_get_pointer_emulated (source_event))) && _gdk_event_get_pointer_emulated (source_event))) &&
pointer_window == pointer_info->window_under_pointer && pointer_window == pointer_info->window_under_pointer &&
(gdk_device_get_source (source_device) == GDK_SOURCE_TOUCHSCREEN || gdk_device_get_source (source_device) == GDK_SOURCE_TOUCHSCREEN)
gdk_device_get_source (source_device) == GDK_SOURCE_TOUCHPAD))
{ {
/* Synthesize a leave notify event /* Synthesize a leave notify event
* whenever a touch device is released * whenever a touch device is released
@ -9780,8 +9777,7 @@ proxy_button_event (GdkEvent *source_event,
if ((type == GDK_TOUCH_END && if ((type == GDK_TOUCH_END &&
_gdk_event_get_pointer_emulated (source_event)) && _gdk_event_get_pointer_emulated (source_event)) &&
pointer_window == pointer_info->window_under_pointer && pointer_window == pointer_info->window_under_pointer &&
(gdk_device_get_source (source_device) == GDK_SOURCE_TOUCHSCREEN || gdk_device_get_source (source_device) == GDK_SOURCE_TOUCHSCREEN)
gdk_device_get_source (source_device) == GDK_SOURCE_TOUCHPAD))
{ {
/* Synthesize a leave notify event /* Synthesize a leave notify event
* whenever a touch device is released * whenever a touch device is released