Back when I was active recording my own music (SoundCloud for the curious) I always used a hardware knob to navigate and control Logic.
It was a very simple device (a knob which is also a big button) but incredibly useful. So I thought: if it was so wonderful with music software, perhaps it can useful on an IDE!
My main problem was the constant switching between clicking the simulator (or taping a real device) and typing the common two-handed shortcuts you need while debugging in Xcode: pause, step over, step into, etc.
I browsed MIDI controllers and video control surfaces, and bought a Contour Shuttle-Xpress after a little research. It’s small, inexpensive and comes with a dial and more than enough buttons.
Other options I considered were:
- an updated version of the Griffin Powermate: It looks really neat but I wanted more than one button. Also, I’m not a big fan of changing batteries.
- Palette Controllers: Nice looking but too expensive. If you don’t know what to do with your money, there is a Wood Edition for only $899.
- MIDI controllers: Bulky and require some third party software converting MIDI to keyboard commands.
Next thing was just to configure my most used shortcuts and tune a little bit that configuration after some use. This is the layout I’m using right now:
|Big Left Button||De / Activate Breakpoints|
|Left Button||Add Breakpoint at Current Line|
|Central Button||Debug - Pause|
|Right Button||Debug - Continue|
|Big Right Button||Debug - Step Into|
|Jog Wheel||Up Arrow / Down Arrow|
|Springy Wheel||Debug Step Over / Out|
Definitively worth it!
It’s probably not as powerful as it is for video or music software, but it makes debugging more comfortable, and at 40-60 USD it’s worth a try.
Of course, you could also set different shortcuts, but the easy ones are already assigned, and if I really wanted to stretch my hands I would instead try to play something from Rachmaninoff.