The Holy Grail of Cursor Ergonomics, Part II
By Anton Pyrogovskyi • 6 minutes read •
Table of Contents
As mentioned in my last article, the next step is to set up the foot pedals to emit clicks while the Apple Pencil remains the hovering and pointing device.
Setting Up the RS-31H
My foot pedal rig is an Olympus RS-31H with 4 configurable buttons:
Yes, you are seeing that right. That’s a PS/2 port! Luckily it ships with an adapter to USB-A, also pictured. There is also a newer RS-31N model which has a proper USB cable.
It is a reliable option that was still made in Japan at the time I got mine (late 2024). There are left and right buttons that can be used for left and right clicks. There is a large bottom button with a smaller top button which could be used for something else like turning hover on/off or simulating a mouse wheel. I left them unset since I scroll using the 2-finger gesture on the iPad and prefer to toggle hover from the keyboard.
You can also lock one of the top/bottom buttons so they physically can not be pressed but not both at the same time. If you do not use the top/bottom buttons I recommend locking bottom as it is much easier to press accidentally. When locked, it provides more surface to rest your feet.
This particular pedal rig is intended to be used by transcribers as a way to trigger the pause, play etc media buttons comfortably during long work sessions. It does not really matter which specific kind of foot pedal you use and whether it is configurable as long as it emits some keyboard events we can capture in software.
Anyway, the process to set this up should be fairly similar for any foot pedal setup.
- Connect the pedals to the computer
I had to use the PS/2 to USB-A adapter shipped with the rig then a USB-A into USB-C adapter which I had – you might not have to. After this, the foot pedals were detected as a keyboard device. If the OS offers to configure a new keyboard, just skip/quit.
- Configure the pedals to emit correct keyboard hotkeys
That would be ⌃⌥1 and ⌃⌥2 or your preferred hotkeys if you have changed them. With this rig, flashing a new configuration is done through the official FTSW tool app available for download from the product page above.
Would it not have been easier to make the pedals emit left and right click directly?
No.
- It does not seem like the Olympus RS-31H supports emitting mouse events at all.
This is probably true for a lot of pedals out there. After all, a mouseDown
/mouseUp
event normally has coordinates attached and the pedal has no straightforward way to get the current coordinates as it does not control the cursor.
I am not sure what would be required for the OS to synthesize mouse events using data from multiple devices and if it’s possible or feasible in general. So this is actually entirely reasonable.
- Emitted mouse events would be captured by the Hammerspoon event tap we set up earlier.
This is complicated by the fact that inside an event tap callback, you cannot easily tell one hardware event source from another, unlike events synthesized in software which you can easily attach metadata to. This principle is used in last post’s Hammerspoon code to block all hardware events but let our synthesized clicks which will be seen by the same event tap through. Letting some hardware device click while blocking the others’ clicks would be more difficult.
- Done!
Enjoy hovering with the Pencil and clicking with the pedals. Satisfying, slightly noisy – perhaps I need to look into (re-)greasing the pedal springs later on.
Practical Considerations
This is highly subjective but using the pedals also feels much smoother and more immersive than using the keyboard shortcuts to click. This might be due to a combination of factors:
- The keyboard is much easier to “misclick” and accidentally trigger a different combo like ⌥⌘1 which actually is bound in e.g. Safari.
This also means you have to allocate more focus to executing the keyboard combo correctly, distracting from the task at hand. Using more common keys for the trigger would likely run into them being used by some other software.
- I drive. The coordination needed for using the car’s steering wheel, stick and pedals should carry across to operating any kind of pedal together with hand-operated controls.
Case in point: a person I know who was trying to learn to drive a manual has never once stalled the engine or misshifted despite being a complete beginner and the car being underpowered.
The secret? Years of experience with a sewing machine’s pedal and controls resulting in excellent hand-foot coordination.
If practicing sewing helps one drive, it might be reasonable to assume that driving helps one click with the pedals.
- If my feet aren’t busy with anything while I work I usually end up tapping them anyway…
They never really tire either.
As always, YMMV.
Next Steps
There is still something to improve in this setup.
Namely, actually dragging something with the Pencil requires turning the hover mode off temporarily. It is not a big deal but it does get in the way of being in the flow sometimes. It would be nicer if the pedals could be used for that as well.
Later on I will take a look at solving that by making the pedal-triggered hotkey clicks trigger drags if the pedal is held for some time and clicks if the pedal is tapped quickly. This should be possible to implement in Hammerspoon in a way that is device-agnostic.