;
; MSMOUSE.INF  -- This file contains descriptions of Mouse class devices
;
;
; *** Installs core mouse support files
; *** Includes drivers for detected & PnP devices
;
; Copyright (c) Microsoft Corporation.  All rights reserved.

;*****************************************
; Class section
;*****************************************

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

[SourceDisksNames]
3426=windows cd

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

[DestinationDirs]
DefaultDestDir = 12 ; DIRID_DRIVERS

;
; 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.
;
[ControlFlags]
SharedDriver=PS2_Inst,%SharedDriverMsg%

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

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

[StdMfg.NTamd64]
%*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.NTamd64]
%*pnp0f12.DeviceDesc%       = PS2_Inst,*PNP0F12                     ; Logitech PS/2 mouse

%*pnp0f08.DeviceDesc%          = Ser_Inst,*PNP0F08, SERENUM\PNP0F08    ; Logitech serial 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.NTamd64]
%HID\VID_04B4&PID_0001.DeviceDesc%=HID_Mouse_Inst,, HID\VID_04B4&PID_0001

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

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

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

[STSLMfg.NTamd64]
%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.NTamd64]
%HID\VID_05d5&PID_6782&MI_01.DeviceDesc%=HID_Mouse_Inst,, HID\VID_05d5&PID_6782&MI_01

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

[GeniusMfg.NTamd64]
%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.NTamd64]
%HID\VID_0431&PID_0100.DeviceDesc%=HID_Mouse_Inst,, HID\VID_0431&PID_0100

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

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

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

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

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

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

[MAXISWITCHMfg.NTamd64]
%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.NTamd64]
%HID\VID_0566&PID_2801&MI_01.DeviceDesc%=HID_Mouse_Inst,, HID\VID_0566&PID_2801&MI_01

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

[PhilipsMfg.NTamd64]
%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.NTamd64]
%HID\VID_0605&PID_0001.DeviceDesc%=HID_Mouse_Inst,, HID\VID_0605&PID_0001

[NECMfg.NTamd64]
%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.NTamd64]
%HID\VID_060B&PID_2101&MI_01.DeviceDesc%=HID_Mouse_Inst,, HID\VID_060B&PID_2101&MI_01

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

[SEJINMfg.NTamd64]
%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.NTamd64]
%HID\VID_05F2&PID_0010.DeviceDesc%=HID_Mouse_Inst,, HID\VID_05F2&PID_0010

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

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

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

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

[MSMfg.NTamd64]
%*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

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

; WhFlip Mouse for use with Include/Needs
%HID.WhFlip.MouseDevice%=HID_Mouse_Inst_WhFlip

; Mouse class driver for use with Include/Needs
%MouClass.DeviceDesc%=mouclass_Inst
%MouClass.DeviceDesc%=MouClass

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

;=====================================================================
; Standard Mouse Class
;=====================================================================
[mouclass_CopyFiles]
mouclass.sys,,,0x100

[mouclass_Inst]
CopyFiles = mouclass_CopyFiles

[mouclass_Inst.Services]
AddService = mouclass,, mouclass_Service_Inst, mouclass_EventLog_Inst

[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

[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

; Included by OEM / 3rd party INFs to install mouclass
;
[MouClass]
CopyFiles = mouclass_CopyFiles

[MouClass.Services]
AddService = mouclass,, mouclass_Service_Inst, mouclass_EventLog_Inst

;=====================================================================
; Serial Mouse
;=====================================================================

[Ser_Inst]
CopyFiles = Ser_CopyFiles, mouclass_CopyFiles

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

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

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

[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]
Include     = keyboard.inf
Needs       = i8042prt_Inst
CopyFiles   = mouclass_CopyFiles
AddReg      = PS2_Inst.AddReg
AddProperty = PS2_Inst.AddProp

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

[PS2_Inst.AddProp]
GenericDriverInstalled,,,,1

[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
; HKR,,"DisableInitializePolledUI",0x00010001,1 ; If mouse can't support init through the interrupt (ie it is too fast)
; HKR,,"MouseInitializePolled",0x00010001,1     ; uncomment this line and the one above and 
HKR,,"MouseInitializePolled",0x00010003,0       ; comment out the MouseInitializedPolled line

[PS2_Inst.Services]
Include    = keyboard.inf
Needs      = i8042prt_Inst.Services
AddService = mouclass,, mouclass_Service_Inst, mouclass_EventLog_Inst            ; Class Driver

; Unused. Keep around for compatibility with third-party INFs.
[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_Inst.AddReg

; Unused. Keep around for compatibility with third-party INFs.
[i8042prt_Service_Inst.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

; Unused. Keep around for compatibility with third-party INFs.
[i8042prt_EventLog_Inst]
AddReg = i8042prt_EventLog_AddReg

; Unused. Keep around for compatibility with third-party INFs.
[i8042prt_EventLog_AddReg]
HKR,,EventMessageFile,0x00020000,"%%SystemRoot%%\System32\IoLogMsg.dll;%%SystemRoot%%\System32\drivers\i8042prt.sys"
HKR,,TypesSupported,0x00010001,7

;===============================================
; HID Mouse
;===============================================
[HID_Mouse_Inst.NT]
Copyfiles = HID_Mouse_Inst.CopyFiles.NT

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

[HID_Mouse_Inst.AddReg.NT]
HKR,,"FlipFlopWheel",0x00010001,0
HKR,,"ForceAbsolute",0x00010001,0
HKR,,"HScrollPageOverride",0x00010001,0             ; default value
HKR,,"HScrollUsageOverride",0x00010001,0            ; default value
HKR,,"HScrollHighResolutionDisable",0x00010001,0    ; default value
HKR,,"VScrollPageOverride",0x00010001,0             ; default value
HKR,,"VScrollUsageOverride",0x00010001,0            ; default value
HKR,,"VScrollHighResolutionDisable",0x00010001,0    ; default value
HKR,,"FlipFlopHScroll",0x00010001,0                 ; default value

[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
AddService = mouclass,, mouclass_Service_Inst, mouclass_EventLog_Inst

[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

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

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

;===============================================
; WhFlip Mouse (HID)
;===============================================
[HID_Mouse_Inst_WhFlip.NT]
Copyfiles = HID_Mouse_Inst.CopyFiles.NT

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

[HID_Mouse_Inst_WhFlip.AddReg.NT]
HKR,,"FlipFlopWheel",0x00010001,1
HKR,,"ForceAbsolute",0x00010001,0
HKR,,"HScrollPageOverride",0x00010001,0
HKR,,"HScrollUsageOverride",0x00010001,0
HKR,,"HScrollHighResolutionDisable",0x00010001,0
HKR,,"VScrollPageOverride",0x00010001,0
HKR,,"VScrollUsageOverride",0x00010001,0
HKR,,"VScrollHighResolutionDisable",0x00010001,0
HKR,,"FlipFlopHScroll",0x00010001,0

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

;===============================================
; Absolute Mouse (HID)
;===============================================
[HID_Mouse_Absolute_Inst.NT]
Copyfiles = HID_Mouse_Absolute_Inst.CopyFiles.NT

[HID_Mouse_Absolute_Inst.NT.HW]
AddReg = HID_Mouse_Absolute_Inst.AddReg.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

;===============================================
; Apple Mighty Mouse (HID)
;===============================================
[HID_AppleMightyMouse_Inst.NT]
Copyfiles = HID_Mouse_Inst.CopyFiles.NT

[HID_AppleMightyMouse_Inst.NT.HW]
AddReg = HID_AppleMightyMouse_Inst.AddReg.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
HKR,,"HScrollHighResolutionDisable",0x00010001,0
HKR,,"VScrollHighResolutionDisable",0x00010001,0

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

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

[Strings]

;Localizable
;
MSFT                    = "Microsoft"
LocationOverride        = "plugged into PS/2 mouse port"
SharedDriverMsg         = "PS/2 keyboard port"

; Service Names
;
sermouse.SvcDesc        = "Serial Mouse Driver"
i8042prt.SvcDesc        = "PS/2 Keyboard and Mouse Port Driver"
mouclass.SvcDesc        = "Mouse Class Driver"
MOUHID.SvcDesc          = "Mouse HID Driver"

; Manufacturer 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"

; Standard Device IDs
;
*pnp0f03.DeviceDesc      = "Microsoft PS/2 Mouse"
*pnp0f0b.DeviceDesc      = "Microsoft PS/2 Mouse"
*pnp0f0e.DeviceDesc      = "Standard PS/2 Port Mouse"
*AUI0200.DeviceDesc      = "Standard PS/2 Port Mouse"
*pnp0f13.DeviceDesc      = "PS/2 Compatible Mouse"
*pnp0f12.DeviceDesc      = "Logitech PS/2 Port Mouse"
*pnp0f01.DeviceDesc            = "Microsoft Serial Mouse"
*pnp0f09.DeviceDesc            = "Microsoft Serial BallPoint"
*pnp0f0a.DeviceDesc            = "Microsoft Serial IntelliMouse"
*pnp0f0c.DeviceDesc            = "Standard Serial Mouse"
*pnp0f0f.DeviceDesc            = "Microsoft Serial BallPoint"
*pnp0f1e.DeviceDesc            = "Microsoft Serial EasyBall"
*SERENUM\MSH0001.DeviceDesc    = "Microsoft Serial IntelliMouse"
*SERENUM\MSH0004.DeviceDesc    = "Microsoft Serial IntelliMouse Trackball"
SERIAL_MOUSE.DeviceDesc        = "Standard Serial 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)"

; 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"
HID.WhFlip.MouseDevice = "HID-compliant mouse (WhFlip)"
MouClass.DeviceDesc    = "Mouse Class Device"

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