March 23, 2005

Odd keyboard mapping decisions

I've recently upgraded from Office v.X to Office 2004 (yes, I do use Microsoft products -- ones I've even used my own money to buy) and for reasons I don't quite understand they decided to do... odd things with some of the keyboard mappings.

Most folks who use OS X are familiar with using command-tab and command-shift-tab to cycle through the different running applications on your system. It even gets a spiffy GUI boost, along with some clever tricks you can play. (Like being able to send command-key sequences to apps, which is something of a mixed feature) You may be less familiar with a similar sequence -- command-backtick and command-tilde cycle through the windows in the current application. Works nicely, and since I usually have a wad of terminal and emacs windows open I tend to use it a lot, and I used it even more in Word. Because of the way I work with long documents I normally have a dozen or more Word files open at once. (I prefer to throw each section of a document into its own file, which makes working on the different pieces easier for me. Final assembly's a pain, but then I only do that once)

Doesn't work with Office 2004. Instead it uses command-F6 and command-shift-F6. Not only is this different, and thus a pain (needless consistency is the hobgoblin of little minds, but that doesn't mean consistency in general's bad) but I'm on a laptop so getting to the function keys requires an extra keypress. (So it's command-function-F6 and command-shift-function-F6, at which point I feel like I'm in a bad emacs joke) The really stupid thing is that command-backtick and command-shift-backtick aren't used for anything in Word, so it's not like they're using the keystrokes for other things to maintain windows compatibility. Bleah.

Luckily Word's profoundly configurable (I get the feeling there aren't any hardcoded keyboard command sequences in the thing -- looks like everything's a macro. Heck, I could see the regular alpha keys being macros...) so this can be fixed. For those of you who might care, here it is.

Tools->customize->customize keyboard will pull up the customization dialog. In the "Windows and Help" category you'll find the NextWindow and PrevWindow functions (or wade through the whole wad in the all commands category) where you can add the standard keyboard mappings in. Not rocket science, you can figure it out.

And yeah, for the record Word for OS X pretty aggressively fails to suck. While I don't make use of even 1% of the stuff it does, I've banged out a couple hundred thousand words on it (most of which you'll never read, I'm sure) and all I can say about it is that it gets the heck out of my way, and the few things that it does do up-front (like catching and correcting my horribly common "teh" typo) actually work the way I like without me having to get used to it.

No, I don't know why it's so much more pleasant to use than Word for Windows (which I've also spent more time than I'd like with), since Word's damned annoying on Windows. Probably mostly an OS and aesthetics issue (I find windows either ugly or downright toy-looking (the default Fischer-Price theme for XP reminds me more of my kids Rescue Heroes toys than a real tool) and whoever came up with the clever idea of making little-used menu items get hidden should be locked in a room and be forced to watch the 3-day "Manos, Hands of Fate" marathon in penance) but I admit, I don't care, since you can't use a program on an OS without using the OS as well. It's the total experience, and the total experience of Word on Windows is crappy.

Posted by Dan at March 23, 2005 10:20 AM

I have Office 2004 and cmd-` works perfectly fine in Word. I didn't customize anything with keyboard shortcuts.

Is there something I'm missing?

Posted by: Julian at March 23, 2005 01:11 PM

Got me. I did a mildly custom install (Entorage. yech) but that was it. Nothing particularly special, just nothing happened with command-backtick. I do have Office v.X still installed -- I suppose there could be some preference file confusion or something.

Odd, definitely odd. Ah, well, if it happened to me it probably... well, it probably won't happen to anyone else, but that's fine. :)

Posted by: Dan at March 23, 2005 01:26 PM

F6 (with various modifiers) is actually some kind of standard keystroke for cycling through Windows or panes in an app.

It was around in the Windows 3.0 days (as a part of the CUA -- "common user access"), and still works in 'Firefox' on Linux. I've no idea if F6 (or CUA in general) have any history on Macs though.

Posted by: Smylers at March 23, 2005 02:02 PM

System Preferences -> Keyboard

Scroll until you see the "Rotate Windows" item. It was checked by default on my system, in which case cmd-` cycles windows in Word 2004. Uncheck it and cmd-` stops working in Word. So check your settings there...

Posted by: John at March 23, 2005 02:27 PM

I figured the F6 thing was a windows keystroke, which was fine -- making word work in a windows-ish way doesn't bother me as long as it doesn't get in the way of mac stuff. (I kinda liked some of the windows keystrokes, since they were the same as MWM had. Of course, there were enough differences to give me fits, but...)

As far as the system preferences, I already had that set, and it's not changed. Window cycling works OK in other apps, including Word v.X, just not in Word 2004. Weird.

I think I'll chalk it up to gremlins and leave it at that now that I've got it working again. Cruft in some prefs file or something.

Computers. Go figure.

Posted by: Dan at March 23, 2005 02:34 PM

It seems that "command `" worked sporadically for me. I thought it was a bug and reported it. Now I am wondering if "command `" is an OS X wide feature, that would sometimes get corrupted or overcome by Word.

However, after just resetting the keyboard shortcut in Word as this tutorial describes, it works consistently.. so far.

Posted by: thomas at March 23, 2005 05:00 PM

I've assumed that the window switching behaviour's a feature of the AppKit which can be overridden, since I've some old apps that still do the right thing. There's likely a notification buried in there somewhere for it, but I've not taken the time to tease it out of the Cocoa docs. (And yeah, I know the Office apps are all Carbon, but the basics are all the same)

This stuff's all completely overridable if you get your hooks in the right place, which makes me think that Word's doing that and discarding unrecognized keystrokes rather than passing them on for default processing. (Which'd also explain the sporadic behaviour, since the interception's probably not done when non-document windows are up)

Posted by: Dan at March 23, 2005 05:19 PM

One of the reasons for the discrepancies between Word/Win and Word/Mac might be that, well, they‘re two entirely separate products written by completely different teams, much like IE/Win vs IE/Mac…

Posted by: Aristotle at March 23, 2005 11:24 PM

Office and shortcuts? It's like in Hell! In my Office I worked with '98 until the end of last year. At home I worked with V.X. They nearly completely changed the shortcuts. Especially Excel is a crap. And now at work with 2004 the shortcuts are different again. Why can't they provide shortcut settings from the old versions so you can switch back if you want to. But doing things the way the user likes it had never been Microsofts goal.
But Apple isn't much better at all. After installing Panther I had to switch of nearly all shortcuts because the collided with Quark's or other Application's shortcuts. Everybody is doing it his own way. Except the shortcuts for quit, copy, paste etc. But there will be the day when I have to quit Word with alt+F4.


Posted by: axl at March 24, 2005 04:54 AM

The office apps have the same source base for both the windows and mac versions, at least according to the guys at Microsoft's MacBU, and who am I to argue with them? :) Some of the code's different, certainly, but it looks like almost all of it is the same. Makes sense, since most of what the office apps do, heck what most apps do, is platform independent.

I've no idea why the shortcuts change from version to version. (Gotta admit, I don't run into it, but then I don't use the vast majority of what the apps do, so I don't tend to use more than the basic set of 'em)

Posted by: Dan at March 24, 2005 09:22 AM

It looks like Word saves that setting in either the Normal template or the file you're working on. Which would explain some of the wierd and inconsistent behaviour.

Posted by: Daniel Smith at May 24, 2005 07:30 PM