next previous up contents index
Next: exaEdit Functions Previous: The Keyboard Up: Functions


Keyboard Test

This section provides information on the situation in Unix systems, the instructions regarding the exaEdit command KEYBOARD TEST are also valid for Windows systems, however.

Keyboards are one of the saddest chapters in Unix operating systems. In the struggle to respond flexibly to any realizable and unrealizable wish, the allocation of keys and characters or functions was designed variably on several levels. This raised the possibility to produce a giant chaos and, sometimes, this occasion was taken with at least partial success.

If you hit a key on the keyboard and exaEdit responds to it in a particular way, there are besides the two natural levels of change in meaning, i.e. labels on the key on the one hand and interpretation of the key by exaEdit on the other, seven (7) other levels, at which the meaning of all or some keys may be altered.

To make sure that the keys you press have the meaning you wish, you may use the command KEYBOARD with the parameter TEST.

However, you have to mind the keys which are not handed over to exaEdit. If you think that these keys should be available for exaEdit, you have to turn to the person who is responsible for the operating system of your workstation.

Testing a key works as follows: You enter the command

(minimal abbreviation KEYB T). Afterwards exaEdit writes this in your window:

Then you press the key you want to test. If exaEdit answers this in one line, the test is finished. If you do not see a reaction of exaEdit, you have to hit the return key. If you want to test more than one key, it may be an advantage for you to abbreviate the command KEYBOARD TEST with X or Y (compare the respective commands) or you may define the command by means of PFK (compare the corresponding section) to a F key.

To be able to interpret the information provided by KEYBOARD TEST correctly and to be able to carry out the corrections on the keyboard, you should know the following facts:

In the operating system Unix, normally you do not use a physical terminal but a logical one, a so-called terminal emulation, a logical terminal. Information on which terminal emulation you are using is in the environment variable TERM, which you may have displayed with the Unix command echo $TERM.

Every key which is physically available may be used alone or together with the Shift, Alt, Ctrl, ...key. The following text uses `key' for single keys and such combination keys. The terminal emulation used decides on what the keys mean. Please note that there are keys, the information of which does not go to the terminal emulation because the keys are caught in advance.

The keys which are handed over to the terminal emulation are passed on in two ways by the terminal emulation: either as normal keys (with a character assigned to it) or as a sequence of keys (often called escape sequence for they begin with the Esc key). Example: If you press the key labelled F1, the terminal emulation xterm asserts you have pressed the five keys

in this sequence (\E means the Esc key). Other terminal emulations provide different key sequences.

To even out the nonsense, there is a so-called terminfo file in the Unix operating systems. This file contains rules for every terminal emulation which is used at the workstation how to compose the original information from the key sequences. For example, in the terminfo file for the terminal emulation xterm is the rule that the key sequence \E[11~ means that the key F1 has been pressed.

exaEdit uses the operating system supplement Curses (compare section Starting an exaEdit Session). Curses passes on the information to exaEdit, which Curses receives from terminfo. Now you have got on far enough to understand the information KEYBOARD TEST provides. The response of exaEdit always has this form:

In this pattern, for ... there are always made entries. These entries have the following meaning:

Curses:
Here is the numerical value of a (character) key or the function Curses receives from terminfo. If there is a dash behind curses:, this means that exaEdit has read an escape sequence which does not exist in terminfo. This means that a row of single characters has been passed on by Curses to exaEdit. In this case, the third category `escape:' was used and filled in.

Characters:
Here is the character which is connected to the key if there is such a character. Else, there is the word `none'.

Escape:
Here is the escape sequence (compare the explanation on `curses:') if such a sequence was passed on.

Function:
Here, there is the word `none' if it deals with a character key. If any other key was passed through, it has either a function in exaEdit (most of the cases) or the output is `?'. If the key which was pressed has a function in exaEdit, the name of the function is the output in the window.

If you want to work with KEYBOARD TEST, you should call the command for some keys which are known to you and which work before you try to find out something about unknown keys.

The persons who are responsible for the maintenance of your workstation can change the terminfo file and, by this means, supply missing combinations of escape sequences or correct mismatches between escape sequences and function keys.


next previous up contents index
Next: exaEdit Functions Previous: The Keyboard Up: Functions