HUNTER computers are supplied with a standard QWERTY keyboard, see Keyboard.
Keyboard keys are each equated to the characters they represent by unique numerical codes, as listed in ASCII Charcter Set. These values are defined according to the American Standard Code for Information Interchange (ASCII). The value returned to Basic in, for instance, an INCHR statement is the numerical equivalent of the key pressed. The ASCII definitions of each key for the keyboard are contained in 116 consecutive RAM locations named
KEYBUF. The upper shift keys are defined in the first 56 locations, followed by the 56 lower shift keys. These memory locations form a 'map' of the physical keyboard. On power up, the HUNTER automatically defines these locations to a standard configuration. However, the programmer has the option to be able to define special
The schematic of the keyboard, see Keyboard Memory Map, shows the value in
KEYBUF for each key.
As an example, consider the key fourth from the left on the top row. If it was required to program this key to be $ in upper case and S in lower case, two POKE operations would be required.
POKE (KEYBUF),36 POKE (KEYBUF + 56),83
It is important to note that on powering up HUNTER, the keyboard will revert to the standard version. The programmer should define the special keyboard requirements at an early stage in the program and ensure that the re-definition occurs each time the program is run.
The codes used by the special control keys are listed in Keyboard.
There are eight programmable function keys. They may be used as a quick method of entering frequently used commands or functions, or as eight separate interrupt keys.
On entering the Basic interpreter, the bottom line of the LCD displays the default values. These may be changed at any time with the KEY function as described in Basic Functions. The screen only displays the first four characters, although the string may be up to fifteen characters long.
The soft keys may be used to provide interrupts into Basic programs. The relevant Basic statements are:
The interrupts are tested at the beginning of every Basic statement. Once a particular key has been pressed and has interrupted, then it cannot interrupt again, although other keys can still cause an immediate interrupt. However, one interrupt on a particular key can be held pending while its interrupt routine is executing.