; Copyright 2010, All Rights Reserved.


[Version]
Signature                = "$CHICAGO$"
Class                    = HIDClass
ClassGuid                = {745A17A0-74D3-11D0-B6FE-00A0C90F57DA}
Provider                 = %Provider%
DriverVer                = 03/15/2009, 2.0.1.1
CatalogFile.NTx86        = modrc.cat
CatalogFile.NTamd64      = modrc64.cat
DriverPackageType        = PlugAndPlay
DriverPackageDisplayName = "DiB8096 TV - IR Driver"


[DestinationDirs]
MODRC_CoInstaller.CopyDrivers.NTx86 = 11
MODRC.CopyDrivers.NTx86 = 12
MODRC.CopyDrivers.NTamd64 = 12


[Manufacturer]
%MANUFACTURER% = Microsoft, NTx86, NTamd64


[Microsoft.NTx86]
%MODRC_DeviceDesc% = MODRC.Device.NTx86, HID\VID_10B8&PID_1FA0&FN_01
%MODRC_DeviceDesc% = MODRC.Device.NTx86, HID\VID_1A70&PID_0651&FN_01


[Microsoft.NTamd64]
%MODRC_DeviceDesc% = MODRC.Device.NTamd64, HID\VID_10B8&PID_1FA0&FN_01
%MODRC_DeviceDesc% = MODRC.Device.NTamd64, HID\VID_1A70&PID_0651&FN_01


[MODRC.Device.NTx86.CoInstallers]
AddReg = MODRC_CoInstaller.AddReg.NTx86
CopyFiles = MODRC_CoInstaller.CopyDrivers.NTx86


[MODRC_CoInstaller.AddReg.NTx86]
HKR,, CoInstallers32, 0x00010000, "ModrcCoInstall.dll"


[MODRC_CoInstaller.CopyDrivers.NTx86]
ModrcCoInstall.dll


[MODRC.Device.NTx86]
AddReg    = MODRC.AddReg.NTx86
CopyFiles = MODRC.CopyDrivers.NTx86


[MODRC.Device.NTamd64]
AddReg    = MODRC.AddReg.NTamd64
CopyFiles = MODRC.CopyDrivers.NTamd64


[MODRC.AddReg.NTx86]
HKR,, DevLoader,, *ntkern
HKR,, NTMPDriver,, modrc.sys


[MODRC.AddReg.NTamd64]
HKR,, DevLoader,, *ntkern
HKR,, NTMPDriver,, modrc64.sys


[MODRC.CopyDrivers.NTx86]
modrc.sys


[MODRC.CopyDrivers.NTamd64]
modrc64.sys


[MODRC.Device.NTx86.HW]
AddReg = MODRC_HW.AddReg


[MODRC.Device.NTamd64.HW]
AddReg = MODRC_HW.AddReg


[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,0x86,0x6B,0x00, 0x0B, 0x04,0x00,0x27,  \ ; 0
     0x01,0x86,0x6B,0x01, 0x0B, 0x04,0x00,0x1E,  \ ; 1
     0x01,0x86,0x6B,0x02, 0x0B, 0x04,0x00,0x1F,  \ ; 2
     0x01,0x86,0x6B,0x03, 0x0B, 0x04,0x00,0x20,  \ ; 3
     0x01,0x86,0x6B,0x04, 0x0B, 0x04,0x00,0x21,  \ ; 4
     0x01,0x86,0x6B,0x05, 0x0B, 0x04,0x00,0x22,  \ ; 5
     0x01,0x86,0x6B,0x06, 0x0B, 0x04,0x00,0x23,  \ ; 6
     0x01,0x86,0x6B,0x07, 0x0B, 0x04,0x00,0x24,  \ ; 7
     0x01,0x86,0x6B,0x08, 0x0B, 0x04,0x00,0x25,  \ ; 8
     0x01,0x86,0x6B,0x09, 0x0B, 0x04,0x00,0x26,  \ ; 9
     0x01,0x86,0x6B,0x0A, 0x0B, 0x04,0x00,0x0F,  \ ; L
     0x01,0x86,0x6B,0x0B, 0x0B, 0x04,0x00,0x52,  \ ; Up
     0x01,0x86,0x6B,0x0C, 0x0B, 0x04,0x00,0x4F,  \ ; Right
     0x01,0x86,0x6B,0x0D, 0x0B, 0x04,0x00,0x10,  \ ; M
     0x01,0x86,0x6B,0x0E, 0x0B, 0x04,0x00,0x16,  \ ; S
     0x01,0x86,0x6B,0x0F, 0x0B, 0x04,0x00,0x05,  \ ; B
     0x01,0x86,0x6B,0x10, 0x0B, 0x04,0x00,0x1A,  \ ; W
     0x01,0x86,0x6B,0x11, 0x0B, 0x04,0x00,0x0C,  \ ; I
     0x01,0x86,0x6B,0x12, 0x0B, 0x04,0x00,0x1D,  \ ; Z
     0x01,0x86,0x6B,0x13, 0x0B, 0x04,0x00,0x18,  \ ; U
     0x01,0x86,0x6B,0x14, 0x0B, 0x04,0x00,0x11,  \ ; N
     0x01,0x86,0x6B,0x15, 0x0B, 0x04,0x00,0x51,  \ ; Down
     0x01,0x86,0x6B,0x16, 0x0B, 0x04,0x00,0x28,  \ ; Enter
     0x01,0x86,0x6B,0x17, 0x0B, 0x04,0x00,0x1B,  \ ; X
     0x01,0x86,0x6B,0x18, 0x0B, 0x04,0x00,0x50,  \ ; Left
     0x01,0x86,0x6B,0x19, 0x0B, 0x04,0x00,0x06,  \ ; C
     0x01,0x86,0x6B,0x1A, 0x0B, 0x04,0x00,0x09,  \ ; F
     0x01,0x86,0x6B,0x1B, 0x0B, 0x04,0x00,0x17,  \ ; T
     0x01,0x86,0x6B,0x1C, 0x0B, 0x04,0x00,0x04,  \ ; A
     0x01,0x86,0x6B,0x1D, 0x0B, 0x04,0x00,0x15,  \ ; R
     0x01,0x86,0x6B,0x1E, 0x0B, 0x04,0x00,0x2C,  \ ; Space
     0x01,0x86,0x6B,0x1F, 0x0B, 0x04,0x00,0x13   \ ; P

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

HKR,, "SkipRepeatCounter", 0x00010001, 0x00000004


[MODRC.Device.NTx86.Services]
AddService = modrc, 0x00000002, MODRC.AddService.NTx86


[MODRC.Device.NTamd64.Services]
AddService = modrc64, 0x00000002, MODRC.AddService.NTamd64


[MODRC.AddService.NTx86]
DisplayName   = %MODRC_ServiceDesc%
ServiceType   = %SERVICE_KERNEL_DRIVER%
StartType     = %SERVICE_DEMAND_START%
ErrorControl  = %SERVICE_ERROR_NORMAL%
ServiceBinary = %12%\modrc.sys


[MODRC.AddService.NTamd64]
DisplayName   = %MODRC_ServiceDesc%
ServiceType   = %SERVICE_KERNEL_DRIVER%
StartType     = %SERVICE_DEMAND_START%
ErrorControl  = %SERVICE_ERROR_NORMAL%
ServiceBinary = %12%\modrc64.sys


[SourceDisksNames]
1 = %DiskName%,,


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


[Strings]
SERVICE_KERNEL_DRIVER = 0x01
SERVICE_DEMAND_START  = 0x03
SERVICE_ERROR_NORMAL  = 0x01


Manufacturer      = "DiBcom S.A."
Provider          = "DiBcom S.A."
DiskName          = "DiB8096 TV IR Driver Installation Disk"

MODRC_DeviceDesc  = "DiB8096 TV - IR"
MODRC_ServiceDesc = "DiB8096 TV - IR Service"
