;
; Installation inf file for DiBcom Infrared receiver driver
; Copyright 2005, DiBcom SA

[Version]
Signature   = "$CHICAGO$"
Class       = HIDClass
ClassGuid   = {745a17a0-74d3-11d0-b6fe-00a0c90f57da}
Provider    = %ProviderName%
DriverVer   = 11/20/2006,2.0.0.1
CatalogFile = modrc.cat

;=====================================================================
[SourceDisksNames]
1 = %INSTALLATION_DISK%,,,,,

[SourceDisksFiles]
modrc.sys          = 1,,
ModrcCoInstall.dll = 1,,

[DestinationDirs]
MODRC_CopyFilesSys = 12,
MODRC_CopyFilesCoInst = 11,

[ControlFlags]
ExcludeFromSelect = *

;=====================================================================
[Manufacturer]
%MfgName% = WINFAST,NTamd64

[WINFAST]
%MODRC_DeviceDesc% = MODRC, HID\VID_0413&PID_6F00&FN_01 ; LR6025(DIB7700) with IR support
%MODRC_DeviceDesc% = MODRC, HID\VID_0413&PID_602C&FN_01 ; LR602C(DIB7700) with IR support
%MODRC_DeviceDesc% = MODRC, HID\VID_0413&PID_6644&FN_01 ; LR6644(DIB7700) with IR support

[WINFAST.NTamd64]
%MODRC_DeviceDesc% = MODRC, HID\VID_0413&PID_6F00&FN_01 ; LR6025(DIB7700) with IR support
%MODRC_DeviceDesc% = MODRC, HID\VID_0413&PID_602C&FN_01 ; LR602C(DIB7700) with IR support
%MODRC_DeviceDesc% = MODRC, HID\VID_0413&PID_6644&FN_01 ; LR6644(DIB7700) with IR support


;=====================================================================
[MODRC.NT]
CopyFiles = MODRC_CopyFilesSys
AddReg    = MODRC_AddReg

[MODRC.NT.Services]
AddService = MODRC,0x00000002,MODRC_ServiceInstall,,,

[MODRC.NT.HW]
AddReg = MODRC_HW_AddReg

[MODRC.NT.CoInstallers]
CopyFiles = MODRC_CopyFilesCoInst
AddReg = MODRC_CoInstaller_AddReg

[MODRC_CopyFilesCoInst]
ModrcCoInstall.dll

[MODRC_CoInstaller_AddReg]
HKR,,CoInstallers32,0x00010000,"ModrcCoInstall.dll,"

[MODRC_CopyFilesSys]
modrc.sys

[MODRC_AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,modrc.sys

[MODRC_ServiceInstall]
DisplayName   = %MODRC_FriendlyName%
ServiceType   = %SERVICE_KERNEL_DRIVER%
StartType     = %SERVICE_DEMAND_START%
ErrorControl  = %SERVICE_ERROR_NORMAL%
ServiceBinary = %12%\modrc.sys

[MODRC_HW_AddReg]
HKR,,"ReportDescriptor",0x00000001,\
    \ ; Consumer Controls
        0x05,   0x0c,       \ ; Usage Page (Consumer Controls),
        0x09,   0x01,       \ ; Usage (Consumer Control),
        0xA1,   0x01,       \ ; Collection (Application),
        0x85,   0x01,       \ ;  Report Id (1)
        0x19,   0x00,       \ ;  Usage Minimum (0),
        0x2a,   0x3c, 0x02, \ ;  Usage Maximum (23c)  
        0x15,   0x00,       \ ;  Logical Minimum (0),
        0x26,   0x3c, 0x02, \ ;  Logical Maximum (23c)  
        0x95,   0x01,       \ ;  Report Count (1),
        0x75,   0x10,       \ ;  Report Size (16),
        0x81,   0x00,       \ ;  Input (Data, Array), 
        0xC0,               \ ; End Collection 
    \ ; MS Vendor controls
        0x06,   0xbc, 0xff, \ ; Usage Page (Vendor 0xffbc),
        0x09,   0x88,       \ ; Usage (88),
        0xa1,   0x01,       \ ; Collection (Application),
        0x85,   0x02,       \ ;  Report Id (2)
        0x19,   0x01,       \ ;  Usage Minimum (0x01),
        0x29,   0xff,       \ ;  Usage Maximum (0xff),
        0x15,   0x00,       \ ;  Logical Minimum (0),
        0x25,   0x01,       \ ;  Logical Maximum(1),
        0x95,   0x01,       \ ;  Report Count (1),
        0x75,   0x08,       \ ;  Report Size (8),
        0x81,   0x00,       \ ;  Input (Data, Array), 
        0xc0,               \ ; End Collection
    \ ; Standby button
        0x05,   0x01,       \ ; Usage Page (Generic Desktop),
        0x09,   0x80,       \ ; Usage (System Control),
        0xa1,   0x01,       \ ; Collection (Application),
        0x85,   0x03,       \ ;  Report Id (3)
        0x19,   0x81,       \ ;  Usage Minimum (0x81),
        0x29,   0x83,       \ ;  Usage Maximum (0x83),
        0x25,   0x01,       \ ;  Logical Maximum(1),
        0x75,   0x01,       \ ;  Report Size (1),
        0x95,   0x03,       \ ;  Report Count (3),
        0x81,   0x02,       \ ;  Input
        0x75,   0x01,       \ ;  Report Size (1),   
        0x95,   0x05,       \ ;  Report Count (5),
        0x81,   0x01,       \ ;  Input (Constant),
        0xC0,               \ ; End Collection
    \ ; Keyboard
        0x05,   0x01,       \ ; Usage Page (Generic Desktop),
        0x09,   0x06,       \ ; Usage (Keyboard),
        0xA1,   0x01,       \ ; Collection (Application),
        0x85,   0x04,       \ ;  Report Id (4)
        0x05,   0x07,       \ ;  usage page key codes
        0x19,   0xe0,       \ ;  usage min left control
        0x29,   0xe7,       \ ;  usage max keyboard right gui
        0x75,   0x01,       \ ;  report size 1
        0x95,   0x08,       \ ;  report count 8
        0x81,   0x02,       \ ;  input (Variable)
        0x19,   0x00,       \ ;  usage min 0
        0x29,   0x90,       \ ;  usage max 91
        0x26,   0xff, 0x00, \ ;  logical max 0xff
        0x75,   0x08,       \ ;  report size 8
        0x95,   0x01,       \ ;  report count 1
        0x81,   0x00,       \ ;  Input (Data, Array),
        0xC0                \ ; End Collection

HKR,,"ReportDataSize",0x00010001,0x00000003

HKR,,"ReportMappingTable",0x00000001,\
     0x01,0x03,0xFC,0x05, 0x0B, 0x04,0x00,0x1e,  \ ;; 1
     0x01,0x03,0xFC,0x06, 0x0B, 0x04,0x00,0x1f,  \ ;; 2
     0x01,0x03,0xFC,0x07, 0x0B, 0x04,0x00,0x20,  \ ;; 3
     0x01,0x03,0xFC,0x09, 0x0B, 0x04,0x00,0x21,  \ ;; 4
     0x01,0x03,0xFC,0x0A, 0x0B, 0x04,0x00,0x22,  \ ;; 5
     0x01,0x03,0xFC,0x0B, 0x0B, 0x04,0x00,0x23,  \ ;; 6
     0x01,0x03,0xFC,0x0D, 0x0B, 0x04,0x00,0x24,  \ ;; 7
     0x01,0x03,0xFC,0x0E, 0x0B, 0x04,0x00,0x25,  \ ;; 8
     0x01,0x03,0xFC,0x0F, 0x0B, 0x04,0x00,0x26,  \ ;; 9
     0x01,0x03,0xFC,0x12, 0x0B, 0x04,0x00,0x27,  \ ;; 0
     0x01,0x03,0xFC,0x41, 0x0B, 0x04,0x00,0x37,  \ ;; .
     0x01,0x03,0xFC,0xF0, 0x0B, 0x04,0x00,0x29,  \ ;; escape
    \
     0x01,0x03,0xFC,0xFF, 0x0B, 0x04,0x00,0x51,  \ ;; down arrow
     0x01,0x03,0xFC,0xFE, 0x0B, 0x04,0x00,0x52,  \ ;; up arrow
     0x01,0x03,0xFC,0xFD, 0x0B, 0x04,0x00,0x4f,  \ ;; right arrow
     0x01,0x03,0xFC,0xFC, 0x0B, 0x04,0x00,0x50,  \ ;; left arrow
     0x01,0x03,0xFC,0x13, 0x07, 0x04,0x00,0x28,  \ ;; return
    \
     0x01,0x03,0xFC,0xF1, 0x04, 0x03,0x82,0x00,  \ ;; Sleep       ;;Suspend
     0x01,0x03,0xFC,0xF2, 0x04, 0x01,0x09,0x02,  \ ;; AC Properties (Details)
     0x01,0x03,0xFC,0xF3, 0x04, 0x01,0x24,0x02,  \ ;; AC Back
    \
     0x01,0x03,0xFC,0x43, 0x04, 0x01,0xb0,0x00,  \ ;; AC Media play
     0x01,0x03,0xFC,0xF4, 0x04, 0x01,0xb1,0x00,  \ ;; AC Media pause
     0x01,0x03,0xFC,0x47, 0x04, 0x01,0xb2,0x00,  \ ;; AC Media record
     0x01,0x03,0xFC,0x55, 0x0C, 0x01,0xb3,0x00,  \ ;; AC FF
     0x01,0x03,0xFC,0x54, 0x0C, 0x01,0xb4,0x00,  \ ;; AC RW
     0x01,0x03,0xFC,0x44, 0x04, 0x01,0xb5,0x00,  \ ;; AC Media next track
     0x01,0x03,0xFC,0x42, 0x04, 0x01,0xb6,0x00,  \ ;; AC Media previous track
     0x01,0x03,0xFC,0x46, 0x04, 0x01,0xb7,0x00,  \ ;; AC Media Stop
    \
     0x01,0x03,0xFC,0x04, 0x00, 0x01,0xe9,0x00,  \ ;; AC volume up
     0x01,0x03,0xFC,0x08, 0x00, 0x01,0xea,0x00,  \ ;; AC volume down
     0x01,0x03,0xFC,0x14, 0x04, 0x01,0xe2,0x00,  \ ;; AC volume mute
    \
     0x01,0x03,0xFC,0x4F, 0x04, 0x01,0x8d,0x00,  \ ;; (DVD Menu) AC select program guide
     0x01,0x03,0xFC,0x0C, 0x07, 0x01,0x9c,0x00,  \ ;; AC channel up
     0x01,0x03,0xFC,0x10, 0x07, 0x01,0x9d,0x00,  \ ;; AC channel down
    \
     0x01,0x03,0xFC,0x51, 0x04, 0x02,0x80,0x00,  \ ;; Channel Surf.
     0x01,0x03,0xFC,0x1B, 0x04, 0x02,0x81,0x00,  \ ;; SAP
     0x01,0x03,0xFC,0x4A, 0x04, 0x02,0x82,0x00,  \ ;; PIP
     0x01,0x03,0xFC,0x45, 0x04, 0x02,0x83,0x00,  \ ;; TimeShifting
     0x01,0x03,0xFC,0x48, 0x04, 0x02,0x84,0x00,  \ ;; SnapShot
     0x01,0x03,0xFC,0x11, 0x04, 0x02,0x85,0x00,  \ ;; Recall
     0x01,0x03,0xFC,0x16, 0x04, 0x02,0x86,0x00,  \ ;; Display
     0x01,0x03,0xFC,0x1E, 0x04, 0x02,0x87,0x00,  \ ;; Video In
     0x01,0x03,0xFC,0x03, 0x04, 0x02,0x88,0x00,  \ ;; FullScreen
     0x01,0x03,0xFC,0x50, 0x04, 0x02,0x89,0x00,  \ ;; Cancel
     0x01,0x03,0xFC,0x49, 0x04, 0x02,0x8A,0x00,  \ ;; BossKey
     0x01,0x03,0xFC,0x40, 0x04, 0x02,0x8B,0x00,  \ ;; Sleep
     0x01,0x03,0xFC,0x1F, 0x04, 0x02,0x8C,0x00,  \ ;; Teletext     ...
     0x01,0x03,0xFC,0x53, 0x04, 0x02,0x8D,0x00,  \ ;; DVD Language ...
     0x01,0x03,0xFC,0x52, 0x04, 0x02,0x8E,0x00,  \ ;; DVD Subtitle ...
     0x01,0x03,0xFC,0x00, 0x04, 0x02,0x8F,0x00   \ ;; Power        ...

HKR,,"KeyEmulationMask",0x00000001,\
     0xFF,0x00,0x00                                ; No Event

HKR,,"SkipRepeatCounter",0x00010001,0x00000002

;=====================================================================
[Strings]
ProviderName       = "WinFast"
MfgName            = "WinFast"
MODRC_DeviceDesc   = "WinFast TV Dongle With Infrared Receiver"
MODRC_FriendlyName = "WinFast TV Dongle With Infrared Receiver"
INSTALLATION_DISK  = "WinFast TV Dongle With Infrared Receiver"

SERVICE_KERNEL_DRIVER = 0x1
SERVICE_DEMAND_START  = 0x3
SERVICE_ERROR_NORMAL  = 0x1
