;============================================================================ 
; Installation file (.inf) for Windows 8.
;
; Copyright (c) ASUS Tek
;============================================================================

[Version]
Signature   = "$Windows NT$"
Class		= HIDClass
ClassGuid	= {745a17a0-74d3-11d0-b6fe-00a0c90f57da};HIDClassGuid
Provider    = %VenderName%
DriverVer = 08/07/2018,15.0.0.10
CatalogFile = AsusScreenPadFilter.cat


;----------------------------------------------------------------------------
; Manufacturer Section
;----------------------------------------------------------------------------
[Manufacturer]
%VenderName%=ASUSMfg, NTamd64, NTx86


[ASUSMfg.NTx86]
;%ASUS_INPUT_DEVICE.DeviceDesc%=AsusScreenPad, HID\GDX1505&Col02						;Goodix ScreenPad 5.5'
%ASUS_INPUT_DEVICE.DeviceDesc%=AsusScreenPad, HID\Vid_0B05&Pid_1879&MI_02&Col02		;WHQL (Test)


[ASUSMfg.NTamd64]
%ASUS_INPUT_DEVICE.DeviceDesc%=AsusScreenPad, HID\GDX1505&Col02						;Goodix ScreenPad 5.5'
%ASUS_INPUT_DEVICE.DeviceDesc%=AsusScreenPad, HID\Vid_0B05&Pid_1879&MI_02&Col02		;WHQL (Test)
;%ASUS_INPUT_DEVICE.DeviceDesc%=AsusScreenPad, HID\FTE1200&Col03						;Screenpad Test HWID
;%ASUS_INPUT_DEVICE.DeviceDesc%=AsusScreenPad, HID\ELAN1300&Col02					;Screenpad Test ELAN PTP 15'
;%ASUS_INPUT_DEVICE.DeviceDesc%=AsusScreenPad, HID\ELAN1203&Col02					;Screenpad Test ELAN PTP SmartPad


[AsusScreenPad.NT]
FeatureScore=00
CopyFiles=AsusScreenPad.CopyFiles.NT


;[AsusScreenPad.NT.Components]
;AddComponent = AsusScreenPad_ControlPanel,, AsusScreenPad_ControlPanelInstall

;[AsusScreenPad_ControlPanelInstall]
;ComponentIds = AsusScreenPadToolBar


; ---------------------------------------------------------
; Source Media Section
; ---------------------------------------------------------
[SourceDisksNames]
1 = %DiskName%


[DestinationDirs]
DefaultDestDir						= 12    ; DIRID_DRIVERS
AsusScreenPad.CopyFiles.NT			= 13    ; Driver directory

 
;----------------------------------------------------------------------------
; Common File Copy and Registry Operations
;----------------------------------------------------------------------------
[AsusScreenPad.CopyFiles.NT]
AsusScreenpadFilter.sys
ScreenPadRpcService.exe
ScreenPadJumper.exe
ScreenPadLauncher.exe


[SourceDisksFiles]
AsusScreenpadFilter.sys = 1
ScreenPadRpcService.exe = 1
ScreenPadJumper.exe = 1
ScreenPadLauncher.exe = 1



;-------------- Service installation
[AsusScreenPad.NT.Services]
AddService = AsusScreenPad,%SPSVCINST_ASSOCSERVICE%, AsusScreenPad_Service_Inst
AddService = AsusScreenPad_usersrv, 0x00000800, AsusScreenpad_Usersrv_ServiceInstall


;-------------- PTPFilter driver install sections
[AsusScreenPad_Service_Inst]
DisplayName    = %AsusPTP.SvcDesc%
ServiceType    = 1  ;SERVICE_KERNEL_DRIVER
StartType      = 3  ;SERVICE_DEMAND_START
ErrorControl   = 1  ;SERVICE_ERROR_NORMAL
ServiceBinary  = %13%\AsusScreenPadFilter.sys
LoadOrderGroup = Extended Base
AddReg	       = AsusPTPDrv_Service_AddReg, AsusPTPDrv_Service_ALGO_AddReg
DelReg	       = AsusPTPDrv_Service_DelReg, AsusPTPDrv_Service_ALGO_DelReg


[AsusPTPDrv_Service_ALGO_AddReg]
; DWORD Example (REG_MULTI_SZ: 0x00010000, REG_DWORD: 0x00010001, REG_BINARY: 0x00000001)
; Flag  control
HKR,Parameters\AlgoParameters,"FLAG_0",0x00010001,1							; FIN3SPEEDUP_FLAG
HKR,Parameters\AlgoParameters,"FLAG_1",0x00010001,1							; PANSPEEDUP_FLAG
HKR,Parameters\AlgoParameters,"FLAG_2",0x00010001,1							; PALM_FLAG
HKR,Parameters\AlgoParameters,"FLAG_3",0x00010001,1							; FILTERPALMFINGER
HKR,Parameters\AlgoParameters,"FLAG_4",0x00010001,1							; PAN_REDUCE_TRIGGER_FLAG
HKR,Parameters\AlgoParameters,"FLAG_5",0x00010001,0							; CM_REDUCE_TRIGGER_FLAG
HKR,Parameters\AlgoParameters,"FLAG_6",0x00010001,3							; FP protect times
HKR,Parameters\AlgoParameters,"FLAG_7",0x00010001,1							; filter for scroll
HKR,Parameters\AlgoParameters,"FLAG_8",0x00010001,0							; Edge gesture initial state

; Ratio value 
HKR,Parameters\AlgoParameters,"RATIO_0",0x00010001,4						; SPEEDUP_RATIO
HKR,Parameters\AlgoParameters,"RATIO_1",0x00010001,7						; FIN3_SPEEDUP_RATIO
HKR,Parameters\AlgoParameters,"RATIO_2",0x00010001,5						; SPPEDUPAREA_SHIFT_L_RATIO
HKR,Parameters\AlgoParameters,"RATIO_3",0x00010001,5						; SPPEDUPAREA_SHIFT_R_RATIO
HKR,Parameters\AlgoParameters,"RATIO_4",0x00010001,12						; SPPEDUPAREA_SHIFT_B_RATIO
HKR,Parameters\AlgoParameters,"RATIO_5",0x00010001,0						; SPPEDUPAREA_SHIFT_T_RATIO
HKR,Parameters\AlgoParameters,"RATIO_6",0x00010001,10						; TAPPING_DEFLATE_L_RATIO
HKR,Parameters\AlgoParameters,"RATIO_7",0x00010001,10						; TAPPING_DEFLATE_R_RATIO
HKR,Parameters\AlgoParameters,"RATIO_8",0x00010001,10						; TAPPING_DEFLATE_B_RATIO
HKR,Parameters\AlgoParameters,"RATIO_9",0x00010001,0						; TAPPING_DEFLATE_T_RATIO
HKR,Parameters\AlgoParameters,"RATIO_10",0x00010001,10						; PALM_DEFLATE_L_RATIO
HKR,Parameters\AlgoParameters,"RATIO_11",0x00010001,10						; PALM_DEFLATE_R_RATIO
HKR,Parameters\AlgoParameters,"RATIO_12",0x00010001,16						; PALM_DEFLATE_B_RATIO
HKR,Parameters\AlgoParameters,"RATIO_13",0x00010001,0						; PALM_DEFLATE_T_RATIO
HKR,Parameters\AlgoParameters,"RATIO_14",0x00010001,300						; InertiaRatioMed
HKR,Parameters\AlgoParameters,"RATIO_15",0x00010001,100						; InertiaRatioSlow
HKR,Parameters\AlgoParameters,"RATIO_16",0x00010001,450						; InertiaRatioFast
HKR,Parameters\AlgoParameters,"RATIO_17",0x00010001,0						; filter for scroll ratio
HKR,Parameters\AlgoParameters,"RATIO_18",0x00010001,25						; Resting finger area (0 ~ 100)
HKR,Parameters\AlgoParameters,"RATIO_19",0x00010001,4						; Edge palm: Left ratio
HKR,Parameters\AlgoParameters,"RATIO_20",0x00010001,4						; Edge palm: right ratio
HKR,Parameters\AlgoParameters,"RATIO_21",0x00010001,6						; Edge palm: Top ratio
HKR,Parameters\AlgoParameters,"RATIO_22",0x00010001,0						; Edge palm: bottom ratio
HKR,Parameters\AlgoParameters,"RATIO_23",0x00010001,65						; EDGE_BUF_COUNT

; Minimeter value // MOVING_THRESHOLD_MM, MAX_SPEEDUP_THRESHOLD_MM, TAPPING_THRESHOLD_MM
HKR,Parameters\AlgoParameters,"MINIMETER_0",0x00010001,15					; MOVING_THRESHOLD_MM
HKR,Parameters\AlgoParameters,"MINIMETER_1",0x00010001,100					; MAX_SPEEDUP_THRESHOLD_MM
HKR,Parameters\AlgoParameters,"MINIMETER_2",0x00010001,6					; TAPPING_THRESHOLD_MM
HKR,Parameters\AlgoParameters,"MINIMETER_3",0x00010001,50					; EDGETAP_THRESHOLD_MM
HKR,Parameters\AlgoParameters,"MINIMETER_4",0x00010001,4					; nPrepart2SpeeupThreshold
HKR,Parameters\AlgoParameters,"MINIMETER_5",0x00010001,4					; n2SpeedupThreshold
HKR,Parameters\AlgoParameters,"MINIMETER_6",0x00010001,6					; nPrepareCMThreshold
HKR,Parameters\AlgoParameters,"MINIMETER_7",0x00010001,28					; nSpeedupCMThreshold
HKR,Parameters\AlgoParameters,"MINIMETER_8",0x00010001,10					; nSpeedUpCMCounterThres
HKR,Parameters\AlgoParameters,"MINIMETER_9",0x00010001,4					; nSmallSpeedDot
HKR,Parameters\AlgoParameters,"MINIMETER_10",0x00010001,10					; InertiaPosiLowBThres
HKR,Parameters\AlgoParameters,"MINIMETER_11",0x00010001,15					; InertiaNagLowBThres
HKR,Parameters\AlgoParameters,"MINIMETER_12",0x00010001,20					; InertiaPosiUppBThres
HKR,Parameters\AlgoParameters,"MINIMETER_13",0x00010001,24					; InertiaNagUppBThres
HKR,Parameters\AlgoParameters,"MINIMETER_14",0x00010001,30					; FP Extend physical size X
HKR,Parameters\AlgoParameters,"MINIMETER_15",0x00010001,30					; FP Extend physical size Y
HKR,Parameters\AlgoParameters,"MINIMETER_16",0x00010001,10					; scrolling filter distance 1mm
HKR,Parameters\AlgoParameters,"MINIMETER_17",0x00010001,10					; scrolling filter Counter
HKR,Parameters\AlgoParameters,"MINIMETER_18",0x00010001,50					; EDGE_X_Threshold 
HKR,Parameters\AlgoParameters,"MINIMETER_19",0x00010001,100					; EDGE_Trigger_Area 
HKR,Parameters\AlgoParameters,"MINIMETER_20",0x00010001,45					; For APP pick stable

; Set Logical Size and Physical Size
HKR,Parameters\AlgoParameters,"PHYSICAL_0",0x00010001,0		;Physical X Size
HKR,Parameters\AlgoParameters,"PHYSICAL_1",0x00010001,0		;Physical Y Size

[AsusPTPDrv_Service_AddReg]
HKR,Parameters\SupportList,"HWID_0",0x00010000,"GDX1505"
HKR,Parameters\SupportList,"HWID_1",0x00010000,"FTE1505"

[AsusPTPDrv_Service_DelReg]
HKR,Parameters

[AsusPTPDrv_Service_ALGO_DelReg]
HKR,Parameters


[AsusScreenpad_Usersrv_ServiceInstall]
DisplayName    = "Asus ScreenPad User Service"
ServiceType    = 0x00000010      ; SERVICE_WIN32_SHARE_PROCESS
StartType      = 2               ; SERVICE_AUTO_START
ErrorControl   = 1               ; SERVICE_ERROR_NORMAL
ServiceBinary  = %13%\ScreenPadRpcService.exe


; Strings Section
; ---------------------------------------------------------
[Strings]
SPSVCINST_ASSOCSERVICE			= 0x00000002
VenderName						= "ASUSTek COMPUTER INC."
AsusPTP.SvcDesc					= "ASUS Screenpad Service"
DiskName						= "ASUSWare Driver Disk"
ASUS_INPUT_DEVICE.DeviceDesc	= "ASUS Precision Touchpad (ScreenPad)"
