Discovered this mapping that feels pretty nice. In regular apps, I use btn4 (top right) to change the ball to pan & scroll, but twist for hyperscrolling (6x speed). I like this because I don’t tend to use zoom very much in most apps.
First, create an axis map software_pan_scroll_hyperscroll:
wx:
output: -scroll_y
osd: -scroll_y
wy:
output: scroll_x
osd: scroll_x
wz:
output: scroll_y
osd: scroll_y
gain: 6
axis_dominance: hard_decouple_snap_axis
You can tweak the twist (wz) gain to your taste. It looks like this in the editor:
To use the axis map: I customized the default_experimental_software_scroll to use this new axis map when btn4 is pressed. Make sure it’s lowest priority in the list of profiles so as not to prevent your other app-specific profiles from triggering.
description: Enable this alternative default config for enhanced software-based
scrolling. Btn4 gives software pan/scroll/zoom, which supports smooth,
simultaneous XY scrolling and zoom support.
triggers:
- os:windows
- os:mac
- os:linux
ball_mode: mouse
bindings:
- description: Roll ball up/down to scroll, left/right to pan, twist to zoom.
name: 2D Pan/Scroll/Zoom
triggers:
- btn:4
ball_mode: rotatrix
axis_map: software_pan_scroll_hyperscroll
label:
text: 2D Pan/Scroll/Zoom
mode: replace
