Program and documentation are Copyright (c) September 1988 by Randall D. Jones
Keyboard Translator (KT) was written to overcome WP5.0's inability to print the keystrokes and macros contained in a keyboard substitution (.WPK) file. KT reads the file indicated on the command line and writes a WP5.0 document file containing images of the substitutions and macros as they would appear on WP5.0's internal macro editor screen.
The Input ---
KT expects to be directed to a WP5.0 keyboard substitution file. When specifying the file on the command line, the ".WPK" filename extension may be omitted (example: "MACROS.WPK" will be dumped if "MACROS" is specified). If you wish to translate a file with other than the default extension, include it when entering the filename; to force a blank extension, include the dot (example: "MYFILE.").
The input file named on the command line will be located using the method WP5.0 uses. If the input filespec includes path information, the specified directory is checked. If no path information is included in the input filespec, the Keyboard/Macro directory specified in your Setup is checked; if no Keyboard/Macro directory is listed, the "current" directory is checked. If the input file is not found in whichever directory is chosen using the above rules, the WP system directory is checked for a file with the specified name.
The Output ---
KT creates a WP5.0 document. To use KT's output, name the file on WP5.0's command line or Retrieve it. It is not an ASCII text file. No printer-dependent information is included in the file.
The document header contains the name of the substitution file. The first line of each translation shows the description as entered when a substitution is created or as shown on the macro editor screen. The second line shows the name of the keystroke that has been remapped. If the keystroke has been mapped to another single keystroke, that new keystroke is also shown on the second line and the entry is complete. If the keystroke has been mapped to a macro, the macro's contents, as shown on the WP5.0 internal macro editor screen, begin on the fourth line of the translation. This sequence is repeated until all mappings have been listed.
If an append is requested ("-a" on the command line), KT will insert a [HPg] before appending the translations from the new run. If a macro is more than one page in length, WP5.0 will insert [SPg]'s where necessary; KT does not attempt to do pagination other than between appended translations.
KT uses "hard spaces" within macro elements to prevent WP5.0 from wrapping the text in the middle of an element. Since this use of hard spaces could cause very long continuous strings, KT inserts [ISRt] codes in strings of macro elements to prevent WP5.0 from inflicting the line with a [DSRt].
The Tabs ---
Tabs are a problem. On an empty line in WP5.0's internal macro editor, entering a tab will move the cursor from column one to column five, and subsequent tabs move the cursor in three-column intervals, giving settings of 1,5,8,11, etc.
An idiosyncrasy of the macro editor is that tabs move the cursor a minimum of two columns. If the macro editor is waiting for the character to place in column 7 and a tab is entered, word processors have trained us to expect that the tab would occupy column 7 and that the cursor would advance to the tab stop at column 8. Unfortunately, in this example, the cursor would skip past column 8 and stop at column 11.
The document created by KT can be printed in any of the fonts supported by any of the printers supported by WP5.0. That in itself precludes KT's assigning tab stops due to differing font widths, but the "two- column tab" effect compounds the problem. You will need to experiment with this on your own.