Do you want to communicate with this driver with an application as well as generate mouse input? Or is it solely going to generate mouse input? Do you have the option of changing the device’s firmware at this point in time and just enumerating it as a HID or as a multiinterface device where one of the interfaces is HID?
d
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Tomer G
Sent: Thursday, June 29, 2006 11:20 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Virtual mouse driver
?
Hi all,
I’m interested in developing a virtual mouse driver, that is a driver which will generate mouse events controlled by input from
another driver(which is usb device driver)
?
what is the best approach considering the samples which are available,
is it possible to use “moufiltr” for that?
?
thanks, Tom.
?
?
Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
If this is the only thing the usb device is going to do, just have the
usb driver behave as a mouse port driver and be done with it. If you
need to get the data from the usb device to be both mouse data and some
other data, I would recommend enumerating a child PDO and installing the
PDO’s stack as a mouse device. This is easily done with KMDF, much more
complicated in WDM.
d
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Tomer G
Sent: Friday, June 30, 2006 6:49 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Virtual mouse driver
thanks Doron,
- regarding the application, I dont need to comuunicate with it, just
generate system mouse events like a standard mouse 2.I dont have the
option of changing the device’s firmware to support HID, the usb driver
needs to communicate with the virtual mouse driver in order to send
mouse events, probably via IO control.
Subject: RE: Virtual mouse driver
From: “Doron Holan”
> Date: Thu, 29 Jun 2006 10:22:20 -0700
> X-Message-Number: 10
>
> Do you want to communicate with this driver with an application as
> well as
generate mouse input? Or is it solely going to generate mouse input?
Do you have the option of changing the device’s firmware at this point
in time and just enumerating it as a HID or as a multiinterface device
where one of the interfaces is HID?
>
> d
>
—
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer
You know, I was about to trot out my usual suggestion of doing this
mostly in user mode (by calling SendInput), but it just now occurs to me
that this is no longer viable advice, because Vista is reported to track
mouse packets coming from “hardware” and only allows those to interact
with things like the UAC dialogs.
So… Doron’s suggestion of just having your USB driver act as a mouse
port driver is probably the easiest thing to do (I believe that just
means installing it as a Class=MOUSE device and handling the kinds of
IOCTLs that MOUCLASS expects such things to handle… see moufiltr for
examples).
If that doesn’t work, a second driver that’s installed as a mouse port
driver that talks to the USB driver via IOCTLs and/or callbacks is
probably the second easiest.
Tomer G wrote:
Hi all,
I’m interested in developing a virtual mouse driver, that is a driver
which will generate mouse events controlled by input from
another driver(which is usb device driver)
what is the best approach considering the samples which are available,
is it possible to use “moufiltr” for that?
thanks, Tom.
–
Ray
(If you want to reply to me off list, please remove “spamblock.” from my
email address)