Can someone tell me the process, classes, procedures that the system mouse
pointer uses to display itself?

Thanks,
Tim

Re: system mouse pointer by Doron

Doron
Fri Feb 06 00:06:51 CST 2004

the mouse stacks report raw information (x/y deltas, change in buttons etc).
the raw input thread coalesces all the different mice input into one
pointer. it then calls into GDI to display the pointer. how much simpler
could it be :) ?

d

--
This posting is provided "AS IS" with no warranties, and confers no rights.
Please reply to newsgroups only.

"Tim Reago" <info@edenspeace.com> wrote in message
news:u$1zB2A7DHA.2472@TK2MSFTNGP10.phx.gbl...
> Can someone tell me the process, classes, procedures that the system mouse
> pointer uses to display itself?
>
> Thanks,
> Tim
>
>



Re: system mouse pointer by Tim

Tim
Fri Feb 06 17:06:54 CST 2004

Thanks for replying Doron,

Two things I would like to do to improve my web cam and voice activated
mouse software before I release it (see www.spitbit.com/mousehead/index.htm,
free tipware download).

1) Directly display the secondary pointer. Currently using an image painted
on to a transparent borderless window with regions to isolate the shape of
the pointer.

2) Decide the best place to send messages into the kernel, i.e. root device,
pci bus pdo/fdo, usb bus pdo/fdo or periphrial pdo/fdo. Particularly for
mouse messages, I don't want to cause the primary mouse to move. And I want
the rest of the system to react normally as if the secondary mouse was the
same as the primary system mouse. Two fully functional independent mouse
pointers, the standard mouse and the web cam activated mouse.

For a subsequent release:

3) MouseHead currently produces 6DOF joystick data from the video web cam
input. Sending joystick message data is next on the list. Where ever I
plug in for mouse messaging I would like to use the same hook point for
joystick and keyboard messages.

Thanks for any help you can provide,
Tim Reago




Re: system mouse pointer by Doron

Doron
Mon Feb 09 01:14:03 CST 2004

there is no such thing as a 2nd mouse pointer windows. there is only one
cursor. for what you are doing, it is easier to stay out of the kernel and
just use SendInput to affect the single cursor. if you want 2, you will
have to go through some pretty serious pains to get things working in a
compatible manner with all apps.

d

--
This posting is provided "AS IS" with no warranties, and confers no rights.
Please reply to newsgroups only.

"Tim Reago" <info@edenspeace.com> wrote in message
news:eS1MUWQ7DHA.360@TK2MSFTNGP12.phx.gbl...
> Thanks for replying Doron,
>
> Two things I would like to do to improve my web cam and voice activated
> mouse software before I release it (see
www.spitbit.com/mousehead/index.htm,
> free tipware download).
>
> 1) Directly display the secondary pointer. Currently using an image
painted
> on to a transparent borderless window with regions to isolate the shape of
> the pointer.
>
> 2) Decide the best place to send messages into the kernel, i.e. root
device,
> pci bus pdo/fdo, usb bus pdo/fdo or periphrial pdo/fdo. Particularly for
> mouse messages, I don't want to cause the primary mouse to move. And I
want
> the rest of the system to react normally as if the secondary mouse was the
> same as the primary system mouse. Two fully functional independent mouse
> pointers, the standard mouse and the web cam activated mouse.
>
> For a subsequent release:
>
> 3) MouseHead currently produces 6DOF joystick data from the video web cam
> input. Sending joystick message data is next on the list. Where ever I
> plug in for mouse messaging I would like to use the same hook point for
> joystick and keyboard messages.
>
> Thanks for any help you can provide,
> Tim Reago
>
>
>



Re: system mouse pointer by Ray

Ray
Tue Feb 10 13:32:03 CST 2004

I agree with Doron's comment that trying to implement 2 independent
pointers will cause more trouble than it solves.

I went quite a ways down that path once (trying to support simultaneous
use of dual touchscreens on a single machine in case you're curious),
and eventually came to the conclusion that you really have to make sure
all apps activated by the secondary fake pointer are "well behaved" in
the sense that they don't ask the system where the *single* pointer is,
or try to set the position of the pointer (the system only has one
answer for this question, and it's not the one you want). If the app
doesn't ask the system where the cursor is, you can mostly fool it into
thinking it's been activated by a mouse by sending them WM_MOUSEMOVE,
WM_LBUTTONDOWN/UP, etc., messages directly.

Unfortunately, *many* apps are *not* well behaved, including
Internet/Windows Explorer and many other popular apps.

So it's really only useful for vertical applications where you can
control and test all of the apps that can be running.

Doron Holan [MS] wrote:

> there is no such thing as a 2nd mouse pointer windows. there is only one
> cursor. for what you are doing, it is easier to stay out of the kernel and
> just use SendInput to affect the single cursor. if you want 2, you will
> have to go through some pretty serious pains to get things working in a
> compatible manner with all apps.
>
> d
>

--
../ray\..