HOLTEK HT82K28A

HT82K28A
Win98 Keyboard Encoder
Features
·
·
·
·
·
·
Designed for Windows 95/98/NT
Supports 3 Windows 95 Keys
Supports Power, Sleep and Wake-up Windows 98 ACPI functions
Supports Japanese, Korean and Portuguese
Supports Japanese DOS/V 106-key
keyboard
Supports code set 1, for PS/2 model
30 keyboard
·
·
·
·
·
·
·
Supports code set 2, for PC/AT, PS/2 model
50,60 keyboards
Supports code set 3, for PS/2 model
80 keyboard
RC oscillator
Phantom key detection
Minimal external components
Pin-compatible with Holtek HT6547E-2
40-pin DIP/DICE form
General Description
The HT82K28A is a keyboard encoder especially designed for IBM PC/AT, IBM PS/2 and
all compatible machines.
in which data is stored. An inexpensive RC oscillator can be used for the system clock. The
device offers the advantage of simple implementation in high performance and low cost
keyboard applications.
The HT82K28A accepts keyboard inputs and
contains a 16-character first-in-first-out buffer
Pin Assignment
O S C 1
1
4 0
C 1
V S S
2
3 9
C 0
V D D
3
3 8
D A T A
V S S
4
3 7
C L O C K
IO 0
5
3 6
R 1 8
IO 1
6
3 5
R 1 7
C 2
7
3 4
N C
C 3
8
3 3
R 1 6
C 4
9
3 2
C A P
C 5
1 0
3 1
N U M
C 6
1 1
3 0
S C R L
C 7
1 2
2 9
R 9
R 1 0
1 3
2 8
R 8
R 1 1
1 4
2 7
R 1 5
R 1 2
1 5
2 6
R 1 4
R 0
1 6
2 5
N C
R 1
1 7
2 4
R 1 3
R 2
1 8
2 3
R 7
R 3
1 9
2 2
R 6
R 4
2 0
2 1
R 5
H T 8 2 K 2 8 A
4 0 D IP
1
February 16, 2000
HT82K28A
Pin Description
Pin No.
Pin Name
I/O
Description
1
OSC1
I
System clock input
2, 4
VSS
¾
Negative power supply, ground
3
VDD
¾
Positive power supply
5, 6
IO0~IO1
O
Customer defined optional output lines
39, 40,
7~12
C0~C7
I
Keyboard matrix scanning input pins
16~23, 28,
29, 13~15
24, 26, 27
33, 35
R0~R18
O
Keyboard matrix scanning output pins
25, 34
NC
¾
No connection
30
SCRL
O
LED pin
31
NUM
O
LED pin
32
CAP
O
LED pin
37
CLOCK
I/O Synchronous clock signal. Used to clock the transmission data
38
DATA
I/O Bidirectional data transmission line
Absolute Maximum Ratings
Supply Voltage............................4.75V to 5.25V
Input Voltage.................VSS-0.3V to VDD+0.3V
Storage Temperature.................-55°C to 125°C
Operating Temperature ..................0°C to 70°C
Note: These are stress ratings only. Stresses exceeding the range specified under ²Absolute Maximum Ratings² may cause substantial damage to the device. Functional operation of this device
at other conditions beyond those listed in the specification is not implied and prolonged exposure to extreme conditions may affect device reliability.
2
February 16, 2000
HT82K28A
Electrical Characteristics
Symbol
Ta=25°C
Parameter
Test Conditions
Min.
Typ. Max. Unit
VDD
Operating Voltage
¾
4.75
5
5.25
V
IDD
Operating Current
¾
¾
2
5
mA
Input Low Voltage (C0~C7)
¾
0
¾
0.6
V
Input Low Voltage (DATA, CLOCK)
¾
0
¾
0.6
V
Input High Voltage
¾
3.5
¾
VDD
V
Output Low Voltage (R0~R18)
IOL=10mA
¾
¾
0.5
V
Output Low Voltage (DATA, CLOCK)
IOL=15mA
¾
¾
0.5
V
VIL
VIH
VOL
Internal Pull-high Resistance (C0~C7)
¾
5
10
20
kW
Rph
Internal Pull-high Resistance
(CLOCK, DATA)
¾
2
5
15
kW
fSYS
System Clock
¾
¾
4
¾
MHz
3
February 16, 2000
HT82K28A
Functional Description
Mode 3
The HT82K28A basic function is to detect key
press and release activity and to transmit the
corresponding scan code, as well as make and
break codes to the system.
· Supports code set 3, for PS/2 model 80 key-
boards.
· Enters mode 3 when an F0 command is issued
The device also accepts commands from the system and responds to the system if necessary. All
communication between the keyboard and the
system is managed through the CLOCK and
DATA pins.
followed by a 3".
· Contains an 11 bit data stream, including one
start bit (always zero) eight data bits, one parity bit (odd parity) and one stop bit (always
one).
The keyboard begins to scan for pressed or released keys and commands from the system after
the BAT (Basic Assurance Test) has been run.
Buffers
The buffers support the following functions:
· 16-byte FIFO buffer: stores 16 keystrokes
Working modes
scan codes.
Three working modes are supported by the
HT82K28A. These are setup by the alternate
scan code command F0. The various modes are
described as follows.
· Additional keystrokes will be ignored.
· Response codes, i.e FA/FE... do not occupy
buffer positions.
Basic assurance test - BAT
Mode 1
· Supports code set 1 for PS/2 model 30 keyboards.
· Enters mode1 after an F0 Command is issued
followed by a 1".
· Contains an 11 bit data stream, including one
start bit (always zero) eight data bits, one parity bit (odd parity) and one stop bit (always
one).
· All keys are typematic/make/break as default.
· The working mode can be changed again in
this mode, by issuing an F0 command followed by an option. See the F0 command for
more detail.
The following functions are offered by the Basic
Assurance Test:
· Turns on LED status indicators.
· Keyboard processor test.
· RAM test.
· Turns off LED status indicators, i.e. the
LEDs.
· Reports the BAT result to the system.
Note: During the BAT, activity on the "clock"
and "data" line are ignored. The LED¢s
are turned on at the beginning and
turned off at the end of the BAT. The
BAT takes a minimum of 450ms after
POR and a maximum of 2.5s. The response to a satisfactory BAT completion
is ²AA² and response to BAT failure is
an ²FC² error. The reset keyboard command ²FF² will also cause the keyboard
to execute the BAT. Completion codes
are sent between 300 and 500ms after a
reset command is acknowledged. After
the BAT, the keyboard sets the keys to
typematic and make/break, and sets the
default typematic rate and delay.
Mode 2
· Supports code set 2 for PC/AT, PS/2 model 50,
60 keyboards.
· Enters mode 2 after power on.
The working mode can be changed by an F0
command followed by an option byte 1, 2 or 3.
See the F0 command for more details.
· Contains an 11 bit data stream, including one
start bit (always zero) eight data bits, one parity bit (odd parity) and one stop bit (always
one)
· All keys are typematic/make/break as default.
4
February 16, 2000
HT82K28A
All keys except PAUSE are typematic.
Typematic means that the KB keeps sending make codes if the key is held down.
Power-on
Two important activities take place when power
is first applied to the keyboard. The first is the
presence of an H/W signal POR (Power-On-Reset) that resets the keyboard processor. The second activity is the running of the self test BAT
(Basic Assurance Test) routine.
P O R
The data report is according to the
typematic rate/delay:
Default values are: delay 500ms ± 20%
10.9 char/sec ± 20%
The typematic rate and delay can be modified with the F3 command.
R e s e t
1 5 0 m s ~ 2 s
3 0 0 m s ~ 5 0 0 m s
¨
4 5 0 m s ~ 2 .5 s e c
P o w e r o n s ta rt
B A T s ta rte d
B A T c o m p le te
PC-type/mode/code set
If two or more keys are held down, only the
last key pressed repeats at the typematic
rate.
Typematic operation stops when the last
key pressed is released even if other keys
are still held down.
If a key is pressed and held down while keyboard transmission is inhibited, only the
first make code is stored in the buffer overflow as a result of typematic action.
The following table describes the relationship
between different computer types, the working
mode and the code sets.
PS/2 30
mode 1
code set 1
PC-AT
mode 2
code set 2
PS/2 50
mode 2
code set 2
Key type
press
hold
release
PS/2 60
mode 2
code set 2
PS/2 80
mode 3
code set 3
Typematic
Make/break
Make
Typematic/
make/break
make1
make1
make1
make1
make2
X
X
make2
X
break
X
break
Four key types are supported as shown:
The mode can be changed between mode 2 & 3.
Keys
Note: "make1" send out only one make
code.
"Make2" continue sending out make
codes until key is released.
"X" nothing sent out.
· For code set 1, 2
All keys except the PAUSE key have a make
and break code. The PAUSE key has a make
code only.
· For code set 3
The defaults except for PAUSE are make/
break/typematic. In mode 1, 2 and 3 the key
type may be changed to be one of the following:
Typematic
Make/break
¨ Make
¨ Typematic/make/break
Can be configured by command
¨
¨
m o d e 1
m o d e 2
Time interval between phantoms
m o d e 3
The time interval between two continuous error
codes 00/FF sent while phantom detected=
1000ms ± 20%
Typematic
¨ Make/break
¨ Make
¨ Typematic/make/break
¨
5
February 16, 2000
HT82K28A
System command table
Command
FF - reset
FE - resend
FD - set key type make
FC - set key type make/break
FB - set key type typematic
FA - set all keys typematic/make/break
F9 - set all keys make
F8 - set all keys make/break
F7 - set all keys typematic
F6 - set default
F5 - default disabled
F4 - enable
F3 - set typematic rate/delay
F2 - Read ID
F1 F0 - select alternate scan codes
EF EE - Echo
ED - set/reset status indicators
The keyboard should respond within 20ms, except when performing the BAT or executing a
reset command.
mode 3
y
y
y
y
y
y
y
y
y
y
y
y
y
y
x
y
x
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
x
y
x
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
x
y
x
y
y
Send an ACK to the system
Clear output buffer
¨ Clear the last typematic key
¨ Start scanning
¨
¨
· Default disable - F5
· Invalid command
Send an acknowledge FA to the system
¨ Clear its output buffer, FIFO
¨ Set the default key types
¨ Set typematic rate/delay as default value
¨ Clear the last typematic key
¨ Stop scanning and wait for further instruction
¨
¨
¨
Send an FE to the system
No further activities
Note: No ACK
· Read ID - F2
Send an ACK to the system
Discontinue scanning
¨ 2 byte ID-AB, 83
The 2nd byte must follow the completion of
the first byte within 500ms
¨ Resume scanning
¨
¨
· Echo - EE
¨
mode 2
· Enable - F4
Command description
¨
mode 1
Send an EE to the system
Continue scanning if the keyboard is enabled
Note: This command does not need to feed
back the ACK
6
February 16, 2000
HT82K28A
· Resend - FE
¨
FD : Set key type - Make
The keyboard responds with ACK, clears its
output buffer and prepares to receive key
identification
¨ Key identification is accomplished by the
system identifying each key by its scan code
value as defined in scan code set3.
¨ Only scan code set3 values are valid for key
identification
¨ The type of each identified key is set to the
value indicated by the command
¨ These commands can be sent using any
scan code set, but affect only the operation
of scan code set3
¨
¨
Send the last code to the system
Note: * No FA response
· Reset - FF
Disable keyboard
Send an ACK to the system, the keyboard
acknowledges the command with an ACK
and ensures the system accepts the ACK before executing the command
¨ The system sets CLK=DATA=high for
500ms: acceptance of ACK
¨ The system can issue any command to the
KB within the 500ms period mentioned
above to override FF
¨ If no override, the system performs its BAT
and enters mode 2 (even if it is set to be
mode 3)
¨
¨
· Set LED - ED
Send ACK to the system
Discontinue scanning
¨ Wait for the option from the system
¨ Respond with ACK to the system
¨ Set indicator
¨ If command comes from the system in place
of option, discard the set LED function and
then process the new command
¨ LED default after power on - all off
¨ Set default disable - do not change the LEDs
¨
¨
· Select alternate scan code - F0
Send an ACK to the system
Clears both output buffer and the typematic
key
¨ Accept option byte
¨
¨
· Set all keys - F7, F8, F9, FA
FA: Set all keys to typematic/make/break
F9: Set all keys to make
¨ F8: Set all keys to make/break
¨ F7: Set all keys to typematic
¨ Send an ACK to the system
¨ Clear output buffer
¨ Set all keys to the type indicated by the command
¨
¨
· Set typematic rate/delay - F3
Send an ACK to the system
Stop scanning
¨ Wait for the system typematic rate and delay
¨ Send an ACK to the system
¨ Set rate/delay
¨ Bit 6,5 delay
¨ Bit 4,3,2,1,0 typematic rate
¨ Bit 7=0 (always)
Delay= (1+bit6,bit5) ´ 250ms
Typematic rate= 1/period
...where period= (8+A) ´ (2^B) ´ 0.00417
...where A= binary value of bit 2, 1 and 0
...where B= binary value of bit 4 and 3
¨
¨
· Set default - F6
Send an ACK to the system
Clear the output buffer
¨ Set to default key states: Default key type
typematic rate/delay
¨
¨
· Set key type - FB,FC,FD
¨
¨
FB : Set key type - Typematic
FC : Set key type - Make/Break
7
February 16, 2000
HT82K28A
b4~b0
Typematic
rate
b4~b0
Typematic
rate
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
30.0
26.7
24.0
21.8
20.0
18.5
17.1
16.0
15.0
13.3
12.0
10.9
10.0
9.2
8.6
8.0
10000
10001
10010
10011
10100
10101
10110
10111
11000
11001
11010
11011
11100
11101
11110
11111
7.5
6.7
6.0
5.5
5.0
4.6
4.3
4.0
3.7
3.3
3.0
2.7
2.5
2.3
2.1
2.0
· FE: Resend
The KB issues an FE when there is a parity
error in transmission.
Data communications
· Data output
If CLK=0, no transmission (keyboard inhibited).
¨ If CLK=1, DATA=0, no transmission (system request to send).
¨ If CLK=1, DATA=1, transmission permitted.
¨ Data will be valid before the trailing edge
and beyond the leading edge of the clock.
¨ The KB checks the clock line for an active
level at least every 60ms.
¨ If line contention occurs (system brings the
clock low before the tenth clock), set
clock=data=high.
¨
· Default
¨
¨
delay: 500ms± 20%
typematic rate=10.9 characters/sec± 20%
· Data input
The system overrides the clock line for at
least 60ms
¨ The keyboard checks the state of the clock
line at intervals of no more than 10ms
¨ If a system request-to-send is detected, the
keyboard counts 11 data bits.
¨ Data will be valid before the rising edge and
beyond the falling edge
¨ After the 10th bit, the keyboard checks for
an active level on the "data" line. If the line
is active it is forced to be inactive, and
counts one more bit.
Note: This action signals the system that
the keyboard has received its data.
Upon reception of this signal, the
system returns to the ready state, in
which it can accept keyboard outputs
or goes to the inhibit state until it is
ready.
¨
Commands to the system
00: keyboard detect a error/overrun (set 2, set 3)
AB,83: keyboard ID
AA: BAT completion
FC: BAT failure
EE: Echo
FA: Acknowledge
FE: Resend
FF: Keyboard detects a overrun (set 1)
· FA: Acknowledge
If the KB (Keyboard) receives any valid input
except EE (echo) and resend (FE) then send
an FA to the system first.
If the command is EE, then send an EE back
to the system.
If the command is FE, then send the last key
code to system.
If there is an interrupt while sending FA, the
KB discards the FA and accepts the command
from the system and processes it.
· 00/FF: Key overrun
If the keyboard detects an overrun error, the
KB sends an overrun error code to the system.
mode 1: FF
mode 2,3: 00
If the keyboard "data" line is found to be at an
inactive level following the 10th bit, a frame
error has occurred, and the keyboard continues to count until the "data" line becomes active. The keyboard then makes the "data" line
inactive and sends a Resend.
8
February 16, 2000
HT82K28A
Data stream
Mode 1,2,3
B1:
B2:
b3:
b4:
b5:
B6
b7:
b8:
b9:
b10:
b11:
start bit
always 0
data bit 0
data bit 1
data bit 2
data bit 3
data bit 4
data bit 5
data bit 6
data bit 7
parity bit
(odd par)
stop bit
always 1
Note: The parity bit is either 1 or 0, and the 8
data bits, plus the parity bit, always
have an odd number of 1 s.
9
February 16, 2000
HT82K28A
Key code set 1
Key Number
Make/Break Code
Key Number
Make/Break Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
29 / A9
02 / 82
03 / 83
04 / 84
05 / 85
06 / 86
07 / 87
08 / 88
09 / 89
0A / 8A
0B / 8B
0C / 8C
0D / 8D
7D / FD
0E / 8E
0F / 8F
10 / 90
11 / 91
12 / 92
13 / 93
14 / 94
15 / 95
16 / 96
17 / 97
18 / 98
19 / 99
1A / 9A
1B / 9B
2B / AB
3A / BA
1E / 9E
1F / 9F
20 / A0
21 / A1
22 / A2
23 / A3
24 / A4
25 / A5
26 / A6
27 / A7
28 / A8
2B / AB
1C / 9C
2A / AA
56 / D6
2C / AC
2D / AD
2E / AE
2F / AF
50
51
52
53
54
55
56
57
58
60
61
62
64
90
91
92
93
96
97
98
99
100
101
102
103
104
105
106
107
108
110
112
113
114
115
116
117
118
119
120
121
122
123
125
131
132
133
30 / B0
31 / B1
32 / B2
33 / B3
34 / B4
35 / B5
73 / F3
36 / B6
1D / 9D
38 / B8
39 / B9
E0 38 / E0 B8
E0 1D / E0 9D
45 / C5
47 / C7
4B / CB
4F / CF
48 / C8
4C / CC
50 / D0
52 / D2
37 / B7
49 / C9
4D / CD
51 / D1
53 / D3
4A / CA
4E / CE
7E / FE
E0 1C / E0 9C
01 / 81
3B / BB
3C / BC
3D / BD
3E / BE
3F / BF
40 / C0
41 / C1
42 / C2
43 / C3
44 / C4
57 / D7
58 / D8
46 / C6
7B / FB
79 / F9
70 / F0
10
February 16, 2000
HT82K28A
Key code set 1
Base Case
Left-Shift
Right-Shift
Shift+Num
E0 B6 E0 52
E0 AA E0 52
E0 52
75
/E0 D2 E0 36
/E0 D2 E0 2A
/E0 D2
E0 B6 E0 53
E0 AA E0 53
E0 53
76
/E0 D3 E0 36
/E0 D3 E0 2A
/E0 D3
E0 B6 E0 4B
E0 AA E0 4B
E0 4B
79
/E0 CB E0 36
/E0 CB E0 2A
/E0 CB
E0 B6 E0 47
E0
AA
E0
47
E0
47
80
/E0 C7 E0 36
/E0 C7 E0 2A
/E0 C7
E0 B6 E0 4F
E0 AA E0 4F
E0 4F
81
/E0 CF E0 36
/E0 CF E0 2A
/E0 CF
E0 B6 E0 48
E0 AA E0 48
E0 48
83
/E0 C8 E0 36
/E0 C8 E0 2A
/E0 C8
E0 B6 E0 50
E0 AA E0 50
E0 50
84
/E0 D0 E0 36
/E0 D0 E0 2A
/E0 D0
E0 B6 E0 49
E0
AA
E0
49
E0
49
85
/E0 C9 E0 36
/E0 C9 E0 2A
/E0 C9
E0 B6 E0 51
E0 AA E0 51
E0 51
86
/E0 D1 E0 36
/E0 D1 E0 2A
/E0 D1
E0 B6 E0 4D
E0 AA E0 4D
E0 4D
89
/E0 CD E0 36
/E0 CD E0 2A
/E0 CD
E0 5B
E0 AA E0 5B
E0 B6 E0 5B
L Win
/E0 DB
/E0 DB E0 2A
/E0 DB E0 36
E0 5C
E0 AA E0 5C
E0 B6 E0 5C
R Win
/E0 DC
/E0 DC E0 2A
/E0 DC E0 36
E0 5D
E0 AA E0 5D
E0 B6 E0 5D
APP
/E0 DD
/E0 DD E0 2A
/E0 DD E0 36
When both shift keys are held down: Both Shift
key number 75
E0 AA E0 B6 E0 52/E0 D2 E0 2A E0 36
Key Number
Key Number
95
Base
E0 35
/E0 B5
when both shift keys are held down:
key number 95
Key Number
124
+Left-Shift
E0 AA E0 35
/E0 B5 E0 2A
Both Shift
E0 AA E0 B6 E0 35
/E0 B5 E0 2A E0 36
Base
E0 2A E0 37
/E0 B7 E0 AA
+Left-Shift
E0 37
/E0 B7
Num Lock
E0 2A E0 52
/E0 D2 E0 AA
E0 2A E0 53
/E0 D3 E0 AA
E0 2A E0 4B
/E0 CB E0 AA
E0 2A E0 47
/E0 C7 E0 AA
E0 2A E0 4F
E0 CF E0 AA
E0 2A E0 48
E0 C8 E0 AA
E0 2A E0 50
/E0 D0 E0 AA
E0 2A E0 49
/E0 C9 E0 AA
E0 2A E0 51
E0 D1 E0 AA
E0 2A E0 4D
E0 CD E0 AA
E0 2A E0 5B
/E0 DB E0 AA
E0 2A E0 5C
/E0 DC E0 AA
E0 2A E0 5D
/E0 DD E0 AA
+Right-Shift
E0 B6 E0 35
/E0 B5 E0 36
+Right-Shift
54/D4
Key Number
Base
+Ctrl
126
E1 1D 45 E1 9D C5
E0 46 E0 C6
This key is not typematic, all associated scan codes occur on the make code.
ACPI Key
Make
Break
Windows Virtual Key
Power
E0 5E
E0 DE
N/A
Sleep
E0 5F
E0 DF
N/A
Wake
E0 63
E0 E3
N/A
11
February 16, 2000
HT82K28A
Key code set 2
Key Number
Make/Break Code
Key Number
Make/Break Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
0E / F0 0E
16 / F0 16
1E / F0 1E
26 / F0 26
25 / F0 25
2E / F0 2E
36 / F0 36
3D / F0 3D
3E / F0 3E
46 / F0 46
45 / F0 45
4E / F0 4E
55 / F0 55
6A / F0 6A
66 / F0 66
0D / F0 0D
15 / F0 15
1D / F0 1D
24 / F0 24
2D / F0 2D
2C / F0 2C
35 / F0 35
3C / F0 3C
43 / F0 43
44 / F0 44
4D / F0 4D
54 / F0 54
5B / F0 5B
5D / F0 5D
58 / F0 58
1C / F0 1C
1B / F0 1B
23 / F0 23
2B / F0 2B
34 / F0 34
33 / F0 33
3B / F0 3B
42 / F0 42
4B / F0 4B
4C / F0 4C
52 / F0 52
5D / F0 5D
5A / F0 5A
12 / F0 12
61 / F0 61
1A / F0 1A
22 / F0 22
21 / F0 21
2A / F0 2A
50
51
52
53
54
55
56
57
58
60
61
62
64
90
91
92
93
96
97
98
99
100
101
102
103
104
105
106
107
108
110
112
113
114
115
116
117
118
119
120
121
122
123
125
131
132
133
32 / F0 32
31 / F0 31
3A / F0 3A
41 / F0 41
49 / F0 49
4A / F0 4A
51 / F0 51
59 / F0 59
14 / F0 14
11 / F0 11
29 / F0 29
E0 11 / E0 F0 11
E0 14 / E0 F0 14
77 / F0 77
6C / F0 6C
6B / F0 6B
69 / F0 69
75 / F0 75
73 / F0 73
72 / F0 72
70 / F0 70
7C / F0 7C
7D / F0 7D
74 / F0 74
7A / F0 7A
71 / F0 71
7B / F0 7B
79 / F0 79
6D / F0 6D
E0 5A / E0 F0 5A
76 / F0 76
05 / F0 05
06 / F0 06
04 / F0 04
0C / F0 0C
03 / F0 03
0B / F0 0B
83 / F0 83
0A / F0 0A
01 / F0 01
09 / F0 09
78 / F0 78
07 / F0 07
7E / F0 7E
67 / F0 67
64 / F0 64
13 / F0 13
12
February 16, 2000
HT82K28A
Key code set 2
Key Number
75
76
79
80
81
83
84
85
86
89
L Win
R Win
APP
Base Case
Shift+Num
E0 70
/E0 F0 72
E0 71
/E0 F0 71
E0 6B
/E0 F0 6B
E0 6C
/E0 F0 6C
E0 69
/E0 F0 69
E0 75
/E0 F0 75
E0 72
/E0 F0 72
E0 7D
/E0 F0 7D
E0 7A
/E0 F0 7A
E0 74
/E0 F0 74
E0 1F
/E0 F0 1F
E0 27
/E0 F0 27
E0 2F
/E0 F0 2F
Left-Shift
Right-Shift
E0 12 E0 70
E0 F0 59 E0 70
/E0 F0 70 E0 F0 12
/E0 F0 70 E0 59
E0 12 E0 71
E0 F0 59 E0 71
/E0 F0 71 E0 F0 12
/E0 F0 71 E0 59
E0 12 E0 6B
E0 F0 59 E0 6B
/E0 F0 6B E0 F0 12
/E0 F0 6B E0 59
E0 12 E0 6C
E0 F0 59 E0 6C
/E0 F0 6C E0 F0 12
/E0 F0 6C E0 59
E0 12 E0 69
E0 F0 59 E0 69
/E0 F0 69 E0 F0 12
/E0 F0 69 E0 59
E0 12 E0 75
E0 F0 59 E0 75
/E0 F0 75 E0 F0 12
/E0 F0 75 E0 59
E0 12 E0 72
E0 F0 59 E0 72
/E0 F0 72 E0 F0 12
/E0 F0 72 E0 59
E0 12 E0 7D
E0 F0 59 E0 7D
/E0 F0 7D E0 F0 12
/E0 F0 7D E0 59
E0 12 E0 7A
E0 F0 59 E0 7A
/E0 F0 7A E0 F0 12
/E0 F0 7A E0 59
E0 12 E0 74
E0 F0 59 E0 74
/E0 F0 74 E0 F0 12
/E0 F0 74 E0 59
E0 F0 59 E0 1F
E0 12 E0 1F
/E0 F0 1F E0 59
/E0 F0 1F E0 F0 12
E0 F0 59 E0 27
E0 59 E0 27
/E0 F0 27 E0 59
/E0 F0 27 E0 F0 12
E0 F0 59 E0 2F
E0 59 E0 2F
/E0 F0 2F E0 59
/E0 F0 2F E0 F0 59
Both Shift
E0 F0 12 E0 F0 59 E0 70
/E0 F0 70 E0 12 E0 59
E0 F0 12 E0 70
/E0 F0 70 E0 12
E0 F0 12 E0 70
/E0 F0 71 E0 12
E0 F0 12 E0 70
/E0 F0 6B E0 12
E0 F0 12 E0 70
/E0 F0 6C E0 12
E0 F0 12 E0 70
/E0 F0 69 E0 12
E0 F0 12 E0 70
/E0 F0 75 E0 12
E0 F0 12 E0 70
/E0 F0 72 E0 12
E0 F0 12 E0 70
/E0 F0 7D E0 12
E0 F0 12 E0 70
/E0 F0 7A E0 12
E0 F0 12 E0 70
/E0 F0 74 E0 12
E0 F0 12 1F
/E0 F0 1F E0 12
E0 F0 12 27
/E0 F0 27 E0 12
E0 F0 12 2F
/E0 F0 2F E0 12
When both shift keys are held down:
key number 75
Key Number
95
Base
E0 4A
/E0 F0 4A
When both shift keys are held down:
key number 95
Key Number
124
+Left-Shift
E0 F0 12 E0 4A
/E0 F0 4A E0 12
Both Shift
E0 F0 12 E0 F0 59 E0 4A
/E0 F0 4A E0 12 E0 59
Base
E0 12 E0 7C
/E0 F0 7C E0 12
Num Lock
+Shift / +Ctrl
E0 7C
/E0 F0 7C
+Right-Shift
E0 F0 59 E0 4A
/E0 F0 4A E0 59
+Alt
84 / F0 84
Key Number
Base
+Ctrl
126
E1 14 77 E1 F0 14 F0 77
E0 7E E0 F0 7E
Note: this key is not typematic, all associated scan codes occur on the make of the key.
ACPI key
Make
Break
Windows Virtual Key
Power
E0 37
E0 F0 37
N/A
Sleep
E0 3F
E0 F0 3F
N/A
Wake
E0 5E
E0 F0 5E
N/A
13
February 16, 2000
HT82K28A
Key code set 3
Key #
Make/
Break Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
0E / F0 0E
16 / F0 16
1E / F0 1E
26 / F0 26
25 / F0 25
2E / F0 2E
36 / F0 36
3D / F0 3D
3E / F0 3E
46 / F0 46
45 / F0 45
4E / F0 4E
55 / F0 55
5D / F0 5D
66 / F0 66
0D / F0 0D
15 / F0 15
1D / F0 1D
24 / F0 24
2D / F0 2D
2C / F0 2C
35 / F0 35
3C / F0 3C
43 / F0 43
44 / F0 44
4D / F0 4D
54 / F0 54
5B / F0 5B
5C / F0 5C
14 / F0 14
Note
*
Default Key
State
Key #
Make/
Break Code
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Make/Break
57
58
60
61
62
64
75
76
79
80
81
83
84
85
86
89
90
91
92
93
95
96
97
98
99
100
101
102
103
104
59 / F0 59
11 / F0 11
19 / F0 19
29 / F0 29
39 / F0 39
58 / E0 58
67 / F0 67
64 / F0 64
61 / F0 61
6E / F0 6E
65 / F0 65
63 / F0 63
60 / F0 60
6F / F0 60
6D / F0 6D
6A / F0 6A
76 / F0 76
6C / F0 6C
6B / F0 6B
69 / F0 69
77 / F0 77
75 / F0 75
73 / F0 73
72 / F0 72
70 / F0 70
7E / F0 7E
7D / F0 7D
74 / F0 74
7A / F0 7A
71 / F0 71
14
Note
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
Default Key
State
Make/Break
Make/Break
Make/Break
Typematic
Make Only
Make Only
Make Only
Typematic
Typematic
Make Only
Make Only
Typematic
Typematic
Make Only
Make Only
Typematic
Make Only
Make Only
Make Only
Make Only
Make Only
Make Only
Make Only
Make Only
Make Only
Make Only
Make Only
Make Only
Make Only
Make Only
February 16, 2000
HT82K28A
Key #
Make/
Break Code
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
1C / F0 1C
1B / F0 1B
23 / F0 23
2B / F0 2B
34 / F0 34
33 / F0 33
3B / F0 3B
42 / F0 42
4B / F0 4B
4C / F0 4C
52 / F0 52
5D / F0 5D
5A / F0 5A
12 / F0 12
13 / F0 13
1A / F0 1A
22 / F0 22
21 / F0 21
2A / F0 2A
32 / F0 32
31 / F0 31
3A / F0 3A
41 / F0 41
49 / F0 49
4A / F0 4A
51/ F0 51
Note
*
*
Default Key
State
Key #
Make/
Break Code
Note
Default Key
State
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Make/Break
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
Typematic
105
106
107
108
110
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
131
132
133
L Win
R Win
APP
84 / F0 84
7C / F0 7C
7B/ F0 7B
79 / F0 79
08 / F0 08
07 / F0 07
0F / F0 0F
17 / F0 17
1F / F0 1F
27 / F0 27
2F / F0 2F
37 / F0 /37
3F / F0 3F
47 / F0 47
4F / F0 4F
56 / F0 56
5E / F0 5E
57 / F0 57
5F / F0 5F
62 / F0 62
85 / F0 85
86 / F0 86
87 / F0 87
8B / F0 8B
8C / F0 8C
8D / F0 8D
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
Make Only
Typematic
Make Only
Make Only
Make Only
Make Only
Make Only
Make Only
Make Only
Make Only
Make Only
Make Only
Make Only
Make Only
Make Only
Make Only
Make Only
Make Only
Make Only
Make Only
Make Only
Make Only
Make Only
Make/Break
Make/Break
Make/Break
* Different from code set 2
15
February 16, 2000
HT82K28A
Timing Diagrams
Data output
(1 )
(3 )
(3 )
1 s t
C L K
C L K
T 3
(2 )
(3 )
(3 )
1 0 th
C L K
(4 )
1 1 th
C L K
(5 )
T 5
T 4
T 1
D A T A
2 n d
C L K
(7 )
T 2
S ta r t B it
B it 0
P a r ity B it
S to p B it
(6 )
T im in g P a r a m e te r
M in /M a x
T 1
D A T A tr a n s itio n to th e fa llin g e d g e o f C L K
5 /2 5 m s e c
T 2
R is in g e d g e o f C L K to D A T A tr a n s itio n
T 3
D u r a tio n o f C L K in a c tiv e
5 /T 4 -5 m s e c
3 0 /5 0 m s e c
T 4
D u r a tio n o f C L K a c tiv e
T 5
T im e to a u x ilia r y d e v ic e in h ib it a fte r c lo c k 1 1 to e n s u r e
th e a u x ilia r y d e v ic e d o e s n o t s ta r t a n o th e r tr a n s m is s io n
3 0 /5 0 m s e c
> 0 /5 0 m s e c
Keyboard data input
(1 )
(2 )
I/O
In h ib it
C L K
(4 )
2 n d
C L K
1 s t
C L K
T 7
9 th
C L K
1 0 th
C L K
(8 )
T 8
(6 )
T 9
D A T A
1 1 th
C L K
S ta r t B it
(3 )
B it 0
P a r ity B it
(5 )
(5 )
S to p B it
(7 )
T im in g P a r a m e te r
M in /M a x
T 7
D u r a tio n o f C L K in a c tiv e
3 0 /5 0 m s e c
T 8
D u r a tio n o f C L K a c tiv e
3 0 /5 0 m s e c
T 9
T im e fr o m in a c tiv e to a c tiv e C L K tr a n s itio n , u s e d to tim e
w h e n th e a u x ilia r y d e v ic e s a m p le s D A T A
5 /2 5 m s e c
16
February 16, 2000
HT82K28A
Application Circuits
V D D
3
4
F .B .
0 .1 m F
R
1 0 m F
1
3 8
5
3 2
C L O C K
V
3 1
D D
C A P
L E D
17
N U M
S C R L
D A T A
C L O C K
IO 0
C A P
S C R L
2 5
3 4
L E D
C 5
N U M
3 0
L E D
V S S
C 6
C 4
C 3
C 2
C 1
C 0
V S S
3 7
D A T A
C 7
O S C 1
2
G N D
V D D
3 6
6
N C
N C
N C
IO 1
R 1 7
R 1 6
R 1 5
R 1 4
R 1 3
R 1 2
R 1 1
R 1 0
R 9
R 8
R 7
R 6
R 5
R 4
R 3
R 2
R 1
R 0
1 2
1 1
1 0
9
8
7
4 0
3 9
3 5
3 3
2 7
2 6
2 4
1 5
1 4
1 3
2 9
2 8
2 3
2 2
2 1
2 0
1 9
1 8
1 7
1 6
H T 8 2 K 2 8 A
February 16, 2000
HT82K28A
Standard Holtek Win98 keyboard
C7
R0
F5
R1
!
1
R2
@
2
R3
C6
C5
C4
C3
L-CTRL WAKE-UP R-CTRL
~
C2
SLEEP
C1
C0
POWER
PAUSE
K131
Z
ESC
A
TAB
Q
F1
K132
X
K45
S
CAP
LOCK
W
#
3
F2
K133
C
F4
D
F3
E
R4
$
4
%
5
B
V
G
F
T
R
R5
&
7
^
6
N
M
H
J
Y
U
R6
*
8
+
=
K56
<
,
F6
K
}
]
I
R7
(
9
F8
APP
>
.
L
F7
O
R8
)
0
_
-
?
/
K42
:
;
{
[
P
R9
PRINT
R10
F10
F9
F12
ENTER
F11
|
\
BS
K14
R11
POWER
DEL
DOWN
Arrow
NUM
LOCK
SPACE
NUM 1
NUM 4
NUM 7
R12
SLEEP
INSERT
RIGHT
Arrow
NUM /
NUM 0
NUM 2
NUM 5
NUM 8
R13
PG DN
PG UP
NUM -
NUM *
NUM .
NUM 3
NUM 6
NUM 9
R14
END
HOME
LEFT
Arrow
UP
Arrow
NUM
ENTER
K107
NUM +
R-SHF
L-SHF
WAKE UP
L-WIN
K130
R-ALT
R15
R16
R17
"
'
SCR
LOCK
L-ALT
K94
K129
K109
R-WIN
18
February 16, 2000
HT82K28A
The above key code is according to the Microsoft specification except for the following keys.
Key No
Code Set 1 Make/Break
Code Set 2 Make/Break
Code Set 3 Make/Break
14
7D
FD
6A
F0 6A
5D
F0 5D
94
7C
FC
68
F0 68
68
F0 68
109
78
F8
63
F0 63
78
F0 78
129
F1
F1
F1
130
F0
F2
F2
19
February 16, 2000
HT82K28A
Holtek Semiconductor Inc. (Headquarters)
No.3 Creation Rd. II, Science-based Industrial Park, Hsinchu, Taiwan, R.O.C.
Tel: 886-3-563-1999
Fax: 886-3-563-1189
Holtek Semiconductor Inc. (Taipei Office)
5F, No.576, Sec.7 Chung Hsiao E. Rd., Taipei, Taiwan, R.O.C.
Tel: 886-2-2782-9635
Fax: 886-2-2782-9636
Fax: 886-2-2782-7128 (International sales hotline)
Holtek Semiconductor (Hong Kong) Ltd.
RM.711, Tower 2, Cheung Sha Wan Plaza, 833 Cheung Sha Wan Rd., Kowloon, Hong Kong
Tel: 852-2-745-8288
Fax: 852-2-742-8657
Copyright Ó 2000 by HOLTEK SEMICONDUCTOR INC.
The information appearing in this Data Sheet is believed to be accurate at the time of publication. However, Holtek
assumes no responsibility arising from the use of the specifications described. The applications mentioned herein are
used solely for the purpose of illustration and Holtek makes no warranty or representation that such applications
will be suitable without further modification, nor recommends the use of its products for application that may present a risk to human life due to malfunction or otherwise. Holtek reserves the right to alter its products without prior
notification. For the most up-to-date information, please visit our web site at http://www.holtek.com.tw.
20
February 16, 2000