The text of the `sd.ini' initialization file, from the line
[Accelerators]
up to the next blank line or the end of the
file, consists of key definitions, one per line, or comments.
A comment is any line starting with a "pound sign" (#
).
The first item on a non-comment line is a description of the key,
and the remaining items are the meaning, exactly as you would type
it to Sd
. The meaning may be any single call, concept,
or special command. (To see what special commands are available,
type a question mark during a resolve, during program startup, or
during normal program operation, or look at the Sd
menu.)
Keys may have different definitions during program startup, during resolves, and during normal operation.
If the first character of
the key description is a plus sign (+
), that key definition
line is meaningful during program startup. For example, the standard
definition contains the line
+f1 heads start
to indicate that function key F1 means heads start
during program startup.
If the first character of
the key description is an asterisk (*
), that key definition
line is meaningful during resolve searches. For example, the standard
definition contains the line
*f12 find another
to indicate that function key F12 means find another
during resolves.
It is perfectly legal to have the same keystroke mean three different things during startup, during resolves, and during normal operation.
After the optional plus sign or asterisk, there may be an optional
s
to mean shift, c
to mean control, a
(or m
)
to mean alt (meta),
or ca
to mean control-alt (hold both the control and alt keys
while pressing the indicated key).
What follows must be
a letter
c
, a
, or ca
. (Plain and
capital letters always have their normal meaning.)
a digit
c
, a
, or ca
. (Plain digits
always have their normal meaning, and shift digits are punctuation.)
a function key: f1 through f12
a numeric keypad key: n0 through n9
c
, a
, or ca
. (Plain numeric
key presses are always equivalent to that digit.)
an "enhanced" key: e1 through e14
The "enhanced" keys are encoded as follows:
e1 page up e2 page down e3 end e4 home e5 left arrow e6 up arrow e7 right arrow e8 down arrow e13 insert e14 delete
So, for example, the line:
cae8 u-turn back
would define control-alt-<down-arrow>
to do a
`U-turn back'.
In specifying a key name, you can use either "m" (for meta) or "a" (for alt) to mean the same thing. (Some people refer to it as the meta key.) Also, if a key is both meta/alt and control, you may list them in either order. Also, you may put hyphens into the key name, and put it in upper or lower case. The command value (the rest of the line) must be in lower case.
Hence
c-m-e8 u-turn back c-a-e8 u-turn back m-c-e8 u-turn back a-c-e8 u-turn back
mean the same thing as the above example.
If a key is defined to mean a concept, and that concept is not legal at the level at which the program is invoked, the key will still mean that concept. If the key is pressed, the concept will be used, but it will be considered an off-level concept, and a warning will be printed. See section Using Off-Level Concepts.
If a key is defined to mean a call, and that call is not legal at the level at which the program is invoked, that key definition in the initialization file will simply be ignored, unless the level is C4X. Therefore, whenever you change your initialization file, it is a good idea to test it by starting the program at C4X to find out if any warning messages are printed.
Go to the first, previous, next, last section, table of contents.