Filter Driver

Hi All,

I got a trackpad from a vendor and the vendor has declared that trackpad as HIDclass device in the USB descriptor. I’ve to write a driver to make it work as a mouse. What do you guys suggest I should go about it, do I need to make a lower filter driver or upper filter driver to achieve this? Any pointers will be very helpful.

Thank you!
Anshul

Anshul Jain wrote:

I got a trackpad from a vendor and the vendor has
declared that trackpad as HIDclass device in the USB
descriptor. I’ve to write a driver to make it work as a
mouse. What do you guys suggest I should go about it?

http://i.imgur.com/1MPxY.gif

That one is funny! Thank you Chris, it did make me laugh.

On Thu, Jun 5, 2014 at 1:01 PM, wrote:

> Anshul Jain wrote:
>
> > I got a trackpad from a vendor and the vendor has
> > declared that trackpad as HIDclass device in the USB
> > descriptor. I’ve to write a driver to make it work as a
> > mouse. What do you guys suggest I should go about it?
>
> http://i.imgur.com/1MPxY.gif
>
> —
> NTDEV is sponsored by OSR
>
> Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
>
> OSR is HIRING!! See http://www.osr.com/careers
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>

xxxxx@gmail.com wrote:

I got a trackpad from a vendor and the vendor has declared that trackpad as HIDclass device in the USB descriptor. I’ve to write a driver to make it work as a mouse. What do you guys suggest I should go about it, do I need to make a lower filter driver or upper filter driver to achieve this? Any pointers will be very helpful.

You shouldn’t need to do anything at all. Windows should handle it as
is. What happens when you plug it in?


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

Thank you Tim for your reply. I did plug it in the device gets recognized as HID Compliant device.

I also ran USBlyzer on it and I see packets coming from the device which is reporting X,Y coordiantes of the trackpad.

And what do you want the filter to change?

d

Bent from my phone


From: xxxxx@gmail.commailto:xxxxx
Sent: ?6/?6/?2014 1:27 PM
To: Windows System Software Devs Interest Listmailto:xxxxx
Subject: RE:[ntdev] Filter Driver

Thank you Tim for your reply. I did plug it in the device gets recognized as HID Compliant device.

I also ran USBlyzer on it and I see packets coming from the device which is reporting X,Y coordiantes of the trackpad.


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer</mailto:xxxxx></mailto:xxxxx>

Hi Doron,

I would like to implement some filtering of X,Y coordinates and filter the
noise from trackpad events.

Thanks,
Anshul

On Fri, Jun 6, 2014 at 3:55 PM, Doron Holan
wrote:

> And what do you want the filter to change?
>
> d
>
> Bent from my phone
> ------------------------------
> From: xxxxx@gmail.com
> Sent: ‎6/‎6/‎2014 1:27 PM
> To: Windows System Software Devs Interest List
> Subject: RE:[ntdev] Filter Driver
>
> Thank you Tim for your reply. I did plug it in the device gets
> recognized as HID Compliant device.
>
> I also ran USBlyzer on it and I see packets coming from the device which
> is reporting X,Y coordiantes of the trackpad.
>
> —
> NTDEV is sponsored by OSR
>
> Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
>
> OSR is HIRING!! See http://www.osr.com/careers
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
> —
> NTDEV is sponsored by OSR
>
> Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
>
> OSR is HIRING!! See http://www.osr.com/careers
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>

Add your filter as a device filter and you can see MOUSE_INPUT_DATA arrays in your ServiceCallback. You can see x,y, button data and modify as you want

From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Anshul Jain
Sent: Tuesday, June 10, 2014 1:26 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] Filter Driver

Hi Doron,

I would like to implement some filtering of X,Y coordinates and filter the noise from trackpad events.

Thanks,
Anshul

On Fri, Jun 6, 2014 at 3:55 PM, Doron Holan > wrote:
And what do you want the filter to change?

d

Bent from my phone
________________________________
From: xxxxx@gmail.commailto:xxxxx
Sent: ‎6/‎6/‎2014 1:27 PM
To: Windows System Software Devs Interest Listmailto:xxxxx
Subject: RE:[ntdev] Filter Driver
Thank you Tim for your reply. I did plug it in the device gets recognized as HID Compliant device.

I also ran USBlyzer on it and I see packets coming from the device which is reporting X,Y coordiantes of the trackpad.


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

— NTDEV is sponsored by OSR Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev OSR is HIRING!! See http://www.osr.com/careers For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer</mailto:xxxxx></mailto:xxxxx>

Thank you again Doron, How can I force HIDclass device to be recognized as
Mouse? Is it something that I should do in INF files?

The filter driver I used earlier was taken from firefly example of windows
and it expected the mouse device. But recently the vendor has changed the
descriptor to HIDclass and the filter driver doesn’t work anymore.

This is what I used earlier:
[Version]
Signature=“$Windows NT$”
Class=Mouse
ClassGUID={4D36E96F-E325-11CE-BFC1-08002BE10318}
Provider=%Provider%
DriverVer=05/27/2014,1.0.0.1
CatalogFile=KmdfSamples.cat

[DestinationDirs]
DefaultDestDir = 12 ; DIRID_DRIVERS

[ControlFlags]
; We don’t want our device to be installable via the non-PnP hardware
dialogs
ExcludeFromSelect = *

; Manufacturer Section
; ---------------------------------------------------------
[Manufacturer]
%ShinyThings%=ShinyThingsMfg,NTx86,NTamd64

; Devices Section for Win2K
; ---------------------------------------------------------
[ShinyThingsMfg]
%HID\Vid_0977&Pid_8888.DeviceDesc%=shinyfilter_Inst,
HID\Vid_0977&Pid_8888&REV_0100&Col02

; Devices Section for XP and above
; ---------------------------------------------------------
[ShinyThingsMfg.NTx86]
%HID\Vid_0977&Pid_8888.DeviceDesc%=shinyfilter_Inst,
HID\Vid_0977&Pid_8888&REV_0100&Col02

; For amd64
; ---------------------------------------------------------
[ShinyThingsMfg.NTamd64]
%HID\Vid_0977&Pid_8888.DeviceDesc%=shinyfilter_Inst,
HID\Vid_0977&Pid_8888&REV_0100&Col02

; Install Section for Windows 2000 & Windows XP
; ---------------------------------------------------------

[shinyfilter_Inst.NT]
Include = MSMOUSE.INF
Needs = HID_Mouse_Inst.NT
CopyFiles = shinyfilter_Inst_CopyFiles.NT

[shinyfilter_Inst.NT.HW]
Include = MSMOUSE.INF
Needs = HID_Mouse_Inst.NT
AddReg = shinyfilter_Inst_HWAddReg.NT

[shinyfilter_Inst_HWAddReg.NT]
HKR,“UpperFilters”,0x00010000,“shinyfilter”

[shinyfilter_Inst_CopyFiles.NT]
shinyfilter.sys

[shinyfilter_Inst.NT.Services]
Needs = HID_Mouse_Inst.NT.Services
AddService = shinyfilter, , shinyfilter_Service_Inst

[shinyfilter_Service_Inst]
DisplayName = %shinyfilter.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 3 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\shinyfilter.sys
LoadOrderGroup = PNP Filter

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

[SourceDisksFiles]
shinyfilter.sys = 1
WdfCoInstaller01009.dll = 1

;
;— shinyfilter_Inst WDF Coinstaller installation ------
;

[DestinationDirs]
shinyfilter_Inst_CoInstaller_CopyFiles = 11

[shinyfilter_Inst.NT.CoInstallers]
AddReg=shinyfilter_Inst_CoInstaller_AddReg
CopyFiles=shinyfilter_Inst_CoInstaller_CopyFiles

[shinyfilter_Inst_CoInstaller_AddReg]
HKR,CoInstallers32,0x00010000, “WdfCoInstaller01009.dll,WdfCoInstaller”

[shinyfilter_Inst_CoInstaller_CopyFiles]
WdfCoInstaller01009.dll

[shinyfilter_Inst.NT.Wdf]
KmdfService = shinyfilter, shinyfilter_wdfsect
[shinyfilter_wdfsect]
KmdfLibraryVersion = 1.9

; Strings Section
; ---------------------------------------------------------
[Strings]
; Provider names
Provider = “Shiny Things”

; Mfg names
ShinyThings = “Random”

; Service names
shinyfilter.SvcDesc = “shinyfilter Service”

; Media names
DiskName = “shinyfilter Driver Disk”

; HID device IDs
HID\Vid_0977&Pid_8888.DeviceDesc = “Trackpad”

; Standard defs
SPSVCINST_TAGTOFRONT = 0x00000001
SPSVCINST_ASSOCSERVICE= 0x00000002
SERVICE_KERNEL_DRIVER = 1
SERVICE_BOOT_START = 0
SERVICE_SYSTEM_START = 1
SERVICE_AUTO_START = 2
SERVICE_ERROR_NORMAL = 1
SERVICE_ERROR_IGNORE = 0
REG_EXPAND_SZ = 0x00020000
REG_DWORD = 0x00010001
REG_SZ = 0x00000000

But now, the trackpad doesn’t get recognized as Mouse in Device manager,
its being shown as HID class device.

On Tue, Jun 10, 2014 at 1:45 PM, Doron Holan
wrote:

> Add your filter as a device filter and you can see MOUSE_INPUT_DATA
> arrays in your ServiceCallback. You can see x,y, button data and modify as
> you want
>
>
>
> From: xxxxx@lists.osr.com [mailto:
> xxxxx@lists.osr.com] *On Behalf Of *Anshul Jain
> Sent: Tuesday, June 10, 2014 1:26 PM
>
> To: Windows System Software Devs Interest List
> Subject: Re: [ntdev] Filter Driver
>
>
>
> Hi Doron,
>
>
>
> I would like to implement some filtering of X,Y coordinates and filter the
> noise from trackpad events.
>
>
>
> Thanks,
>
> Anshul
>
>
>
> On Fri, Jun 6, 2014 at 3:55 PM, Doron Holan
> wrote:
>
> And what do you want the filter to change?
>
> d
>
> Bent from my phone
> ------------------------------
>
> *From: *xxxxx@gmail.com
> *Sent: *‎6/‎6/‎2014 1:27 PM
> *To: *Windows System Software Devs Interest List
> *Subject: *RE:[ntdev] Filter Driver
>
> Thank you Tim for your reply. I did plug it in the device gets recognized
> as HID Compliant device.
>
> I also ran USBlyzer on it and I see packets coming from the device which
> is reporting X,Y coordiantes of the trackpad.
>
> —
> NTDEV is sponsored by OSR
>
> Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
>
> OSR is HIRING!! See http://www.osr.com/careers
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
>
> —
> NTDEV is sponsored by OSR
>
> Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
>
> OSR is HIRING!! See http://www.osr.com/careers
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
>
>
> — NTDEV is sponsored by OSR Visit the list at:
> http://www.osronline.com/showlists.cfm?list=ntdev OSR is HIRING!! See
> http://www.osr.com/careers For our schedule of WDF, WDM, debugging and
> other seminars visit: http://www.osr.com/seminars To unsubscribe, visit
> the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
> —
> NTDEV is sponsored by OSR
>
> Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
>
> OSR is HIRING!! See http://www.osr.com/careers
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>

Did the usage page change? The device is typically recognized as a mouse by the usage page and the associated compat I’d which gets created for it

d

Bent from my phone


From: Anshul Jainmailto:xxxxx
Sent: ?6/?10/?2014 3:42 PM
To: Windows System Software Devs Interest Listmailto:xxxxx
Subject: Re: [ntdev] Filter Driver

Thank you again Doron, How can I force HIDclass device to be recognized as Mouse? Is it something that I should do in INF files?

The filter driver I used earlier was taken from firefly example of windows and it expected the mouse device. But recently the vendor has changed the descriptor to HIDclass and the filter driver doesn’t work anymore.

This is what I used earlier:
[Version]
Signature=“$Windows NT$”
Class=Mouse
ClassGUID={4D36E96F-E325-11CE-BFC1-08002BE10318}
Provider=%Provider%
DriverVer=05/27/2014,1.0.0.1
CatalogFile=KmdfSamples.cat

[DestinationDirs]
DefaultDestDir = 12 ; DIRID_DRIVERS

[ControlFlags]
; We don’t want our device to be installable via the non-PnP hardware dialogs
ExcludeFromSelect = *

; Manufacturer Section
; ---------------------------------------------------------
[Manufacturer]
%ShinyThings%=ShinyThingsMfg,NTx86,NTamd64

; Devices Section for Win2K
; ---------------------------------------------------------
[ShinyThingsMfg]
%HID\Vid_0977&Pid_8888.DeviceDesc%=shinyfilter_Inst, HID\Vid_0977&Pid_8888&REV_0100&Col02

; Devices Section for XP and above
; ---------------------------------------------------------
[ShinyThingsMfg.NTx86]
%HID\Vid_0977&Pid_8888.DeviceDesc%=shinyfilter_Inst, HID\Vid_0977&Pid_8888&REV_0100&Col02

; For amd64
; ---------------------------------------------------------
[ShinyThingsMfg.NTamd64]
%HID\Vid_0977&Pid_8888.DeviceDesc%=shinyfilter_Inst, HID\Vid_0977&Pid_8888&REV_0100&Col02

; Install Section for Windows 2000 & Windows XP
; ---------------------------------------------------------

[shinyfilter_Inst.NT]
Include = MSMOUSE.INF
Needs = HID_Mouse_Inst.NT
CopyFiles = shinyfilter_Inst_CopyFiles.NT

[shinyfilter_Inst.NT.HW]
Include = MSMOUSE.INF
Needs = HID_Mouse_Inst.NT
AddReg = shinyfilter_Inst_HWAddReg.NT

[shinyfilter_Inst_HWAddReg.NT]
HKR,“UpperFilters”,0x00010000,“shinyfilter”

[shinyfilter_Inst_CopyFiles.NT]
shinyfilter.sys

[shinyfilter_Inst.NT.Services]
Needs = HID_Mouse_Inst.NT.Services
AddService = shinyfilter, , shinyfilter_Service_Inst

[shinyfilter_Service_Inst]
DisplayName = %shinyfilter.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 3 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\shinyfilter.sys
LoadOrderGroup = PNP Filter

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

[SourceDisksFiles]
shinyfilter.sys = 1
WdfCoInstaller01009.dll = 1

;
;— shinyfilter_Inst WDF Coinstaller installation ------
;

[DestinationDirs]
shinyfilter_Inst_CoInstaller_CopyFiles = 11

[shinyfilter_Inst.NT.CoInstallers]
AddReg=shinyfilter_Inst_CoInstaller_AddReg
CopyFiles=shinyfilter_Inst_CoInstaller_CopyFiles

[shinyfilter_Inst_CoInstaller_AddReg]
HKR,CoInstallers32,0x00010000, “WdfCoInstaller01009.dll,WdfCoInstaller”

[shinyfilter_Inst_CoInstaller_CopyFiles]
WdfCoInstaller01009.dll

[shinyfilter_Inst.NT.Wdf]
KmdfService = shinyfilter, shinyfilter_wdfsect
[shinyfilter_wdfsect]
KmdfLibraryVersion = 1.9

; Strings Section
; ---------------------------------------------------------
[Strings]
; Provider names
Provider = “Shiny Things”

; Mfg names
ShinyThings = “Random”

; Service names
shinyfilter.SvcDesc = “shinyfilter Service”

; Media names
DiskName = “shinyfilter Driver Disk”

; HID device IDs
HID\Vid_0977&Pid_8888.DeviceDesc = “Trackpad”

; Standard defs
SPSVCINST_TAGTOFRONT = 0x00000001
SPSVCINST_ASSOCSERVICE= 0x00000002
SERVICE_KERNEL_DRIVER = 1
SERVICE_BOOT_START = 0
SERVICE_SYSTEM_START = 1
SERVICE_AUTO_START = 2
SERVICE_ERROR_NORMAL = 1
SERVICE_ERROR_IGNORE = 0
REG_EXPAND_SZ = 0x00020000
REG_DWORD = 0x00010001
REG_SZ = 0x00000000

But now, the trackpad doesn’t get recognized as Mouse in Device manager, its being shown as HID class device.

On Tue, Jun 10, 2014 at 1:45 PM, Doron Holan > wrote:
Add your filter as a device filter and you can see MOUSE_INPUT_DATA arrays in your ServiceCallback. You can see x,y, button data and modify as you want

From: xxxxx@lists.osr.commailto:xxxxx [mailto:xxxxx@lists.osr.commailto:xxxxx] On Behalf Of Anshul Jain
Sent: Tuesday, June 10, 2014 1:26 PM

To: Windows System Software Devs Interest List
Subject: Re: [ntdev] Filter Driver

Hi Doron,

I would like to implement some filtering of X,Y coordinates and filter the noise from trackpad events.

Thanks,
Anshul

On Fri, Jun 6, 2014 at 3:55 PM, Doron Holan > wrote:
And what do you want the filter to change?

d

Bent from my phone
________________________________
From: xxxxx@gmail.commailto:xxxxx
Sent: ?6/?6/?2014 1:27 PM
To: Windows System Software Devs Interest Listmailto:xxxxx
Subject: RE:[ntdev] Filter Driver
Thank you Tim for your reply. I did plug it in the device gets recognized as HID Compliant device.

I also ran USBlyzer on it and I see packets coming from the device which is reporting X,Y coordiantes of the trackpad.


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

— NTDEV is sponsored by OSR Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev OSR is HIRING!! See http://www.osr.com/careers For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

— NTDEV is sponsored by OSR Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev OSR is HIRING!! See http://www.osr.com/careers For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer</mailto:xxxxx></mailto:xxxxx></mailto:xxxxx></mailto:xxxxx></mailto:xxxxx></mailto:xxxxx>

Yes, the usage page and usage has changed in the firmware of the device.

Usage used to be 0x2 and now its 0x4
Usage page used to be 0x1 and now its 0xFFDE (Vendor specific)

On Tue, Jun 10, 2014 at 4:52 PM, Doron Holan
wrote:

> Did the usage page change? The device is typically recognized as a mouse
> by the usage page and the associated compat I’d which gets created for it
>
>
> d
>
> Bent from my phone
> ------------------------------
> From: Anshul Jain
> Sent: ‎6/‎10/‎2014 3:42 PM
>
> To: Windows System Software Devs Interest List
> Subject: Re: [ntdev] Filter Driver
>
> Thank you again Doron, How can I force HIDclass device to be recognized
> as Mouse? Is it something that I should do in INF files?
>
> The filter driver I used earlier was taken from firefly example of
> windows and it expected the mouse device. But recently the vendor has
> changed the descriptor to HIDclass and the filter driver doesn’t work
> anymore.
>
> This is what I used earlier:
> [Version]
> Signature=“$Windows NT$”
> Class=Mouse
> ClassGUID={4D36E96F-E325-11CE-BFC1-08002BE10318}
> Provider=%Provider%
> DriverVer=05/27/2014,1.0.0.1
> CatalogFile=KmdfSamples.cat
>
> [DestinationDirs]
> DefaultDestDir = 12 ; DIRID_DRIVERS
>
> [ControlFlags]
> ; We don’t want our device to be installable via the non-PnP hardware
> dialogs
> ExcludeFromSelect = *
>
> ; Manufacturer Section
> ; ---------------------------------------------------------
> [Manufacturer]
> %ShinyThings%=ShinyThingsMfg,NTx86,NTamd64
>
> ; Devices Section for Win2K
> ; ---------------------------------------------------------
> [ShinyThingsMfg]
> %HID\Vid_0977&Pid_8888.DeviceDesc%=shinyfilter_Inst,
> HID\Vid_0977&Pid_8888&REV_0100&Col02
>
> ; Devices Section for XP and above
> ; ---------------------------------------------------------
> [ShinyThingsMfg.NTx86]
> %HID\Vid_0977&Pid_8888.DeviceDesc%=shinyfilter_Inst,
> HID\Vid_0977&Pid_8888&REV_0100&Col02
>
> ; For amd64
> ; ---------------------------------------------------------
> [ShinyThingsMfg.NTamd64]
> %HID\Vid_0977&Pid_8888.DeviceDesc%=shinyfilter_Inst,
> HID\Vid_0977&Pid_8888&REV_0100&Col02
>
> ; Install Section for Windows 2000 & Windows XP
> ; ---------------------------------------------------------
>
> [shinyfilter_Inst.NT]
> Include = MSMOUSE.INF
> Needs = HID_Mouse_Inst.NT
> CopyFiles = shinyfilter_Inst_CopyFiles.NT
>
> [shinyfilter_Inst.NT.HW]
> Include = MSMOUSE.INF
> Needs = HID_Mouse_Inst.NT
> AddReg = shinyfilter_Inst_HWAddReg.NT
>
> [shinyfilter_Inst_HWAddReg.NT]
> HKR,“UpperFilters”,0x00010000,“shinyfilter”
>
> [shinyfilter_Inst_CopyFiles.NT]
> shinyfilter.sys
>
> [shinyfilter_Inst.NT.Services]
> Needs = HID_Mouse_Inst.NT.Services
> AddService = shinyfilter, , shinyfilter_Service_Inst
>
> [shinyfilter_Service_Inst]
> DisplayName = %shinyfilter.SvcDesc%
> ServiceType = 1 ; SERVICE_KERNEL_DRIVER
> StartType = 3 ; SERVICE_DEMAND_START
> ErrorControl = 1 ; SERVICE_ERROR_NORMAL
> ServiceBinary = %12%\shinyfilter.sys
> LoadOrderGroup = PNP Filter
>
>
> ; Source Media Section
> ; ---------------------------------------------------------
> [SourceDisksNames]
> 1 = %DiskName%
>
> [SourceDisksFiles]
> shinyfilter.sys = 1
> WdfCoInstaller01009.dll = 1
>
> ;
> ;— shinyfilter_Inst WDF Coinstaller installation ------
> ;
>
> [DestinationDirs]
> shinyfilter_Inst_CoInstaller_CopyFiles = 11
>
> [shinyfilter_Inst.NT.CoInstallers]
> AddReg=shinyfilter_Inst_CoInstaller_AddReg
> CopyFiles=shinyfilter_Inst_CoInstaller_CopyFiles
>
> [shinyfilter_Inst_CoInstaller_AddReg]
> HKR,CoInstallers32,0x00010000, “WdfCoInstaller01009.dll,WdfCoInstaller”
>
> [shinyfilter_Inst_CoInstaller_CopyFiles]
> WdfCoInstaller01009.dll
>
> [shinyfilter_Inst.NT.Wdf]
> KmdfService = shinyfilter, shinyfilter_wdfsect
> [shinyfilter_wdfsect]
> KmdfLibraryVersion = 1.9
>
>
> ; Strings Section
> ; ---------------------------------------------------------
> [Strings]
> ; Provider names
> Provider = “Shiny Things”
>
> ; Mfg names
> ShinyThings = “Random”
>
> ; Service names
> shinyfilter.SvcDesc = “shinyfilter Service”
>
> ; Media names
> DiskName = “shinyfilter Driver Disk”
>
> ; HID device IDs
> HID\Vid_0977&Pid_8888.DeviceDesc = “Trackpad”
>
> ; Standard defs
> SPSVCINST_TAGTOFRONT = 0x00000001
> SPSVCINST_ASSOCSERVICE= 0x00000002
> SERVICE_KERNEL_DRIVER = 1
> SERVICE_BOOT_START = 0
> SERVICE_SYSTEM_START = 1
> SERVICE_AUTO_START = 2
> SERVICE_ERROR_NORMAL = 1
> SERVICE_ERROR_IGNORE = 0
> REG_EXPAND_SZ = 0x00020000
> REG_DWORD = 0x00010001
> REG_SZ = 0x00000000
>
> But now, the trackpad doesn’t get recognized as Mouse in Device manager,
> its being shown as HID class device.
>
>
> On Tue, Jun 10, 2014 at 1:45 PM, Doron Holan
> wrote:
>
>> Add your filter as a device filter and you can see MOUSE_INPUT_DATA
>> arrays in your ServiceCallback. You can see x,y, button data and modify as
>> you want
>>
>>
>>
>> From: xxxxx@lists.osr.com [mailto:
>> xxxxx@lists.osr.com] *On Behalf Of *Anshul Jain
>> Sent: Tuesday, June 10, 2014 1:26 PM
>>
>> To: Windows System Software Devs Interest List
>> Subject: Re: [ntdev] Filter Driver
>>
>>
>>
>> Hi Doron,
>>
>>
>>
>> I would like to implement some filtering of X,Y coordinates and filter
>> the noise from trackpad events.
>>
>>
>>
>> Thanks,
>>
>> Anshul
>>
>>
>>
>> On Fri, Jun 6, 2014 at 3:55 PM, Doron Holan
>> wrote:
>>
>> And what do you want the filter to change?
>>
>> d
>>
>> Bent from my phone
>> ------------------------------
>>
>> *From: *xxxxx@gmail.com
>> *Sent: *‎6/‎6/‎2014 1:27 PM
>> *To: *Windows System Software Devs Interest List
>> *Subject: *RE:[ntdev] Filter Driver
>>
>> Thank you Tim for your reply. I did plug it in the device gets recognized
>> as HID Compliant device.
>>
>> I also ran USBlyzer on it and I see packets coming from the device which
>> is reporting X,Y coordiantes of the trackpad.
>>
>> —
>> NTDEV is sponsored by OSR
>>
>> Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
>>
>> OSR is HIRING!! See http://www.osr.com/careers
>>
>> For our schedule of WDF, WDM, debugging and other seminars visit:
>> http://www.osr.com/seminars
>>
>> To unsubscribe, visit the List Server section of OSR Online at
>> http://www.osronline.com/page.cfm?name=ListServer
>>
>>
>> —
>> NTDEV is sponsored by OSR
>>
>> Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
>>
>> OSR is HIRING!! See http://www.osr.com/careers
>>
>> For our schedule of WDF, WDM, debugging and other seminars visit:
>> http://www.osr.com/seminars
>>
>> To unsubscribe, visit the List Server section of OSR Online at
>> http://www.osronline.com/page.cfm?name=ListServer
>>
>>
>>
>> — NTDEV is sponsored by OSR Visit the list at:
>> http://www.osronline.com/showlists.cfm?list=ntdev OSR is HIRING!! See
>> http://www.osr.com/careers For our schedule of WDF, WDM, debugging and
>> other seminars visit: http://www.osr.com/seminars To unsubscribe, visit
>> the List Server section of OSR Online at
>> http://www.osronline.com/page.cfm?name=ListServer
>>
>> —
>> NTDEV is sponsored by OSR
>>
>> Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
>>
>> OSR is HIRING!! See http://www.osr.com/careers
>>
>> For our schedule of WDF, WDM, debugging and other seminars visit:
>> http://www.osr.com/seminars
>>
>> To unsubscribe, visit the List Server section of OSR Online at
>> http://www.osronline.com/page.cfm?name=ListServer
>>
>
> — NTDEV is sponsored by OSR Visit the list at:
> http://www.osronline.com/showlists.cfm?list=ntdev OSR is HIRING!! See
> http://www.osr.com/careers For our schedule of WDF, WDM, debugging and
> other seminars visit: http://www.osr.com/seminars To unsubscribe, visit
> the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
> —
> NTDEV is sponsored by OSR
>
> Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
>
> OSR is HIRING!! See http://www.osr.com/careers
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>

Hi Doron,

Any pointers for this? Is a filter driver possible or will I need a new
driver for this?

Thank you,
Anshul

On Wed, Jun 11, 2014 at 11:02 AM, Anshul Jain
wrote:

> Yes, the usage page and usage has changed in the firmware of the device.
>
> Usage used to be 0x2 and now its 0x4
> Usage page used to be 0x1 and now its 0xFFDE (Vendor specific)
>
>
> On Tue, Jun 10, 2014 at 4:52 PM, Doron Holan
> wrote:
>
>> Did the usage page change? The device is typically recognized as a
>> mouse by the usage page and the associated compat I’d which gets created
>> for it
>>
>>
>> d
>>
>> Bent from my phone
>> ------------------------------
>> From: Anshul Jain
>> Sent: ‎6/‎10/‎2014 3:42 PM
>>
>> To: Windows System Software Devs Interest List
>> Subject: Re: [ntdev] Filter Driver
>>
>> Thank you again Doron, How can I force HIDclass device to be recognized
>> as Mouse? Is it something that I should do in INF files?
>>
>> The filter driver I used earlier was taken from firefly example of
>> windows and it expected the mouse device. But recently the vendor has
>> changed the descriptor to HIDclass and the filter driver doesn’t work
>> anymore.
>>
>> This is what I used earlier:
>> [Version]
>> Signature=“$Windows NT$”
>> Class=Mouse
>> ClassGUID={4D36E96F-E325-11CE-BFC1-08002BE10318}
>> Provider=%Provider%
>> DriverVer=05/27/2014,1.0.0.1
>> CatalogFile=KmdfSamples.cat
>>
>> [DestinationDirs]
>> DefaultDestDir = 12 ; DIRID_DRIVERS
>>
>> [ControlFlags]
>> ; We don’t want our device to be installable via the non-PnP hardware
>> dialogs
>> ExcludeFromSelect = *
>>
>> ; Manufacturer Section
>> ; ---------------------------------------------------------
>> [Manufacturer]
>> %ShinyThings%=ShinyThingsMfg,NTx86,NTamd64
>>
>> ; Devices Section for Win2K
>> ; ---------------------------------------------------------
>> [ShinyThingsMfg]
>> %HID\Vid_0977&Pid_8888.DeviceDesc%=shinyfilter_Inst,
>> HID\Vid_0977&Pid_8888&REV_0100&Col02
>>
>> ; Devices Section for XP and above
>> ; ---------------------------------------------------------
>> [ShinyThingsMfg.NTx86]
>> %HID\Vid_0977&Pid_8888.DeviceDesc%=shinyfilter_Inst,
>> HID\Vid_0977&Pid_8888&REV_0100&Col02
>>
>> ; For amd64
>> ; ---------------------------------------------------------
>> [ShinyThingsMfg.NTamd64]
>> %HID\Vid_0977&Pid_8888.DeviceDesc%=shinyfilter_Inst,
>> HID\Vid_0977&Pid_8888&REV_0100&Col02
>>
>> ; Install Section for Windows 2000 & Windows XP
>> ; ---------------------------------------------------------
>>
>> [shinyfilter_Inst.NT]
>> Include = MSMOUSE.INF
>> Needs = HID_Mouse_Inst.NT
>> CopyFiles = shinyfilter_Inst_CopyFiles.NT
>>
>> [shinyfilter_Inst.NT.HW]
>> Include = MSMOUSE.INF
>> Needs = HID_Mouse_Inst.NT
>> AddReg = shinyfilter_Inst_HWAddReg.NT
>>
>> [shinyfilter_Inst_HWAddReg.NT]
>> HKR,“UpperFilters”,0x00010000,“shinyfilter”
>>
>> [shinyfilter_Inst_CopyFiles.NT]
>> shinyfilter.sys
>>
>> [shinyfilter_Inst.NT.Services]
>> Needs = HID_Mouse_Inst.NT.Services
>> AddService = shinyfilter, , shinyfilter_Service_Inst
>>
>> [shinyfilter_Service_Inst]
>> DisplayName = %shinyfilter.SvcDesc%
>> ServiceType = 1 ; SERVICE_KERNEL_DRIVER
>> StartType = 3 ; SERVICE_DEMAND_START
>> ErrorControl = 1 ; SERVICE_ERROR_NORMAL
>> ServiceBinary = %12%\shinyfilter.sys
>> LoadOrderGroup = PNP Filter
>>
>>
>> ; Source Media Section
>> ; ---------------------------------------------------------
>> [SourceDisksNames]
>> 1 = %DiskName%
>>
>> [SourceDisksFiles]
>> shinyfilter.sys = 1
>> WdfCoInstaller01009.dll = 1
>>
>> ;
>> ;— shinyfilter_Inst WDF Coinstaller installation ------
>> ;
>>
>> [DestinationDirs]
>> shinyfilter_Inst_CoInstaller_CopyFiles = 11
>>
>> [shinyfilter_Inst.NT.CoInstallers]
>> AddReg=shinyfilter_Inst_CoInstaller_AddReg
>> CopyFiles=shinyfilter_Inst_CoInstaller_CopyFiles
>>
>> [shinyfilter_Inst_CoInstaller_AddReg]
>> HKR,CoInstallers32,0x00010000, “WdfCoInstaller01009.dll,WdfCoInstaller”
>>
>> [shinyfilter_Inst_CoInstaller_CopyFiles]
>> WdfCoInstaller01009.dll
>>
>> [shinyfilter_Inst.NT.Wdf]
>> KmdfService = shinyfilter, shinyfilter_wdfsect
>> [shinyfilter_wdfsect]
>> KmdfLibraryVersion = 1.9
>>
>>
>> ; Strings Section
>> ; ---------------------------------------------------------
>> [Strings]
>> ; Provider names
>> Provider = “Shiny Things”
>>
>> ; Mfg names
>> ShinyThings = “Random”
>>
>> ; Service names
>> shinyfilter.SvcDesc = “shinyfilter Service”
>>
>> ; Media names
>> DiskName = “shinyfilter Driver Disk”
>>
>> ; HID device IDs
>> HID\Vid_0977&Pid_8888.DeviceDesc = “Trackpad”
>>
>> ; Standard defs
>> SPSVCINST_TAGTOFRONT = 0x00000001
>> SPSVCINST_ASSOCSERVICE= 0x00000002
>> SERVICE_KERNEL_DRIVER = 1
>> SERVICE_BOOT_START = 0
>> SERVICE_SYSTEM_START = 1
>> SERVICE_AUTO_START = 2
>> SERVICE_ERROR_NORMAL = 1
>> SERVICE_ERROR_IGNORE = 0
>> REG_EXPAND_SZ = 0x00020000
>> REG_DWORD = 0x00010001
>> REG_SZ = 0x00000000
>>
>> But now, the trackpad doesn’t get recognized as Mouse in Device
>> manager, its being shown as HID class device.
>>
>>
>> On Tue, Jun 10, 2014 at 1:45 PM, Doron Holan
>> wrote:
>>
>>> Add your filter as a device filter and you can see MOUSE_INPUT_DATA
>>> arrays in your ServiceCallback. You can see x,y, button data and modify as
>>> you want
>>>
>>>
>>>
>>> From: xxxxx@lists.osr.com [mailto:
>>> xxxxx@lists.osr.com] *On Behalf Of *Anshul Jain
>>> Sent: Tuesday, June 10, 2014 1:26 PM
>>>
>>> To: Windows System Software Devs Interest List
>>> Subject: Re: [ntdev] Filter Driver
>>>
>>>
>>>
>>> Hi Doron,
>>>
>>>
>>>
>>> I would like to implement some filtering of X,Y coordinates and filter
>>> the noise from trackpad events.
>>>
>>>
>>>
>>> Thanks,
>>>
>>> Anshul
>>>
>>>
>>>
>>> On Fri, Jun 6, 2014 at 3:55 PM, Doron Holan
>>> wrote:
>>>
>>> And what do you want the filter to change?
>>>
>>> d
>>>
>>> Bent from my phone
>>> ------------------------------
>>>
>>> *From: *xxxxx@gmail.com
>>> *Sent: *‎6/‎6/‎2014 1:27 PM
>>> *To: *Windows System Software Devs Interest List
>>> *Subject: *RE:[ntdev] Filter Driver
>>>
>>> Thank you Tim for your reply. I did plug it in the device gets
>>> recognized as HID Compliant device.
>>>
>>> I also ran USBlyzer on it and I see packets coming from the device which
>>> is reporting X,Y coordiantes of the trackpad.
>>>
>>> —
>>> NTDEV is sponsored by OSR
>>>
>>> Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
>>>
>>> OSR is HIRING!! See http://www.osr.com/careers
>>>
>>> For our schedule of WDF, WDM, debugging and other seminars visit:
>>> http://www.osr.com/seminars
>>>
>>> To unsubscribe, visit the List Server section of OSR Online at
>>> http://www.osronline.com/page.cfm?name=ListServer
>>>
>>>
>>> —
>>> NTDEV is sponsored by OSR
>>>
>>> Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
>>>
>>> OSR is HIRING!! See http://www.osr.com/careers
>>>
>>> For our schedule of WDF, WDM, debugging and other seminars visit:
>>> http://www.osr.com/seminars
>>>
>>> To unsubscribe, visit the List Server section of OSR Online at
>>> http://www.osronline.com/page.cfm?name=ListServer
>>>
>>>
>>>
>>> — NTDEV is sponsored by OSR Visit the list at:
>>> http://www.osronline.com/showlists.cfm?list=ntdev OSR is HIRING!! See
>>> http://www.osr.com/careers For our schedule of WDF, WDM, debugging and
>>> other seminars visit: http://www.osr.com/seminars To unsubscribe, visit
>>> the List Server section of OSR Online at
>>> http://www.osronline.com/page.cfm?name=ListServer
>>>
>>> —
>>> NTDEV is sponsored by OSR
>>>
>>> Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
>>>
>>> OSR is HIRING!! See http://www.osr.com/careers
>>>
>>> For our schedule of WDF, WDM, debugging and other seminars visit:
>>> http://www.osr.com/seminars
>>>
>>> To unsubscribe, visit the List Server section of OSR Online at
>>> http://www.osronline.com/page.cfm?name=ListServer
>>>
>>
>> — NTDEV is sponsored by OSR Visit the list at:
>> http://www.osronline.com/showlists.cfm?list=ntdev OSR is HIRING!! See
>> http://www.osr.com/careers For our schedule of WDF, WDM, debugging and
>> other seminars visit: http://www.osr.com/seminars To unsubscribe, visit
>> the List Server section of OSR Online at
>> http://www.osronline.com/page.cfm?name=ListServer
>>
>> —
>> NTDEV is sponsored by OSR
>>
>> Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
>>
>> OSR is HIRING!! See http://www.osr.com/careers
>>
>> For our schedule of WDF, WDM, debugging and other seminars visit:
>> http://www.osr.com/seminars
>>
>> To unsubscribe, visit the List Server section of OSR Online at
>> http://www.osronline.com/page.cfm?name=ListServer
>>
>
>

Anshul wrote:

Any pointers for this? Is a filter driver possible or will I need a new driver for this?

If your collection is vendor-defined, then it’s pretty clear that no standard driver can help you. You’ll need to write the whole miniport. That’s not really any more difficult than writing a filter.

Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

Thank you Tim! I’m very new to windows development, please pardon my lack
of knowledge. By miniport driver I understand it as a function driver. Will
the miniport driver be the power policy owner?

On Thu, Jun 12, 2014 at 12:58 PM, Tim Roberts wrote:

> Anshul wrote:
> >
> > Any pointers for this? Is a filter driver possible or will I need a new
> driver for this?
>
> If your collection is vendor-defined, then it’s pretty clear that no
> standard driver can help you. You’ll need to write the whole miniport.
> That’s not really any more difficult than writing a filter.
> –
> Tim Roberts, xxxxx@probo.com
> Providenza & Boekelheide, Inc.
>
>
> —
> NTDEV is sponsored by OSR
>
> Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
>
> OSR is HIRING!! See http://www.osr.com/careers
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>

No, hidclass is

d

Bent from my phone


From: Anshul Jainmailto:xxxxx
Sent: ?6/?12/?2014 6:15 PM
To: Windows System Software Devs Interest Listmailto:xxxxx
Subject: Re: [ntdev] Filter Driver

Thank you Tim! I’m very new to windows development, please pardon my lack of knowledge. By miniport driver I understand it as a function driver. Will the miniport driver be the power policy owner?

On Thu, Jun 12, 2014 at 12:58 PM, Tim Roberts > wrote:
Anshul wrote:
>
> Any pointers for this? Is a filter driver possible or will I need a new driver for this?

If your collection is vendor-defined, then it’s pretty clear that no standard driver can help you. You’ll need to write the whole miniport. That’s not really any more difficult than writing a filter.

Tim Roberts, xxxxx@probo.commailto:xxxxx
Providenza & Boekelheide, Inc.


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

— NTDEV is sponsored by OSR Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev OSR is HIRING!! See http://www.osr.com/careers For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer</mailto:xxxxx></mailto:xxxxx></mailto:xxxxx>