rentzsch.com: tales from the red shed

apple's antiCAPSLOCK

Notes

About a month ago I picked up a new Apple keyboard. That’s the new thin model, the wired variant.

I’m rather pleased with it: like all keyboards, the previous model had a propensity of collecting debris+cruft. Unlike most other keyboards, the previous model showcased your cruft collection via its transparent sides. These things are hard to clean, so I hoped upgrading to the new thin model would keep my desk looking clean+swanky. So far so good.

But I did notice something odd. I rarely use the Caps Lock key, but often accidently bang it, missing the left Shift key. I would feel the mistake while typing, but then I’d look down and see Caps Lock hadn’t been engaged after all. Oh, I must have just imagined my mis-strike.

Over the next few weeks, this kept happening to the point where I started questioning reality. I was positive I hit it. This required scientifical investigation.

I’ve discovered something shocking. An anti-Caps Lock conspiracy silently bubbling up from the darkest trenches inside Apple:

Apple’s Caps Lock key has undocumented anti-jab protection.

Unique among the rest of the keys, Caps Lock doesn’t activate immediately upon strike. There’s a very small time window — perhaps a quarter of a second — where if you release the key inside the window, the keystroke is ignored.

But that’s only part of the conspiracy. The Caps Lock key isn’t just universally slow to react. If Caps Lock was already engaged, the keystroke is registered immediately, even before the upstroke.

So Apple’s modern keyboards have a bias against activating Caps Lock at all, and another bias to turn it off as soon as possible. That fits in perfectly with how I (mis)use Caps Lock, but I can’t help thinking it’s ALSO a subtle nudge to those to abuse Caps Lock to TONE IT DOWN A LITTLE.

Here’s a crappy video I shot with my Treo showing off the Caps Lock delay. I quickly, firmly strike the Caps Lock key head-on three times in a row without activating it. Then I strike it three times somewhat more slowly and it Works As Expected. Finally, I show even a viper-quick stab will register if the Caps Lock is engaged.

Update Oct 7: This turned out to be a popular entry. Three follow-ups:

  • Wireless variant too: I’m getting conflicting reports, but the majority say the wireless version of the keyboard has the same behavior. I’m inclined to think that’s the case, and the folks with the wireless versions that aren’t witnessing the behavior don’t drink nearly as much coffee as I do.

  • Control key remapping: A goodly number of you wrote in to say you remap Caps Lock to be an extra Control key (using the “Keyboard & Mouse” System Preferences pane, illustrated towards the end of Ars Technica’s coverage).

    The main question was: does this activation delay still take place if you remap the key? Unfortunately, yes — the activation delay occurs in the keyboard itself, before the operating system even sees the key-down. So if you’re an emacs fiend, you may want a different keyboard altogether. If this antiCAPSLOCK trend ends up extending to Apple’s notebooks in the future, well then it may suck to be you.

  • Eject key delay: I also received a number of email pointing out the Eject key also has a time-delay, so Caps Locks isn’t “unique among the rest of the keys”.

    Yes and no.

    Yes: at the user level, Caps Lock and Eject work similarly, with the Eject key having a longer activation delay.

    No: Caps Lock is unique among the keys, because its activation delay takes place in the keyboard itself. The Eject key’s activation delay was a feature added to Mac OS X 10.4.9. Using Dave Dribin’s excellent HIDBrowser (part of DDHidLib), I verified the key-down is sent immediately (even on Apple’s newest keyboards).

    So the Eject key activation delay is optional and can be disabled in software, but I don’t know of a way to do the same with the Caps Lock key. In fact it may be impossible to disable this “feature” short of hardware hacking.

Thursday, October 04, 2007
12:00 AM