Data Sheet

HT82K28A
Win98 Keyboard Encoder
Features
· Designed for Windows 95/98/NT
· Supports code set 2, for PC/AT, PS/2 model 50,60
keyboards
· Supports 3 Windows 95 Keys
· Supports code set 3, for PS/2 model 80 keyboard
· Supports Power, Sleep and Wake-up Windows 98
· RC oscillator
ACPI functions
· Supports Japanese, Korean and Portuguese
· Phantom key detection
· Supports Japanese DOS/V 106-key keyboard
· Minimal external components
· Supports code set 1, for PS/2 model 30 keyboard
· 40-pin DIP package
General Description
The HT82K28A is a keyboard encoder especially designed for IBM PC/AT, IBM PS/2 and all compatible machines.
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 in which data is
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 -A
Rev. 1.30
1
June 27, 2002
HT82K28A
Pin Description
Pin No.
Pin Name
I/O
I
Description
1
OSC1
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.
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
VIL
VIH
VOL
Rph
fSYS
Rev. 1.30
Output Low Voltage (R0~R18)
IOL=10mA
¾
¾
0.5
V
Output Low Voltage (DATA, CLOCK)
IOL=15mA
¾
¾
0.5
V
Internal Pull-high Resistance (C0~C7)
¾
5
10
20
kW
Internal Pull-high Resistance (CLOCK, DATA)
¾
2
5
15
kW
¾
4
¾
MHz
System Clock
R=120kW
2
June 27, 2002
HT82K28A
Functional Description
Basic assurance test - BAT
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.
The following functions are offered by the Basic Assurance Test:
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.
· Turns on LED status indicators.
The keyboard begins to scan for pressed or released keys
and commands from the system after the BAT (Basic Assurance Test) has been run.
· Reports the BAT result to the system.
· Keyboard processor test.
· RAM test.
· Turns off LED status indicators, i.e. the LEDs.
Note:
Working modes
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.
Mode 1
· Supports code set 1 for PS/2 model 30 keyboards.
· Enters mode1 after an F0 Command is issued fol-
lowed 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.
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.
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.
Mode 2
· Supports code set 2 for PC/AT, PS/2 model 50, 60
keyboards.
P O R
· Enters mode 2 after power on.
R e s e t
1 5 0 m s ~ 2 s
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.
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
The following table describes the relationship between
different computer types, the working mode and the
code sets.
Mode 3
· Supports code set 3, for PS/2 model 80 keyboards.
· Enters mode 3 when an F0 command is issued fol-
lowed by a ²3².
PS/2 30
· 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).
Buffers
The buffers support the following functions:
· 16-byte FIFO buffer: stores 16 keystrokes scan codes.
mode 1
code set 1
PC-AT
mode 2
code set 2
PS/2 50
mode 2
code set 2
PS/2 60
mode 2
code set 2
PS/2 80
mode 3
code set 3
The mode can be changed between mode 2 & 3.
· Additional keystrokes will be ignored.
· Response codes, i.e FA/FE... do not occupy buffer po-
sitions.
Rev. 1.30
3
June 27, 2002
HT82K28A
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.
Keys
· 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.
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:
Four key types are supported as shown:
m o d e 1
m o d e 2
m o d e 3
Key type
press
hold
release
Typematic
Make/break
Make
Typematic/
make/break
make1
make1
make1
make1
make2
X
X
make2
X
break
X
break
Note:
²make1² send out only one make code.
²Make2² continue sending out make codes
until key is released.
²X² nothing sent out.
¨
Typematic
¨
Make/break
¨
Make
¨
Typematic/make/break
¨
Typematic
All keys except PAUSE are typematic. Typematic
means that the KB keeps sending make codes if the
key is held down.
¨
Make/break
¨
Make
¨
Typematic/make/break
Can be configured by command
· For code set 3
The data report is according to the typematic
rate/delay:
Default values are: delay 500ms ± 20%
10.9 char/sec ± 20%
Time interval between phantoms
The time interval between two continuous error codes
00/FF sent while phantom detected= 1000ms ± 20%
The typematic rate and delay can be modified with
the F3 command.
¨
The keyboard should respond within 20ms, except
when performing the BAT or executing a reset command.
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.
System command table
Command
mode 1
mode 2
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
FF - reSset
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
Rev. 1.30
4
June 27, 2002
HT82K28A
Command description
· Set all keys - F7, F8, F9, FA
· Default disable - F5
¨
FA: Set all keys to typematic/make/break
¨
Send an acknowledge FA to the system
¨
F9: Set all keys to make
¨
Clear its output buffer, FIFO
¨
F8: Set all keys to make/break
¨
Set the default key types
¨
F7: Set all keys to typematic
¨
Set typematic rate/delay as default value
¨
Send an ACK to the system
¨
Clear the last typematic key
¨
Clear output buffer
¨
Stop scanning and wait for further instruction
¨
Set all keys to the type indicated by the command
· Echo - EE
· Set default - F6
¨
Send an EE to the system
¨
Send an ACK to the system
¨
Continue scanning if the keyboard is enabled
¨
Clear the output buffer
Note:
¨
Set to default key states: Default key type typematic
rate/delay
This command does not need to feed
back the ACK
· Set key type - FB,FC,FD
· Enable - F4
¨
Send an ACK to the system
¨
Clear output buffer
¨
Clear the last typematic key
¨
Start scanning
· Invalid command
¨
¨
No ACK
¨
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
¨
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 ACK to the system
¨
Discontinue scanning
¨
Wait for the option from the system
Send the last code to the system
¨
Respond with ACK to the system
Note:
¨
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
* No FA response
¨
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 keyboard responds with ACK, clears its output
buffer and prepares to receive key identification
¨
Resume scanning
· Reset - FF
¨
FD : Set key type - Make
¨
· Set LED - ED
· Resend - FE
¨
FC : Set key type - Make/Break
¨
No further activities
· Read ID - F2
¨
FB : Set key type - Typematic
¨
Send an FE to the system
Note:
¨
¨
· Set typematic rate/delay - F3
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)
· Select alternate scan code - F0
¨
Send an ACK to the system
¨
Clears both output buffer and the typematic key
¨
Accept option byte
Rev. 1.30
5
¨
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
June 27, 2002
HT82K28A
¨
Bit 7=0 (always)
Data communications
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
· Data output
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
delay: 500ms± 20%
¨
typematic rate=10.9 characters/sec± 20%
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.
· Data input
· Default
¨
¨
¨
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:
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)
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.
Data stream
· FA: Acknowledge
Mode 1,2,3
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.
B1:
B2:
b3:
b4:
b5:
B6
b7:
b8:
b9:
b10:
· 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
b11:
Note:
· FE: Resend
The KB issues an FE when there is a parity error in
transmission.
Rev. 1.30
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.
6
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
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.
June 27, 2002
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
Rev. 1.30
7
June 27, 2002
HT82K28A
Key code set 1
Key Number
75
76
79
80
81
83
84
85
86
89
L Win
R Win
APP
Base Case
Shift+Num
Left-Shift
Right-Shift
Num Lock
E0 52
/E0 D2
E0 53
/E0 D3
E0 4B
/E0 CB
E0 47
/E0 C7
E0 4F
/E0 CF
E0 48
/E0 C8
E0 50
/E0 D0
E0 49
/E0 C9
E0 51
/E0 D1
E0 4D
/E0 CD
E0 5B
/E0 DB
E0 5C
/E0 DC
E0 5D
/E0 DD
E0 AA E0 52
/E0 D2 E0 2A
E0 AA E0 53
/E0 D3 E0 2A
E0 AA E0 4B
/E0 CB E0 2A
E0 AA E0 47
/E0 C7 E0 2A
E0 AA E0 4F
/E0 CF E0 2A
E0 AA E0 48
/E0 C8 E0 2A
E0 AA E0 50
/E0 D0 E0 2A
E0 AA E0 49
/E0 C9 E0 2A
E0 AA E0 51
/E0 D1 E0 2A
E0 AA E0 4D
/E0 CD E0 2A
E0 AA E0 5B
/E0 DB E0 2A
E0 AA E0 5C
/E0 DC E0 2A
E0 AA E0 5D
/E0 DD E0 2A
E0 B6 E0 52
/E0 D2 E0 36
E0 B6 E0 53
/E0 D3 E0 36
E0 B6 E0 4B
/E0 CB E0 36
E0 B6 E0 47
/E0 C7 E0 36
E0 B6 E0 4F
/E0 CF E0 36
E0 B6 E0 48
/E0 C8 E0 36
E0 B6 E0 50
/E0 D0 E0 36
E0 B6 E0 49
/E0 C9 E0 36
E0 B6 E0 51
/E0 D1 E0 36
E0 B6 E0 4D
/E0 CD E0 36
E0 B6 E0 5B
/E0 DB E0 36
E0 B6 E0 5C
/E0 DC E0 36
E0 B6 E0 5D
/E0 DD E0 36
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
When both shift keys are held down:
key number 75
Both Shift
E0 AA E0 B6 E0 52/E0 D2 E0 2A E0 36
Key Number
Base
+Left-Shift
+Right-Shift
95
E0 35
/E0 B5
E0 AA E0 35
/E0 B5 E0 2A
E0 B6 E0 35
/E0 B5 E0 36
Both Shift
E0 AA E0 B6 E0 35
/E0 B5 E0 2A E0 36
when both shift keys are held down:
key number 95
Key Number
Base
+Left-Shift
+Right-Shift
124
E0 2A E0 37
/E0 B7 E0 AA
E0 37
/E0 B7
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.
Rev. 1.30
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
8
June 27, 2002
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
Rev. 1.30
9
June 27, 2002
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
Left-Shift
Right-Shift
Num Lock
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
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
E0 F0 59 E0 70
/E0 F0 70 E0 59
E0 F0 59 E0 71
/E0 F0 71 E0 59
E0 F0 59 E0 6B
/E0 F0 6B E0 59
E0 F0 59 E0 6C
/E0 F0 6C E0 59
E0 F0 59 E0 69
/E0 F0 69 E0 59
E0 F0 59 E0 75
/E0 F0 75 E0 59
E0 F0 59 E0 72
/E0 F0 72 E0 59
E0 F0 59 E0 7D
/E0 F0 7D E0 59
E0 F0 59 E0 7A
/E0 F0 7A E0 59
E0 F0 59 E0 74
/E0 F0 74 E0 59
E0 F0 59 E0 1F
/E0 F0 1F E0 59
E0 F0 59 E0 27
/E0 F0 27 E0 59
E0 F0 59 E0 2F
/E0 F0 2F E0 59
E0 12 E0 70
/E0 F0 70 E0 F0 12
E0 12 E0 71
/E0 F0 71 E0 F0 12
E0 12 E0 6B
/E0 F0 6B E0 F0 12
E0 12 E0 6C
/E0 F0 6C E0 F0 12
E0 12 E0 69
/E0 F0 69 E0 F0 12
E0 12 E0 75
/E0 F0 75 E0 F0 12
E0 12 E0 72
/E0 F0 72 E0 F0 12
E0 12 E0 7D
/E0 F0 7D E0 F0 12
E0 12 E0 7A
/E0 F0 7A E0 F0 12
E0 12 E0 74
/E0 F0 74 E0 F0 12
E0 12 E0 1F
/E0 F0 1F E0 F0 12
E0 59 E0 27
/E0 F0 27 E0 F0 12
E0 59 E0 2F
/E0 F0 2F E0 F0 59
Both Shift
E0 F0 12 E0 F0 59 E0 70
/E0 F0 70 E0 12 E0 59
When both shift keys are held down:
key number 75
Key Number
Base
+Left-Shift
+Right-Shift
95
E0 4A
/E0 F0 4A
E0 F0 12 E0 4A
/E0 F0 4A E0 12
E0 F0 59 E0 4A
/E0 F0 4A E0 59
Both Shift
E0 F0 12 E0 F0 59 E0 4A
/E0 F0 4A E0 12 E0 59
When both shift keys are held down:
key number 95
Key Number
Base
+Shift / +Ctrl
+Alt
124
E0 12 E0 7C
/E0 F0 7C E0 12
E0 7C
/E0 F0 7C
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.
Rev. 1.30
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
10
June 27, 2002
HT82K28A
Key code set 3
Key #
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
50
51
52
53
54
55
56
Make/Break Code Note Default Key State
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
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
*
*
*
Key # Make/Break Code Note
Default Key State
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
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/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
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
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
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
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
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
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
* Different from code set 2
Rev. 1.30
11
June 27, 2002
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
S ta r t B it
(3 )
Rev. 1.30
1 1 th
C L K
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
12
June 27, 2002
HT82K28A
Application Circuits
V D D
3
4
F .B .
0 .1 m F
1 2 0 k W
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
Rev. 1.30
13
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
June 27, 2002
HT82K28A
Standard Holtek Win98 keyboard
C7
C6
C5
C4
C3
C1
C0
R0
F5
L-CTRL
WAKE-UP
R-CTRL
SLEEP
POWER
PAUSE
R1
!
1
~
K131
Z
ESC
A
TAB
Q
R2
@
2
F1
K132
X
K45
S
CAP
LOCK
W
R3
#
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
R16
²
¢
R-ALT
R15
C2
SCR
LOCK
L-ALT
K94
K129
R17
K109
R-WIN
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
Rev. 1.30
14
June 27, 2002
HT82K28A
Package Information
40-pin DIP (600mil) outline dimensions
A
4 0
2 1
1
2 0
B
H
C
D
E
Symbol
A
Rev. 1.30
F
a
G
I
Dimensions in mil
Nom.
Min.
2045
¾
Max.
2065
B
535
¾
555
C
145
¾
155
D
125
¾
145
E
16
¾
20
F
50
¾
70
G
¾
100
¾
H
595
¾
615
I
635
¾
670
a
0°
¾
15°
15
June 27, 2002
HT82K28A
Holtek Semiconductor Inc. (Headquarters)
No.3, Creation Rd. II, Science Park, Hsinchu, Taiwan
Tel: 886-3-563-1999
Fax: 886-3-563-1189
http://www.holtek.com.tw
Holtek Semiconductor Inc. (Taipei Sales Office)
4F-2, No. 3-2, YuanQu St., Nankang Software Park, Taipei 115, Taiwan
Tel: 886-2-2655-7070
Fax: 886-2-2655-7373
Fax: 886-2-2655-7383 (International sales hotline)
Holtek Semiconductor (China) Inc. (Dongguan Sales Office)
Building No. 10, Xinzhu Court, (No. 1 Headquarters), 4 Cuizhu Road, Songshan Lake, Dongguan, China 523808
Tel: 86-769-2626-1300
Fax: 86-769-2626-1311
Holtek Semiconductor (USA), Inc. (North America Sales Office)
46729 Fremont Blvd., Fremont, CA 94538, USA
Tel: 1-510-252-9880
Fax: 1-510-252-9885
http://www.holtek.com
Copyright Ó 2002 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¢s products are not authorized for use as critical components in life support devices
or systems. 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.
Rev. 1.30
16
June 27, 2002