app: [linux,windows,wasm] scroll horizontally when shift key is pressed

Adds support for horizontal scroll using mousewheel with a shift key.
Support is added for windows, linux (wayland and x11), js (wasm).

Fixes: https://todo.sr.ht/~eliasnaur/gio/398
Signed-off-by: Mearaj <mearajbhagad@gmail.com>
This commit is contained in:
Mearaj
2023-05-04 02:44:24 +05:30
committed by Elias Naur
parent 59695984e5
commit febadd3145
4 changed files with 35 additions and 8 deletions
+13 -5
View File
@@ -569,16 +569,24 @@ func (h *x11EventHandler) handleEvents() bool {
case C.Button3:
btn = pointer.ButtonSecondary
case C.Button4:
// scroll up
ev.Type = pointer.Scroll
ev.Scroll.Y = -scrollScale
// scroll up or left (if shift is pressed).
if ev.Modifiers == key.ModShift {
ev.Scroll.X = -scrollScale
} else {
ev.Scroll.Y = -scrollScale
}
case C.Button5:
// scroll down
// scroll down or right (if shift is pressed).
ev.Type = pointer.Scroll
ev.Scroll.Y = +scrollScale
if ev.Modifiers == key.ModShift {
ev.Scroll.X = +scrollScale
} else {
ev.Scroll.Y = +scrollScale
}
case 6:
// http://xahlee.info/linux/linux_x11_mouse_button_number.html
// scroll left
// scroll left.
ev.Type = pointer.Scroll
ev.Scroll.X = -scrollScale * 2
case 7: