;; WmVirHid.inf
;; Logitech Virtual HID Devices INF file
;;
;; Part of Logitech Gaming Software
;;
;; Copyright 2001-2009 Logitech. All rights reserved.

[Version]
Signature="$CHICAGO$"
Class=HIDClass
ClassGuid={745a17a0-74d3-11d0-b6fe-00a0c90f57da}
Provider=%Vendor%
DriverVer=04/27/2010, 5.09.129.0
CatalogFile=WmVirHid.cat

[SourceDisksNames]
55=%DiskDesc%,,,

[SourceDisksFiles]
WmVirHid.sys=55
WmJoyFrc.dll=55

[DestinationDirs]
DefaultDestDir = 10,system32\drivers
WmVirHid_Device.CopyFilesSYS  = 10,system32\drivers
WmJoyFrc.Copy.DLL = 11    ;%SystemRoot%\system32

[ControlFlags]
ExcludeFromSelect = *

[Manufacturer]
%StdMfg%=Standard

[Standard]
%WmVirHidDevice.DeviceDesc%          = WmVirHid_Device, LogiDevice\WmVirtualDevice
%LogiDevice\G940Joystick.DeviceName% = WmVirHid_MazJ,   LogiDevice\VID_046D&PID_C2A8
%LogiDevice\G940Throttle.DeviceName% = WmVirHid_MazT,   LogiDevice\VID_046D&PID_C2A9
%LogiDevice\G940Pedals.DeviceName%   = WmVirHid_MazP,   LogiDevice\VID_046D&PID_C2AA

[WmVirHid_MazJ]
CopyFiles=WmVirHid_Device.CopyFilesSYS,WmJoyFrc.Copy.DLL
AddReg=WmVirHid_MazJ.AddReg, WmJoy.WmJoyFrcDLL.AddReg

[WmVirHid_MazJ.Services]
AddService = WmVirHid, 0x00000002, Logi_Virtual_Device_Service_Inst

[WmJoyFrc.Copy.DLL]
WmJoyFrc.dll


[WmJoy.WmJoyFrcDLL.AddReg]
HKCR,CLSID\%CLSID_WmFrcDLL_Config%,,,%CLSID_WmFrcDLL_Config.Desc%
HKCR,CLSID\%CLSID_WmFrcDLL_Config%\InProcServer32,,,%11%\WmJoyFrc.dll
HKCR,CLSID\%CLSID_WmFrcDLL_Config%\InProcServer32,ThreadingModel,,"Apartment"

[WmVirHid_MazJ.AddReg]
HKCR,CLSID\%CLSID_MAZ_FF%,,,%CLSID_WMFF.Desc%
HKCR,CLSID\%CLSID_MAZ_FF%\InProcServer32,,,%11%\WmJoyFrc.dll
HKCR,CLSID\%CLSID_MAZ_FF%\InProcServer32,ThreadingModel,,"Both"
HKLM,%MAZJ%,OEMName,,%LogiDevice\VID_046D&PID_C2A8.DeviceName%
HKLM,%MAZJ%,OEMData,1,03,00,88,11,09,00,00,00
HKLM,%MAZJ%\Axes\0,,,%XAX%
HKLM,%MAZJ%\Axes\0,Attributes,1,01,81,00,00
HKLM,%MAZJ%\Axes\0,FFAttributes,1,0A,00,00,00,00,01,00,00
HKLM,%MAZJ%\Axes\1,,,%YAX%
HKLM,%MAZJ%\Axes\1,Attributes,1,01,81,00,00
HKLM,%MAZJ%\Axes\1,FFAttributes,1,0A,00,00,00,00,01,00,00
HKLM,%MAZJ%\Axes\2,,,%MINIY%
HKLM,%MAZJ%\Axes\3,,,%TRIM2%
HKLM,%MAZJ%\Axes\4,,,%TRIM3%
HKLM,%MAZJ%\Axes\5,,,%TRIM1%
HKLM,%MAZJ%\Axes\6,,,%MINIX%
HKLM,%MAZJ%\Buttons\0,Attributes,1,02,80,00,00
HKLM,%MAZJ%\Buttons\1,Attributes,1,02,80,00,00
HKLM,%MAZJ%\Buttons\2,Attributes,1,02,80,00,00
HKLM,%MAZJ%\Buttons\3,Attributes,1,02,80,00,00
HKLM,%MAZJ%\Buttons\4,Attributes,1,02,80,00,00
HKLM,%MAZJ%\Buttons\5,Attributes,1,02,80,00,00
HKLM,%MAZJ%\Buttons\6,Attributes,1,02,80,00,00
HKLM,%MAZJ%\Buttons\7,Attributes,1,02,80,00,00
HKLM,%MAZJ%\Buttons\8,Attributes,1,02,80,00,00
HKLM,%MAZJ%\OEMForceFeedback,Attributes,1,00,00,00,00,E8,03,00,00,E8,03,00,00
HKLM,%MAZJ%\OEMForceFeedback,CLSID,,"%CLSID_MAZ_FF%"
HKLM,%MAZJFF%\%F_CONST%,,0,%FN_CONST%
HKLM,%MAZJFF%\%F_CONST%,Attributes,1,0,0,0,0,1,86,0,0,ED,3,0,0,ED,3,0,0,30,0,0,0
HKLM,%MAZJFF%\%F_RAMP%,,0,%FN_RAMP%
HKLM,%MAZJFF%\%F_RAMP%,Attributes,1,1,0,0,0,2,86,0,0,EF,3,0,0,EF,3,0,0,30,0,0,0
HKLM,%MAZJFF%\%F_SQUARE%,,0,%FN_SQUARE%
HKLM,%MAZJFF%\%F_SQUARE%,Attributes,1,2,0,0,0,3,86,0,0,EF,3,0,0,EF,3,0,0,30,0,0,0
HKLM,%MAZJFF%\%F_SINE%,,0,%FN_SINE%
HKLM,%MAZJFF%\%F_SINE%,Attributes,1,3,0,0,0,3,86,0,0,EF,3,0,0,EF,3,0,0,30,0,0,0
HKLM,%MAZJFF%\%F_TRI%,,0,%FN_TRI%
HKLM,%MAZJFF%\%F_TRI%,Attributes,1,4,0,0,0,3,86,0,0,EF,3,0,0,EF,3,0,0,30,0,0,0
HKLM,%MAZJFF%\%F_SAWUP%,,0,%FN_SAWUP%
HKLM,%MAZJFF%\%F_SAWUP%,Attributes,1,5,0,0,0,3,86,0,0,EF,3,0,0,EF,3,0,0,30,0,0,0
HKLM,%MAZJFF%\%F_SAWDN%,,0,%FN_SAWDN%
HKLM,%MAZJFF%\%F_SAWDN%,Attributes,1,6,0,0,0,3,86,0,0,EF,3,0,0,EF,3,0,0,30,0,0,0
HKLM,%MAZJFF%\%F_SPRING%,,0,%FN_SPRING%
HKLM,%MAZJFF%\%F_SPRING%,Attributes,1,7,0,0,0,4,D8,0,0,6D,3,0,0,6D,3,0,0,30,0,0,0
HKLM,%MAZJFF%\%F_DAMP%,,0,%FN_DAMP%
HKLM,%MAZJFF%\%F_DAMP%,Attributes,1,8,0,0,0,4,D8,0,0,6D,3,0,0,6D,3,0,0,30,0,0,0
HKLM,%MAZJFF%\%F_INERT%,,0,%FN_INERT%
HKLM,%MAZJFF%\%F_INERT%,Attributes,1,9,0,0,0,4,D8,0,0,6D,3,0,0,6D,3,0,0,30,0,0,0
HKLM,%MAZJFF%\%F_FRIC%,,0,%FN_FRIC%
HKLM,%MAZJFF%\%F_FRIC%,Attributes,1,a,0,0,0,4,D8,0,0,6D,3,0,0,6D,3,0,0,30,0,0,0
HKLM,%MAZJFF%\%F_CUST%,,0,%FN_CUST%
HKLM,%MAZJFF%\%F_CUST%,Attributes,1,0,1,0,0,5,86,0,0,EF,3,0,0,EF,3,0,0,30,0,0,0

[WmVirHid_Device]
CopyFiles=WmVirHid_Device.CopyFilesSYS

[WmVirHid_Device.CopyFilesSYS]
WmVirHid.sys

[WmVirHid_Device.Services]
AddService = WmVirHid, 0x00000002, Logi_Virtual_Device_Service_Inst

[WmVirHid_MazT]
CopyFiles=WmVirHid_MazT.CopyFilesSYS
AddReg=WmVirHid_MazT.AddReg

[WmVirHid_MazT.CopyFilesSYS]
WmVirHid.sys

[WmVirHid_MazT.Services]
AddService = WmVirHid, 0x00000002, Logi_Virtual_Device_Service_Inst

[WmVirHid_MazP]
CopyFiles=WmVirHid_MazP.CopyFilesSYS
AddReg=WmVirHid_MazP.AddReg

[WmVirHid_MazP.CopyFilesSYS]
WmVirHid.sys

[WmVirHid_MazP.Services]
AddService = WmVirHid, 0x00000002, Logi_Virtual_Device_Service_Inst

[Logi_Virtual_Device_Service_Inst]
DisplayName    = %WmVirHid.SVCDESC%
ServiceType    = 1 ; SERVICE_KERNEL_DRIVER
StartType      = 3 ; SERVICE_DEMAND_START 
ErrorControl   = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary  = %10%\system32\drivers\WmVirHid.sys
LoadOrderGroup = Extended Base

[WmVirHid_MazT.AddReg]
HKLM,%LogiDevice.G940Throttle%,OEMName,,%LogiDevice\G940Throttle.DeviceName%
HKLM,%LogiDevice.G940Throttle%,OEMData,1,03,00,00,11,0c,00,00,00
HKLM,%LogiDevice.G940Throttle%\Axes\0,,,%TAX1%
;HKLM,%LogiDevice.G940Throttle%\Axes\0,Attributes,1,01,81,00,00
HKLM,%LogiDevice.G940Throttle%\Axes\1,,,%TAX2%
;HKLM,%LogiDevice.G940Throttle%\Axes\1,Attributes,1,01,81,00,00
HKLM,%LogiDevice.G940Throttle%\Axes\2,,,%R1AX%
HKLM,%LogiDevice.G940Throttle%\Axes\3,,,%R2AX%
HKLM,%LogiDevice.G940Throttle%\Buttons\0,Attributes,1,02,80,00,00
HKLM,%LogiDevice.G940Throttle%\Buttons\1,Attributes,1,02,80,00,00
HKLM,%LogiDevice.G940Throttle%\Buttons\2,Attributes,1,02,80,00,00
HKLM,%LogiDevice.G940Throttle%\Buttons\3,Attributes,1,02,80,00,00
HKLM,%LogiDevice.G940Throttle%\Buttons\4,Attributes,1,02,80,00,00
HKLM,%LogiDevice.G940Throttle%\Buttons\5,Attributes,1,02,80,00,00
HKLM,%LogiDevice.G940Throttle%\Buttons\6,Attributes,1,02,80,00,00
HKLM,%LogiDevice.G940Throttle%\Buttons\7,Attributes,1,02,80,00,00
HKLM,%LogiDevice.G940Throttle%\Buttons\8,Attributes,1,02,80,00,00
HKLM,%LogiDevice.G940Throttle%\Buttons\9,Attributes,1,02,80,00,00
HKLM,%LogiDevice.G940Throttle%\Buttons\10,Attributes,1,02,80,00,00
HKLM,%LogiDevice.G940Throttle%\Buttons\11,Attributes,1,02,80,00,00

[WmVirHid_MazP.AddReg]
HKLM,%LogiDevice.G940Pedals%,OEMName,,%LogiDevice\G940Pedals.DeviceName%
HKLM,%LogiDevice.G940Pedals%,OEMData,1,00,00,08,10,01,00,00,00
HKLM,%LogiDevice.G940Pedals%\Axes\0,,,%TBAX1%
;HKLM,%LogiDevice.G940Pedals%\Axes\0,Attributes,1,01,81,00,00
HKLM,%LogiDevice.G940Pedals%\Axes\1,,,%TBAX2%
;HKLM,%LogiDevice.G940Pedals%\Axes\1,Attributes,1,01,81,00,00
HKLM,%LogiDevice.G940Pedals%\Axes\5,,,%RAX%

[Strings]
Vendor = "Logitech"
DiskDesc="Logitech Gaming Software"
StdMfg = "(Standard system devices)"

WmVirHidDevice.DeviceDesc = "Logitech Virtual Hid Device"
WmVirHid.SVCDESC = "Logitech Virtual Hid Device Driver"

LogiDevice\VID_046D&PID_C2A8.DeviceName  = "Logitech G940 Joystick"
LogiDevice\G940Joystick.DeviceName  = "Logitech G940 Joystick"
LogiDevice\G940Throttle.DeviceName  = "Logitech G940 Throttle"
LogiDevice\G940Pedals.DeviceName    = "Logitech G940 Pedals"

MAZJ                                = "System\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\OEM\VID_046D&PID_C2A8"
MAZJFF                              = "System\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\OEM\VID_046D&PID_C2A8\OEMForceFeedback\Effects"
LogiDevice.G940Throttle             = "System\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\OEM\VID_046D&PID_C2A9"
LogiDevice.G940Pedals               = "System\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\OEM\VID_046D&PID_C2AA"

CLSID_WmFrcDLL_Config               = "{60150902-C4AE-11D1-B59B-00A0C9971EFC}"
CLSID_MAZ_FF                        = "{8D533A50-7A5F-11D3-8297-0050DA1A72D3}"
CLSID_WmFrcDLL_Config.Desc          = "Logitech WingMan FF Configuration DLL"
CLSID_WMFF.Desc	                    = "Logitech WingMan FF DLL"

F_CONST="{13541C20-8E33-11D0-9AD0-00A0C9A06E35}"
FN_CONST="Constant"
F_RAMP="{13541C21-8E33-11D0-9AD0-00A0C9A06E35}"
FN_RAMP="Ramp Force"
F_SQUARE="{13541C22-8E33-11D0-9AD0-00A0C9A06E35}"
FN_SQUARE="Square Wave"
F_SINE="{13541C23-8E33-11D0-9AD0-00A0C9A06E35}"
FN_SINE="Sine Wave"
F_TRI="{13541C24-8E33-11D0-9AD0-00A0C9A06E35}"
FN_TRI="Triangle Wave"
F_SAWUP="{13541C25-8E33-11D0-9AD0-00A0C9A06E35}"
FN_SAWUP="Sawtooth Up Wave"
F_SAWDN="{13541C26-8E33-11D0-9AD0-00A0C9A06E35}"
FN_SAWDN="Sawtooth Down Wave"
F_SPRING="{13541C27-8E33-11D0-9AD0-00A0C9A06E35}"
FN_SPRING="Spring"
F_DAMP="{13541C28-8E33-11D0-9AD0-00A0C9A06E35}"
FN_DAMP="Damper"
F_INERT="{13541C29-8E33-11D0-9AD0-00A0C9A06E35}"
FN_INERT="Inertia"
F_FRIC="{13541C2A-8E33-11D0-9AD0-00A0C9A06E35}"
FN_FRIC="Friction"
F_CUST="{13541C2B-8E33-11D0-9AD0-00A0C9A06E35}"
FN_CUST="CustomForce"

XAX="X axis"
YAX="Y axis"
TRIM1="Trim1"
TRIM2="Trim2"
TRIM3="Trim3"
MINIX="MiniX"
MINIY="MiniY"
TAX1="Throttle 1"
TAX2="Throttle 2"
R1AX="R1"
R2AX="R2"
RAX="Rudder"
TBAX1="Toe Brake 1"
TBAX2="Toe Brake 2"

[Strings.0411]
Vendor = "Logicool"
DiskDesc="Logicool Gaming Software"
StdMfg = "(Standard system devices)"

WmVirHidDevice.DeviceDesc = "Logicool Virtual Hid Device"
WmVirHid.SVCDESC = "Logicool Virtual Hid Device Driver"

LogiDevice\VID_046D&PID_C2A8.DeviceName  = "Logicool G940 Joystick"
LogiDevice\G940Joystick.DeviceName  = "Logicool G940 Joystick"
LogiDevice\G940Throttle.DeviceName  = "Logicool G940 Throttle"
LogiDevice\G940Pedals.DeviceName    = "Logicool G940 Pedals"

MAZJ                                = "System\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\OEM\VID_046D&PID_C2A8"
MAZJFF                              = "System\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\OEM\VID_046D&PID_C2A8\OEMForceFeedback\Effects"
LogiDevice.G940Throttle = "System\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\OEM\VID_046D&PID_C2A9"
LogiDevice.G940Pedals   = "System\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\OEM\VID_046D&PID_C2AA"

CLSID_WmFrcDLL_Config               = "{60150902-C4AE-11D1-B59B-00A0C9971EFC}"
CLSID_MAZ_FF                        = "{8D533A50-7A5F-11D3-8297-0050DA1A72D3}"
CLSID_WmFrcDLL_Config.Desc          = "Logicool WingMan FF Configuration DLL"
CLSID_WMFF.Desc	                    = "Logicool WingMan FF DLL"

F_CONST="{13541C20-8E33-11D0-9AD0-00A0C9A06E35}"
FN_CONST="Constant"
F_RAMP="{13541C21-8E33-11D0-9AD0-00A0C9A06E35}"
FN_RAMP="Ramp Force"
F_SQUARE="{13541C22-8E33-11D0-9AD0-00A0C9A06E35}"
FN_SQUARE="Square Wave"
F_SINE="{13541C23-8E33-11D0-9AD0-00A0C9A06E35}"
FN_SINE="Sine Wave"
F_TRI="{13541C24-8E33-11D0-9AD0-00A0C9A06E35}"
FN_TRI="Triangle Wave"
F_SAWUP="{13541C25-8E33-11D0-9AD0-00A0C9A06E35}"
FN_SAWUP="Sawtooth Up Wave"
F_SAWDN="{13541C26-8E33-11D0-9AD0-00A0C9A06E35}"
FN_SAWDN="Sawtooth Down Wave"
F_SPRING="{13541C27-8E33-11D0-9AD0-00A0C9A06E35}"
FN_SPRING="Spring"
F_DAMP="{13541C28-8E33-11D0-9AD0-00A0C9A06E35}"
FN_DAMP="Damper"
F_INERT="{13541C29-8E33-11D0-9AD0-00A0C9A06E35}"
FN_INERT="Inertia"
F_FRIC="{13541C2A-8E33-11D0-9AD0-00A0C9A06E35}"
FN_FRIC="Friction"
F_CUST="{13541C2B-8E33-11D0-9AD0-00A0C9A06E35}"
FN_CUST="CustomForce"

XAX="X axis"
YAX="Y axis"
TRIM1="Trim1"
TRIM2="Trim2"
TRIM3="Trim3"
MINIX="MiniX"
MINIY="MiniY"
TAX1="Throttle 1"
TAX2="Throttle 2"
R1AX="R1"
R2AX="R2"
RAX="Rudder"
TBAX1="Toe Brake 1"
TBAX2="Toe Brake 2"
