From: ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University)
Newsgroups: comp.sys.mac.programmer
Subject: Re: Arrow-modifier keys (was Re: Think C is (notso) Great)
Date: 24 Jul 92 18:26:00 +1200
Organization: University of Waikato, Hamilton, New Zealand

In article <1992Jul22.141021.20135@hobbes.kzoo.edu>, k044477@hobbes.kzoo.edu (Jamie R. McCarthy) writes:
> I'd like ThC to join with the rest of the Mac world, in which
> cmd-arrowkey means "go this way for one word/paragraph/page" and
> option-arrowkey means "go this way to the end of the line/document."
> ThC has this backwards.  (And BBEdit has it backwards vertically but not
> horizontally.  Turns my brain to scrambled cheese.)

I beg to disagree. From your description, it sounds like THINK C has it
the right way round.

The official Macintosh conventions for use of modifiers with arrow keys
are documented in Chapter 1 of Inside Mac Vol IV.

Quote (page IV-4): "Holding down the Command key while pressing an arrow key
should move the insertion point to the appropriate edge of the window. If the
insertion point is already at the edge of the window, the document should be
scrolled one windowful in the appropriate direction and the insertion point
should move to the same edge of the new windowful."

Of the programs I use, the MPW Shell (3.2 and later) follows this prescription
exactly for vertical movement, but not for horizontal movement. Both
MPW and MacWrite II interpret command-left-arrow as "move to beginning of
line" and command-right-arrow as "move to end of line", regardless of the
width of the window.

In MacWrite II, command-up-arrow and command-down-arrow take you to the
beginning and end of the document.

I could fix the definition of command-left-arrow and command-right-arrow in
MPW by redefining the default key bindings, except that there don't seem
to be any "MovePageRight" or "MovePageLeft" editor commands. :-(

Further IM quote (page IV-5): "The Option key is reserved as a 'semantic
modifier' key. The application determines what the units are. For example, in
a word processor, where the basic semantic unit is the character and the next
larger unit is the word, Option-Left Arrow and Option-Right Arrow might move
the insertion point to the beginning and end, respectively, of a word."

Both MacWrite II and MPW follow this behaviour.

MPW further defines command-option-up-arrow to move to the beginning of
the file, and command-option-down-arrow to move to the end of the file.
I find this very useful. It would be nice if they redefined command-left-
arrow and command-right-arrow to work according to IM4, and used command-option-
left-arrow and command-option-right-arrow to move to the beginning and
end of the line.

In all cases, in both programs, holding down the shift key while pressing
one of the above sequences means to extend the selection to the new position
(except for one small bug which I'm sure will be fixed in the next version
of MPW ;-)).

So there you go. There's an official standard for these things, and it appears
that at least a couple of programs have heard of some part of it. What are the
chances of getting the rest of the world to conform?

Lawrence D'Oliveiro                       fone: +64-7-856-2889
Computer Services Dept                     fax: +64-7-838-4066
University of Waikato            electric mail: ldo@waikato.ac.nz
Hamilton, New Zealand    37^ 47' 26" S, 175^ 19' 7" E, GMT+12:00