EXOS 2.1 Keyboard Driver Specification

4. Quick Reference Summary

4.1 EXOS Calls

Open/Create Channel

Treated identically.
Only one channel.
Device name "KEYBOARD:".
Filename and unit number ignored.
No EXOS variables to set before open.

Close/Destroy Channel

Treated identically.

Read Character/Block

Returns ASCII key code of characters of function key string.

Write Character/Block

Not supported.

Read Status

C=0 if key has been pressed, 1 otherwise.

Set Status

Not supported.

Special Function

@@FKEY = 8 - program function key.
@@JOY = 9 - direct joystick read.

4.2 EXOS Variables

DELAY_KEY - delay until auto repeat starts.
RATE_KEY - rate of autorepeating.
CLICK_KEY - zero to enable key click.
LOCK_KEY - current keyboard lock mode.
STOP_IRQ - zero to enable stop key software interrupts.
KEY_IRQ - zero to enable normal key interrupts.

4.3 Software Interrupt Codes

Triggered by pressing null string programmed function keys:

?FKEY + 00 = 10h
?FKEY + 15 = 1Fh

Triggered by pressing STOP key if STOP_IRQ=0. No keycode returned:

?STOP = 20h

Triggered by pressing any key if KEY_IRQ=0. Keycode returned as well:

?KEY = 21h

David Bouman. (dsbouma@cs.vu.nl)