home *** CD-ROM | disk | FTP | other *** search
- Introduction & Disclaimer: I stole this chunk of description from the
- MS-Kermit documentation without Cristine Gianone or Joe Doupnik's
- permission after trying to get a hold of them through e-mail. If
- either of them really protest I will re-write it. I do note their
- copyright notice here however:
-
- Copyright (C) 1981,1988
- Trustees of Columbia University in the City of New York
-
- Permission is granted to any individual or institution to use, copy,
- or redistribute this document so long as it is not sold for profit, and
- provided this copyright notice is retained.
-
- NCSA Telnet contains a subset of the kermit verbs listed here.
- Kermit verbs with a star are supported and the others will cause an
- error if they are in a keyboard mapping file. I have also included
- a utility from the MS-Kermit 2.32 distribution which will determine
- what the actual kermit key code is for any combination of keys. Use
- this in the keyboard mapping file as the code to map from. See the
- telnet.key file included with this release for an example keyboard
- mapping file.
-
- NCSA Telnet does not support the extended SET KEY options such as:
- SET KEY ON
- SET KEY OFF
- or
- SET KEY CLEAR
-
- Also, it is impossible to map the ALT+alphabetical keys to anything
- with the keyboard mapping interface. NCSA Telnet traps these internally
- before they actually reach the mapping interface.
-
- SET KEY
-
- Syntax: SET KEY key-specifier [key-definition]
- Also: SET KEY {ON, OFF, CLEAR}
-
- WARNING: The format and functions of this command have changed substan-
- tially since version 2.29B and earlier. The changes were made in order
- to allow key redefinition to work on a wider variety of systems and
- keyboards without customization of the program source code for each
- configuration. See section 1.12 for further details.
-
- Typical uses of SET KEY:
-
- - You're used to having the ESC key in the upper left corner of the
- keyboard, but your new PC keyboard has an accent grave ("`") there.
- You can use SET KEY to make the accent key transmit an ESC, and you
- can assign accent grave to some other key.
-
- - You send a lot of electronic mail, and always sign it the same way.
- You can put your "signature" on a single key to save yourself a lot
- of repetitive typing.
-
- - You must set up your PC's function keys or numeric keypad to work
- properly with a host application.
-
- - You have trouble with Kermit's 2-character escape sequences (like
- Ctrl-] C), and you want to assign these functions to single keys,
- like F10.
-
- The SET KEY command does these things and more, and SHOW KEY gives us assis-
- tance. A key can be defined to:
-
- - send a single character other than what it would normally send,
- - send a string of multiple characters,
- - invoke a CONNECT-mode Kermit action verb,
- - send itself again.
-
- SET KEY specifies that when the designated key is struck during terminal emula-
- tion, the specified character or string is sent or the specified Kermit action
- verb is performed. Key definitions operate only during CONNECT, not at
- Kermit-MS> or DOS command level.
-
- The key-specifier is the identification of the key expressed in system-depend-
- ent terms. This can be a letter, such as Q for the key which produces an up-
- percase Q, or the numeric ASCII value of the letter in backslash notation (e.g.
- "\81"), or else the numerical "scan code" observed by the system when the key
- is pressed (e.g. "\3856" for Ctrl-Alt-Shift-Q on an IBM PC). Material printed
- on keycaps is not necessarily a guide to what the key-specifier should be.
- When the word CLEAR is used in place of a key-specifier, all key definitions
- are cleared and then any built-in definitions are restored.
-
- A string definition is one or more characters, including 8-bit values expressed
- in backslash form, such as
-
- SET KEY \315 directory\13 IBM F1 key sends "directory<cr>"
- SET KEY S X S key sends upper case X (a mean trick)
- SET KEY T \27[m T key sends three bytes: ESC [ m
- SET KEY \2336 {del }xxx Alt-D sends "del "
- SET KEY \324 \Kexit F10 escapes back to Kermit-MS> prompt.
-
- The string begins with the first non-spacing character following the key iden-
- tification and continues until the end of line, exclusive of any trailing
- spaces. If a semicolon comment is used and the definition is given in a TAKE
- file, the line ends at the last non-spacing character before the semicolon.
- Curly braces, {...}, can be use to delimit the string in case you want the
- definition to include trailing spaces. All text after the closing bracket is
- ignored.
-
- This manual does not contain a list of all the scan codes for all the keys on
- all the keyboards on all the PCs supported by MS-Kermit -- that would be a
- manual in itself. Rather, in order to obtain the key-specifier for the SET KEY
- command, you must type a SHOW KEY command and then press the desired key or key
- combination. This will report a scan code that you can use as the key
- specifier in a SET KEY command. To do this for many keys is a laborious
- process, so you should collect all your SET KEY commands into a file, which you
- can TAKE, or put them in your MSKERMIT.INI file.
-
- If you enter SET KEY by itself, with no key specifier, the command will prompt
- you to press the selected key and again for the definition string. Certain
- characters, like ESC and CR, may not be entered literally into the string, but
- can be included by inserting escape codes of the form \nnn, a backslash fol-
- lowed by a 1- to 4-digit number corresponding to the ASCII value of the desired
- character. Where an ASCII digit follows directly after a backslash number,
- confusion can be avoided by placing curly braces {} around the backslashed num-
- ber; thus, \{27}5 represents the two ASCII characters ESC and 5.
-
- Here is an example of the use of SET KEY to assign ESC (ASCII 27) to the accent
- grave key. First the user gets the key-specifier for the key:
-
- Kermit-MS>show key
- Push key to be shown (? shows all): `
- ASCII char: ` \96 decimal is defined as
- Self, no translation.
- Free space: 129 key and 100 string definitions, 837 string characters.
-
- The free space report says that 129 more keys may be redefined, and up to 100
- of them may have multi-character strings assigned to them (as opposed to single
- characters), and that there are 837 bytes left for these strings, in total.
- Confident that there is enough space left for a new key definition, the user
- proceeds:
-
- Kermit-MS>set key
- Push key to be defined: `
- Enter new definition: \27
-
- Once a key definition is constructed and tested, it may be entered on a single
- line in a command file (such as MSKERMIT.INI):
-
- set key \96 \27
-
- To prevent accidents, SET KEY shows the current definition before asking for a
- new one; enter a Control-C to keep the current definition, or a carriage return
- to undefine the key, or a query mark (?) to see available choices.
-
- The keyboard can be restored to its startup state, that is all redefinitions
- removed and all built-in defitions restored, by using the keyword CLEAR in
- place of the key identification:
-
- SET KEY CLEAR
-
- Undefined keys which do not send ASCII characters are trapped by the keyboard
- translator and are rejected; a beep results from using an undefined non-ASCII
- key.
-
- SET KEY OFF directs MS-Kermit to read keycodes from DOS, rather than BIOS, so
- that console drivers like ANSI.SYS that operate at the DOS level may be used
- during Kermit CONNECT sessions. This would also apply to any special keyboard
- replacements that come with DOS-level drivers. SET KEY ON turns key definition
- back on, and returns Kermit to processing keystrokes at the BIOS level.
-
-
- Kermit Action Verbs
-
- An action verb is the shorthand expression for a named Kermit procedure, such
- as "generate the proper sequence for a left arrow," "show status," "send a
- BREAK," and others; verbs are complex actions and each verb has a name. In a
- key definition the verb name is preceeded by backslash K (\K) to avoid being
- confused with a string. Verbs and strings cannot be used together on a key.
-
- SET KEY \331 \Klfarr
- SET KEY \2349 \Kexit
-
- makes the IBM keyboard left arrow key execute the verb named lfarr which sends
- the proper escape sequence for a VT102 left arrow key (which changes depending
- on the internal state of the VT102). The leading \K identifies the definition
- as a Kermit verb, so no string can start as \K or as \{K in upper or lower case
- (use \92K). The second example has Alt-X invoking the Leave-Connect-Mode verb
- "exit" (same as Kermit escape character "^]" followed by C).
-
- Each system has its own list of verbs and predefined keys. Table 1-6 shows
- those available for the IBM PC family (there are also some additional verbs for
- reassigning Heath or VT100 function keys, see section 1.17.2). The SET KEY
- command shows the list of available verbs when a query mark (?) is given as a
- definition. SHOW KEY displays all currently defined keys or individually
- selected ones; SHOW KEY can be executed only interactively.
-
- -------------------------------------------------------------------------------
-
-
- Verb Meaning
- \Kupscn Roll up (back) to previous screen
- \Kdnscn Roll down (forward) to next screen
- \Khomscn Roll up to top of screen memory
- \Kendscn Roll down to end of screen memory (current position)
- \Kupone Roll screen up one line
- \Kdnone Roll screen down one line
- \Kprtscn Print the current screen
- \Kdump Append the current screen to dump file
- \Kholdscrn Toggle hold screen mode
- \Klogoff Turn off session logging
- \Klogon Turn on session logging
- \Ktermtype Toggle terminal type
- \Kreset Reset terminal emulator to initial state
- \Kmodeline Toggle modeline off/on
- \Kbreak Send a BREAK signal
- \Klbreak Send a "long BREAK" signal
- \Khangup Drop DTR so modem will hang up phone
- * \Knull Send a null (ASCII 0)
- \Kdos "Push" to DOS
- \Khelp Display CONNECT help message
- \Kstatus Display STATUS message
- \Kterminals Invoke user-defined macro TERMINALS, if any
- \Kterminalr Invoke user-defined macro TERMINALR, if any
- \Kexit Escape back from CONNECT mode
- * \Kgold,\Kpf1 VT102 keypad function key PF1
- * \Kpf2..\Kpf4 VT102 keypad function keys
- * \Kkp0..\Kkp9 VT102 keypad numeric keys
- * \Kkpdot,\Kkpminus,\Kkpcoma,\Kkpenter Other VT102 keypad keys
- * \Kuparr,\Kdnarr,\Klfarr,\Krtarr VT102 cursor (arrow) keys
-
- Table 1-6: Kermit-MS Verbs for the IBM PC Family
-
- * - supported in NCSA Telnet 2.3b10
-
- -------------------------------------------------------------------------------
-
- Some systems have preset key definitions when Kermit first begins (those for
- the IBM PC are shown in section 1.17.2). You can find out what they are on
- your system by typing SHOW KEY, and then question mark on the next line. You
- may supplement or change the predefined keys with SET KEY commands typed inter-
- actively or in MSKERMIT.INI or other command files.
-
- The MS-Kermit CONNECT command may be used in conjunction with certain console
- drivers that do their own key redefinitions. Since MS-Kermit intercepts
- keystrokes at the BIOS level, drivers like ANSI.SYS which work at the DOS level
- will have no effect during CONNECT, even though they work at MS-Kermit command
- level. Other drivers, like SuperKey and ProKey, work at the BIOS level, and
- their key assignments will remain effective during Kermit terminal sessions,
- and additional Kermit SET KEY assignments may be made "on top" of them.