diff options
author | Havoc Pennington <hp@redhat.com> | 2001-06-04 23:46:14 +0000 |
---|---|---|
committer | Havoc Pennington <hp@src.gnome.org> | 2001-06-04 23:46:14 +0000 |
commit | 5d1c5446c57c26a5e4001fcba45e9399330dd8cc (patch) | |
tree | 1a23465c79af04500f481b0f9655d81b27c69e62 /gdk | |
parent | 1b3c9214371d89a4872574d700b86cb71d6eee56 (diff) | |
download | gtk+-5d1c5446c57c26a5e4001fcba45e9399330dd8cc.tar.gz |
support button 6 and 7 for scroll left/right, from Thomas Broyer
2001-06-04 Havoc Pennington <hp@redhat.com>
* gdk/x11/gdkevents-x11.c (gdk_event_translate): support button 6
and 7 for scroll left/right, from Thomas Broyer
Diffstat (limited to 'gdk')
-rw-r--r-- | gdk/x11/gdkevents-x11.c | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/gdk/x11/gdkevents-x11.c b/gdk/x11/gdkevents-x11.c index 305f7b6157..8042f49195 100644 --- a/gdk/x11/gdkevents-x11.c +++ b/gdk/x11/gdkevents-x11.c @@ -650,11 +650,23 @@ gdk_event_translate (GdkEvent *event, /* If we get a ButtonPress event where the button is 4 or 5, it's a Scroll event */ - if (xevent->xbutton.button == 4 || xevent->xbutton.button == 5) - { + switch (xevent->xbutton.button) + { + case 4: /* up */ + case 5: /* down */ + case 6: /* left */ + case 7: /* right */ event->scroll.type = GDK_SCROLL; - event->scroll.direction = (xevent->xbutton.button == 4) ? - GDK_SCROLL_UP : GDK_SCROLL_DOWN; + + if (xevent->xbutton.button == 4) + event->scroll.direction = GDK_SCROLL_UP; + else if (xevent->xbutton.button == 5) + event->scroll.direction = GDK_SCROLL_DOWN; + else if (xevent->xbutton.button == 6) + event->scroll.direction = GDK_SCROLL_LEFT; + else + event->scroll.direction = GDK_SCROLL_RIGHT; + event->scroll.window = window; event->scroll.time = xevent->xbutton.x; event->scroll.x = xevent->xbutton.x + xoffset; @@ -663,9 +675,9 @@ gdk_event_translate (GdkEvent *event, event->scroll.y_root = (gfloat)xevent->xbutton.y_root; event->scroll.state = (GdkModifierType) xevent->xbutton.state; event->scroll.device = gdk_core_pointer; - } - else - { + break; + + default: event->button.type = GDK_BUTTON_PRESS; event->button.window = window; event->button.time = xevent->xbutton.time; @@ -679,6 +691,7 @@ gdk_event_translate (GdkEvent *event, event->button.device = gdk_core_pointer; gdk_event_button_generate (event); + break; } break; |