A scroll wheel experiment

November 15, 2011

On the one hand, I am firmly a fan of three button mice where the middle button is a real button, not a scroll wheel. On the other hand, I'm becoming increasingly convinced that having a scroll wheel is useful (partly because my laptop has one as part of the trackpad). In order to reconcile these competing desires, I've decided to experiment with a hack.

(In an ideal world, the solution would be a three button mouse with a scroll wheel on the side, as I've wished for before. In this world, while such a thing may exist I haven't been able to find it, at least not for a moderate amount of money (cf).)

What I want is a scroll wheel. I don't have a bare one sitting around but we have plenty of standard USB scroll wheel optical mice, so I've taken one and plunked it down to the left of my keyboard (my usual mouse is on the right side). Since all I want is the scroll wheel, I've fixed the mouse so that it doesn't track (with the low tech approach of a piece of paper taped over the sensor on the bottom) and used xinput to turn off all of its regular buttons. This insures that I don't have to worry about any side effects of touching the mouse to use the scroll wheel.

(I briefly tried the USB mouse without these tweaks and found it annoying; I had to be careful not to shift the mouse and I was worrying about accidental mouse button clicks.)

I'm not sure that I'm going to use the scroll wheel regularly. There are obviously a number of annoying aspects to this setup, and I already know that I like things like middle button autoscroll in Firefox better than the scroll wheel. But that's why I call this an experiment.

(Some of my past interface experiments have been quite successful. Others, not so much. For instance, I still don't have a modern man page viewer that I like better than just running man in a terminal window.)

PS: one of the things that will make this work, if it does work, is All in One Gestures for Firefox, which makes it convenient to do a number of things via the mouse that usually require keyboard control. I normally use Firefox with one hand mostly idle on the keyboard and one hand on the mouse; with the scroll wheel, I wind up with the keyboard hand moving to the scroll wheel instead.

PPS: I discovered xinput via Neil Burlock, who shows a more permanent way of disabling or remapping mouse buttons if you want to do that. The USB mouse I'm using has a very generic identification string, so I decided that I didn't want to be that forceful just in case.


Comments on this page:

By gsauthof at 2011-11-15 04:20:23:

I am a big pointing stick fan. But on a desktop system I use a 3-button mouse with a scrollpoint, like this IBM one. IMHO it is a far superior interface design than scroll wheels.

(It actually has 3 buttons and a separate stick for scrolling on top - you don't have to 'click' a scroll-wheel down or something like that.)

In addition to good usability it has advantages in shared offices because you don't get all these 'ratch-ratch-ratch-ratch-ratch ...' scroll-wheel noises any more ...

By trs80 at 2011-11-15 07:50:04:

Logitech have made keyboards with scroll wheels on the left hand edge - I use them at work and home, they're quite useful IMHO.

From 132.183.156.105 at 2011-11-15 09:39:17:

Hi! A while ago Griffin Technology made a device called the PowerMate, which sounds like what you are looking for. I'm not sure if it works on Linux, and it would only be available second hand, but maybe it's worth a look?

By cks at 2011-11-15 18:04:48:

On the PowerMate: I don't think I'm keen enough yet on the scroll wheel experiment to actually buy dedicated hardware for it. The attraction so far is that we have plenty of standard USB scroll wheel mice just sitting around, so it's easy to grab one to play around with.

The problem for me with things like the Logitech keyboards is that I have very particular tastes in keyboards; I would far rather have my favorite keyboard and no scroll wheel than vice versa. I see the attraction to people who are less particular, though. (I sometimes wish that I was one of them, it would make life easier. Especially now that my keyboard is out of production.)

From 92.75.47.140 at 2011-11-15 18:24:31:

After toying around for 15min with Xinput, I now reread the post and notice how you disabled the tracking. :)

From 195.26.247.141 at 2011-11-16 08:21:47:

I have a Griffin PowerMate and it works fine on Linux, as there's a fancypants open source driver that lets you control the LEDs in the base of it too. I wouldn't really recommend it as a scroll wheel though, as it's more like a volume knob so it would seems a bit strange for a vertical scroll control.

From 134.173.34.85 at 2011-11-17 13:45:49:

I've had Kensington trackballs on my machines (Mac and Linux) since 1996 or so, and I love them. I recently got a Slimblade trackball to replace a 10-year old Expert Mouse that died, and it's pretty nice. It has four actual buttons that you can set up however you want, as well as allowing you to twist the ball to scroll. I found it a bit weird at first, but it works really well and I've gotten very used to it. It's not as programmable on the Mac as the previous trackball was, but it should be about the same for Linux as that one was (so you could program all the buttons and the scrolling to do whatever you want them to).

[Before I got the Slimblade, I tried using a Magic Trackpad when the old trackball died, and it's great for lots of things (in Mac OS X), but I found that it had some problems in my setup that led me to get the trackball. The key is that I have a Salli Nipsu support -- a leather-covered raised platform that holds my arms above my keyboard and provides a handy place off to the side for my mouse/trackball. Because of the distance I had to reach to operate the trackpad, I had some cramping that seemed carpal-tunnel like. The trackpad also doesn't click well on anything but a hard surface, so that was causing additional strain. Now I have both, and use whichever one feels right for a particular job (and can move the trackpad closer in if I'm doing a lot of Apple-style scrolling or gesturing).]

Claire

From 85.179.193.103 at 2011-11-20 22:11:26:

I don't understand exactly what you are aiming for? Is it something haptical, to want to have the wheel separated? Because, you know? I can push my scrollwheel down an have this interpreted as third button without any xinput messing. Came like this by default. Some old Logitech Dinosaur :)

By cks at 2011-11-21 00:50:35:

The short version is that scroll wheels are in a fundamental conflict with button functionality such that one or the other of them pretty much has to lose. I use the middle mouse button much more than a scroll wheel, so I optimize for the mouse button.

The long version, with an actual explanation and argument for this, is in MouseButtonVsScrollWheel.

From 216.131.32.163 at 2011-11-21 07:30:26:

There are a lot of scroll wheel mice that let you click the scrollwheel. I dunno, you might be a purist though.

From 216.131.32.163 at 2011-11-21 07:31:36:

Sorry, didn't see the comments page before I posted that. Please feel free to delete.

From 190.148.179.56 at 2012-01-02 13:58:33:

What I'd really to see instead is a better standarized (well defined) middle button behaviour. As a first choice I would have liked copy/paste assigned, that would be great; but for it to work properly on all platforms(/apps) it would need an extra button (totaling 4). This is useful even if your not a dev(/con lover); since word processing is such a commomly mayor user function.

If not; then I'd liked it followed by navigational commands (back/forward, or prev/next); that sadly require an extra button too. Although they could be implemented as a toggle, or double click; ie, first middle click copies selection, second (or double) pastes content.

And as a last alternative; I'd to further the continuation of the de facto open new tabs functionality. Except that now be it extended to open new windows, when no tabs are available. And of course, assuming multiple instances are allowed.

But in the bitter end perhaps the best way is the user configurable set. OSes such have defaults that can be easly overriden by users. Followed by programmable application specific controls. And of course, other virtual key combos; eg, 1st+2nd->3; 1st+3rd->4, etc.

PS: I personally found the scroll wheel as a poor and half harted implementation of the org devised fine tracking mechanism. Ie, (as in the first and second suggestions where's the dual?) There should be another for horizontal scrolling (2nd axis); but if you're going to put that, then might as well aptly put the second extra trackball. In this context, the zoom/panning mech of the middle button without the wheel works better; since the latter only would get in the way. Obv problem is design; bundling together the wheel and middle buttons was clever; yet (like you aptly point out) not very irl practical.

Written on 15 November 2011.
« Thinking about how to test our UPSes
Solaris is not an enterprise operating system »

Page tools: View Source, View Normal, Add Comment.
Search:
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Tue Nov 15 01:04:55 2011
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.