Kermit FAQ - I'm Having Trouble with F-Keys

(Home) (Prev) (No Next)

41 I'm Having Trouble with F-Keys

Remember, your PC is not a real terminal. In most cases, the PC has a different kind of keyboard than a real terminal. For example, a DEC VT100 has no F-keys, but the PC has 10 or 12 of them. However, a DEC VT220 or VT320 has 20 F-keys; the PC still has only 10 or 12.

If your complaint is that you have Kermit set to VT100 or VT102 emulation and the F-keys don't work, that's because the VT1xx terminals do not have F-keys. They do, however, have PF keys 1 through 4, and these are assigned by default to the top row of the numeric keypad. If you need F-keys, you probably need VT220 or higher, not VT100.

For your PC's F-keys to work like those of the corresponding terminal, Kermit must map the PC's F-keys to the terminal's. If the terminal has more F-keys than the PC, you might have trouble finding the extra ones (such as F13 through F20).

In MS-DOS Kermit, F-keys must be set up with SET KEY commands. A command file, VT300.INI, is supplied for this purpose in the KEYBOARD subdirectory of the Kermit directory.

In Kermit 95, F-keys are defined automatically for each terminal type as described in the Kermit 95 manual.

IMPORTANT: MS-DOS Kermit and Kermit 95 use difference keycodes in their SET KEY commands. You can make Kermit 95 read an MS-DOS Kermit key mapping file by first telling it to SET MSKERMIT KEYCODES ON.

Excess F keys are generally assigned to PC Alt-(10-minus-xx). For example, DEC F13 is Alt-F3 on the PC; DEC F20 is Alt-F20.

Shifted F keys are generally used as User-Defined Keys (UDKs). Excess UDKs (such as Shift-F13) are entered as Alt-Shift-F13 (etc).

If you don't like Kermit's default F-key assignments, you can change them with SET KEY (or, in K95 only, SET TERMINAL KEY).

What does an F-key send? Normally we assign "Kverbs" to each F-key. For example, when Kermit is emulating a VT220 or higher, the F6 key is assigned the verb \KdecF06 (DEC F6), which means "Send what the DEC F6 key sends". This doesn't tell you exactly what characters are sent, but that's the point, since many of the DEC key groups can be in different "modes" (set by the host application or by the user), in which they send different sequences. Kermit tracks the mode and "does the right thing".

If you want the F-key to send something other than what the appropriate Kverb sends, you can make a specific assignment. For example:

set key \375 \{27}@7

In which we make the F8 key send a nonstandard sequence (ESC At-Sign 7) used by host-based WordPerfect.

One of our most common tech support questions is "My host application menu says to press F7 but when I do that nothing happens". If you have read this far, you can probably figure out the answer for yourself:


Kermit FAQ / Columbia University / kermit@kermitproject.org