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