Scroll Like A Ninja - Logitech M570 Trackball & Linux Mint
This is how I configured my Logitech M570’s trackball to act as a “scrollball”
David, a co-worker of mine, was describing his somewhat affinity for the Apple Magic Mouse. Myself with an anti-Apple bias, and pro-trackball bias, attempted to shoot down any and all points. He got me here though, “I like just being able to scroll in any direction with touch.”
“That would be nice,” I thought. We code, we don’t have a strict coding guidline, and horizontal scrolling extends far beyond 80px in many/all cases. Plus I am always happy on the Y-axis with my scrollwheel, but any x-axis movement still requires me to find the scroll bar and do it the old-school way. Cue Google rabbit hole…
- Google ‘M570 Horizontal scrolling’ -> 1st result
- “People are thinking the same thing I am”
- Google ‘Universal scroll trackball’ -> 1st result
- “A solution appears to exist, please Linux support….”
- Google ‘Marble mouse scroll wheel’ -> 2nd result
- “YES, ArchLinux documentation”
At this point I know a solution exists, although it seems all the guides are for the “Marble Mouse”, Logitech’s ambidextrous trackball:
Which is great, and no offense against left-handers, but I think my Logitech M570 is the greatest [non-gaming] mouse in the world:
- Wireless (with great battery life)
- Insanely comfortable
- Precise
- Great on any surface (desk, couch armrest, and bed included)
- Easy to clean trackball
- Looks nerdy
…enough with the sales pitch. Within a couple reads of the Arch Linux Marble Mouse guide, I figured that EmulateWheel
and EmulateWheelButton
setting from /usr/share/X11/xorg.conf.d/50-vmmouse.conf
are the keys to my ninja scrolling success. Which button you assign to the EmulateWheelButton
is up to you, however both the guide and I agree it would make sense to assign the setting to a middle mouse button (i.e. scroll wheel press). This setting is termed a “scroll modifier” which when held, like a modifier key, would allow you to roll the trackball in any direction for multi-axis scrolling goodness.
The guide emulates a middle click for the “Marble Mouse” with a simultaneous Right/Left click since the mouse doesn’t have a scroll wheel. The M570 has a scroll wheel, so this emulation was not needed, and with some testing I confirmed that 2
is the correct button mapping for a middle click.
My initial config file had the following:
I added the necessary settings to the default “InputClass” block, and with great anticipation I restarted my X server (I just log out and in). Result? No change. Time to debug…
Luckily, I noticed at the bottom of the ArchLinux guide a reference to a Ubuntu community guide which covered mostly the same information apart from a very helpful ‘Troubleshooting’ section.
By tailing /var/log/Xorg.0.log
and unplugging/re-plugging the Logitech wireless fob, I deducted some key information that, along with the rest of the guides, led me to modify my config file like so:
After restarting my X server, and firing up Sublime, I CAN SCROLL LIKE A NINJA. Hope this helps the other ~0.067% of computer users out there who use a Logitech M570 with Linux.
Happy Halloween,
John Paul
####Environment
####External References
- http://forums.logitech.com/t5/Mice-and-Pointing-Devices/M570-Horizontal-Scrolling/td-p/656358 - Logitech forum post that first alerted me to “Universal Scroll”.
- http://forums.logitech.com/t5/Mice-and-Pointing-Devices/universal-scroll-on-marble-mouse/td-p/161730 - Logitech forum post linking to several Marble Mouse specific Windows friendly utilities.
- https://wiki.archlinux.org/index.php/Logitech_Marble_Mouse - ArchLinux guide for the Logitech Marble Mouse.
- https://help.ubuntu.com/community/Logitech_Marblemouse_USB - Reference from ArchLinux guide which had the very helpful ‘Troubleshooting’ section.
- http://forums.linuxmint.com/viewtopic.php?f=49&t=87176 - Honorable mention which listed basically the same information as the other guides but provides some moral support throughout the process.