forked from AuroraMiddleware/gtk
gdk: Filter out either smooth or non-smooth event depending on the evmask
If a device provides both smooth and non-smooth events, the latter will be flagged with _gdk_event_set_pointer_emulated() so the client side window receives one or the other. If a device is only able to deliver non-smooth events, those will be sent, so both direction/deltas may need to be handled.
This commit is contained in:
parent
4b1e16cac6
commit
b177bd92aa
@ -9696,6 +9696,13 @@ proxy_button_event (GdkEvent *source_event,
|
||||
state, time_, source_event,
|
||||
serial, FALSE);
|
||||
}
|
||||
else if (type == GDK_SCROLL &&
|
||||
(((evmask & GDK_SMOOTH_SCROLL_MASK) == 0 &&
|
||||
source_event->scroll.direction == GDK_SCROLL_SMOOTH) ||
|
||||
((evmask & GDK_SMOOTH_SCROLL_MASK) != 0 &&
|
||||
source_event->scroll.direction != GDK_SCROLL_SMOOTH &&
|
||||
_gdk_event_get_pointer_emulated (source_event))))
|
||||
return FALSE;
|
||||
|
||||
event = _gdk_make_event (event_win, type, source_event, FALSE);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user