5. When an application is ready to receive keyboard input it calls the 5TD-BI05 INT 16H driver
to retrieve the keycode and scancode from the STD-BIOS keyboard buffer.
5.2
S1D-BIOS Keyboard Drivers
The 5TD-BI05 component consists of two drivers: the keyboard 15R routine (INT 09H), and the
keyboard interface driver (INT 16H). The drivers discussed here cover steps 4 and 5 in the
overview of Section 5.
5.2.1
Overview
The INT 09H driver responds to the 8041 OBF interrupt (generated by V_58259) and reads in a
scancode from the 8041 controller. If the scancode is from one of the keyboard modifier keys,
the appropriate state bits are updated. The scancode is then placed in the 5TD-BI05 keyboard
buffer along with its corresponding ASCII character (keycode) or a null byte (OH).
The INT 16H driver provides functions to allow the application to interrogate and manipulate the
keyboard input system. Applications may check for keycodes in the 5TD-BIOS keyboard buffer,
remove keycodes from it, and retrieve the state of the keyboard modifiers.
Extended functions are provided by the INT 16H driver to give the application additional control
over the keyboard and to facilitate keyboard driver mapping. Extended functions allow the
application to turn off or change the default translations performed on the HP Softkeys and
Cursor Control keypads (see figure 5.2). Applications may inquire about and/or change the
typematic rate and delay values for the keyboard. Functions are also provided to aid applications
wishing to install keypad translator services of their own.
,.
5.2.2 Data Structures
The INT 16H and INT 09H driver data structures are located in the STD-BIOS data area. They are
stored in memory addresses 417H (40: 17H) through 43DH (40:3DH). Table 5.1 lists these
memory locations and their definitions.
Keyboard
139
Need help?
Do you have a question about the Vectra and is the answer not in the manual?