; MSMOUSE.INF
; - Installs core mouse support files, etc.
; - Includes drivers for detected & PnP devices

; Copyright (c) Microsoft Corporation.  All rights reserved.

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

[SourceDisksNames]
3426=windows cd

[SourceDisksFiles]
mouclass.sys 	= 3426
sermouse.sys 	= 3426
i8042prt.sys 	= 3426
mouhid.sys 		= 3426

[DestinationDirs]
DefaultDestDir = 12 ; DIRID_DRIVERS

[ControlFlags]
; Exclude all bus mice and InPort mice for RISC platforms.
ExcludeFromSelect.NTAlpha = *PNP0F11,*PNP0F00,*PNP0F15

;
; Mark any install sections for drivers that also control the i8042 keyboard port,
; so that we can warn the user that they may also be affecting their keyboard with
; a mouse driver change.
;
SharedDriver=PS2_Inst,%PS2_Inst.SharedDriverMsg%


; Manufacturer Sections
; ---------------------------------------------------------
[Manufacturer]
%StdMfg%  =StdMfg,NTx86              ; (Standard types)
%MSMfg%   =MSMfg,NTx86               ; Microsoft
%LogiMfg% =LogiMfg,NTx86             ; Logitech
%CypressMfg% =CypressMfg,NTx86       ; Cypress
%ELOMfg%  =ELOMfg,NTx86              ; ELO Touchsystems
%ChiconyMfg% =ChiconyMfg,NTx86       ; Chicony
%NMBMfg%  =NMBMfg,NTx86              ; NMB
%STSLMfg%  =STSLMfg,NTx86            ; STSL
%SUPERGATEMfg%  =SUPERGATEMfg,NTx86  ; SUPGERGATE
%BTCMfg%  =BTCMfg,NTx86
%FOCUSMfg%=FOCUSMfg,NTx86
%JINGMOLDMfg%=JINGMOLDMfg,NTx86
%MAXISWITCHMfg%=MAXISWITCHMfg,NTx86
%MONTEREYMfg%=MONTEREYMfg,NTx86
%ORTEKMfg%=ORTEKMfg,NTx86
%KeytronicMfg%=KEYTRONICMfg,NTx86
%GeniusMfg%=GeniusMfg,NTx86
%ItacMfg% =ItacMfg,NTx86             ; Itac Systems
%SamsungMfg%=SamsungMfg,NTx86        ; Samsung
%ForwardMfg%=ForwardMfg,NTx86        ; Forward
%SUHMfg%=SUHMfg,NTx86                ; SUH DART
%PhilipsMfg%=PhilipsMfg,NTx86        ; Philips
%AnchorMfg%=AnchorMfg,NTx86          ; Anchor
%SOLIDYEARMfg%=SOLIDYEARMfg,NTx86    ; Solid Year
%NEC%=NECMfg,NTx86                   ; NEC
%FUJITSUMfg%=FUJITSUMfg,NTx86        ; Fujitsu
%SEJINMfg%=SEJINMfg,NTx86            ; Sejin
%DexinMfg%=DexinMfg,NTx86            ; Dexin
%AcerMfg%=AcerMfg,NTx86              ; Acer
%SilitekMfg%=SilitekMfg,NTx86        ; Silitek
%QtronixMfg%=QtronixMfg,NTx86        ; Qtronix
%AppleMfg%=AppleMfg,NTx86            ; Apple

; Microsoft

[StdMfg.NTx86]
%*pnp0f0c.DeviceDesc%      = Ser_Inst,*PNP0F0C,SERENUM\PNP0F0C,SERIAL_MOUSE ; Std serial mouse
%*pnp0f0e.DeviceDesc%      = PS2_Inst,*PNP0F0E,PS2_MOUSE       ; Std PS/2 mouse
%*AUI0200.DeviceDesc%      = PS2_Inst,*AUI0200                 ; Replace ALPS driver

[LogiMfg.NTx86]
%*pnp0f08.DeviceDesc%=Ser_Inst,*PNP0F08, SERENUM\PNP0F08 ; Logi serial mouse
%*pnp0f12.DeviceDesc%=PS2_Inst,*PNP0F12                      ; Logi PS/2 mouse

%SERENUM\LGI8001.DeviceDesc%=Ser_Inst,,SERENUM\LGI8001
%SERENUM\LGI8002.DeviceDesc%=Ser_Inst,,SERENUM\LGI8002
%SERENUM\LGI8003.DeviceDesc%=Ser_Inst,,SERENUM\LGI8003
%SERENUM\LGI8005.DeviceDesc%=Ser_Inst,,SERENUM\LGI8005
%SERENUM\LGI8006.DeviceDesc%=Ser_Inst,,SERENUM\LGI8006
%SERENUM\LGI8007.DeviceDesc%=Ser_Inst,,SERENUM\LGI8007
%SERENUM\LGI8008.DeviceDesc%=Ser_Inst,,SERENUM\LGI8008
%SERENUM\LGI8009.DeviceDesc%=Ser_Inst,,SERENUM\LGI8009
%SERENUM\LGI800A.DeviceDesc%=Ser_Inst,,SERENUM\LGI800A
%SERENUM\LGI800B.DeviceDesc%=Ser_Inst,,SERENUM\LGI800B
%SERENUM\LGI800C.DeviceDesc%=Ser_Inst,,SERENUM\LGI800C
%SERENUM\LGI8011.DeviceDesc%=Ser_Inst,,SERENUM\LGI8011
%SERENUM\LGI8012.DeviceDesc%=Ser_Inst,,SERENUM\LGI8012
%SERENUM\LGI8013.DeviceDesc%=Ser_Inst,,SERENUM\LGI8013
%SERENUM\LGI8032.DeviceDesc%=Ser_Inst,,SERENUM\LGI8032
%SERENUM\LGI8033.DeviceDesc%=Ser_Inst,,SERENUM\LGI8033
%SERENUM\LGI8048.DeviceDesc%=Ser_Inst,,SERENUM\LGI8048
%SERENUM\LGI8049.DeviceDesc%=Ser_Inst,,SERENUM\LGI8049
%SERENUM\LGI804B.DeviceDesc%=Ser_Inst,,SERENUM\LGI804B
%SERENUM\LGI8050.DeviceDesc%=Ser_Inst,,SERENUM\LGI8050
%SERENUM\LGI8051.DeviceDesc%=Ser_Inst,,SERENUM\LGI8051

%HID\VID_046D&PID_C000.DeviceDesc%=HID_Mouse_Inst, HID\VID_046D&PID_C000
%HID\VID_046D&PID_C001.DeviceDesc%=HID_Mouse_Inst, HID\VID_046D&PID_C001
%HID\VID_046D&PID_C002.DeviceDesc%=HID_Mouse_Inst, HID\VID_046D&PID_C002
%HID\VID_046D&PID_C003.DeviceDesc%=HID_Mouse_Inst, HID\VID_046D&PID_C003
%HID\VID_046D&PID_C004.DeviceDesc%=HID_Mouse_Inst, HID\VID_046D&PID_C004
%HID\VID_046D&PID_C005.DeviceDesc%=HID_Mouse_Inst, HID\VID_046D&PID_C005
%HID\VID_046D&PID_C00B.DeviceDesc%=HID_Mouse_Inst, HID\VID_046D&PID_C00B
%HID\VID_046D&PID_C00C.DeviceDesc%=HID_Mouse_Inst, HID\VID_046D&PID_C00C
%HID\VID_046D&PID_C00D.DeviceDesc%=HID_Mouse_Inst, HID\VID_046D&PID_C00D
%HID\VID_046D&PID_C00E.DeviceDesc%=HID_Mouse_Inst, HID\VID_046D&PID_C00E
%HID\VID_046D&PID_C030.DeviceDesc%=HID_Mouse_Inst, HID\VID_046D&PID_C030
%HID\VID_046D&PID_C031.DeviceDesc%=HID_Mouse_Inst, HID\VID_046D&PID_C031
%HID\VID_046D&PID_C032.DeviceDesc%=HID_Mouse_Inst, HID\VID_046D&PID_C032
%HID\VID_046D&PID_C033.DeviceDesc%=HID_Mouse_Inst, HID\VID_046D&PID_C033
%HID\VID_046D&PID_C401.DeviceDesc%=HID_Mouse_Inst, HID\VID_046D&PID_C401
%HID\VID_046D&PID_C402.DeviceDesc%=HID_Mouse_Inst, HID\VID_046D&PID_C402
%HID\VID_046D&PID_C403.DeviceDesc%=HID_Mouse_Inst, HID\VID_046D&PID_C403
%HID\VID_046D&PID_C404.DeviceDesc%=HID_Mouse_Inst, HID\VID_046D&PID_C404
%HID\VID_046D&PID_C501.DeviceDesc%=HID_Mouse_Inst, HID\VID_046D&PID_C501
%HID\VID_046D&PID_C502&MI_01&Col01.DeviceDesc%=HID_Mouse_Inst, HID\VID_046D&PID_C502&MI_01&Col01
%HID\VID_046D&PID_C502&MI_01&Col04.DeviceDesc%=HID_Mouse_Inst, HID\VID_046D&PID_C502&MI_01&Col04


[CypressMfg.NTx86]
%HID\VID_04B4&PID_0001.DeviceDesc%=HID_Mouse_Inst,, HID\VID_04B4&PID_0001

[ELOMfg.NTx86]
%HID\VID_04E7&PID_0001.DeviceDesc%=HID_Mouse_Absolute_Inst,, HID\VID_04E7&PID_0001

[ChiconyMfg.NTx86]
%HID\VID_04F2&PID_0001&MI_01.DeviceDesc%=HID_Mouse_Inst,, HID\VID_04F2&PID_0001&MI_01

[NMBMfg.NTx86]
%HID\VID_0446&PID_6781&MI_01.DeviceDesc%=HID_Mouse_Inst,, HID\VID_0446&PID_6781&MI_01

[STSLMfg.NTx86]
%HID\VID_05FA&PID_3301&MI_01.DeviceDesc%=HID_Mouse_Inst,, HID\VID_05FA&PID_3301&MI_01
%HID\VID_05FA&PID_3303&MI_01.DeviceDesc%=HID_Mouse_Inst,, HID\VID_05FA&PID_3303&MI_01

[SUPERGATEMfg.NTx86]
%HID\VID_05d5&PID_6782&MI_01.DeviceDesc%=HID_Mouse_Inst,, HID\VID_05d5&PID_6782&MI_01

[KEYTRONICMfg.NTx86]
%HID\VID_03F9&PID_0102&MI_01.DeviceDesc%=HID_Mouse_Inst,, HID\VID_03F9&PID_0102&MI_01

[GeniusMfg.NTx86]
%HID\VID_0458&PID_0001.DeviceDesc%=HID_Mouse_Inst,, HID\VID_0458&PID_0001
%HID\VID_0458&PID_0002.DeviceDesc%=HID_Mouse_Inst,, HID\VID_0458&PID_0002
%HID\VID_0458&PID_0003.DeviceDesc%=HID_Mouse_Inst,, HID\VID_0458&PID_0003

[ItacMfg.NTx86]
%HID\VID_0431&PID_0100.DeviceDesc%=HID_Mouse_Inst,, HID\VID_0431&PID_0100

[SamsungMfg.NTx86]
%HID\VID_055D&PID_6781&MI_01.DeviceDesc%=HID_Mouse_Inst,, HID\VID_055D&PID_6781&MI_01

[ForwardMfg.NTx86]
%HID\VID_05BC&PID_0001&MI_01.DeviceDesc%=HID_Mouse_Inst,, HID\VID_05BC&PID_0001&MI_01

[SUHMfg.NTx86]
%HID\VID_0500&PID_0001&MI_01.DeviceDesc%=HID_Mouse_Inst,, HID\VID_0500&PID_0001&MI_01

[BTCMfg.NTx86]
%HID\VID_046E&PID_6782&MI_01&Col01.DeviceDesc%=HID_Mouse_Inst,, HID\VID_046E&PID_6782&MI_01&Col01

[FOCUSMfg.NTx86]
%HID\VID_05B2&PID_7200&MI_01.DeviceDesc%=HID_Mouse_Inst,, HID\VID_05B2&PID_7200&MI_01

[JINGMOLDMfg.NTx86]
%HID\VID_05AF&PID_9267&MI_01.DeviceDesc%=HID_Mouse_Inst,, HID\VID_05AF&PID_9267&MI_01

[MAXISWITCHMfg.NTx86]
%HID\VID_04C3&PID_1102&MI_01.DeviceDesc%=HID_Mouse_Inst,, HID\VID_04C3&PID_1102&MI_01
%HID\VID_04C3&PID_2102&MI_01.DeviceDesc%=HID_Mouse_Inst,, HID\VID_04C3&PID_2102&MI_01

[MONTEREYMfg.NTx86]
%HID\VID_0566&PID_2801&MI_01.DeviceDesc%=HID_Mouse_Inst,, HID\VID_0566&PID_2801&MI_01

[ORTEKMfg.NTx86]
%HID\VID_05A4&PID_9720&MI_01.DeviceDesc%=HID_Mouse_Inst,, HID\VID_05A4&PID_9720&MI_01

[PhilipsMfg.NTx86]
%HID\VID_0471&PID_0601&MI_01.DeviceDesc%=HID_Mouse_Inst,, HID\VID_0471&PID_0601&MI_01
%HID\VID_0471&PID_0402&MI_01.DeviceDesc%=HID_Mouse_Inst,, HID\VID_0471&PID_0402&MI_01

[AnchorMfg.NTx86]
%HID\VID_0605&PID_0001.DeviceDesc%=HID_Mouse_Inst,, HID\VID_0605&PID_0001

[NECMfg.NTx86]
%HID\VID_0409&PID_0014&MI_01.DeviceDesc%=HID_Mouse_Inst,, HID\VID_0409&PID_0014&MI_01
%HID\VID_0409&PID_0011&MI_01.DeviceDesc%=HID_Mouse_Inst,, HID\VID_0409&PID_0011&MI_01

[SOLIDYEARMfg.NTx86]
%HID\VID_060B&PID_2101&MI_01.DeviceDesc%=HID_Mouse_Inst,, HID\VID_060B&PID_2101&MI_01

[FUJITSUMfg.NTx86]
%HID\VID_0430&PID_0002&MI_01.DeviceDesc%=HID_Mouse_Inst,, HID\VID_0430&PID_0002&MI_01

[SEJINMfg.NTx86]
%HID\VID_0510&PID_E001.DeviceDesc%=HID_Mouse_Inst,, HID\VID_0510&PID_E001
%HID\VID_0510&PID_1000&MI_01.DeviceDesc%=HID_Mouse_Inst,, HID\VID_0510&PID_1000&MI_01

[DexinMfg.NTx86]
%HID\VID_05F2&PID_0010.DeviceDesc%=HID_Mouse_Inst,, HID\VID_05F2&PID_0010

[AcerMfg.NTx86]
%HID\VID_04A5&PID_0003&MI_01.DeviceDesc%=HID_Mouse_Inst,, HID\VID_04A5&PID_0003&MI_01

[SilitekMfg.NTx86]
%HID\VID_047B&PID_0002&MI_01.DeviceDesc%=HID_Mouse_Inst,, HID\VID_047B&PID_0002&MI_01

[QtronixMfg.NTx86]
%HID\VID_05C7&PID_1001.DeviceDesc%=HID_Mouse_Inst,, HID\VID_05C7&PID_1001

[AppleMfg.NTx86]
%HID\VID_05AC&PID_0304.DeviceDesc%=HID_AppleMightyMouse_Inst,, HID\VID_05AC&PID_0304

[MSMfg.NTx86]
; %*pnp0f00.DeviceDesc%=Bus_Inst,*PNP0F00                  ; MS bus mouse
%*pnp0f03.DeviceDesc%=PS2_Inst,*PNP0F03                  ; MS PS/2 mouse
%*pnp0f0b.DeviceDesc%=PS2_Inst,*PNP0F0B                  ; MS PS/2 mouse
%*pnp0f13.DeviceDesc%=PS2_Inst,*PNP0F13                  ; MS PS/2 mouse
%*pnp0f01.DeviceDesc%=Ser_Inst,*PNP0F01,SERENUM\PNP0F01  ; MS serial mouse
%*pnp0f09.DeviceDesc%=Ser_Inst,*PNP0F09,SERENUM\PNP0F09  ; MS serial BallPoint
%*pnp0f0f.DeviceDesc%=Ser_Inst,*PNP0F0F,SERENUM\PNP0F0F  ; MS serial BallPoint
%*pnp0f0a.DeviceDesc%=Ser_Inst,*PNP0F0A                  ; MS serial wheel mouse
%*pnp0f1e.DeviceDesc%=Ser_Inst,,*PNP0F1E,SERENUM\PNP0F1E ; MS serial EasyBall
%*SERENUM\MSH0001.DeviceDesc%=Ser_Inst,,SERENUM\MSH0001, MSH0001  ; MS serial wheelmouse
%*SERENUM\MSH0004.DeviceDesc%=Ser_Inst,,SERENUM\MSH0004, MSH0004  ; MS serial track ball mouse

%HID\Vid_045E&Pid_0009.DeviceDesc%=HID_Mouse_Inst,, HID\Vid_045E&Pid_0009
%HID\Vid_045E&Pid_001E.DeviceDesc%=HID_Mouse_Inst,, HID\Vid_045E&Pid_001E
%HID\Vid_045E&Pid_0023.DeviceDesc%=HID_Mouse_Inst,, HID\Vid_045E&Pid_0023
%HID\Vid_045E&Pid_0024.DeviceDesc%=HID_Mouse_Inst,, HID\Vid_045E&Pid_0024
%HID\Vid_045E&Pid_0025.DeviceDesc%=HID_Mouse_Inst,, HID\Vid_045E&Pid_0025
%HID\Vid_045E&Pid_0029.DeviceDesc%=HID_Mouse_Inst,, HID\Vid_045E&Pid_0029
%HID\Vid_045E&Pid_0039.DeviceDesc%=HID_Mouse_Inst,, HID\Vid_045E&Pid_0039
%HID\Vid_045E&Pid_0040.DeviceDesc%=HID_Mouse_Inst,, HID\Vid_045E&Pid_0040
%HID\Vid_045E&Pid_0047.DeviceDesc%=HID_Mouse_Inst,, HID\Vid_045E&Pid_0047
%HID\VID_045E&PID_0059.DeviceDesc%=HID_Mouse_Inst,, HID\VID_045E&PID_0059&Col01

; Generic Mouse
%HID.MouseDevice%=HID_Mouse_Inst,,HID_DEVICE_SYSTEM_MOUSE

; Install Sections
; ---------------------------------------------------------

; -------------- Mouse Class Driver install sections
[mouclass_CopyFiles]
mouclass.sys,,,0x100

[mouclass_Service_Inst]
DisplayName    = %mouclass.SvcDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\mouclass.sys
LoadOrderGroup = Pointer Class

[mouclass_EventLog_Inst]
AddReg = mouclass_EventLog_AddReg

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


; -------------- Serial Mouse
[Ser_Inst]
CopyFiles = Ser_CopyFiles, mouclass_CopyFiles

[Ser_Inst.MigrateToDevnode]
sermouse=NumberOfButtons,SampleRate

[Ser_Inst.HW]
AddReg = Ser_Inst.HW.AddReg

[Ser_Inst.HW.AddReg]
HKR,,"NumberOfButtons",0x00010003,2
HKR,,"SampleRate",0x00010003,40
; To turn off mouse removal detection, uncomment the following line
; HKR,,"WaitEventMask",0x00010001,0xFFFFFFFF

[Ser_Inst.Services]
AddService = sermouse, 0x00000002, sermouse_Service_Inst, sermouse_EventLog_Inst ; Port Driver
AddService = mouclass,, mouclass_Service_Inst, mouclass_EventLog_Inst            ; Class Driver

[Ser_CopyFiles]
sermouse.sys,,,0x100

[sermouse_Service_Inst]
DisplayName    = %sermouse.SvcDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\sermouse.sys
LoadOrderGroup = Pointer Port

[sermouse_EventLog_Inst]
AddReg = sermouse_EventLog_AddReg

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


; -------------- PS/2 Mouse
[PS2_Inst]
CopyFiles = PS2_CopyFiles, mouclass_CopyFiles
AddReg = PS2_Inst.AddReg

[PS2_Inst.AddReg]
HKR,,LocationInformationOverride,,%LocationOverride%

[PS2_Inst.MigrateToDevnode]
i8042prt=EnableWheelDetection,MouseDataQueueSize,MouseResolution,MouseSynchIn100ns,NumberOfButtons,SampleRate

[PS2_Inst.HW]
AddReg = PS2_Inst.HW.AddReg

[PS2_Inst.HW.AddReg]
HKR,,"EnableWheelDetection",0x00010003,2
HKR,,"MouseDataQueueSize",0x00010003,100
HKR,,"MouseResolution",0x00010003,3
HKR,,"MouseSynchIn100ns",0x00010003,20000000
; HKR,,"NumberOfButtons",0x00010003,2
HKR,,"SampleRate",0x00010003,100
HKR,,"WheelDetectionTimeout",0x00010003,1500
; If your mouse can't support init through the interrupt (ie it is too fast),
; uncomment the 2 lines below and comment out the MouseInitializedPolled set to 0 line
; HKR,,"DisableInitializePolledUI",0x00010001,1
; HKR,,"MouseInitializePolled",0x00010001,1
HKR,,"MouseInitializePolled",0x00010003,0

; global to i8042prt.sys (affects both keyboard and mouse)
HKLM,"SYSTEM\CurrentControlSet\Services\i8042prt\Parameters","PollingIterations",0x00010003,12000
HKLM,"SYSTEM\CurrentControlSet\Services\i8042prt\Parameters","PollingIterationsMaximum",0x00010003,12000
HKLM,"SYSTEM\CurrentControlSet\Services\i8042prt\Parameters","ResendIterations",0x00010003,3

[PS2_Inst.Services]
AddService = i8042prt, 0x00000002, i8042prt_Service_Inst, i8042prt_EventLog_Inst ; Port Driver
AddService = mouclass,, mouclass_Service_Inst, mouclass_EventLog_Inst            ; Class Driver

[PS2_CopyFiles]
i8042prt.sys,,,0x100

[PS2_Inst.NoInterruptInit]
AddReg = PS2_Inst.NoInterruptInit.AddReg

[PS2_Inst.NoInterruptInit.AddReg]
HKR,,"DisableInitializePolledUI",0x00010001,1
HKR,,"MouseInitializePolled",0x00010001,1

[PS2_Inst.NoInterruptInit.Bioses]
Disable=HINOTE ULTRA II

[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

[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

;
; This section is used during startup by the Windows NT Plug&Play Manager
; to simulate enumeration of the mouse based on information retrieved from
; ARC firmware/NTDETECT.
;
[LegacyXlate.DevId]
PS2_MOUSE                        = *PNP0F0E    ; Std PS/2 mouse      i8042prt
SERIAL_MOUSE                     = *PNP0F0C    ; Std serial mouse    sermouse
MICROSOFT_PS2_MOUSE              = *PNP0F03    ; MS PS/2 mouse       i8042prt
LOGITECH_PS2_MOUSE               = *PNP0F12    ; Logi PS/2 mouse     i8042prt
MICROSOFT_SERIAL_MOUSE           = *PNP0F01    ; MS serial mouse     sermouse
MICROSOFT_BALLPOINT_SERIAL_MOUSE = *PNP0F09    ; MS serial BallPoint sermouse
LOGITECH_SERIAL_MOUSE            = *PNP0F08    ; Logi serial mouse   sermouse

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

;=====================================================================

[HID_Mouse_Inst.NT]
Copyfiles = HID_Mouse_Inst.CopyFiles.NT

[HID_Mouse_Inst.NT.HW]
AddReg = HID_Mouse_Inst.AddReg.NT
DelReg = HID_Mouse_Inst.DelReg.NT

[HID_Mouse_Inst.AddReg.NT]
HKR,,"FlipFlopWheel",0x00010001,0
HKR,,"ForceAbsolute",0x00010001,0

[HID_Mouse_Inst.DelReg.NT]
HKR,,"HScrollPageOverride"
HKR,,"HScrollUsageOverride"
HKR,,"HScrollHighResolutionDisable"
HKR,,"VScrollPageOverride"
HKR,,"VScrollUsageOverride"
HKR,,"VScrollHighResolutionDisable"
HKR,,"FlipFlopHScroll"


[HID_Mouse_Inst.CopyFiles.NT]
mouhid.sys,,,0x100
mouclass.sys,,,0x100

[HID_Mouse_Inst.NT.Services]
AddService = mouhid,%SPSVCINST_ASSOCSERVICE%,MouHid_Service_Inst,MouHid_EventLog_Inst ; Port Driver
AddService = mouclass,, mouclass_Service_Inst, mouclass_EventLog_Inst            ; Class Driver

[MouHid_EventLog_Inst]
AddReg = MouHid_EventLog_AddReg

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

;=====================================================================

[HID_Mouse_Inst_WhFlip.NT]
Copyfiles = HID_Mouse_Inst.CopyFiles.NT

[HID_Mouse_Inst_WhFlip.NT.HW]
AddReg = HID_Mouse_Inst_WhFlip.AddReg.NT
DelReg = HID_Mouse_Inst.DelReg.NT

[HID_Mouse_Inst_WhFlip.AddReg.NT]
HKR,,"FlipFlopWheel",0x00010001,1
HKR,,"ForceAbsolute",0x00010001,0

[HID_Mouse_Inst_WhFlip.NT.Services]
AddService = mouhid,%SPSVCINST_ASSOCSERVICE%,MouHid_Service_Inst

;=====================================================================

[HID_Mouse_Absolute_Inst.NT]
Copyfiles = HID_Mouse_Inst.CopyFiles.NT

[HID_Mouse_Absolute_Inst.NT.HW]
AddReg = HID_Mouse_Inst.AddReg.NT
DelReg = HID_Mouse_Inst.DelReg.NT

[HID_Mouse_Absolute_Inst.AddReg.NT]
HKR,,"FlipFlopWheel",0x00010001,0
HKR,,"ForceAbsolute",0x00010001,1

[HID_Mouse_Absolute_Inst.CopyFiles.NT]
mouhid.sys,,,0x100
mouclass.sys,,,0x100

[HID_Mouse_Absolute_Inst.NT.Services]
AddService = mouhid,%SPSVCINST_ASSOCSERVICE%,MouHid_Service_Inst

;=================================================================================

[HID_AppleMightyMouse_Inst.NT]
Copyfiles = HID_Mouse_Inst.CopyFiles.NT

[HID_AppleMightyMouse_Inst.NT.HW]
AddReg = HID_AppleMightyMouse_Inst.AddReg.NT
DelReg = HID_AppleMightyMouse_Inst.DelReg.NT

[HID_AppleMightyMouse_Inst.AddReg.NT]
HKR,,"FlipFlopWheel",0x00010001,0
HKR,,"ForceAbsolute",0x00010001,0
HKR,,"HScrollPageOverride",0x00010001,0x01
HKR,,"HScrollUsageOverride",0x00010001,0x32
HKR,,"VScrollPageOverride",0x00010001,0x01
HKR,,"VScrollUsageOverride",0x00010001,0x38
HKR,,"FlipFlopHScroll",0x00010001,0x01

[HID_AppleMightyMouse_Inst.DelReg.NT]
HKR,,"HScrollHighResolutionDisable"
HKR,,"VScrollHighResolutionDisable"

[HID_AppleMightyMouse_Inst.NT.Services]
AddService = mouhid,%SPSVCINST_ASSOCSERVICE%,MouHid_Service_Inst

;=================================================================================

[MouHid_Service_Inst]
DisplayName    = %MOUHID.SvcDesc%
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = 3; %SERVICE_DEMAND_START%
ErrorControl   = %SERVICE_ERROR_IGNORE%
ServiceBinary  = %12%\mouhid.sys
LoadOrderGroup = Pointer Port
AddReg = MouHid_Service_Inst_AddReg

[MouHid_Service_Inst_AddReg]
HKR,"Parameters","UseOnlyMice",0x00010001,0
HKR,"Parameters","TreatAbsoluteAsRelative",0x00010001,0
HKR,"Parameters","TreatAbsolutePointerAsAbsolute",0x00010001,0

; Included by OEM / 3rd party INFs to install mouclass
[MouClass.Services]
AddService = mouclass,, mouclass_Service_Inst, mouclass_EventLog_Inst            ; Class Driver


[Strings]
;Localizable
i8042prt.SvcDesc = "i8042 Keyboard and PS/2 Mouse Port Driver"

;New string needed to cause update of MSMouse.inf_loc to prevent SFC errors
OsVersion = "Windows Vista SP1"

Provider = "Microsoft"
LocationOverride = "plugged into PS/2 mouse port"

; Mfg names

StdMfg  ="(Standard mouse types)"
MSMfg   ="Microsoft"
LogiMfg ="Logitech"
CypressMfg ="Cypress"
ELOMfg  ="ELO TouchSystems"
ChiconyMfg ="Chicony"
NMBMfg  = "NMB"
STSLMfg  = "STSL"
SUPERGATEMfg  = "SUPGERGATE"
BTCMfg  = "BTC"
FOCUSMfg = "Focus"
JINGMOLDMfg = "Jing Mold"
MAXISWITCHMfg = "Maxi Switch, Inc."
MONTEREYMfg = "Monterey"
ORTEKMfg = "Ortek"
KEYTRONICMfg = "Key Tronic"
GeniusMfg = "Genius"
ItacMfg = "ITAC Systems"
SamsungMfg = "Samsung"
ForwardMfg = "Forward"
SUHMfg = "SUH DART"
PhilipsMfg = "Philips"
AnchorMfg="Anchor"
SOLIDYEARMfg="Solid Year"
NEC="NEC"
FUJITSUMfg="Fujitsu"
SEJINMfg="Sejin"
DexinMfg="Dexin"
AcerMfg="Acer"
SilitekMfg="Silitek"
QtronixMfg="Qtronix"
AppleMfg="Apple"

; Device Names

*pnp0f01.DeviceDesc      = "Microsoft Serial Mouse"
*pnp0f03.DeviceDesc      = "Microsoft PS/2 Mouse"
*pnp0f09.DeviceDesc      = "Microsoft Serial BallPoint"
*pnp0f0a.DeviceDesc      = "Microsoft Serial IntelliMouse"
*pnp0f0b.DeviceDesc      = "Microsoft PS/2 Mouse"
*pnp0f0c.DeviceDesc      = "Standard Serial Mouse"
*pnp0f0e.DeviceDesc      = "Standard PS/2 Port Mouse"
*AUI0200.DeviceDesc      = "Standard PS/2 Port Mouse"
*pnp0f0f.DeviceDesc      = "Microsoft Serial BallPoint"
*pnp0f13.DeviceDesc      = "PS/2 Compatible Mouse"
*pnp0f1e.DeviceDesc      = "Microsoft Serial EasyBall"
*SERENUM\MSH0001.DeviceDesc = "Microsoft Serial IntelliMouse"
*SERENUM\MSH0004.DeviceDesc = "Microsoft Serial IntelliMouse Trackball"
SERIAL_MOUSE.DeviceDesc      = "Standard Serial Mouse"

*pnp0f12.DeviceDesc      = "Logitech PS/2 Port Mouse"

*pnp0f08.DeviceDesc      = "Logitech Serial Mouse"
SERENUM\LGI8001.DeviceDesc= "Logitech First/Pilot Mouse Serial (M34,M35,C43)"
SERENUM\LGI8002.DeviceDesc= "Other Logitech Mouse Serial"
SERENUM\LGI8003.DeviceDesc= "Logitech TrackMan Portable Serial"
SERENUM\LGI8005.DeviceDesc= "Logitech MouseMan Serial"
SERENUM\LGI8006.DeviceDesc= "Logitech MouseMan Serial"
SERENUM\LGI8007.DeviceDesc= "Other Logitech Mouse Serial"
SERENUM\LGI8008.DeviceDesc= "Logitech TrackMan Portable Serial"
SERENUM\LGI8009.DeviceDesc= "Other Logitech Mouse Serial"
SERENUM\LGI800A.DeviceDesc= "Logitech TrackMan Vista Serial"
SERENUM\LGI800B.DeviceDesc= "Logitech MouseMan Serial"
SERENUM\LGI800C.DeviceDesc= "Logitech MouseMan Serial"
SERENUM\LGI8011.DeviceDesc= "Other Logitech Mouse Serial"
SERENUM\LGI8012.DeviceDesc= "Logitech TrackMan Live! Serial"
SERENUM\LGI8013.DeviceDesc= "Logitech Cordless Mouse+ Serial"
SERENUM\LGI8032.DeviceDesc= "Logitech Cordless Desktop Serial"
SERENUM\LGI8033.DeviceDesc= "Logitech Cordless MouseMan Pro Serial"
SERENUM\LGI8048.DeviceDesc= "Logitech TrackMan Marble Serial"
SERENUM\LGI8049.DeviceDesc= "Logitech TrackMan Marble FX Serial"
SERENUM\LGI804B.DeviceDesc= "Logitech TrackMan Marble+ Serial"
SERENUM\LGI8050.DeviceDesc= "Logitech MouseMan+ Serial"
SERENUM\LGI8051.DeviceDesc= "Logitech First/Pilot Mouse+ Serial (C48)"


; Description of device also controlled by a shared driver

PS2_Inst.SharedDriverMsg = "keyboard port"

; Service Names

busmouse.SvcDesc = "Bus Adapter Mouse Driver"
sermouse.SvcDesc = "Serial Mouse Driver"
mouclass.SvcDesc = "Mouse Class Driver"
MOUHID.SvcDesc = "Mouse HID Driver"

; HID device IDs
HID\VID_045E&PID_0009.DeviceDesc="Microsoft USB IntelliMouse"
HID\VID_045E&PID_001E.DeviceDesc="Microsoft USB IntelliMouse Explorer"
HID\VID_045E&PID_0023.DeviceDesc="Microsoft USB Trackball Optical"
HID\VID_045E&PID_0024.DeviceDesc="Microsoft USB Trackball Explorer"
HID\VID_045E&PID_0025.DeviceDesc="Microsoft USB IntelliMouse with IntelliEye"
HID\VID_045E&PID_0029.DeviceDesc="Microsoft USB IntelliMouse Web"
HID\VID_045E&PID_0039.DeviceDesc="Microsoft USB IntelliMouse Optical"
HID\VID_045E&PID_0040.DeviceDesc="Microsoft USB Wheel Mouse Optical"
HID\VID_045E&PID_0047.DeviceDesc="Microsoft USB IntelliMouse Explorer 3.0"
HID\VID_045E&PID_0059.DeviceDesc="Microsoft USB Wireless IntelliMouse Explorer"
HID\VID_046D&PID_C000.DeviceDesc="Logitech USB First/Pilot Mouse"
HID\VID_046D&PID_C001.DeviceDesc="Logitech USB First/Pilot Mouse+"
HID\VID_046D&PID_C002.DeviceDesc="Logitech USB MouseMan Wheel"
HID\VID_046D&PID_C003.DeviceDesc="Logitech USB MouseMan"
HID\VID_046D&PID_C004.DeviceDesc="Logitech USB WingMan Gaming Mouse"
HID\VID_046D&PID_C005.DeviceDesc="Logitech USB WingMan Gaming Wheel Mouse"
HID\VID_046D&PID_C00B.DeviceDesc="Logitech USB MouseMan Wheel+"
HID\VID_046D&PID_C00C.DeviceDesc="Logitech USB WheelMouse"
HID\VID_046D&PID_C00D.DeviceDesc="Logitech USB MouseMan Wheel+"
HID\VID_046D&PID_C00E.DeviceDesc="Logitech USB Wheel Mouse"
HID\VID_046D&PID_C030.DeviceDesc="Logitech USB iFeel Mouse"
HID\VID_046D&PID_C031.DeviceDesc="Logitech USB iFeel Mouse+"
HID\VID_046D&PID_C032.DeviceDesc="Logitech USB iFeel MouseMan"
HID\VID_046D&PID_C033.DeviceDesc="Logitech USB iFeel MouseMan+"
HID\VID_046D&PID_C401.DeviceDesc="Logitech USB TrackMan Marble Wheel"
HID\VID_046D&PID_C402.DeviceDesc="Logitech USB Marble Mouse"
HID\VID_046D&PID_C403.DeviceDesc="Logitech USB Turbo TrackMan Marble FX"
HID\VID_046D&PID_C404.DeviceDesc="Logitech USB TrackMan Wheel"
HID\VID_046D&PID_C501.DeviceDesc="Logitech USB Cordless Mouse"
HID\VID_046D&PID_C502&MI_01&Col01.DeviceDesc="Logitech HID Cordless Mouse+"
HID\VID_046D&PID_C502&MI_01&Col04.DeviceDesc="Logitech HID Cordless Mouse+"
HID\VID_04B4&PID_0001.DeviceDesc="Cypress USB Mouse"
HID\VID_04E7&PID_0001.DeviceDesc="ELO TouchSystems USB Touchscreen"
HID\VID_0458&PID_0001.DeviceDesc="Genius USB Mouse"
HID\VID_0458&PID_0002.DeviceDesc="Genius USB Net Mouse Pro"
HID\VID_0458&PID_0003.DeviceDesc="Genius USB Wheel Mouse"
HID\VID_0446&PID_6781&MI_01.DeviceDesc="NMB USB Keyboard Mouse"
HID\VID_05FA&PID_3301&MI_01.DeviceDesc="STSL USB Keyboard Mouse"
HID\VID_05FA&PID_3303&MI_01.DeviceDesc="STSL USB Keyboard Mouse"
HID\VID_05d5&PID_6782&MI_01.DeviceDesc="SUPGERGATE USB Keyboard Mouse"
HID\VID_04F2&PID_0001&MI_01.DeviceDesc="Chicony USB Keyboard Mouse"
HID\VID_03F9&PID_0102&MI_01.DeviceDesc="Key Tronic USB Keyboard Mouse"
HID\VID_046E&PID_6782&MI_01&Col01.DeviceDesc="BTC USB Keyboard Mouse"
HID\VID_05B2&PID_7200&MI_01.DeviceDesc="Focus USB Keyboard Mouse"
HID\VID_05AF&PID_9267&MI_01.DeviceDesc="KB 9251B - 678 Mouse"
HID\VID_04C3&PID_1102&MI_01.DeviceDesc="Maxi Switch, Inc. #1102 Mouse"
HID\VID_04C3&PID_2102&MI_01.DeviceDesc="Maxi Switch, Inc. #2102 Mouse"
HID\VID_0566&PID_2801&MI_01.DeviceDesc="MIC USB K/B Mouse"
HID\VID_05A4&PID_9720&MI_01.DeviceDesc="Ortek USB Keyboard Mouse"
HID\VID_0431&PID_0100.DeviceDesc="Evolution USB Mouse-Trak by ITAC"
HID\VID_055D&PID_6781&MI_01.DeviceDesc="Samsung USB Keyboard Mouse"
HID\VID_05BC&PID_0001&MI_01.DeviceDesc="Forward USB K/B Mouse"
HID\VID_0500&PID_0001&MI_01.DeviceDesc="SUH DART USB Keyboard Mouse"
HID\VID_0471&PID_0601&MI_01.DeviceDesc="Philips USB Wireless Keyboard Mouse"
HID\VID_0471&PID_0402&MI_01.DeviceDesc="PS/2 Mouse on Philips Semiconductors CICT USB Keyboard"
HID\VID_0605&PID_0001.DeviceDesc="Anchor USB Mouse"
HID\VID_0409&PID_0014&MI_01.DeviceDesc="NEC 109 Japanese USB Keyboard Mouse"
HID\VID_0409&PID_0011&MI_01.DeviceDesc="NEC PC98 Series Layout USB Keyboard Mouse"
HID\VID_060B&PID_2101&MI_01.DeviceDesc="Solid Year USB Keyboard Mouse"
HID\VID_0430&PID_0002&MI_01.DeviceDesc="Fujitsu USB Composite Keyboard Mouse"
HID\VID_0510&PID_E001.DeviceDesc="Sejin USB Mouse"
HID\VID_0510&PID_1000&MI_01.DeviceDesc="Sejin USB Keyboard Mouse"
HID\VID_05F2&PID_0010.DeviceDesc="Dexin USB AQ Mouse"
HID\VID_04A5&PID_0003&MI_01.DeviceDesc= "API Generic USB K/B Mouse"
HID\VID_047B&PID_0002&MI_01.DeviceDesc="Silitek USB Keyboard Mouse"
HID\VID_05C7&PID_1001.DeviceDesc="Qtronix USB Mouse"
HID\VID_05AC&PID_0304.DeviceDesc="Apple Mighty Mouse"
HID.MouseDevice       = "HID-compliant mouse"

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

