Go to the first, previous, next, last section, table of contents.


Accelerator Key Control

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
Usable only with c, a, or ca. (Plain and capital letters always have their normal meaning.)
a digit
Usable only with c, a, or ca. (Plain digits always have their normal meaning, and shift digits are punctuation.)
a function key: f1 through f12
These may be plain, shifted, control, alt, or control-alt.
a numeric keypad key: n0 through n9
Usable only with c, a, or ca. (Plain numeric key presses are always equivalent to that digit.)
an "enhanced" key: e1 through e14
These may be plain, shifted, control, alt, or control-alt.

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.