SECTION 6
Conversions and Interfaces
PEN*KEY
R
6200/6300 Hand-Held Computer Programmer’s Reference Guide 6-31
Keyboard Interface: INT 09h
BIOS
This interface is used for both the internal keypad and an external keyboard.
Matrix scan codes are converted to PCĆcompatible scan codes before Interrupt
09h is issued. Standard scan codes are read from port 60h. If the scan code is
not a request for an internal function or a control key press, both the character
code and scan code (two bytes) are placed in a 16Ćword circular buffer at the
position pointed to by the keyboard tail buffer pointer. The tail pointer is then
incremented by two and allowed to wrap around the buffer. INT 09h supports
the following internal functions:
Function
Description
CtrlĆAltĆDel
System Reset. Detection of a ControlĆAltĆDelete sequence causes the
handler to set the reset flag to 1234h (do not do a memory test) and
jump to the POST.
CtrlĆScroll Lock Break. The CtrlĆBreak sequence issues an INT 1Bh and returns the
value zero.
ShiftĆPrtSc
Print Screen. ShiftĆPrint Screen issues an INT 05h.
CtrlĆNum Lock Pause. The Pause key causes the handler to issue INT 15, Function
41h to wait for a valid ASCII keystroke.
The keyboard handler issues an INT 15h, Function 91h with AL = 2 on return
from interrupt to indicate that a keystroke is available for keys that return
values. After reading the scan code from port 60, it issues an INT 15h, Function
4Fh, so the system can replace or absorb the scan code. On return from INT 15,
the code is processed if the carry flag is set. Otherwise, the key is not processed.
The SYSREQ key issues an INT 15, Function 85h to inform the system of a
make or break operation of the SYSREQ key.
Control, Alt , Shift keys, Num Lock, Scroll Lock, Pause, and Caps Lock key
presses update the keyboard mode and type flags. No character code is returned
by the keyboard BIOS for these key presses. Applications that want to know the
status of these flags may query the keyboard BIOS through Interrupt 16h,
Function 02h.
For a listing of the character codes for ATĆcompatible keyboards, see the
Keyboard Services Interrupt
definitions (INT 16h), page 6Ć104.
6. Conversions and
Interfaces