KEYS.BAS
Library to check for keys being pressed. It provide functions which are
much faster than INKEY$, take less memory and does not require
the Sinclair ROM to be present.
Functions
Functions provided in this library:
Scan codes
This library define some global constants named Scan codes which are just
UInteger constant.
Each key has assigned a unique Scan code. The ZX Spectrum Keyboard is divided
in 8 Rows half. Each Row half comprises 5 keys (from the left or right side of the speccy
QWERTY keyboard).
For example letters H, J, K L and ENTER belong to row half #2 (see below).
It is possible, for some routines, to use more than one scan code simultaneously, with bOR
operator.
For example KEYH bOR KEYL means Key H and/or Key L.
The only restriction is that both keys must be in the same Row Half.
These are all the scan codes available and their values.
| Scan Codes
1st Keyboard ROW half
const KEYB AS UInteger = 07F10h
const KEYN AS UInteger = 07F08h
const KEYM AS UInteger = 07F04h
const KEYSYMBOL AS UInteger = 07F02h
const KEYSPACE AS UInteger = 07F01h
2nd Keyboard ROW half
const KEYH AS UInteger = 0BF10h
const KEYJ AS UInteger = 0BF08h
const KEYK AS UInteger = 0BF04h
const KEYL AS UInteger = 0BF02h
const KEYENTER AS UInteger = 0BF01h
REM 3rd Keyboard ROW half
const KEYY AS UInteger = 0DF10h
const KEYU AS UInteger = 0DF08h
const KEYI AS UInteger = 0DF04h
const KEYO AS UInteger = 0DF02h
const KEYP AS UInteger = 0DF01h
REM 4th Keyboard ROW half
const KEY6 AS UInteger = 0EF10h
const KEY7 AS UInteger = 0EF08h
const KEY8 AS UInteger = 0EF04h
const KEY9 AS UInteger = 0EF02h
const KEY0 AS UInteger = 0EF01h
REM 5th Keyboard ROW half
const KEY5 AS UInteger = 0F710h
const KEY4 AS UInteger = 0F708h
const KEY3 AS UInteger = 0F704h
const KEY2 AS UInteger = 0F702h
const KEY1 AS UInteger = 0F701h
REM 6th Keyboard ROW half
const KEYT AS UInteger = 0FB10h
const KEYR AS UInteger = 0FB08h
const KEYE AS UInteger = 0FB04h
const KEYW AS UInteger = 0FB02h
const KEYQ AS UInteger = 0FB01h
REM 7th Keyboard ROW half
const KEYG AS UInteger = 0FD10h
const KEYF AS UInteger = 0FD08h
const KEYD AS UInteger = 0FD04h
const KEYS AS UInteger = 0FD02h
const KEYA AS UInteger = 0FD01h
REM 8th Keyboard ROW half
const KEYV AS UInteger = 0FE10h
const KEYC AS UInteger = 0FE08h
const KEYX AS UInteger = 0FE04h
const KEYZ AS UInteger = 0FE02h
const KEYCAPS AS UInteger = 0FE01h
|
See Also