ui/gtk: Fix mouse wheel on 3.4.0 or later
On 3.4.0 or later, send GDK_SCROLL_SMOOTH event, instead of GDK_SCROLL_UP/DOWN. This fixes it by converting any smooth scroll to up/down. (I.e. without smooth support) Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
a54f0d2ba3
commit
e229d1efd7
13
ui/gtk.c
13
ui/gtk.c
@ -1031,6 +1031,19 @@ static gboolean gd_scroll_event(GtkWidget *widget, GdkEventScroll *scroll,
|
||||
btn = INPUT_BUTTON_WHEEL_UP;
|
||||
} else if (scroll->direction == GDK_SCROLL_DOWN) {
|
||||
btn = INPUT_BUTTON_WHEEL_DOWN;
|
||||
#if GTK_CHECK_VERSION(3, 4, 0)
|
||||
} else if (scroll->direction == GDK_SCROLL_SMOOTH) {
|
||||
gdouble delta_x, delta_y;
|
||||
if (!gdk_event_get_scroll_deltas((GdkEvent *)scroll,
|
||||
&delta_x, &delta_y)) {
|
||||
return TRUE;
|
||||
}
|
||||
if (delta_y > 0) {
|
||||
btn = INPUT_BUTTON_WHEEL_DOWN;
|
||||
} else {
|
||||
btn = INPUT_BUTTON_WHEEL_UP;
|
||||
}
|
||||
#endif
|
||||
} else {
|
||||
return TRUE;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user