Mouse Wheel Emulation on Mac

You can use KeyRemap4MacBook.

Scroll by moving the pointer while holding the secondary button:

<autogen>__PointingRelativeToScroll__ PointingButton::RIGHT</autogen>

Scroll by moving the the pointer while holding F1:

<autogen>__KeyToKey__ KeyCode::F1, KeyCode::VK_MODIFIER_EXTRA1</autogen>
<autogen>__PointingRelativeToScroll__ PointingButton::NONE, ModifierFlag::EXTRA1</autogen>

Scroll with F1 and F2:

<autogen>__KeyToKey__ KeyCode::F1, KeyCode::VK_MOUSEKEY_SCROLL_UP</autogen>
<autogen>__KeyToKey__ KeyCode::F2, KeyCode::VK_MOUSEKEY_SCROLL_DOWN</autogen>

Scroll by moving the pointer while holding the primary and secondary buttons:

<autogen>__SimultaneousKeyPresses__ PointingButton::LEFT, PointingButton::RIGHT,
KeyCode::VK_CONFIG_SYNC_KEYDOWNUP_notsave_pointing_relative_to_scroll</autogen>

See the source for the key code values and predefined settings.


You can map scrolling to pressing a key and moving the cursor from the GUI!

Here, I map the scrollwheel action to pressing the Fn key and moving the cursor. Notice the nice option that enables this behavior for both horizontal and vertical scrolling.

Karabiner GUI screenshot

By the way, KeyRemap4MacBook is now called Karabiner. https://pqrs.org/osx/karabiner/


This seems to work with Karabiner-Elements again.

You must "Import more rules from the Internet (open a web browser)," get "Change mouse motion to scroll," and "Enable" it. This adds the ability to hold a mouse button to change the mouse ball into a scroll wheel while the button is held down. You can then change the scrolling speed and feel by adjusting both "speed" under "Parameters" and adjusting "Scrolling speed" in the regular MacOS Mouse System Preferences Pane.

The speed, smoothness, and momentum of the scrolling feels a little weird; I think it's related to the difference in sensation from a regular scroll wheel which kind of clicks as it's scrolled.


Since Karabiner-Elements no longer seems to have this functionality, Smart Scroll is the new way. Just use Mouse Button 4 with the "grab scroll" option. Unfortunately scrolling will stop when the cursor hits a screen edge, so it's not true scrolling, and Photoshop doesn't support it for alt-scroll zooming.

http://marcmoini.com/sx_en.html