; Copyright (c) 1997-1999 Microsoft Corporation ; [Version] Signature="$CHICAGO$" Class=HIDClass ClassGuid={745a17a0-74d3-11d0-b6fe-00a0c90f57da} ; Provider=%VENDOR% LayoutFile=layout.inf DriverVer=08/06/1999,5.00.2000.1 ; ; Layout.inf (etc.) list all files shipped with the operating system so the ; source description sections are only needed if other files are needed. ; ; In order to use IHV drivers, the SourceDisksNames section must list the ; disk(s) containing the drivers and the SourceDisksFiles section must list ; which disk number each file to be copied is found on. ; Disk number 99 is used to avoid a conflict with the disk numbers defined ; in layout.inf ; ; HidGame.Sys is the name of the standard analog game device driver so ; another name must be used for an IHV driver. NT will not load a driver ; compiled as HidGame.Sys and renamed as another so it must be compiled ; under it's final name. ; ; Files used in a driver installation need to be digitally signed otherwise ; installation may fail. See documentation elsewhere in the DDK regarding ; driver signing. ; ; [SourceDisksNames] ; 99=%DiskId%,, ; ; [SourceDisksFiles] ; hidgame.sys = 99 [DestinationDirs] CopyFilesSYS = 10,system32\drivers ;%SystemRoot%\system32\drivers DefaultDestDir = 10,system32\drivers CopyFilesDLL = 11 ;%SystemRoot%\system or system32 - 98 or Win2000 [ControlFlags] ExcludeFromSelect = GamePort\Joystick ExcludeFromSelect = GamePort\Gamepad ; Notes ; ; In order that the game controllers control panel can display the device ; name registry keys describing the device must be set up. In this sample ; these values are setup up in the Joystick.AddReg and Gamepad.AddReg ; sections. Clearly these values must be set up before the CPL can cause ; the PnP ID to be exposed. ; ; If no PnP ID match is found when a gameport device is exposed, the default ; driver will be matched. This allows most analog joysticks to be supported ; without an additional driver. Unfortunately, this means that a device ; which requires a driver must have its PnP ID matched or the default driver ; will be loaded. To avoid the user having to change the driver the INF ; containing the match may be copied into the INF directory in advance. ; ; To satisfy the two goals above, some form of preliminary setup is required. ; This could be a program, a batch file that runs an INF section or an INF ; with SetupClass=BASE and a DefaultInstall section. ; [Manufacturer] %VENDOR%=Vendor [Vendor] ; ; For each device the following must be defined: ; Device name - name seen in the Add New Hardware selection dialog ; Install section - section in this INF to be run to install the device ; PnP ID - ID which is matched by PnP when the device is detected ; This should not contain spaces and for Win98 compatibility ; should use the form GamePort\VID_9999&PID_9999. ; A PnP ID must be used or this device will be detected as ; always present and so loaded during boot even if the ; StartType of the service is SERVICE_DEMAND_START. ; ;Device Name Install Section PnP ID ; %Joystick%= Joystick.Inst, GamePort\VID_045E&PID_01FE %Gamepad%= Gamepad.Inst, GamePort\VID_045E&PID_01FF [Joystick.Inst] CopyFiles = CopyFilesSYS, CopyFilesDLL AddReg = Joystick.AddReg, AddReg.Vendor_Driver [Joystick.Inst.NT] CopyFiles = CopyFilesSYS, CopyFilesDLL AddReg = Joystick.AddReg [Joystick.AddReg] HKLM,%KEY_OEM%\VID_045E&PID_01FE,OEMName,,%Joystick% HKLM,%KEY_OEM%\VID_045E&PID_01FE,OEMData,1, 0, 0, 0, 0, 2, 0, 0, 0 HKLM,%KEY_OEM%\VID_045E&PID_01FE,OEMHardwareID,,"GamePort\VID_045E&PID_01FE" [Joystick.Inst.NT.Services] AddService = VendorJoystickEnabler,%SPSVCINST_ASSOCSERVICE%,Vendor_Service_Inst [Gamepad.Inst] CopyFiles = CopyFilesSYS, CopyFilesDLL AddReg = Gamepad.AddReg, AddReg.Vendor_Driver [Gamepad.Inst.NT] CopyFiles = CopyFilesSYS, CopyFilesDLL AddReg = Gamepad.AddReg [Gamepad.AddReg] HKLM,%KEY_OEM%\VID_045E&PID_01FF,OEMName,,%Gamepad% HKLM,%KEY_OEM%\VID_045E&PID_01FF,OEMData, 1, 20, 0, 0, 0, 2, 0, 0, 0 HKLM,%KEY_OEM%\VID_045E&PID_01FF,OEMHardwareID,,"GamePort\VID_045E&PID_01FF" [Gamepad.Inst.NT.Services] AddService = VendorJoystickEnabler,%SPSVCINST_ASSOCSERVICE%,Vendor_Service_Inst [CopyFilesSYS] HIDGame.sys HidClass.sys HidParse.sys [CopyFilesDLL] Hid.dll [AddReg.Vendor_Driver] HKR,,DevLoader,,*ntkern HKR,,NTMPDriver,,"hidgame.sys" [Vendor_Service_Inst] DisplayName = %SvcDesc% ServiceType = 1 ; SERVICE_KERNEL_DRIVER StartType = 3 ; SERVICE_DEMAND_START ErrorControl = 0 ; SERVICE_ERROR_IGNORE ServiceBinary = %10%\system32\drivers\hidgame.sys LoadOrderGroup = Extended Base [Strings] ; non localized strings SPSVCINST_ASSOCSERVICE= 0x00000002 KEY_OEM="SYSTEM\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\OEM" ;localized strings VENDOR = "Vendor Inc." ; DiskId = "Vendor Joystick Installation and Drivers Disk" SvcDesc = "Vendor: Game device driver" Joystick = "Vendor: Joystick" Gamepad = "Vendor: Gamepad"