Absolute Mouse data on multi-monitors?

Hello,

I have a virtual hid mouse driver (based on vhidmini sample) with the X/Y
defined as absolute data with logical min = -64K and max = 64k. It works
great on a single monitor system but on a multi monitor setup the cursor is
confined to the primary display. Is this just how mouhid.sys works? Is
there any way to tell it to use the whole desktop?

What I need is something that works like Mouse_Event() or SendInput() where
absolute data maps to the entire virtual desktop but in the kernel so it
also works at the login screen.

Any ideas?
Thanks!

Mouhid.sys does not report the MOUSE_VIRTUAL_DESKTOP in
MOUSE_INPUT_DATA::Flags when reporting packets to mouclass. If the flag
was set, I think the absolute coordinates will map to the entire virtual
(ie dual monitor) screen.

You don’t have to replace mouhid to get this to work either. Just
insert a device upper filter on mouhid so that it sits in between mouhid
and mouclass. Then, in your service callback routine, OR in
MOUSE_VIRUTAL_DESKTOP into each packet’s Flags field and then report the
packet up the chain. See the moufiltr example in the DDK.

Since you control the HW ID via your virtual hid miniport and the
mouse’s ID is based on your vhidmini ID, it is easy to know which mouse
to do this for. This filter should be installed in a separate INF
(using the mouse and pointers class).

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Dan Tower
Sent: Monday, April 18, 2005 12:31 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] Absolute Mouse data on multi-monitors?

Hello,

I have a virtual hid mouse driver (based on vhidmini sample) with the
X/Y
defined as absolute data with logical min = -64K and max = 64k. It
works
great on a single monitor system but on a multi monitor setup the cursor
is
confined to the primary display. Is this just how mouhid.sys works? Is
there any way to tell it to use the whole desktop?

What I need is something that works like Mouse_Event() or SendInput()
where
absolute data maps to the entire virtual desktop but in the kernel so it

also works at the login screen.

Any ideas?
Thanks!


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com