;
; KEYBOARD.INF  -- This file contains descriptions of Keyboard class devices
;
;
; Copyright (c) Microsoft Corporation.  All rights reserved.

[Version]
Signature   ="$Windows NT$"
Class       =Keyboard
ClassGUID   ={4D36E96B-E325-11CE-BFC1-08002BE10318}
Provider    =%MSFT%
DriverVer=06/21/2006,10.0.10240.16384

[SourceDisksNames]
3426=windows cd

[SourceDisksFiles]
i8042prt.sys    = 3426
kbdclass.sys    = 3426
kbdhid.sys      = 3426

[DestinationDirs]
DefaultDestDir              = 12 ; DIRID_DRIVERS
101B_TYPE_LayerDriverFiles  = 11 ; DIRID_SYSTEM
101C_TYPE_LayerDriverFiles  = 11 ; DIRID_SYSTEM
103_TYPE_LayerDriverFiles   = 11 ; DIRID_SYSTEM
106_TYPE_LayerDriverFiles   = 11 ; DIRID_SYSTEM

;
; Mark any install sections for drivers that also control the PS/2 mouse port,
; so that we can warn the user that they may also be affecting their mouse with
; a keyboard driver change.
;
[ControlFlags]
SharedDriver    = STANDARD_Inst,%SharedDriverMsg%
SharedDriver    = 101B_TYPE_Inst,%SharedDriverMsg%
SharedDriver    = 101C_TYPE_Inst,%SharedDriverMsg%
SharedDriver    = 103_TYPE_Inst,%SharedDriverMsg%
SharedDriver    = 106_TYPE_Inst,%SharedDriverMsg%

;*****************************************
; Install Section
;*****************************************

[Manufacturer]
%Std-Keyboards%=MS_KBD,NTx86
%MSFT%=MICROSOFT_KBD,NTx86
%ALPS%=ALPS_KBD,NTx86
%CHERRY%=CHERRY_KBD,NTx86
%MITSUMI%=MITSUMI_KBD,NTx86
%FUJITSU%=FUJITSU_KBD,NTx86
%TOSHIBA%=TOSHIBA_KBD,NTx86
%KEYTRONIC%=KEYTRONIC_KBD,NTx86
%PHILIPS%=PHILIPS_KBD,NTx86
%SILITEK%=SILITEK_KBD,NTx86
%NMB%=NMB_KBD,NTx86
%STSL%=STSL_KBD,NTx86
%ACER%=ACER_KBD,NTx86
%CHICONY%=CHICONY_KBD,NTx86
%BTC%=BTC_KBD,NTx86
%FOCUS%=FOCUS_KBD,NTx86
%JINGMOLD%=JINGMOLD_KBD,NTx86
%MAXISWITCH%=MAXISWITCH_KBD,NTx86
%MONTEREY%=MONTEREY_KBD,NTx86
%ORTEK%=ORTEK_KBD,NTx86
%SAMSUNG%=SAMSUNG_KBD,NTx86
%FORWARD%=FORWARD_KBD,NTx86
%SUH%=SUH_KBD,NTx86
%SEJIN%=SEJIN_KBD,NTx86
%SUPERGATE%=SUPERGATE_KBD,NTx86
%SOLIDYEAR%=SOLIDYEAR_KBD,NTx86
%QTRONIX%=QTRONIX_KBD,NTx86
%ATT%=ATT_KBD,NTx86
%COMPAQ%=COMPAQ_KBD,NTx86
%OLIVETTI%=OLIVETTI_KBD,NTx86
%NEC%=NEC_KBD,NTx86

[MS_KBD.NTx86]
%*PNP030b.DeviceDesc%                  = STANDARD_Inst,*PNP030b,PS2_KEYBOARD   ;Default keyboard
%*PNP0300.DeviceDesc%                  = STANDARD_Inst,*PNP0300                ;PC/XT (83-Key)
%*PNP0301.DeviceDesc%                  = STANDARD_Inst,*PNP0301                ;PC/AT (84-Key)
%*PNP0302.DeviceDesc%                  = STANDARD_Inst,*PNP0302                ;PC/XT (84-Key)
%*PNP0303.DeviceDesc%                  = STANDARD_Inst,*PNP0303                ;PC/AT Enh(101/102-Key)
%*PNP0320.DeviceDesc%                  = 106_TYPE_Inst,*PNP0320                ;PC/AT Enh(106 Japanese key)
%*PNP0320.DeviceDesc2%                 = 106N_TYPE_Inst,*PNP0320               ;PC/AT Enh(106 Japanese key CTRL + EISUU)
%*PNP0343.DeviceDesc%                  = 101B_TYPE_Inst,*PNP0343               ;Enh 101b
%*PNP0344.DeviceDesc%                  = 101C_TYPE_Inst,*PNP0344               ;Enh 101S
%*PNP0345.DeviceDesc%                  = 103_TYPE_Inst,*PNP0345                ;Enh 103
%RESTORE_STANDARD_101.DeviceDesc%      = RESTORE_STANDARD_101_Inst,,           ;Restore to std keyboard (pnp id purposely omitted to prevent match)

%HID.KeyboardDevice%                        = HID_Keyboard_Inst,,HID_DEVICE_SYSTEM_KEYBOARD ; Generic HID Keyboard

[ATT_KBD.NTx86]
%*PNP030a.DeviceDesc%    = STANDARD_Inst,*PNP030a        ;AT&T 302

[COMPAQ_KBD.NTx86]
%*CPQA0D7.DeviceDesc%    = STANDARD_Inst,*CPQA0D7        ;Compaq Enhanced Keyboard

[OLIVETTI_KBD.NTx86]
%*PNP0304.DeviceDesc%    = STANDARD_Inst,*PNP0304        ;Olivetti (83-Key)
%*PNP0305.DeviceDesc%    = STANDARD_Inst,*PNP0305        ;Olivetti (102-Key)
%*PNP0306.DeviceDesc%    = STANDARD_Inst,*PNP0306        ;Olivetti (86-Key)
%*PNP0309.DeviceDesc%    = STANDARD_Inst,*PNP0309        ;Olivetti (101/102-Key)

[ALPS_KBD.NTx86]
%HID\VID_0433&PID_ABAB.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_0433&PID_ABAB
%HID\VID_044e&PID_1104.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_044e&PID_1104

[CHERRY_KBD.NTx86]
%HID\VID_046A&PID_0001.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_046A&PID_0001

[MITSUMI_KBD.NTx86]
%HID\VID_03ee&PID_5609&MI_00.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_03ee&PID_5609&MI_00

[KEYTRONIC_KBD.NTx86]
%HID\VID_03F9.USBKeyboard.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_03F9&PID_0100
%HID\VID_03F9.USBKeyboard.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_03F9&PID_0101
%HID\VID_03F9.USBKeyboard.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_03F9&PID_0102&MI_00

[PHILIPS_KBD.NTx86]
%HID\VID_0471&PID_0601&MI_00.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_0471&PID_0601&MI_00
%HID\VID_0471.USBKeyboard.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_0471&PID_0401
%HID\VID_0471.USBKeyboard.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_0471&PID_0402&MI_00

[FUJITSU_KBD.NTx86]
%*FJT0101.DeviceDesc%    = THUMB_TYPE_Inst,*FJT0101      ;Fujitsu OYAYUBI Keyboard
%HID.Fujitsu109JapaneseKeyboard.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_0430&PID_0002&MI_00
%HID.Fujitsu109JapaneseKeyboard.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_0430&PID_000A&MI_00
%HID.Fujitsu109JapaneseKeyboard.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_0430&PID_000B
%HID.Fujitsu109JapaneseKeyboard.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_0430&PID_0082
%HID.Fujitsu109JapaneseKeyboard.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_0430&PID_0083&MI_00
%HID.Fujitsu109JapaneseKeyboard.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_04c5&PID_1020&MI_00
%HID.Fujitsu109JapaneseKeyboard.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_04c5&PID_1018&Col01
%HID.Fujitsu109JapaneseKeyboard.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_04c5&PID_1022&MI_00&Col01

[TOSHIBA_KBD.NTx86]
%HID\VID_06D5&PID_4000.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_06D5&PID_4000

[SILITEK_KBD.NTx86]
%HID\VID_047B.USBKeyboard.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_047B&PID_0001
%HID\VID_047B.USBKeyboard.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_047B&PID_0002&MI_00

[NMB_KBD.NTx86]
; %HID\VID_0446&PID_6782.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_0446&PID_6782
%HID\VID_0446&PID_6781&MI_00.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_0446&PID_6781&MI_00

[STSL_KBD.NTx86]
%HID\VID_05FA&PID_3302.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_05FA&PID_3302
%HID\VID_05FA.USBKeyboardPS2Mouse.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_05FA&PID_3301&MI_00
%HID\VID_05FA.USBKeyboardPS2Mouse.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_05FA&PID_3303&MI_00

[ACER_KBD.NTx86]
%HID\VID_04A5.GenUSBKeyboard.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_04A5&PID_0001
%HID\VID_04A5&PID_0002.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_04A5&PID_0002
%HID\VID_04A5.GenUSBKeyboard.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_04A5&PID_0003&MI_00

[CHICONY_KBD.NTx86]
%HID\VID_04F2.USBKeyboard.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_04F2&PID_0002
%HID\VID_04F2.USBKeyboard.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_04F2&PID_0001&MI_00

[BTC_KBD.NTx86]
%HID\VID_046E.USBKeyboard.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_046E&PID_0100
%HID\VID_046E.USBKeyboard.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_046E&PID_6782&MI_00

[FOCUS_KBD.NTx86]
%HID\VID_05B2.USBKeyboard.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_05B2&PID_6200
%HID\VID_05B2.USBKeyboard.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_05B2&PID_7200&MI_00

[JINGMOLD_KBD.NTx86]
%HID\VID_05AF&PID_9167.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_05AF&PID_9167
%HID\VID_05AF&PID_9267&MI_00.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_05AF&PID_9267&MI_00

[MAXISWITCH_KBD.NTx86]
%HID\VID_04C3&PID_1101.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_04C3&PID_1101
%HID\VID_04C3&PID_1102&MI_00.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_04C3&PID_1102&MI_00
%HID\VID_04C3&PID_2101.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_04C3&PID_2101
%HID\VID_04C3&PID_2102&MI_00.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_04C3&PID_2102&MI_00

[MONTEREY_KBD.NTx86]
%HID\VID_0566&PID_2800.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_0566&PID_2800
%HID\VID_0566&PID_2801&MI_00.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_0566&PID_2801&MI_00

[SAMSUNG_KBD.NTx86]
%HID\VID_055D&PID_6780.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_055D&PID_6780
%HID\VID_055D&PID_6781&MI_00.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_055D&PID_6781&MI_00
%HID\VID_055D&PID_0001.DeviceDesc%=HID_Keyboard_Inst,,HID\VID_055D&PID_0001

[FORWARD_KBD.NTx86]
%HID\VID_05BC&PID_0002.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_05BC&PID_0002
%HID\VID_05BC&PID_0001&MI_00.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_05BC&PID_0001&MI_00

[SUH_KBD.NTx86]
%HID\VID_0500&PID_0002.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_0500&PID_0002
%HID\VID_0500&PID_0001&MI_00.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_0500&PID_0001&MI_00

[SEJIN_KBD.NTx86]
%HID\VID_0510&PID_0001.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_0510&PID_0001
%HID\VID_0510&PID_1000&MI_00.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_0510&PID_1000&MI_00

[SUPERGATE_KBD.NTx86]
%HID\VID_05D5&PID_6782&MI_00.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_05D5&PID_6782&MI_00

[ORTEK_KBD.NTx86]
%HID\VID_05A4.Keyboard.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_05A4&PID_9722
%HID\VID_05A4.Keyboard.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_05A4&PID_9720&MI_00

[SOLIDYEAR_KBD.NTx86]
%HID\VID_060B&PID_2101&MI_00.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_060B&PID_2101&MI_00
%HID\VID_060B&PID_5903.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_060B&PID_5903
%HID\VID_060B&PID_6003&MI_00.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_060B&PID_6003&MI_00
%HID\VID_060B&PID_1006&MI_00.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_060B&PID_1006&MI_00

[QTRONIX_KBD.NTx86]
%HID\VID_05C7&PID_2001.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_05C7&PID_2001
%HID\VID_05C7&PID_6001.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_05C7&PID_6001

[MICROSOFT_KBD.NTx86]
%HID\VID_045E&PID_000B.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_045E&PID_000B
%HID\VID_045E&PID_001D&MI_00.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_045E&PID_001D&MI_00
%HID\VID_045E&PID_002B&MI_00.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_045E&PID_002B&MI_00
%HID\VID_045E&PID_002D&MI_00.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_045E&PID_002D&MI_00
%HID\VID_045E&PID_0048&MI_00.DeviceDesc%=HID_Keyboard_Inst,, HID\VID_045E&PID_0048&MI_00
%HID\VID_045E&PID_005C&MI_00.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_045E&PID_005C&MI_00
%HID\VID_045E&PID_0061&MI_00.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_045E&PID_0061&MI_00
%HID\VID_045E&PID_0065&MI_00.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_045E&PID_0065&MI_00
%HID\VID_045E&PID_0071&MI_00.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_045E&PID_0071&MI_00
%HID\VID_045E&PID_0073&MI_00.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_045E&PID_0073&MI_00
%HID\{00001124-0000-1000-8000-00805f9b34fb}_VID&0001045e_PID&007f&Col01.DeviceDesc%=HID_106_Keyboard_Inst,, HID\{00001124-0000-1000-8000-00805f9b34fb}_VID&0001045e_PID&007f&Col01
%HID\VID_045E&PID_0089&MI_00.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_045E&PID_0089&MI_00
%HID\VID_045E&PID_008B&MI_00.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_045E&PID_008B&MI_00
%HID\{00001124-0000-1000-8000-00805f9b34fb}_VID&0002045e_PID&009A&Col01.DeviceDesc%=HID_106_Keyboard_Inst,, HID\{00001124-0000-1000-8000-00805f9b34fb}_VID&0002045e_PID&009A&Col01
%HID\VID_045E&PID_009E&MI_00.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_045E&PID_009E&MI_00
%HID\VID_045E&PID_00AD&MI_00.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_045E&PID_00AD&MI_00
%HID\VID_045E&PID_00AF&MI_00.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_045E&PID_00AF&MI_00
%HID\VID_045E&PID_00B1&MI_00.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_045E&PID_00B1&MI_00
%HID\VID_045E&PID_00B5&MI_00.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_045E&PID_00B5&MI_00
%HID\VID_045E&PID_00BC&MI_00.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_045E&PID_00BC&MI_00
%HID\VID_045E&PID_00DC&MI_00.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_045E&PID_00DC&MI_00
%HID\VID_045E.ComfortCurve.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_045E&PID_00DE&MI_00
%HID\VID_045E.ComfortCurve.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_045E&PID_00E0&MI_00
%HID\Vid_045E.DualReceiver.DeviceDesc%=HID_106_Keyboard_Inst,, HID\Vid_045E&Pid_00E4&MI_00
%HID\Vid_045E.DualReceiver.DeviceDesc%=HID_106_Keyboard_Inst,, HID\Vid_045E&Pid_00F2&MI_00
%HID\Vid_045E.DualReceiver.DeviceDesc%=HID_106_Keyboard_Inst,, HID\Vid_045E&Pid_00FA&MI_00
%HID\Vid_045E&Pid_00FD&MI_00.DeviceDesc%=HID_106_Keyboard_Inst,, HID\Vid_045E&Pid_00FD&MI_00
%HID\Vid_045E.WirelessEntertainment8000.DeviceDesc%=HID_106_Keyboard_Inst,, HID\{00001124-0000-1000-8000-00805f9b34fb}_VID&0002045e_PID&0704&Col01
%HID\Vid_045E.WirelessEntertainment8000.DeviceDesc%=HID_106_Keyboard_Inst,, HID\Vid_045E&Pid_0716
%HID\Vid_045E.WirelessEntertainment7000.DeviceDesc%=HID_106_Keyboard_Inst,, HID\{00001124-0000-1000-8000-00805f9b34fb}_VID&0002045e_PID&0706&Col01
%HID\Vid_045E.WirelessEntertainment7000.DeviceDesc%=HID_106_Keyboard_Inst,, HID\Vid_045E&Pid_0718
%HID\Vid_045E.DualReceiver.DeviceDesc%=HID_106_Keyboard_Inst,, HID\Vid_045E&Pid_071E&MI_00
%HID\VID_045E.Digital3000.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_045E&PID_0731&MI_00
%HID\VID_045E.Digital3000.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_045E&PID_0733&MI_00
%HID\VID_045E&PID_0735&MI_00.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_045E&PID_0735&MI_00
%HID\VID_045E.DualReceiver.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_045E&PID_0746&MI_00
%HID\VID_045E&PID_074C&MI_00.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_045E&PID_074C&MI_00
%HID\VID_045E&PID_0751&MI_00.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_045E&PID_0751&MI_00
%HID\VID_045E&PID_0753&MI_00.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_045E&PID_0753&MI_00
%HID\{00001124-0000-1000-8000-00805f9b34fb}_VID&0002045e_PID&0763&Col01.DeviceDesc%=HID_106_Keyboard_Inst,, HID\{00001124-0000-1000-8000-00805f9b34fb}_VID&0002045e_PID&0763&Col01
%HID\IrDevice&COL05.DeviceDesc%=eHome_Keyboard_Inst,, HID\IrDevice&COL05
%HID\IrDevice&COL06.DeviceDesc%=eHome_Keyboard_Inst,, HID\IrDevice&COL06
%HID\IrDevice&COL07.DeviceDesc%=eHome_106_Keyboard_Inst,, HID\IrDevice&COL07

[NEC_KBD.NTx86]
%HID\VID_0409&PID_0014&MI_00.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_0409&PID_0014&MI_00
%HID\VID_0409&PID_0019.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_0409&PID_0019
%HID\VID_0409&PID_0025.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_0409&PID_0025
%HID\VID_0409&PID_0034&COL01.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_0409&PID_0034&COL01
%HID\VID_0409&PID_0094&COL01.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_0409&PID_0094&COL01
%HID\VID_0409&PID_0095.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_0409&PID_0095
%HID\VID_0409.OneTouchStart.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_0409&PID_003F&MI_00&Col01
%HID\VID_0409.OneTouchStart.DeviceDesc%=HID_106_Keyboard_Inst,, HID\VID_0409&PID_004F&MI_00&Col01
%HID\VID_0409&PID_0011&MI_00.DeviceDesc%=HID_NEC_Keyboard_Inst, HID\VID_0409&PID_0011&MI_00
%HID\VID_0409.PoweredHub.DeviceDesc%=HID_NEC_Keyboard_Inst, HID\VID_0409&PID_001A
%HID\VID_0409.PoweredHub.DeviceDesc%=HID_NEC_Keyboard_Inst, HID\VID_0409&PID_0024

;*****************************************
; Service Installation section
;*****************************************

;============================================
; Standard Keyboard (PS/2)
;============================================
[STANDARD_Inst]
CopyFiles   = STANDARD_CopyFiles
AddReg      = STANDARD_AddReg

[STANDARD_AddReg]
HKR,,LocationInformationOverride,,%LocationOverride%

[STANDARD_Inst.MigrateToDevnode]
i8042prt=KeyboardDataQueueSize,PollStatusIterations

[STANDARD_Inst.Services]
AddService      = i8042prt, 0x00000002, STANDARD_i8042prt_Service_Inst, i8042prt_EventLog_Inst
AddService      = kbdclass,, kbdclass_Service_Inst, kbdclass_EventLog_Inst

[STANDARD_Inst.HW]
AddReg = STANDARD_AddReg.HW

[STANDARD_AddReg.HW]
HKR,,"KeyboardDataQueueSize",0x00010003,100
;HKR,,"PowerCapabilities",,0x00010003,0
HKR,,"PollStatusIterations",0x00010003,1

[STANDARD_CopyFiles]
i8042prt.sys,,,0x100
kbdclass.sys,,,0x100

[STANDARD_i8042prt_Service_Inst]
DisplayName    = %i8042prt.SvcDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\i8042prt.sys
LoadOrderGroup = Keyboard Port
AddReg         = STANDARD_i8042prt_Service_AddReg,i8042prt_Service_AddReg

[STANDARD_i8042prt_Service_AddReg]
HKR,Parameters,"LayerDriver JPN",0x00000002,"kbd101.dll"
HKR,Parameters,"LayerDriver KOR",0x00000002,"kbd101a.dll"

;============================================
; i8042 PS/2 Port Driver
; (used by msmouse.inf via Include/Needs)
;============================================
[i8042prt_Inst]
CopyFiles = i8042prt_CopyFiles

[i8042prt_CopyFiles]
i8042prt.sys,,,0x100

[i8042prt_Inst.Services]
AddService = i8042prt, 0x00000002, i8042prt_Service_Inst, i8042prt_EventLog_Inst ; Port Driver

[i8042prt_Service_AddReg]
; global to i8042prt.sys (affects both keyboard and mouse)
HKR,"Parameters","PollingIterations",0x00010003,12000
HKR,"Parameters","PollingIterationsMaximum",0x00010003,12000
HKR,"Parameters","ResendIterations",0x00010003,3
HKR,,"PnpFlags",0x00010001,2

[i8042prt_Service_Inst]
DisplayName    = %i8042prt.SvcDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\i8042prt.sys
LoadOrderGroup = Keyboard Port
AddReg         = i8042prt_Service_AddReg

[i8042prt_EventLog_Inst]
AddReg = i8042prt_EventLog_AddReg

[i8042prt_EventLog_AddReg]
HKR,,EventMessageFile,0x00020000,"%%SystemRoot%%\System32\IoLogMsg.dll;%%SystemRoot%%\System32\drivers\i8042prt.sys"
HKR,,TypesSupported,0x00010001,7

[kbdclass_Service_Inst]
DisplayName    = %kbdclass.SvcDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\kbdclass.sys

[kbdclass_EventLog_Inst]
AddReg = kbdclass_EventLog_AddReg

[kbdclass_EventLog_AddReg]
HKR,,EventMessageFile,0x00020000,"%%SystemRoot%%\System32\IoLogMsg.dll;%%SystemRoot%%\System32\drivers\kbdclass.sys"
HKR,,TypesSupported,0x00010001,7

; Included by OEM / 3rd party INFs to install kbdclass
[KbdClass.Services]
AddService = kbdclass,, kbdclass_Service_Inst, kbdclass_EventLog_Inst

;======================================================================
;This section will overwrite 106/109 keyboard settings allowing user
;to revert back to 101 keyboard
;======================================================================
[RESTORE_STANDARD_101_Inst]
DelReg     = RESTORE_STANDARD_101_DelReg
AddReg     = STANDARD_AddReg

[RESTORE_STANDARD_101_DelReg]

[RESTORE_STANDARD_101_Inst.Services]
AddService = i8042prt, 0x00000002, RESTORE_STANDARD_i8042prt_Service_Inst, i8042prt_EventLog_Inst
AddService = kbdclass,, kbdclass_Service_Inst, kbdclass_EventLog_Inst

[RESTORE_STANDARD_i8042prt_Service_Inst]
DisplayName    = %i8042prt.SvcDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\i8042prt.sys
LoadOrderGroup = Keyboard Port
AddReg         = RESTORE_STANDARD_i8042prt_Service_AddReg,i8042prt_Service_AddReg
DelReg         = RESTORE_STANDARD_i8042prt_Service_DelReg

[RESTORE_STANDARD_i8042prt_Service_AddReg]
HKR,Parameters,"LayerDriver JPN",0x00000002,"kbd101.dll"
HKR,Parameters,"LayerDriver KOR",0x00000002,"kbd101a.dll"

[RESTORE_STANDARD_i8042prt_Service_DelReg]
HKR,Parameters,OverrideKeyboardType
HKR,Parameters,OverrideKeyboardSubtype
HKR,Parameters,OverrideKeyboardIdentifier
HKR,Parameters,"LayerDriver JPN"
HKR,Parameters,"LayerDriver KOR"

;===============================================
; Korean 101 Keyboard, Type 2 (PS/2)
;===============================================
[101B_TYPE_Inst]
CopyFiles  = 101B_TYPE_LayerDriverFiles, STANDARD_CopyFiles
AddReg     = 101B_TYPE_AddReg

[101B_TYPE_AddReg]
HKR,,LocationInformationOverride,,%LocationOverride%

[101B_TYPE_Inst.HW]
AddReg = STANDARD_AddReg.HW

[101B_TYPE_LayerDriverFiles]

[101B_TYPE_Inst.Services]
AddService      = i8042prt, 0x00000002, 101B_TYPE_i8042prt_Service_Inst, i8042prt_EventLog_Inst
AddService      = kbdclass,, kbdclass_Service_Inst, kbdclass_EventLog_Inst

[101B_TYPE_i8042prt_Service_Inst]
DisplayName    = %i8042prt.SvcDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\i8042prt.sys
LoadOrderGroup = Keyboard Port
AddReg         = 101B_TYPE_i8042prt_Service_AddReg,i8042prt_Service_AddReg

[101B_TYPE_i8042prt_Service_AddReg]
HKR,Parameters,OverrideKeyboardType,%REG_DWORD%,0x8
HKR,Parameters,OverrideKeyboardSubtype,%REG_DWORD%,0x4
HKR,Parameters,OverrideKeyboardIdentifier,%REG_SZ%,"PCAT_101BKEY"
HKR,Parameters,"LayerDriver KOR",%REG_SZ%,"kbd101b.dll"
HKR,Parameters,"LayerDriver JPN",%REG_SZ%,"kbd101.dll"

;===============================================
; Korean 101 Keyboard, Type 3 (PS/2)
;===============================================
[101C_TYPE_Inst]
CopyFiles  = 101C_TYPE_LayerDriverFiles, STANDARD_CopyFiles
AddReg     = 101C_TYPE_AddReg

[101C_TYPE_AddReg]
HKR,,LocationInformationOverride,,%LocationOverride%

[101C_TYPE_Inst.HW]
AddReg = STANDARD_AddReg.HW

[101C_TYPE_LayerDriverFiles]

[101C_TYPE_Inst.Services]
AddService      = i8042prt, 0x00000002, 101C_TYPE_i8042prt_Service_Inst, i8042prt_EventLog_Inst
AddService      = kbdclass,, kbdclass_Service_Inst, kbdclass_EventLog_Inst

[101C_TYPE_i8042prt_Service_Inst]
DisplayName    = %i8042prt.SvcDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\i8042prt.sys
LoadOrderGroup = Keyboard Port
AddReg         = 101C_TYPE_i8042prt_Service_AddReg,i8042prt_Service_AddReg

[101C_TYPE_i8042prt_Service_AddReg]
HKR,Parameters,OverrideKeyboardType,%REG_DWORD%,0x8
HKR,Parameters,OverrideKeyboardSubtype,%REG_DWORD%,0x5
HKR,Parameters,OverrideKeyboardIdentifier,%REG_SZ%,"PCAT_101CKEY"
HKR,Parameters,"LayerDriver KOR",%REG_SZ%,"kbd101c.dll"
HKR,Parameters,"LayerDriver JPN",%REG_SZ%,"kbd101.dll"

;===============================================
; Korean 103/106 Keyboard (PS/2)
;===============================================
[103_TYPE_Inst]
CopyFiles  = 103_TYPE_LayerDriverFiles, STANDARD_CopyFiles
AddReg     = 103_TYPE_AddReg

[103_TYPE_AddReg]
HKR,,LocationInformationOverride,,%LocationOverride%

[103_TYPE_Inst.HW]
AddReg = STANDARD_AddReg.HW

[103_TYPE_LayerDriverFiles]

[103_TYPE_Inst.Services]
AddService      = i8042prt, 0x00000002, 103_TYPE_i8042prt_Service_Inst, i8042prt_EventLog_Inst
AddService      = kbdclass,, kbdclass_Service_Inst, kbdclass_EventLog_Inst

[103_TYPE_i8042prt_Service_Inst]
DisplayName    = %i8042prt.SvcDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\i8042prt.sys
LoadOrderGroup = Keyboard Port
AddReg         = 103_TYPE_i8042prt_Service_AddReg,i8042prt_Service_AddReg

[103_TYPE_i8042prt_Service_AddReg]
HKR,Parameters,OverrideKeyboardType,%REG_DWORD%,0x8
HKR,Parameters,OverrideKeyboardSubtype,%REG_DWORD%,0x6
HKR,Parameters,OverrideKeyboardIdentifier,%REG_SZ%,"PCAT_103KEY"
HKR,Parameters,"LayerDriver KOR",%REG_SZ%,"kbd103.dll"
HKR,Parameters,"LayerDriver JPN",%REG_SZ%,"kbd101.dll"

;===============================================
; Japanese 106/109 Keyboard (PS/2)
;===============================================
[106_TYPE_Inst]
CopyFiles  = 106_TYPE_LayerDriverFiles, STANDARD_CopyFiles
AddReg     = 106_TYPE_AddReg

[106_TYPE_AddReg]
HKR,,LocationInformationOverride,,%LocationOverride%

[106_TYPE_Inst.HW]
AddReg = STANDARD_AddReg.HW

[106_TYPE_Inst.Services]
AddService      = i8042prt, 0x00000002, 106_TYPE_i8042prt_Service_Inst, i8042prt_EventLog_Inst
AddService      = kbdclass,, kbdclass_Service_Inst, kbdclass_EventLog_Inst

; Referenced by 106 type HID keyboard
[106_TYPE_LayerDriverFiles]

[106_TYPE_i8042prt_Service_Inst]
DisplayName    = %i8042prt.SvcDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\i8042prt.sys
LoadOrderGroup = Keyboard Port
AddReg         = 106_TYPE_i8042prt_Service_AddReg,i8042prt_Service_AddReg

[106_TYPE_i8042prt_Service_AddReg]
HKR,Parameters,OverrideKeyboardType,%REG_DWORD%,0x7
HKR,Parameters,OverrideKeyboardSubtype,%REG_DWORD%,0x2
HKR,Parameters,OverrideKeyboardIdentifier,%REG_SZ%,"PCAT_106KEY"
HKR,Parameters,"LayerDriver JPN",%REG_SZ%,"kbd106.dll"
HKR,Parameters,"LayerDriver KOR",%REG_SZ%,"kbd101a.dll"

;=========================================================================
; Japanese 106N Keyboard (PS/2) - PC/AT Enh(106 Japanese key CTRL + EISUU)
;=========================================================================
[106N_TYPE_Inst]
CopyFiles  = STANDARD_CopyFiles
AddReg     = 106N_TYPE_AddReg

[106N_TYPE_AddReg]
HKR,,LocationInformationOverride,,%LocationOverride%

[106N_TYPE_Inst.HW]
AddReg = STANDARD_AddReg.HW

[106N_TYPE_Inst.Services]
AddService      = i8042prt, 0x00000002, 106N_TYPE_i8042prt_Service_Inst, i8042prt_EventLog_Inst
AddService      = kbdclass,, kbdclass_Service_Inst, kbdclass_EventLog_Inst

[106N_TYPE_i8042prt_Service_Inst]
DisplayName    = %i8042prt.SvcDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\i8042prt.sys
LoadOrderGroup = Keyboard Port
AddReg         = 106N_TYPE_i8042prt_Service_AddReg,i8042prt_Service_AddReg

[106N_TYPE_i8042prt_Service_AddReg]
HKR,Parameters,OverrideKeyboardType,%REG_DWORD%,0x7
HKR,Parameters,OverrideKeyboardSubtype,%REG_DWORD%,0x2
HKR,Parameters,OverrideKeyboardIdentifier,%REG_SZ%,"PCAT_106KEY"
HKR,Parameters,"LayerDriver JPN",%REG_SZ%,"kbd106n.dll"
HKR,Parameters,"LayerDriver KOR",%REG_SZ%,"kbd101a.dll"

;===============================================
; Fujitsu Oyayubi Keyboard (PS/2)
;===============================================
[THUMB_TYPE_Inst]
CopyFiles  = STANDARD_CopyFiles
AddReg     = THUMB_TYPE_AddReg

[THUMB_TYPE_Inst.Services]
AddService = i8042prt, 0x00000002, THUMB_TYPE_i8042prt_Service_Inst, i8042prt_EventLog_Inst
AddService = kbdclass,, kbdclass_Service_Inst, kbdclass_EventLog_Inst

[THUMB_TYPE_AddReg]

[THUMB_TYPE_i8042prt_Service_Inst]
DisplayName    = %i8042prt.SvcDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\i8042prt.sys
LoadOrderGroup = Keyboard Port
AddReg         = THUMB_TYPE_i8042prt_Service_AddReg,i8042prt_Service_AddReg

[THUMB_TYPE_i8042prt_Service_AddReg]
HKR,Parameters,OverrideKeyboardType,%REG_DWORD%,0x7
HKR,Parameters,OverrideKeyboardSubtype,%REG_DWORD%,0x52
HKR,Parameters,OverrideKeyboardIdentifier,%REG_SZ%,"FUJITSU_OYAYUBI"
HKR,Parameters,"LayerDriver JPN",%REG_SZ%,"f3ahvoas.dll"
HKR,Parameters,"LayerDriver KOR",%REG_SZ%,"kbd101a.dll"

;========================================================================
; Legacy Xlate 
; (used during starting by PnP to simulate enumeration of the keyboard 
; based on information retrieved from ARC firmware/NTDETECT)
; 
;========================================================================
[LegacyXlate.DevId]
XT_83KEY        = *PNP0300
PCAT_86KEY      = *PNP0301
PCXT_84KEY      = *PNP0302
XT_84KEY        = *PNP0302
101-KEY         = *PNP0303
OLI_83KEY       = *PNP0304
ATT_301         = *PNP0304
OLI_102KEY      = *PNP0305
OLI_86KEY       = *PNP0306
OLI_A101_102KEY = *PNP0309
ATT_302         = *PNP030a
PCAT_ENHANCED   = *PNP030b

; This section is used during fresh install/upgrade to determine what Win95-style
; INF install section to associate with the currently installed keyboard driver.
;
[LegacyXlate.Driver]
i8042prt = STANDARD_Inst

;===============================================
; Standard Keyboard (HID)
;===============================================
[HID_Keyboard_Inst.NT]
Copyfiles = HID_Keyboard_Inst.CopyFiles.NT

[HID_Keyboard_Inst.NT.HW]
AddReg = HID_Keyboard_Inst.AddReg.NT

[HID_Keyboard_Inst.AddReg.NT]

[HID_Keyboard_Inst.CopyFiles.NT]
kbdhid.sys,,,0x100
kbdclass.sys,,,0x100

[HID_Keyboard_Inst.NT.Services]
AddService  = kbdhid,%SPSVCINST_ASSOCSERVICE%,KbdHid_Service_Inst,KbdHid_EventLog_Inst
AddService  = kbdclass,, kbdclass_Service_Inst, kbdclass_EventLog_Inst

[KbdHid_Service_Inst]
DisplayName    = %KBDHID.SvcDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 0                  ; SERVICE_ERROR_IGNORE
ServiceBinary  = %12%\kbdhid.sys
AddReg = KbdHid_Service_Inst_AddReg

[KbdHid_Service_Inst_AddReg]
HKR,"Parameters","WorkNicely",0x00010001,0

[KbdHid_EventLog_Inst]
AddReg = KbdHid_EventLog_AddReg

[KbdHid_EventLog_AddReg]
HKR,,EventMessageFile,0x00020000,"%%SystemRoot%%\System32\IoLogMsg.dll;%%SystemRoot%%\System32\drivers\kbdhid.sys"
HKR,,TypesSupported,0x00010001,7

;===============================================
; Japanese 106/109 Keyboard (HID)
;===============================================
[HID_106_Keyboard_Inst.NT]
Copyfiles = HID_Keyboard_Inst.CopyFiles.NT
Copyfiles = 106_TYPE_LayerDriverFiles
AddReg = HID_106_Keyboard_Inst.AddReg

[HID_106_Keyboard_Inst.AddReg]

[HID_106_Keyboard_Inst.NT.HW]
AddReg = HID_106_Keyboard_Inst.AddReg.NT.HW
AddReg = HID_Keyboard_Inst.AddReg.NT

[HID_106_Keyboard_Inst.AddReg.NT.HW]
HKR,,"KeyboardTypeOverride",0x00010001,7
HKR,,"KeyboardSubtypeOverride",0x00010001,2

[HID_106_Keyboard_Inst.NT.Services]
AddService = kbdhid,%SPSVCINST_ASSOCSERVICE%,KbdHid_Service_Inst,KbdHid_EventLog_Inst
AddService = kbdclass,, kbdclass_Service_Inst, kbdclass_EventLog_Inst

;===============================================
; eHome Keyboard (HID)
;===============================================
[eHome_Keyboard_Inst.NT]
Copyfiles = HID_Keyboard_Inst.CopyFiles.NT

[eHome_Keyboard_Inst.AddReg.NT]
HKR,,"WaitWakeEnabled",0x00010001,1

[eHome_Keyboard_Inst.NT.HW]
AddReg = HID_Keyboard_Inst.AddReg.NT, eHome_Keyboard_Inst.AddReg.NT

[eHome_Keyboard_Inst.NT.Services]
AddService = kbdhid,%SPSVCINST_ASSOCSERVICE%,KbdHid_Service_Inst,KbdHid_EventLog_Inst
AddService = kbdclass,, kbdclass_Service_Inst, kbdclass_EventLog_Inst

;===============================================
; eHome 106 Keyboard (HID)
;===============================================
[eHome_106_Keyboard_Inst.NT]
Needs = HID_Keyboard_Inst.NT
Copyfiles = 106_TYPE_LayerDriverFiles

[eHome_106_Keyboard_Inst.AddReg.NT]
HKR,,"WaitWakeEnabled",0x00010001,1

[eHome_106_Keyboard_Inst.NT.HW]
AddReg = HID_106_Keyboard_Inst.AddReg.NT.HW, eHome_106_Keyboard_Inst.AddReg.NT

[eHome_106_Keyboard_Inst.NT.Services]
AddService = kbdhid,%SPSVCINST_ASSOCSERVICE%,KbdHid_Service_Inst,KbdHid_EventLog_Inst
AddService = kbdclass,, kbdclass_Service_Inst, kbdclass_EventLog_Inst

;===============================================
; NEC Keyboard (HID)
;===============================================
[HID_NEC_Keyboard_Inst.NT]
Copyfiles = HID_Keyboard_Inst.CopyFiles.NT

[HID_NEC_Keyboard_Inst.NT.HW]
AddReg = HID_NEC_Keyboard_Inst.AddReg.NT

[HID_NEC_Keyboard_Inst.AddReg.NT]
HKR,,"KeyboardTypeOverride",0x00010001,7
HKR,,"KeyboardSubtypeOverride",0x00010001,0xd02

[HID_NEC_Keyboard_Inst.NT.Services]
AddService = kbdhid,%SPSVCINST_ASSOCSERVICE%,KbdHid_Service_Inst,KbdHid_EventLog_Inst
AddService = kbdclass,, kbdclass_Service_Inst, kbdclass_EventLog_Inst

;*****************************************
; Strings section
;*****************************************

[Strings]
;Localizable
;
LocationOverride    = "plugged into keyboard port"
SharedDriverMsg     = "PS/2 mouse port"

; Service Names
;
*PNP0303.DeviceDesc     = "Standard PS/2 Keyboard"
i8042prt.SvcDesc        = "i8042 Keyboard and PS/2 Mouse Port Driver"
kbdclass.SvcDesc        = "Keyboard Class Driver"
KBDHID.SvcDesc          = "Keyboard HID Driver"

; Manufacturers
; 
ATT                     = "AT&T"
COMPAQ                  = "Compaq"
OLIVETTI                = "Olivetti"
MSFT                    = "Microsoft"
Std-Keyboards           = "(Standard keyboards)"
ALPS                    = "ALPS"
FUJITSU                 = "Fujitsu"
TOSHIBA                 = "Toshiba"
KEYTRONIC               = "Key Tronic"
PHILIPS                 = "Philips"
CHERRY                  = "Cherry GmbH"
MITSUMI                 = "Mitsumi"
SILITEK                 = "Silitek"
NMB                     = "NMB"
STSL                    = "STSL"
ACER                    = "Acer"
BTC                     = "BTC"
FOCUS                   = "Focus"
JINGMOLD                = "Jing Mold"
MAXISWITCH              = "Maxi Switch, Inc."
MONTEREY                = "Monterey"
ORTEK                   = "Ortek"
CHICONY                 = "Chicony"
FORWARD                 = "Forward"
SAMSUNG                 = "Samsung"
SEJIN                   = "Sejin"
SUPERGATE               = "SUPERGATE"
SUH                     = "SUH"
SOLIDYEAR               = "Solid Year"
NEC                     = "NEC"
QTRONIX                 = "Qtronix"

; Standard Device IDs
;
*PNP0300.DeviceDesc     = "PC/XT PS/2 Keyboard (83-Key)"
*PNP0301.DeviceDesc     = "PC/AT PS/2 Keyboard (84-Key)"
*PNP0302.DeviceDesc     = "PC/XT PS/2 Keyboard (84-Key)"
*PNP0304.DeviceDesc     = "Olivetti PS/2 Keyboard (83-Key) or AT&T 301 Keyboard"
*PNP0305.DeviceDesc     = "Olivetti PS/2 Keyboard (102-Key)"
*PNP0306.DeviceDesc     = "Olivetti PS/2 Keyboard (86-Key)"
*PNP0309.DeviceDesc     = "Olivetti PS/2 Keyboard (A101/102-Key)"
*PNP030a.DeviceDesc     = "AT&T 302 PS/2 Keyboard"
*PNP030b.DeviceDesc     = "PC/AT Enhanced PS/2 Keyboard (101/102-Key)" ; default
*PNP0320.DeviceDesc     = "Japanese PS/2 Keyboard (106/109 Key)"
*PNP0320.DeviceDesc2    = "Japanese PS/2 Keyboard (106/109 Key Ctrl + Eisuu)"
*FJT0101.DeviceDesc     = "Thumb Shift PS/2 Keyboard"
*PNP0343.DeviceDesc     = "Korean PC/AT 101-Key Compatible Keyboard/MS Natural Keyboard (Type 2)"
*PNP0344.DeviceDesc     = "Korean PC/AT 101-Key Compatible Keyboard/MS Natural Keyboard (Type 3)"
*PNP0345.DeviceDesc     = "Korean PS/2 Keyboard (103/106 Key)"
*CPQA0D7.DeviceDesc     = "Compaq Enhanced PS/2 Keyboard"
RESTORE_STANDARD_101.DeviceDesc     = "Standard PS/2 101/102 Keyboard"

; HID device IDs
;
HID.KeyboardDevice    = "HID Keyboard Device"
HID\VID_0433&PID_ABAB.DeviceDesc = "ALPS USB Keyboard"
HID\VID_044e&PID_1104.DeviceDesc = "ALPS Japanese USB Keyboard"
HID\VID_0471.USBKeyboard.DeviceDesc = "Philips Semiconductors CICT USB Keyboard"
HID\VID_0471&PID_0601&MI_00.DeviceDesc = "Philips USB Wireless Keyboard"
HID\VID_046A&PID_0001.DeviceDesc = "Cherry GmbH USB Keyboard"
HID\VID_03ee&PID_5609&MI_00.DeviceDesc = "Mitsumi Japanese USB Keyboard"
HID\VID_047B.USBKeyboard.DeviceDesc = "Silitek USB Keyboard"
HID\VID_04A5.GenUSBKeyboard.DeviceDesc = "API Generic USB K/B"
HID\VID_04A5&PID_0002.DeviceDesc = "API Ergo USB K/B"
HID\VID_03F9.USBKeyboard.DeviceDesc = "Key Tronic USB Keyboard"
HID\VID_0446&PID_6782.DeviceDesc = "NMB USB Keyboard"
HID\VID_0446&PID_6781&MI_00.DeviceDesc = "NMB USB Keyboard with PS/2 Mouse Port"
HID\VID_05FA&PID_3302.DeviceDesc = "STSL USB Keyboard"
HID\VID_05FA.UsbKeyboardPS2Mouse.DeviceDesc = "STSL USB Keyboard with PS/2 Mouse Port"
HID\VID_04F2.USBKeyboard.DeviceDesc = "Chicony USB Keyboard"
HID\VID_046E.USBKeyboard.DeviceDesc = "BTC USB Keyboard"
HID\VID_05B2.USBKeyboard.DeviceDesc = "Focus USB Keyboard"
HID\VID_05AF&PID_9167.DeviceDesc = "KB 9151B - 678"
HID\VID_05AF&PID_9267&MI_00.DeviceDesc = "KB 9251B - 678"
HID\VID_04C3&PID_1101.DeviceDesc = "Maxi Switch, Inc. #1101"
HID\VID_04C3&PID_1102&MI_00.DeviceDesc = "Maxi Switch, Inc. #1102"
HID\VID_04C3&PID_2101.DeviceDesc = "Maxi Switch, Inc. #2101"
HID\VID_04C3&PID_2102&MI_00.DeviceDesc = "Maxi Switch, Inc. #2102"
HID\VID_0566&PID_2800.DeviceDesc = "MIC USB K/B"
HID\VID_0566&PID_2801&MI_00.DeviceDesc = "MIC USB K/B M"
HID\VID_05A4.Keyboard.DeviceDesc = "ORTEK Keyboard"
HID.Fujitsu109JapaneseKeyboard.DeviceDesc="Fujitsu 109 Japanese USB Keyboard"
HID\VID_06D5&PID_4000.DeviceDesc = "Toshiba USB 109 Japanese keyboard"
HID\VID_055D&PID_6780.DeviceDesc = "Samsung USB Keyboard V1"
HID\VID_055D&PID_6781&MI_00.DeviceDesc = "Samsung USB Keyboard V2"
HID\VID_055D&PID_0001.DeviceDesc="Samsung USB Keyboard"
HID\VID_05BC&PID_0002.DeviceDesc = "Forward USB K/B"
HID\VID_05BC&PID_0001&MI_00.DeviceDesc = "Forward USB K/B with PS/2 Mouse"
HID\VID_0500&PID_0002.DeviceDesc = "SUH DART-2 USB Keyboard"
HID\VID_0500&PID_0001&MI_00.DeviceDesc = "SUH DART USB Keyboard"
HID\VID_0510&PID_0001.DeviceDesc = "Sejin USB Keyboard"
HID\VID_0510&PID_1000&MI_00.DeviceDesc="Sejin USB Keyboard with PS/2 Mouse Port"
HID\VID_05D5&PID_6782&MI_00.DeviceDesc = "SUPERGATE USB Keyboard with PS/2 Mouse Port"
HID\VID_045E&PID_000B.DeviceDesc = "Microsoft USB Natural Keyboard"
HID\VID_045E&PID_001D&MI_00.DeviceDesc = "Microsoft USB Natural Keyboard Pro"
HID\VID_045E&PID_002B&MI_00.DeviceDesc = "Microsoft USB Internet Keyboard Pro"
HID\VID_045E&PID_002D&MI_00.DeviceDesc = "Microsoft USB Internet Keyboard"
HID\VID_045E&PID_0048&MI_00.DeviceDesc = "Microsoft USB Office Keyboard"
HID\VID_045E&PID_005C&MI_00.DeviceDesc = "Microsoft USB Office Keyboard (106/109)"
HID\VID_045E&PID_0061&MI_00.DeviceDesc = "Microsoft USB Wireless MultiMedia Keyboard (106/109)"
HID\VID_045E&PID_0065&MI_00.DeviceDesc = "Microsoft USB Wireless Natural MultiMedia Keyboard (106/109)"
HID\VID_045E&PID_0071&MI_00.DeviceDesc = "Microsoft USB Wireless MultiMedia Keyboard (106/109)"
HID\VID_045E&PID_0073&MI_00.DeviceDesc = "Microsoft USB Wireless Natural MultiMedia Keyboard (106/109)"
HID\{00001124-0000-1000-8000-00805f9b34fb}_VID&0001045e_PID&007f&Col01.DeviceDesc = "Microsoft Wireless Optical Desktop for Bluetooth Keyboard (106/109)"
HID\VID_045E&PID_0089&MI_00.DeviceDesc = "Microsoft Basic Keyboard (106/109)"
HID\VID_045E&PID_008B&MI_00.DeviceDesc = "Microsoft USB Dual Receiver Wireless Keyboard (106/109)"
HID\{00001124-0000-1000-8000-00805f9b34fb}_VID&0002045e_PID&009A&Col01.DeviceDesc = "Microsoft Keyboard Elite for Bluetooth (106/109)"
HID\VID_045E&PID_009E&MI_00.DeviceDesc = "Microsoft USB Dual Receiver Wireless Keyboard (106/109)"
HID\VID_045E&PID_00AD&MI_00.DeviceDesc = "Microsoft MultiMedia Keyboard (106/109)"
HID\VID_045E&PID_00AF&MI_00.DeviceDesc = "Microsoft Natural MultiMedia Keyboard (106/109)"
HID\VID_045E&PID_00B1&MI_00.DeviceDesc = "Microsoft USB Digital Media Pro Keyboard (106/109)"
HID\VID_045E&PID_00B5&MI_00.DeviceDesc = "Microsoft USB Digital Media Keyboard (106/109)"
HID\VID_045E&PID_00BC&MI_00.DeviceDesc = "Microsoft USB Keyboard with Fingerprint Reader (106/109)"
HID\VID_045E&PID_00DC&MI_00.DeviceDesc = "Microsoft USB Natural Ergonomic Keyboard 4000 (106/109)"
HID\VID_045E.ComfortCurve.DeviceDesc = "Microsoft USB Comfort Curve Keyboard 2000 (106/109)"
HID\Vid_045E.DualReceiver.DeviceDesc = "Microsoft USB Dual Receiver Wireless Keyboard (106/109)"
HID\Vid_045E&Pid_00FD&MI_00.DeviceDesc = "Microsoft Reclusa (106/109)"
HID\Vid_045E.WirelessEntertainment8000.DeviceDesc = "Microsoft Wireless Entertainment Keyboard 8000 (106/109)"
HID\Vid_045E.WirelessEntertainment7000.DeviceDesc = "Microsoft Wireless Entertainment Keyboard 7000 (106/109)"
HID\VID_045E.Digital3000.DeviceDesc = "Microsoft Digital Media Keyboard 3000 (106/109)"
HID\VID_045E&PID_0735&MI_00.DeviceDesc = "Microsoft Wireless Keyboard 700 v2.0 (106/109)"
HID\VID_045E&PID_074C&MI_00.DeviceDesc = "Microsoft SideWinder X6 Keyboard (106/109)"
HID\VID_045E&PID_0751&MI_00.DeviceDesc = "Microsoft Wired Keyboard 600 (106/109)"
HID\VID_045E&PID_0753&MI_00.DeviceDesc = "Microsoft Wired Keyboard 400 (106/109)"
HID\{00001124-0000-1000-8000-00805f9b34fb}_VID&0002045e_PID&0763&Col01.DeviceDesc = "Microsoft Bluetooth Mobile Keyboard 6000 (106/109)"
HID\VID_060B&PID_2101&MI_00.DeviceDesc = "Japanese USB Keyboard with PS/2 Mouse Port"
HID\VID_060B&PID_5903.DeviceDesc="Japanese USB Keyboard - 595U"
HID\VID_060B&PID_6003&MI_00.DeviceDesc="Japanese USB Keyboard - 600HM"
HID\VID_060B&PID_1006&MI_00.DeviceDesc="Japanese USB Keyboard - 260U"
HID\VID_0409&PID_0014&MI_00.DeviceDesc="NEC 109 Japanese USB Keyboard"
HID\VID_0409&PID_0011&MI_00.DeviceDesc="NEC PC98 Series Layout USB Keyboard"
HID\VID_0409&PID_0019.DeviceDesc="NEC 109 Japanese USB Keyboard with Bus-Powered Hub"
HID\VID_0409.PoweredHub.DeviceDesc="NEC PC98 Series Layout USB Keyboard with Bus-Powered Hub"
HID\VID_0409&PID_0025.DeviceDesc="NEC USB Mini Keyboard with Bus-Powered Hub"
HID\VID_0409&PID_0034&COL01.DeviceDesc="NEC 109 Japanese USB Keyboard with One-touch start buttons"
HID\VID_0409&PID_0094&COL01.DeviceDesc="NEC 109 USB Small Keyboard with One-touch start buttons"
HID\VID_0409&PID_0095.DeviceDesc="NEC 109 USB Small Keyboard with Bus-Powered Hub"
HID\VID_0409.OneTouchStart.DeviceDesc="NEC Wireless USB Keyboard with One-touch start buttons"
HID\VID_05C7&PID_2001.DeviceDesc = "Qtronix USB Keyboard"
HID\VID_05C7&PID_6001.DeviceDesc = "Qtronix USB Ten-Keypad"
HID\IrDevice&COL05.DeviceDesc = "Microsoft eHome Remote Control Keyboard keys"
HID\IrDevice&COL06.DeviceDesc = "Microsoft eHome MCIR Keyboard"
HID\IrDevice&COL07.DeviceDesc = "Microsoft eHome MCIR 109 Keyboard"

;Non-localizable - Standard definitions
; 
SPSVCINST_TAGTOFRONT  = 0x00000001
SPSVCINST_ASSOCSERVICE= 0x00000002
SERVICE_KERNEL_DRIVER = 1
SERVICE_BOOT_START    = 0
SERVICE_DEMAND_START  = 3
SERVICE_ERROR_NORMAL  = 1
SERVICE_ERROR_IGNORE  = 0
REG_EXPAND_SZ         = 0x00020000
REG_DWORD             = 0x00010001
REG_SZ                = 0x00000000
