My footpedal
A collection of things I have written about the footpedal that I sometimes use with my computer:
I have a VEC Infinity IN-USB-2 that I grabbed at Goodwill for $5.
I love it. I tend to use it less when the RSI isn’t flaring up, but the first time I had RSI being bad is when I started to use it–it really helped. My RSI was in the few fingers on the pinky-side of my hands (so the opposite of CTS; I’m told this is less common, but I’m figuring it’s more common for Emacs users, with all the talk of “Emacs-pinky”), and much worse on my right hand. The pedal has 3 keys; I have them as (left-to-right) Control, Shift, and Alt/Meta, with the addition that if I short-tap the center, it does Enter; this basically means that I can avoid using my right pinky at all when typing. This allowed me to keep using the computer without making things worse, while I did other things to improve the RSI (stretches, wearing wrist braces at night). The tap-for-Enter seems a bit weird, but I added it after that motion seemed instinctual when using left-button for control in a repeated C-s search; hold foot-left and tap keyboard-S to increment search, then tap foot-center to complete the search.
About the IN-USB-2 specifically:
It’s an XK-3: It’s actually made by P.I. Engineering for VEC; it’s a rear-hinged X-Keys XK-3(updated link) with a different (less capable) firmware. The benefit of the crippled firmware is that the IN-USB-2 is way cheaper than buying a “real” XK-3 (even without finding one at Goodwill).
Firmware: On the downside of that, the firmware is less capable; unlike the XK-3, it shows up as a generic HID device with 3 buttons, instead of as a keyboard, and thus you can’t configure which button is which key. That is, you’ll have to have a program running to monitor the HID buttons and synthesize whichever key events you want, instead of configuring the keys on the device. Fortunately, the device is supported by P.I. Engineering’s Linux SDK,
pihid
(updated link) (git), so that program is fairly easy to write (and as an Emacs user, you probably appreciate that configuration-is-code gives you more flexibility). Thepihid
SDK is a crappy little wrapper around thehidapi
library with the appropriate magic numbers for the hardware.hidapi
is portable to macOS; I imagine that gettingpihid
working on macOS is no trouble at all. (IDK if their ControllerMate program for macOS works with it, or if ControllerMate requires the real XK-3 firmware.)Hardware: The thing feels sturdy. If the switch ever craps out (not that I think it would), it’s a generic switch that’s in everything that you can pick up for $0.50; which is nice for peace-of-mind. The middle button feels a little wide; I generally have my foot around the left side of it, for Control, and it is difficult to reach over to the right for Meta, and usually end up hitting Meta on the keyboard instead.
I love it, but I don’t necessarily love it more than I would any other foot pedal. If you find a different one for cheaper, go for it.
I found that my brain didn’t want to treat the pedals like it did keys–it wanted to treat them modally. I wasn’t pressing control, I was entering control-mode. I wasn’t pressing shift, I was entering caps-mode. Which works out, because it isn’t the quick keystrokes that cause the most strain, it’s holding the modifier with one finger while the rest of the hand moves around. I wouldn’t use the footpedal Control for the usual quick C-f/b/n/p, but it’s great for holding Control as you C-s through a document.