;============================================================================ 
; Installation file (.inf) for Windows 7/8/8.1/10
;
; All Rights Reserved, Copyright(C) ELAN Microelectronics Corp. 2003-2015
;============================================================================

[Version]
Signature="$Windows NT$"
Provider=%VenderName%
ClassGUID={4D36E96F-E325-11CE-BFC1-08002BE10318}
Class=Mouse
CatalogFile=ETD.cat
DriverVer=08/09/2016, 15.16.10.7

[SourceDisksNames]
1=%DiskName%,,

[SourceDisksFiles]
ETDSetup.ini = 1
ETD.sys = 1
WdfCoInstaller01011.dll = 1
ETDCoInstaller15012.dll = 1
ETDCtrl.exe 				= 1
ETDUn_inst.exe 				= 1
ETDDeviceInformation.exe 	= 1
ETDCtrlHelper.exe 			= 1
ETDAniConf.exe 				= 1
ETDService.exe 				= 1
ETDOSD.exe 					= 1
ETDApix.dll 				= 1
ETDCmds.dll 				= 1
ETDUninst.dll 				= 1
ETDMcpl.dll 				= 1
ETDFavorite.dll 			= 1
ETD_DLL.dll 				= 1
ETDApi.dll 					= 1
ETDApi32.dll 				= 1
Button_ClickPad.avi 		= 1
Button_SmartPad.avi 		= 1
Clicking_1F.avi 			= 1
Continuous_EdgeScroll_H.avi = 1
Continuous_EdgeScroll_V.avi = 1
Continuous_Scroll_H_2F.avi 	= 1
Continuous_Scroll_V_2F.avi 	= 1
DnD01.avi 					= 1
DnD02.avi 					= 1
DnD03.avi 					= 1
Edge_Circular.avi 			= 1
Edge_Scroll.avi 			= 1
Rotation_Twist.avi 			= 1
Palmtracking.avi 			= 1
PTP_Swipe_3F_Up.avi			= 1
PTP_Swipe_3F_Right.avi		= 1
PTP_Swipe_3F_Left.avi		= 1
PTP_Swipe_3F_Down.avi		= 1
Sensitivity.avi 			= 1
Scroll_Inertial.avi 		= 1
Scroll_Inertial_Reverse.avi = 1
Scroll_No_FreeScroll.avi 	= 1
Scroll_Reverse_H.avi 		= 1
Scroll_Reverse_V.avi 		= 1
SmartMotion.avi 			= 1
Swipe_3F_LR_PageupDown.avi 	= 1
Swipe_3F_UpDown_SlideShow.avi = 1
Tapping_1F.avi				= 1
Win8EdgeSwipe_Left.avi 		= 1
Win8EdgeSwipe_Right.avi 	= 1
Win8EdgeSwipe_Top.avi 		= 1
Zooming.avi 				= 1
PTP_Swipe_3F_Up_Down_Left_Right.avi = 1
;----------------------------------------------------------------------------
; Manufacturer Sections
;----------------------------------------------------------------------------

[Manufacturer]
%VenderName%   = ELAN.Mfg, NTamd64, NTamd64.6.2, NTamd64.6.3

[ELAN.Mfg.NTamd64]
;%ELANDeviceDesc% 		= ETD_STD_Inst, *PNP0F13,*PNP0F0E,*PNP0F03,*PNP0F12,*PNP0F0B		; Compatible ID
;%ELANDeviceDesc% 		= ETD_STD_Inst, *ETD0000						; ELAN TouchPad
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F01						; SmartPad(C)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F01						; SmartPad(C)
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F02						; ClickPad(C)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F02						; ClickPad(C)
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F03						; ClickPad(Q)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F03						; ClickPad(Q)
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F04						; SmartPad(Q)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F04						; SmartPad(Q)
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F05						; ClickPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F05						; ClickPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F06						; ClickPad(C)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F06						; ClickPad(C)
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F07						; ClickPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F07						; ClickPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F08						; SmartPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F08						; SmartPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F09						; ClickPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F09						; ClickPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F0A						; ClickPad(Q)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F0A						; ClickPad(Q)
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F0B						; ClickPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F0B
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F0C						; SmartPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F0C
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F0D						; ClickPad(Q)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F0D
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F99						; ClickPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F99
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F98						; ClickPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F98
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F97						; ClickPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F97

[ELAN.Mfg.NTamd64.6.2]
;%ELANDeviceDesc% 		= ETD_STD_Inst, *PNP0F13,*PNP0F0E,*PNP0F03,*PNP0F12,*PNP0F0B	; Compatible ID
;%ELANDeviceDesc% 		= ETD_STD_Inst, *ETD0000						; ELAN TouchPad
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F01						; SmartPad(C)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F01						; SmartPad(C)
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F02						; ClickPad(C)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F02						; ClickPad(C)
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F03						; ClickPad(Q)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F03						; ClickPad(Q)
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F04						; SmartPad(Q)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F04						; SmartPad(Q)
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F05						; ClickPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F05						; ClickPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F06						; ClickPad(C)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F06						; ClickPad(C)
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F07						; ClickPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F07						; ClickPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F08						; SmartPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F08						; SmartPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F09						; ClickPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F09						; ClickPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F0A						; ClickPad(Q)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F0A						; ClickPad(Q)
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F0B						; ClickPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F0B
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F0C						; SmartPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F0C
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F0D						; ClickPad(Q)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F0D
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F99						; ClickPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F99
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F98						; ClickPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F98
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F97						; ClickPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F97

[ELAN.Mfg.NTamd64.6.3]
;%ELANDeviceDesc% 		= ETD_STD_Inst, *PNP0F13,*PNP0F0E,*PNP0F03,*PNP0F12,*PNP0F0B	; Compatible ID
;%ELANDeviceDesc% 		= ETD_STD_Inst, *ETD0000						; ELAN TouchPad
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F01						; SmartPad(C)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F01						; SmartPad(C)
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F02						; ClickPad(C)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F02						; ClickPad(C)
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F03						; ClickPad(Q)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F03						; ClickPad(Q)
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F04						; SmartPad(Q)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F04						; SmartPad(Q)
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F05						; ClickPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F05						; ClickPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F06						; ClickPad(C)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F06						; ClickPad(C)
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F07						; ClickPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F07						; ClickPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F08						; SmartPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F08						; SmartPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F09						; ClickPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F09						; ClickPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F0A						; ClickPad(Q)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F0A						; ClickPad(Q)
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F0B						; ClickPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F0B		
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F0C						; SmartPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F0C
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F0D						; ClickPad(Q)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F0D
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F99						; ClickPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F99
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F98						; ClickPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F98
%NECDeviceDesc% 		= ETD_STD_Inst, *ETD0F97						; ClickPad(M)
%NECDeviceDesc% 		= ETD_STD_Inst, ACPI\ETD0F97
;----------------------------------------------------------------------------
; Install Sections
;----------------------------------------------------------------------------

[DestinationDirs]
DefaultDestDir 		= 12			; Driver directory
ETDSys.CopyFiles 	= 12			; Driver directory
ETDCoInstaller.CopyFiles = 11		; System directory
ETDApp.CopyFiles 	= 16422, %TargetDir%	; Program file
ETDAnimation.CopyFiles 	= 16422, %TargetDir%	; Program file

[ETD_Service_Inst]
DisplayName    = %ELANDeviceDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 0                  ; SERVICE_ERROR_IGNORE
ServiceBinary  = %12%\ETD.sys
LoadOrderGroup = Pointer Port

;----------------------------------------------------------------------------
; Common File Copy and Registry Operations
;----------------------------------------------------------------------------

[ETDSys.CopyFiles]
ETD.sys,,,0x00000001

[ETDCoInstaller.CopyFiles]
ETDCoInstaller15012.dll,,,0x00002004
WdfCoInstaller01011.dll,,,0x00002004
[ETDApp.CopyFiles]
ETDSetup.ini,,,0x00004000
WdfCoInstaller01011.dll,,,0x00004000
ETDCtrl.exe ,,,0x00004000
ETDUn_inst.exe ,,,0x00004000
ETDDeviceInformation.exe ,,,0x00004000
ETDCtrlHelper.exe ,,,0x00004000
ETDAniConf.exe ,,,0x00004000
ETDService.exe ,,,0x00004000
ETDOSD.exe ,,,0x00004000
ETDApix.dll ,,,0x00004000
ETDCmds.dll ,,,0x00004000
ETDUninst.dll ,,,0x00004000
ETDMcpl.dll ,,,0x00004000
ETDFavorite.dll ,,,0x00004000
ETD_DLL.dll ,,,0x00004000
ETDApi.dll ,,,0x00004000
ETDApi32.dll ,,,0x00004000
[ETDAnimation.CopyFiles]
Button_ClickPad.avi ,,,0x0004
Button_SmartPad.avi ,,,0x0004
Clicking_1F.avi ,,,0x0004
Continuous_EdgeScroll_H.avi ,,,0x0004
Continuous_EdgeScroll_V.avi ,,,0x0004
Continuous_Scroll_H_2F.avi ,,,0x0004
Continuous_Scroll_V_2F.avi ,,,0x0004
DnD01.avi ,,,0x0004
DnD02.avi ,,,0x0004
DnD03.avi ,,,0x0004
Edge_Circular.avi ,,,0x0004
Edge_Scroll.avi ,,,0x0004
Rotation_Twist.avi ,,,0x0004
Palmtracking.avi ,,,0x0004
PTP_Swipe_3F_Up.avi ,,,0x0004
PTP_Swipe_3F_Right.avi ,,,0x0004
PTP_Swipe_3F_Left.avi ,,,0x0004
PTP_Swipe_3F_Down.avi ,,,0x0004
Sensitivity.avi ,,,0x0004
Scroll_Inertial.avi ,,,0x0004
Scroll_Inertial_Reverse.avi ,,,0x0004
Scroll_No_FreeScroll.avi ,,,0x0004
Scroll_Reverse_H.avi ,,,0x0004
Scroll_Reverse_V.avi ,,,0x0004
SmartMotion.avi ,,,0x0004
Swipe_3F_LR_PageupDown.avi ,,,0x0004
Swipe_3F_UpDown_SlideShow.avi ,,,0x0004
Tapping_1F.avi,,,0x0004
Win8EdgeSwipe_Left.avi ,,,0x0004
Win8EdgeSwipe_Right.avi ,,,0x0004
Win8EdgeSwipe_Top.avi ,,,0x0004
Zooming.avi ,,,0x0004
PTP_Swipe_3F_Up_Down_Left_Right.avi ,,,0x0004
;----------------------------------------------------------------------------
; PS/2 SmartPad
;----------------------------------------------------------------------------
[ETD_STD_Inst]
FeatureScore=F9
Include=msmouse.inf
Needs=PS2_Inst
CopyFiles=ETDSys.CopyFiles,\
		  ETDApp.CopyFiles,\
	      ETDAnimation.CopyFiles
AddReg=ETD_System.AddReg

[ETD_STD_Inst.Services]
Include=msmouse.inf
Needs=PS2_Inst.Services
AddService = ETD,0x00000000, ETD_Service_Inst

[ETD_STD_Inst.CoInstallers]
AddReg    = ETDCoInstaller.AddReg
CopyFiles = ETDCoInstaller.CopyFiles

[ETD_STD_Inst.HW]
AddReg = ETD_AddReg.HW
[ETD_STD_Inst.Wdf]
KmdfService = ETD, PS2Device_WdfSect
;----------------------------------------------------------------------------
[ETD_AddReg.HW]
HKR,,"UpperFilters",0x00010000,"ETD"

[ETDCoInstaller.AddReg]
HKR,,CoInstallers32,0x00010000,"ETDCoInstaller15012.DLL,CoInstallerEntry","WdfCoInstaller01011.dll,WdfCoInstaller"
;----------------------------------------------------------------------------
; Wdf Section for PS/2 TouchPad driver
;----------------------------------------------------------------------------

[PS2Device_WdfSect]
KmdfLibraryVersion = 1.11
;----------------------------------------------------------------------------
; Entry point for Uninstallation.
; This section is executed as part of Uninstallation.
;----------------------------------------------------------------------------

[Uninstall]
CopyFiles = No_Files
DelFiles = No_Files
DelReg = Uninstall_DelReg

[No_Files]

;----------------------------------------------------------------------------
; Uninstall Section
;----------------------------------------------------------------------------

[Uninstall_DelReg]
HKLM,Software\Microsoft\Windows\CurrentVersion\Uninstall\Elantech
HKCR,CLSID\{0066D4B3-8DE0-4D08-AA83-EDD50E2431F0}
HKLM,"Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved",{0066D4B3-8DE0-4D08-AA83-EDD50E2431F0}
HKLM,"Software\Microsoft\Windows\CurrentVersion\Controls Folder\Mouse\shellex\PropertySheetHandlers\ETD"
HKLM,Software\Microsoft\Windows\CurrentVersion\Run,ETDCtrl
HKLM,%HKLMRootPath%"\Elantech
;HKLM,%HKLMRootPath%"\ETD
HKCU,Software\Elantech

;----------------------------------------------------------------------------
; System Section
;----------------------------------------------------------------------------

[ETD_System.AddReg]
HKCR,CLSID\{0066D4B3-8DE0-4D08-AA83-EDD50E2431F0}\InProcServer32,,%REG_EXPAND_SZ%,"%%ProgramFiles%%\%TargetDir%\ETDMcpl.dll"
HKCR,CLSID\{0066D4B3-8DE0-4D08-AA83-EDD50E2431F0}\InProcServer32,ThreadingModel,%REG_SZ%,"Apartment"
HKLM,"Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved",{0066D4B3-8DE0-4D08-AA83-EDD50E2431F0},%REG_SZ%,"ELAN Control Panel"

HKLM,"Software\Microsoft\Windows\CurrentVersion\Controls Folder\Mouse\shellex\PropertySheetHandlers\ETD",,%REG_SZ%,"{0066D4B3-8DE0-4D08-AA83-EDD50E2431F0}"
HKLM,Software\Microsoft\Windows\CurrentVersion\Run,ETDCtrl,%REG_EXPAND_SZ%,"%%ProgramFiles%%\%TargetDir%\ETDCtrl.exe"

HKLM,%HKLMRootPath%"\Elantech",InstallDir,%REG_SZ%,"%1%"
HKLM,%HKLMRootPath%"\Elantech",Version,%REG_SZ%,"%DriverVersion%"
HKLM,%HKLMRootPath%"\Elantech",DriverVersion,%REG_SZ%,"ELAN Touchpad %DriverVersion%_%DriverBit%_%DriverVersionExtend%"
HKLM,%HKLMRootPath%"\Elantech",ScreenOrientation,%REG_DWORD%,0

; Windows\CurrentVersion\Uninstall
HKLM,Software\Microsoft\Windows\CurrentVersion\Uninstall\Elantech,DisplayName,%REG_SZ%,"NX PAD Driver"
HKLM,Software\Microsoft\Windows\CurrentVersion\Uninstall\Elantech,UninstallString,%REG_EXPAND_SZ%,"%%ProgramFiles%%\%TargetDir%\ETDUn_inst.exe"
HKLM,Software\Microsoft\Windows\CurrentVersion\Uninstall\Elantech,DisplayVersion,%REG_SZ%,"%DriverVersion%"
HKLM,Software\Microsoft\Windows\CurrentVersion\Uninstall\Elantech,DisplayIcon,%REG_EXPAND_SZ%,"%%ProgramFiles%%\%TargetDir%\ETDCtrl.exe"
HKLM,Software\Microsoft\Windows\CurrentVersion\Uninstall\Elantech,Publisher,%REG_SZ%,%Publisher%
HKLM,Software\Microsoft\Windows\CurrentVersion\Uninstall\Elantech,URLInfoAbout,%REG_SZ%,"www.emc.com.tw"
HKLM,Software\Microsoft\Windows\CurrentVersion\Uninstall\Elantech,NoModify,%REG_DWORD%,1
HKLM,Software\Microsoft\Windows\CurrentVersion\Uninstall\Elantech,NoRepair,%REG_DWORD%,1


;----------------------------------------------------------------------------
; String Table
;----------------------------------------------------------------------------
[Strings]
Publisher 		= "ELAN Microelectronic Corp."
ELANDeviceDesc 	= "ELAN Input Device"
NECDeviceDesc	= "NX PAD"
TargetDir		= "Elantech"
DiskName  		= "ETDWare Driver Disk"
VenderName		= "ELAN"
HKLMRootPath 	= "System\CurrentControlSet\Control"

; Registry Type
REG_EXPAND_SZ	= 0x00020000 
REG_DWORD		= 0x00010001 
REG_MULTI_SZ	= 0x00010000
REG_BINARY		= 0x00000001
REG_SZ			= 0x00000000



; Driver Information Entries
ELANStringName		= "ELAN Input Device Driver"
DriverDate		= "08/09/2016"
DriverVersion		= "15.16.10.7"
DriverBit		= "X64"
DriverVersionExtend	= "WHQL"        ; Beta or WHQL
