Discussion:
Horizontal scrolling with mouse buttons
s***@public.gmane.org
2011-08-14 01:53:50 UTC
Permalink
I have a Logitech wheel mouse which supports horizontal scrolling by
pressing the scroll wheel to either the left or right. These actions
generate mouse button events where the button is identified as either
"6" or "7" respectively.

Dillo handles these horizontal scroll events properly, but afterward
the scrollwheel no longer works for vertical scrolling (the
scrollwheel up/down events are reported as buttons "4" and "5"
respectively); instead the scrollwheel results in left/right scrolling.

I am running Dillo 2.2 on a Slackware system.

Regards.
Jorge Arellano Cid
2011-08-15 01:15:43 UTC
Permalink
Hi,
Post by s***@public.gmane.org
I have a Logitech wheel mouse which supports horizontal scrolling by
pressing the scroll wheel to either the left or right. These actions
generate mouse button events where the button is identified as
either "6" or "7" respectively.
Dillo handles these horizontal scroll events properly, but afterward
the scrollwheel no longer works for vertical scrolling (the
scrollwheel up/down events are reported as buttons "4" and "5"
respectively); instead the scrollwheel results in left/right
scrolling.
I am running Dillo 2.2 on a Slackware system.
Please try dillo-3.0-pre, following these directions [1].
Then report back how it goes.

[1] http://www.dillo.org/source.html
--
Cheers
Jorge.-
Jorge Arellano Cid
2011-08-16 16:03:39 UTC
Permalink
Post by Jorge Arellano Cid
Please try dillo-3.0-pre, following these directions [1].
Then report back how it goes.
[1] http://www.dillo.org/source.html
With that build, the horizontal scroll buttons are inactive. To my
mind this is satisfactory behavior as it does not interfere with the
vertical scrolling of the mouse wheel (previously the only way to
restore vertical wheel scrolling was to restart the program).
Good!

This looks like an issue with fltk-1.3.

FWIW, inside fltk-1.3 src/Fl_x.cxx:1443, there's no code to
handle those buttons. Having something like the following may be
worth a try (if you're a coder):

if (xevent.xbutton.button == Button4) {
Fl::e_dy = -1; // Up
event = FL_MOUSEWHEEL;
} else if (xevent.xbutton.button == Button5) {
Fl::e_dy = +1; // Down
event = FL_MOUSEWHEEL;
+ } else if (xevent.xbutton.button == Button6) {
+ Fl::e_dx = -1; // Left
+ event = FL_MOUSEWHEEL;
+ } else if (xevent.xbutton.button == Button7) {
+ Fl::e_dx = +1; // Right
+ event = FL_MOUSEWHEEL;
} else {
Fl::e_state |= (FL_BUTTON1 << (xevent.xbutton.button-1));
event = FL_PUSH;
checkdouble();
}
Thank you for your response.
:)

--
Cheers
Jorge.-
Dennis Nezic
2012-07-01 14:47:16 UTC
Permalink
On Mon, Aug 15, 2011 at 02:18:33PM -0400,
Quoting Jorge Arellano Cid
Post by Jorge Arellano Cid
Please try dillo-3.0-pre, following these directions [1].
Then report back how it goes.
[1] http://www.dillo.org/source.html
With that build, the horizontal scroll buttons are inactive. To my
mind this is satisfactory behavior as it does not interfere with the
vertical scrolling of the mouse wheel (previously the only way to
restore vertical wheel scrolling was to restart the program).
Good!
This looks like an issue with fltk-1.3.
FWIW, inside fltk-1.3 src/Fl_x.cxx:1443, there's no code to
handle those buttons. Having something like the following may be
if (xevent.xbutton.button == Button4) {
Fl::e_dy = -1; // Up
event = FL_MOUSEWHEEL;
} else if (xevent.xbutton.button == Button5) {
Fl::e_dy = +1; // Down
event = FL_MOUSEWHEEL;
+ } else if (xevent.xbutton.button == Button6) {
+ Fl::e_dx = -1; // Left
+ event = FL_MOUSEWHEEL;
+ } else if (xevent.xbutton.button == Button7) {
+ Fl::e_dx = +1; // Right
+ event = FL_MOUSEWHEEL;
} else {
Fl::e_state |= (FL_BUTTON1 << (xevent.xbutton.button-1));
event = FL_PUSH;
checkdouble();
}
That doesn't work (for me). Button6/7 aren't defined, or something.
Does anybody have horizontal scrolling working?
corvid
2012-08-07 15:32:07 UTC
Permalink
Post by Dennis Nezic
On Mon, Aug 15, 2011 at 02:18:33PM -0400,
Quoting Jorge Arellano Cid
Post by Jorge Arellano Cid
Please try dillo-3.0-pre, following these directions [1].
Then report back how it goes.
[1] http://www.dillo.org/source.html
With that build, the horizontal scroll buttons are inactive. To my
mind this is satisfactory behavior as it does not interfere with the
vertical scrolling of the mouse wheel (previously the only way to
restore vertical wheel scrolling was to restart the program).
Good!
This looks like an issue with fltk-1.3.
FWIW, inside fltk-1.3 src/Fl_x.cxx:1443, there's no code to
handle those buttons. Having something like the following may be
if (xevent.xbutton.button == Button4) {
Fl::e_dy = -1; // Up
event = FL_MOUSEWHEEL;
} else if (xevent.xbutton.button == Button5) {
Fl::e_dy = +1; // Down
event = FL_MOUSEWHEEL;
+ } else if (xevent.xbutton.button == Button6) {
+ Fl::e_dx = -1; // Left
+ event = FL_MOUSEWHEEL;
+ } else if (xevent.xbutton.button == Button7) {
+ Fl::e_dx = +1; // Right
+ event = FL_MOUSEWHEEL;
} else {
Fl::e_state |= (FL_BUTTON1 << (xevent.xbutton.button-1));
event = FL_PUSH;
checkdouble();
}
That doesn't work (for me). Button6/7 aren't defined, or something.
Does anybody have horizontal scrolling working?
I saw that there was a commit in June:
http://fltk.org/newsgroups.php?s6952+gfltk.commit+v6955+T0

It uses 6/7 instead of Button6/Button7.

Loading...