How To: Use Lion, the Witch, and the Escape key:
Early in 2011, as we were testing our apps with the Lion developer previews, Peter and I noticed something odd with Witch in Lion: some, but not all, of our Macs were unable to dismiss the Witch switcher panel via the Escape key. Peter dug into Witch’s code, and could find no reason for this, so then we started looking at the operating system itself. What we found is that the problem is indeed in Lion, and it’s related to Front Row (which, ironically enough, isn’t in Lion).
In a nutshell, Lion is reserving the Command-Escape keystroke to activate Front Row, even though there’s no Front Row to activate. So if you use Command-Tab to activate Witch, and then press Escape to cancel the window, Lion sees a Command-Escape keypress, and captures it—Witch never sees it, and its switcher panel isn’t dismissed. (If you disabled Front Row in 10.6, or remapped its activation keys, and then upgraded to Lion, you’re probably not having this problem. But if you did use Command-Escape for Front Row, you’ll want to use this fix.) We filed an Apple bug report on this back in March of 2011, but it’s still open and unresolved.
To fix this problem, we’ve created a simple little application, Escape Key Liberator. Usage couldn’t be much easier: download and mount the disk image, then launch the program (right from the disk image; it’s fine). You’ll be greeted by this incredibly obvious dialog:
Click the Liberate button, then quit Escape Key Liberator. Now comes the only slightly annoying portion of the process: you must logout and login for the change to take effect.
But after that task is done, you should once again be able to use the Escape key to dismiss the Witch switcher panel. You can then delete (or zip and archive, for possible future use on another Mac) the Escape Key Liberator disk image; it’s a one-trick pony, and its trick is done.
(Note: If you’re the kind of person who prefers replacing the transmission in your car yourself, instead of taking the car to the shop, read on for instructions on freeing your Escape key without the ease of a couple of mouse clicks.)
To fix this problem, you need to insert/replace a bit of code in a preferences file. It’s not hard, but unfortunately, it’s the only way to fix the issue. (We tried to write a script to make the fix for you from Terminal, but the needed level of control over the preferences file isn’t available at the command line.) Read on for the solution.
These instructions assume you have a pure text editor that can edit binary plist files. BareBones makes two such editors, the $50 BBEdit and the free TextWrangler, though I’m sure there are others. You can also edit the file using a dedicated property list editor, such as the $30 PlistEdit Pro or the free Pref Setter. If you use a dedicated editor, though, you’ll need to modify these instructions to suit those programs. (For this simple edit, one of the text editors is probably the best option.)
No comments:
Post a Comment