This entry is going to exclude a lot of people, so it’s cool if you skip out now if you are not
- a Mac user;
- someone who cares about typography;
- using the U.S. or U.S. Extended keyboard layout;
- a total übergeek.
(You still with me,
themightylex and
caprine?)
The standard keyboard layoutShortly after first starting to use Mac OS X, I became frustrated with the default keyboard layout. It was completely unintuitive to me that ⌥-[ mapped to the single open quote mark, and that ⌥-] mapped to the double open quote mark. Shouldn’t it map to the single close quote? I thought so. And then, the shifted state should map to the double quotes. (In the default layout, the shifted state maps to the close quote of each.)
How fucked up.
Along with some other bizarre keyboard mappings I just couldn’t get over-as well as a few that I wanted just to make my life as a writer easier-I decided it was time to set out to create my own keyboard layout.
How I did it
By using
SIL International’s free and awesome tool
Ukelele, creating my own keyboard layout was a cinch. Like almost everything else in OS X, keyboard layouts are described by XML files and so can be edited or created with any type of tool-but trust me when I say that a tool like Ukelele, with its graphical interface based on Python, is so much better than hand-editing XML files. (This coming from a hand-coding geek.)
I had started my project back when I was still running OS X 10.4 (Tiger), and keyboard layouts were a bit different then, so Ukelele was able to provide some “getting started” layouts. In OS X 10.5 (Leopard), however, keyboard layouts were changed in such a way that the standard system layouts were bundled together into a big binary file instead of standard XML files; consequently, Ukelele can no longer provide starting points for these layouts on Leopard.
Methodology
When I considered it, I realized that I so rarely used the Caps Lock. Other than haters on YouTube, trolls on bulletin boards, and the other bottomfeeders of the Internet, I don’t think most people do as well. And while I have little difficulty remembering complex key chording sequences, I’d prefer to avoid them for my most commonly used alternate characters.
The Caps Lock stateSo I remapped the Caps Lock state (in the new layout as well as in my mind) so that when the Caps Lock is on, it’s my “Writing Mode”: open and close quotes are accessible on the keyboard without the Option key. So are em dash and en dash. I also swapped out the grave character (`) for the dagger (†).
In order for it to work, though, I had to also create a new state never before seen: Caps Lock + Shift. In other words, holding the Shift key while Caps Lock is down creates a different character than Caps Lock itself does. (Try it: Your keyboard now doesn’t do that. As far as I’m aware, no U.S. plan ever for any system has ever done that.)
The Option stateYou see, when the Caps Lock is engaged on a standard U.S. or U.S. Extended keyboard, you get uppercase letters. But my layout is intended to be used with the Caps Lock left on for an extended period. It isn’t Caps Lock at all: it’s repurposing the Caps Lock key as simply another modifier like Option, Control, or Command. So even though the Caps Lock is turned on, I need the usual letter case, which is to say lowercase unless the Shift key is held.
In my Caps Lock state, I had mapped the single quotes to the open and closed bracket-much more intuitive than putting the single quote on the same key! Instead of shifting to close, now I have left quote on left bracket and right quote on right bracket. Could it be simpler?! Since I had gotten my typographic quote marks on the keyboard, I could reuse the dumb quote mark already there for my en dash. Shifted, it became an em dash. [Of course, this is while the Caps Lock is turned on.]
If I find that I need to type a bracket for some reason or another, I simply tap my Caps Lock key to turn it off, type the bracket, then tap the Caps Lock to turn it back on.
The results
So I got my typographical quotes and em and en dash onto the keyboard without having to hold down the Option key. There are a few others characters I’m constantly using that require me to open the Character Palette or (my favorite),
UnicodeChecker. The biggest one? The prescription symbol (℞). So I put it on my new keyboard layout.
The Option + Shift stateNow I know exactly where to find it without having to open UnicodeChecker. I have a figure space, a hair space, an en space, an em space, and a non-breaking space all on my keyboard (with the Option key). And even though I remember they’re in the U+2000 Unicode range, without my new layout, I’d have to either open UnicodeChecker to copy the character (even though I know the exact location), or switch to the Unicode Hex Input keyboard and type in the hex value, then switch back to the U.S. or U.S. Extended keyboard.
Interested?
So if any of this interests you, leave me a comment. I’ll make my keyboard available along with instructions on how to install it and description of some of the more extended goodies I’ve programmed into it (such as dipthongs, ligatures-yes, ligatures!, and nearly every accented character in the Unicode standard).