;------------------------------------------------------------------
; 
;   HCW99rc.inf -- This file contains installation information for
;                Bristol HID support for RC5 Remote
;
;   This installation is for Windows XP SP2 or later only.
;
;   Copyright (C) Hauppauge Computer Works, 2005-2007   
;                            
;------------------------------------------------------------------


[Version]
Signature   = "$CHICAGO$"
Class       = HIDClass
ClassGuid   = {745a17a0-74d3-11d0-b6fe-00a0c90f57da}
Provider    = %Hauppauge%
DriverVer   = 03/21/2007,4.3.25080
LayoutFile  = layout.inf
CatalogFile.ntx86 = hcw99rc.cat

;=====================================================================
[SourceDisksNames]
1=%INSTALLATION_DISK%,,,Driver99             ;32/64bit machine, Non-Bit-Specific Components
2=%INSTALLATION_DISK64%,,,"Driver99\64bit"   ;64bit machine, 64bit components
3=%INSTALLATION_DISKWOW%,,,"Driver99\WOW64"  ;64bit machine, 32bit components (WOW64)


[SourceDisksFiles]
hcw99rc.sys  = 1,,
;hidclass.sys = 100,,34560,,,,4_,4,1,3,,1,4
;hidparse.sys = 1,,23680,,,,4_,4,1,3,,1,4
;hid.dll      = 1,,22528,,,,,2,0,0

[DestinationDirs]
MODRC_CopyFilesSys = 10,System32\Drivers
MODRC_CopyFilesDll = 11,

[ControlFlags]
ExcludeFromSelect = *

;=====================================================================
[Manufacturer]
%MfgName% = HAUPPAUGE

[HAUPPAUGE]
;%MODRC_DeviceDesc% = MODRC, USB\VID_10B8&PID_0BC7&MI_01
;%MODRC_DeviceDesc% = MODRC, USB\VID_10B8&PID_0065&MI_01
;%MODRC_DeviceDesc% = MODRC, USB\VID_10B8&PID_0067&MI_01
;%MODRC_DeviceDesc% = MODRC, USB\VID_10B8&PID_0E75&MI_01
;%MODRC_DeviceDesc% = MODRC, USB\VID_10B8&PID_0E89&MI_01
;%MODRC_DeviceDesc% = MODRC, USB\VID_10B8&PID_0ED9&MI_01
;%MODRC_DeviceDesc% = MODRC, USB\VID_10B8&PID_0EED&MI_01
;%MODRC_DeviceDesc% = MODRC, USB\VID_10B8&PID_1E15&MI_01
;%MODRC_DeviceDesc% = MODRC, USB\VID_10B8&PID_1E17&MI_01
;%MODRC_DeviceDesc% = MODRC, USB\VID_10B8&PID_1E29&MI_01
;%MODRC_DeviceDesc% = MODRC, USB\VID_10B8&PID_1E79&MI_01
;%MODRC_DeviceDesc% = MODRC, USB\VID_10B8&PID_1E8D&MI_01

;%MODRC_DeviceDesc% = MODRC, USB\VID_2040&PID_9901&MI_01
%MODRC_DeviceDesc% = MODRC, USB\VID_2040&PID_9911&MI_01
;%MODRC_DeviceDesc% = MODRC, USB\VID_2040&PID_9941&MI_01
%MODRC_DeviceDesc% = MODRC, USB\VID_2040&PID_9951&MI_01

%MODRC_DeviceDesc2%= MODRC, USB\VID_2040&PID_7051&MI_01

; Stub out HID IR for Production test
;%MODRC_Unused% = NullSection, USB\VID_10B8&PID_0065&MI_01
;%MODRC_Unused% = NullSection, USB\VID_10B8&PID_0067&MI_01

; Enable HID IR on prototype or production test boards
;%MODRC_DeviceDesc% = MODRC, USB\VID_10B8&PID_0065&MI_01
;%MODRC_DeviceDesc% = MODRC, USB\VID_10B8&PID_0067&MI_01



[NullSection]

[NullSection.Services]
AddService = , 2  ; null service install

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

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

[MODRC_CopyFilesSys]
hcw99rc.sys
HidClass.sys
HidParse.sys

[MODRC_CopyFilesDll]
Hid.dll

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

[MODRC_ServiceInstall]
DisplayName   = %MODRC_FriendlyName%
ServiceType   = %SERVICE_KERNEL_DRIVER%
StartType     = %SERVICE_DEMAND_START%
ErrorControl  = %SERVICE_ERROR_NORMAL%
ServiceBinary = %10%\System32\Drivers\hcw99rc.sys
AddReg        = MODRC_ServiceInstall_AddReg

[MODRC_ServiceInstall_AddReg]
HKR,"Remotes","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,   0xe8,       \ ;  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,"Remotes","ReportDataSize",0x00010001,0x00000003

HKR,"Remotes","ReportMappingTable",0x00000001,\
     0x01,0x00,0x1E,0x01, 0x0B, 0x04,0x00,0x1e,  \ ; 1
     0x01,0x00,0x1E,0x02, 0x0B, 0x04,0x00,0x1f,  \ ; 2
     0x01,0x00,0x1E,0x03, 0x0B, 0x04,0x00,0x20,  \ ; 3
     0x01,0x00,0x1E,0x04, 0x0B, 0x04,0x00,0x21,  \ ; 4
     0x01,0x00,0x1E,0x05, 0x0B, 0x04,0x00,0x22,  \ ; 5
     0x01,0x00,0x1E,0x06, 0x0B, 0x04,0x00,0x23,  \ ; 6
     0x01,0x00,0x1E,0x07, 0x0B, 0x04,0x00,0x24,  \ ; 7
     0x01,0x00,0x1E,0x08, 0x0B, 0x04,0x00,0x25,  \ ; 8
     0x01,0x00,0x1E,0x09, 0x0B, 0x04,0x00,0x26,  \ ; 9
     0x01,0x00,0x1E,0x00, 0x0B, 0x04,0x00,0x27,  \ ; 0
     0x01,0x00,0x1E,0x0A, 0x0B, 0x04,0x00,0x29,  \ ; escape
    \
     0x01,0x00,0x1E,0x15, 0x0B, 0x04,0x00,0x51,  \ ; down arrow
     0x01,0x00,0x1E,0x14, 0x0B, 0x04,0x00,0x52,  \ ; up arrow
     0x01,0x00,0x1E,0x17, 0x0B, 0x04,0x00,0x4f,  \ ; right arrow
     0x01,0x00,0x1E,0x16, 0x0B, 0x04,0x00,0x50,  \ ; left arrow
     0x01,0x00,0x1E,0x25, 0x07, 0x04,0x00,0x28,  \ ; return
    \
\;FGR  0x01,0x00,0x1E,0x0E, 0x04, 0x03,0x82,0x00,  \ ; Suspend
\;FGR  0x01,0x00,0x1E,0x3D, 0x04, 0x03,0x81,0x00,  \ ; Power On/Off(Power button)
     0x01,0x00,0x1E,0x3D, 0x04, 0x03,0x82,0x00,  \ ; Suspend (Power button)
\;FGR  0x01,0x00,0x1E,0x0C, 0x04, 0x01,0x09,0x02,  \ ; AC Properties (Details)
     0x01,0x00,0x1E,0x1F, 0x04, 0x01,0x24,0x02,  \ ; AC Back
    \
     0x01,0x00,0x1E,0x35, 0x04, 0x01,0xb0,0x00,  \ ; AC Media play
     0x01,0x00,0x1E,0x30, 0x04, 0x01,0xb1,0x00,  \ ; AC Media pause
     0x01,0x00,0x1E,0x37, 0x04, 0x01,0xb2,0x00,  \ ; AC Media record
     0x01,0x00,0x1E,0x34, 0x04, 0x01,0xb3,0x00,  \ ; AC FF
     0x01,0x00,0x1E,0x32, 0x04, 0x01,0xb4,0x00,  \ ; AC RW
     0x01,0x00,0x1E,0x1E, 0x04, 0x01,0xb5,0x00,  \ ; AC Media next track
     0x01,0x00,0x1E,0x24, 0x04, 0x01,0xb6,0x00,  \ ; AC Media previous track
     0x01,0x00,0x1E,0x36, 0x04, 0x01,0xb7,0x00,  \ ; AC Media Stop
    \
     0x01,0x00,0x1E,0x10, 0x00, 0x01,0xe9,0x00,  \ ; AC volume up
     0x01,0x00,0x1E,0x11, 0x00, 0x01,0xea,0x00,  \ ; AC volume down
     0x01,0x00,0x1E,0x0F, 0x04, 0x01,0xe2,0x00,  \ ; AC volume mute
    \
     0x01,0x00,0x1E,0x1B, 0x04, 0x01,0x8d,0x00,  \ ; AC select program guide
     0x01,0x00,0x1E,0x20, 0x07, 0x01,0x9c,0x00,  \ ; AC channel up
     0x01,0x00,0x1E,0x21, 0x07, 0x01,0x9d,0x00,  \ ; AC channel down
    \
\;FGR  0x01,0x00,0x1E,0x3D, 0x04, 0x02,0x0D,0x00,  \ ; eHome launch
     0x01,0x00,0x1E,0x3B, 0x04, 0x02,0x0D,0x00,  \ ; FGR eHome launch - Go button
     0x01,0x00,0x1E,0x18, 0x04, 0x02,0x4A,0x00,  \ ; My videos
     0x01,0x00,0x1E,0x1A, 0x04, 0x02,0x49,0x00,  \ ; My pictures
\;FGR  0x01,0x00,0x1E,0x3B, 0x04, 0x02,0x25,0x00,  \ ; eHome jump/Live TV
     0x01,0x00,0x1E,0x12, 0x04, 0x02,0x25,0x00,  \ ; FGR - eHome jump/Live TV (Prev Ch. button)
     0x01,0x00,0x1E,0x1C, 0x04, 0x02,0x46,0x00,  \ ; My TV
     0x01,0x00,0x1E,0x19, 0x04, 0x02,0x47,0x00,  \ ; My Music
     0x01,0x00,0x1E,0x0D, 0x04, 0x02,0x24,0x00,  \ ; DVD Menu
\;FGR  0x01,0x00,0x1E,0x12, 0x04, 0x02,0x48,0x00,  \ ; Recorded TV (Prev Ch. button)
\;FGR  0x01,0x00,0x1E,0x0B, 0x04, 0x02,0x80,0x00,  \ ; OEM 1
\;FGR  0x01,0x00,0x1E,0x2E, 0x04, 0x02,0x81,0x00,  \ ; OEM 2
\;FGR  0x01,0x00,0x1E,0x38, 0x04, 0x02,0x82,0x00,  \ ; OEM 3
\;FGR  0x01,0x00,0x1E,0x29, 0x04, 0x02,0x83,0x00,   \ ; OEM 4
     0x01,0x00,0x1E,0x0E, 0x04, 0x02,0x5A,0x00,  \ ; FGR - Teletext (Sub/CC)
     0x01,0x00,0x1E,0x0B, 0x04, 0x02,0x5B,0x00,  \ ; FGR - Teletext RED
     0x01,0x00,0x1E,0x2E, 0x04, 0x02,0x5C,0x00,  \ ; FGR - Teletext Green
     0x01,0x00,0x1E,0x38, 0x04, 0x02,0x5D,0x00,  \ ; FGR - Teletext Yellow
     0x01,0x00,0x1E,0x29, 0x04, 0x02,0x5E,0x00,  \ ; FGR - Teletext Blue
     0x01,0x00,0x1E,0x0C, 0x04, 0x01,0x09,0x02  \ ; FGR - Radio Button

HKR,"Remotes","ReportMappingTableHCW",0x00000001,\
     0x01,0x00,0x1E,0x01, 0x00, 0x05,0x01,0x00,  \ ; 1
     0x01,0x00,0x1E,0x02, 0x00, 0x05,0x02,0x00,  \ ; 2
     0x01,0x00,0x1E,0x03, 0x00, 0x05,0x03,0x00,  \ ; 3
     0x01,0x00,0x1E,0x04, 0x00, 0x05,0x04,0x00,  \ ; 4
     0x01,0x00,0x1E,0x05, 0x00, 0x05,0x05,0x00,  \ ; 5
     0x01,0x00,0x1E,0x06, 0x00, 0x05,0x06,0x00,  \ ; 6
     0x01,0x00,0x1E,0x07, 0x00, 0x05,0x07,0x00,  \ ; 7
     0x01,0x00,0x1E,0x08, 0x00, 0x05,0x08,0x00,  \ ; 8
     0x01,0x00,0x1E,0x09, 0x00, 0x05,0x09,0x00,  \ ; 9
     0x01,0x00,0x1E,0x00, 0x00, 0x05,0x00,0x00,  \ ; 0
     0x01,0x00,0x1E,0x0A, 0x00, 0x05,0x0A,0x00,  \ ; */Text
     0x01,0x00,0x1E,0x0E, 0x00, 0x05,0x0E,0x00,  \ ; #/Sub/CC
    \
     0x01,0x00,0x1E,0x15, 0x00, 0x05,0x15,0x00,  \ ; down arrow
     0x01,0x00,0x1E,0x14, 0x00, 0x05,0x14,0x00,  \ ; up arrow
     0x01,0x00,0x1E,0x17, 0x00, 0x05,0x17,0x00,  \ ; right arrow
     0x01,0x00,0x1E,0x16, 0x00, 0x05,0x16,0x00,  \ ; left arrow
     0x01,0x00,0x1E,0x25, 0x00, 0x05,0x25,0x00,  \ ; return
    \
     0x01,0x00,0x1E,0x3D, 0x04, 0x05,0x3D,0x00,  \ ; Suspend (Power button)
     0x01,0x00,0x1E,0x1F, 0x04, 0x05,0x1F,0x00,  \ ; AC Back
    \
     0x01,0x00,0x1E,0x35, 0x04, 0x05,0x35,0x00,  \ ; AC Media play
     0x01,0x00,0x1E,0x30, 0x04, 0x05,0x30,0x00,  \ ; AC Media pause
     0x01,0x00,0x1E,0x37, 0x04, 0x05,0x37,0x00,  \ ; AC Media record
     0x01,0x00,0x1E,0x34, 0x04, 0x05,0x34,0x00,  \ ; AC FF
     0x01,0x00,0x1E,0x32, 0x04, 0x05,0x32,0x00,  \ ; AC RW
     0x01,0x00,0x1E,0x1E, 0x04, 0x05,0x1E,0x00,  \ ; AC Media next track
     0x01,0x00,0x1E,0x24, 0x04, 0x05,0x24,0x00,  \ ; AC Media previous track
     0x01,0x00,0x1E,0x36, 0x04, 0x05,0x36,0x00,  \ ; AC Media Stop
    \
     0x01,0x00,0x1E,0x10, 0x00, 0x05,0x10,0x00,  \ ; AC volume up
     0x01,0x00,0x1E,0x11, 0x00, 0x05,0x11,0x00,  \ ; AC volume down
     0x01,0x00,0x1E,0x0F, 0x04, 0x05,0x0F,0x00,  \ ; AC volume mute
    \
     0x01,0x00,0x1E,0x1B, 0x04, 0x05,0x1B,0x00,  \ ; AC select program guide
     0x01,0x00,0x1E,0x20, 0x00, 0x05,0x20,0x00,  \ ; AC channel up
     0x01,0x00,0x1E,0x21, 0x00, 0x05,0x21,0x00,  \ ; AC channel down
    \
     0x01,0x00,0x1E,0x3B, 0x04, 0x05,0x3B,0x00,  \ ; FGR eHome launch - Go button
     0x01,0x00,0x1E,0x18, 0x04, 0x05,0x18,0x00,  \ ; My videos
     0x01,0x00,0x1E,0x1A, 0x04, 0x05,0x1A,0x00,  \ ; My pictures
     0x01,0x00,0x1E,0x12, 0x04, 0x05,0x12,0x00,  \ ; FGR - eHome jump/Live TV (Prev Ch. button)
     0x01,0x00,0x1E,0x1C, 0x04, 0x05,0x1C,0x00,  \ ; My TV
     0x01,0x00,0x1E,0x19, 0x04, 0x05,0x19,0x00,  \ ; My Music
     0x01,0x00,0x1E,0x0D, 0x04, 0x05,0x0D,0x00,  \ ; DVD Menu
     0x01,0x00,0x1E,0x0B, 0x04, 0x05,0x0B,0x00,  \ ; FGR - Teletext RED
     0x01,0x00,0x1E,0x2E, 0x04, 0x05,0x2E,0x00,  \ ; FGR - Teletext Green
     0x01,0x00,0x1E,0x38, 0x04, 0x05,0x38,0x00,  \ ; FGR - Teletext Yellow
     0x01,0x00,0x1E,0x29, 0x04, 0x05,0x29,0x00,  \ ; FGR - Teletext Blue
     0x01,0x00,0x1E,0x0C, 0x04, 0x05,0x0C,0x00   \ ; FGR - Radio Button

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

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

;HKR,"Remotes","IrProtocol",0x00010001,0x00000001

;HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Media Center\Remote Controls","HID\VID_10B8&PID_0BC7&MI_01",0x00000000,""    ; For Media Center compatibility only
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Media Center\Remote Controls","HID\VID_2040&PID_9911&MI_01",0x00000000,""    ; For Media Center compatibility only
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Media Center\Remote Controls","HID\VID_2040&PID_9951&MI_01",0x00000000,""    ; For Media Center compatibility only

;=====================================================================
[Strings]
Hauppauge          = "Hauppauge Computer Works, Inc."
MfgName            = "Hauppauge"
MODRC_DeviceDesc   = "Hauppauge Nova-DT IR"
MODRC_DeviceDesc2  = "Hauppauge Nova-T Stick IR"
MODRC_Unused       = "Hauppauge Nova-DT IR(unused)"
MODRC_FriendlyName = "Hauppauge Nova-DT IR Driver"
INSTALLATION_DISK         = "Hauppauge Nova-DT Driver Disk"
INSTALLATION_DISK64       = "Hauppauge Nova-DT Driver Disk (64Bit Components)"
INSTALLATION_DISKWOW      = "Hauppauge Nova-DT Driver Disk (WOW64 Components)"

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