Make The Surface Dial Do More Things, Such As MIDI

The Surface Dial is a $100+ rotary control. You can turn it, and it’ll make some basic stuff happen on your Microsoft Surface. It’s silver and sleek and elegant but fundamentally, it just works via emulated keyboard shortcuts. This doesn’t really do much for translating analog rotational motion into digital feedback in a nice way, so [SaveTheHuman5] created Elephant to fix this issue.

As standard, there are two ways to work with the Surface Dial as an end-user. The easiest way is to use existing utilities to map dial actions to shortcut keys. However, for interfacing with knobs and sliders in user interfaces, this is clunky. Instead, [SaveTheHuman5] drilled down and created their own utility using the Surface Dial API provided by Microsoft. This allows raw data to be captured from the dial and processed into whatever interactions your heart desires – as long as you’ve got the coding muscles to do it!

The Elephant software allows the knob to be used in two distinct modes – mouse capture, and MIDI. Mouse capture allows one to use a regular mouse to select UI objects, such as knobs in a music application, and then turn the Surface Dial to adjust the control. Anyone that’s struggled with tiny emulated rotary controls on a VST synth before would instantly know the value of this. In MIDI mode, however, the knob simply presents itself as a MIDI device outputting commands directly which would be more useful in performance environments in particular.

Overall, it’s a tidy hack of an otherwise quite limited piece of hardware – the only thing we’d like to see is more detail on how it was done. If you’ve got a good idea on how this could work, throw it down in the comments. And, if your thirst for rotary controls is still not satiated, check out this media controller. Video after the break.

Continue reading “Make The Surface Dial Do More Things, Such As MIDI”