Keyboard-to-System Interface
When a
key
is
pressed
or released on
the
keyboard, the
corresponding
scan
code for
that
key motion
is
reported over the
HP-HIL
to
the
HP-HIL
controller. The
HP-HIL
controller interrupts
the 80286, which executes the
HP-HIL
driver
to
read the
scan
codes(s).
Inputs from the keyboard are
passed
to
the logical
keyboard driver, where they may
be
translated, then sent
to
the
8041 through port 68H.
The
8041 then reports the
scan
code by
placing it
in
its
output
buffer, causing
an
output
buffer interrupt
(OBFINT).
Then, the
scan
code may
be
read by either the
BIOS
or
directly
by
an
application.
System-to-Keyboard Interface
When the
BIOS
requires commands
to
be
sent
to
the
keyboard
(i.e.,
to
program the
LED's),
it sends
the
byte(s)
to
port 60H
of
the
8041. The 8041 acknowledges each byte by returning
OFAH
to
Port 60H. It then places the command in
output
Port 69H and
causes
an
interrupt (HPIND by pulsing
-INTHP
(P23)
low.
In
response
to
this interupt the 80286 executes the logical keyboard
driver, which the
reads
the command from Port 69H and
passes
it
on
to
the
HP-HIL
driver.
The
HP-HIL
driver translates the command
and
sends
it
to
the
HP-HIL
controller
to
be
sent
to
the
keyboard.
When the command processing
is
completed, the logical
keyboard driver clears
HPINT
by writing
to
Port 6AH, freeing Port
69H.
The following
is
a figure
that
shows
the
HP
Vectra keyboard
with
the
keys
numbered and the American legend. Refer
to
Appendix B
for
the international keyboards and the keyboard
scan
codes.
Keyboard Interface
59