diff --git a/extra/ui/x11/x11.factor b/extra/ui/x11/x11.factor index 87ed6d2852..c9b23e10e3 100644 --- a/extra/ui/x11/x11.factor +++ b/extra/ui/x11/x11.factor @@ -93,8 +93,12 @@ M: world button-up-event send-button-up ; : mouse-event>scroll-direction ( event -- pair ) - #! Reminder for myself: 4 is up, 5 is down - XButtonEvent-button 5 = 1 -1 ? 0 swap 2array ; + XButtonEvent-button { + { 4 { 0 -1 } } + { 5 { 0 1 } } + { 6 { -1 0 } } + { 7 { 1 0 } } + } at ; M: world wheel-event >r dup mouse-event>scroll-direction swap mouse-event-loc r> diff --git a/extra/x11/events/events.factor b/extra/x11/events/events.factor index 05b3318f4f..f40392891c 100644 --- a/extra/x11/events/events.factor +++ b/extra/x11/events/events.factor @@ -42,7 +42,7 @@ GENERIC: client-event ( event window -- ) : events-queued ( mode -- n ) >r dpy get r> XEventsQueued ; -: wheel? ( event -- ? ) XButtonEvent-button { 4 5 } member? ; +: wheel? ( event -- ? ) XButtonEvent-button 4 7 between? ; : button-down-event$ ( event window -- ) over wheel? [ wheel-event ] [ button-down-event ] if ;