Tuesday, September 7, 2010

Dramatically enhancing Sibelius' keypad

A couple of years ago, I was reading about interface design and came across Jef Raskin's The Humane Interface. His ideas about quasimodes intrigued me to a great extent and I thought Sibelius' keypad would be a great place to apply the technique. The short version is: whereas the caps lock puts the keyboard into a capitalized mode, the shift key puts the keyboard into a capitalized quasimode. You have to hold down the shift key for as long as you want caps, so you are always aware of what mode you're in.

With the keypad, I can switch to different layouts to do different things with the same key (in the F8 (basic) layout, the 1 key gives me a 32nd note; in the F11 layout, the same key gives me a fermata). The problem came in when I forgot what mode I was in. Sometimes, I would want a 32nd note, but mistakenly apply a fermata instead. To avoid this, I reset the keypad every time I use it (F8 or shift + numpad+). Therefore, when I wanted a fermata, I would reset the layout, then press numpad+ 3 times (or press F11), press 1, then reset the layout again: not very efficient.

I wrote a script for AutoHotkey that automatically returned to the basic layout after I used the desired function. For a fermata, I would press and hold F11, press 1, and then release F11. That way, I always knew what I was entering.

After using this system for a couple of years on a Windows machine, I switched to a Mac and found my beloved AutoHotkey would not follow me to the new computer. The degree to which I had grown dependent upon this new behavior in Sibelius was striking. I had forgotten just how annoying it was to reset the keypad before and after every use. It seemed like every error I made was due to the keypad being on the wrong setting.

Today, though, I found ControllerMate. With it, I was able to quickly duplicate the desired behavior in the OSX environment. It has been refreshing never to have to worry about the keypad again! I hope that the Sibelius developers include it in a future build, but I'm happy that I can both have and eat cake on any system I choose.

To be clear: this change to Sibelius' keypad is among the best gifts you can give yourself, right up there with an 88-key keyboard and enormous monitors. It is entirely worth the effort and is highly recommended.


Supplemental Material:

Terrific article about quasimodes

AutoHotkey

ControllerMate

You can download my setup file for ControllerMate here. It is based on the Apple Keyboard with Numeric Keypad (USB) and requires Sibelius' keypad layouts to have the following keyboard shortcuts: Basic: F14; More Notes: F15; Beams/Tremolos: ctrl+opt+cmd+w; Articulations: ctrl+opt+cmd+v; Jazz Articulations: ctrl+opt+cmd+z


The AutoHotkey script I wrote follows: copy it, put it into a text file and rename it *.ahk. Then execute it with AutoHotkey.

--

;Quasimode hack for Sibelius keypad states

~F9::
KeyWait, F9
send {F8}
return

~F10::
KeyWait, F10
send {F8}
return

~F11::
KeyWait, F11
send {F8}
return

~F12::
KeyWait, F12
send {F8}
return

--

No comments: