MouseHead
=========
Regarding www.spitbit.com/mousehead/index.htm web cam and voice
activated hands-free mouse controller; even though MouseHead was an
enormous amount of work, I am making it a no-cut-off freeware/tipware
download, so please help.

MouseHead works well on 160x120 video input feed at 10 fps, excellent
at 20+ fps, with good pointer control, coverage and stability,
primarily developed and tested at 1600x1200 desktop resolution (also
works well on lower resolutions), low cpu utilization, about 3-12% on
various test machines including Athlon1000, Laptop P3 650Mhz, P4
2.4GHz and Athlon2600.

Given the following constraints:
=====================
A) I don't have the Win DDK's except dating back many years to maybe
MSDN WinNT 3.51 beta and before and have no money to pay for the
current MSDN update.

B) I want to support Win 9x/NT/2k/XP, preferably with one unified
approach if possible. Two variations will be okay also.

Specifically what I need is:
==================
1) Best approach to generate low kernel level mouse messages, because
low level messages seems more of a natural fit, better than user
level, and with the addition of mouse move message.

2) Best approach to display stable system-wide pointer. Currently
using a transparent window with regions and a graphic painted on it.

Please help.

Thank you,
Tim Reago

Re: generating low-level mouse messages by Tim

Tim
Thu Feb 05 11:47:56 CST 2004


NT4/2K/XP seems to be moufiltr and mouclass.

98/ME WDM filter drivers

95 ???

NT < 4 ???





Re: generating low-level mouse messages by Doron

Doron
Thu Feb 05 21:40:09 CST 2004

win9x is not WDM w/regard to input, you would have to write a vxd. for NT4
and before, you must write a mouse port driver. for win2k and above, you
could use a filter, but i would just write my own mouse port driver that is
pnp aware (diff then the nt4 one).

Use SendInput and mouse_event() in user mode, your life will be way easier
then.

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:e9BFj$A7DHA.3804@tk2msftngp13.phx.gbl...
>
> NT4/2K/XP seems to be moufiltr and mouclass.
>
> 98/ME WDM filter drivers
>
> 95 ???
>
> NT < 4 ???
>
>
>
>



Re: generating low-level mouse messages by Walter

Walter
Fri Feb 06 07:34:04 CST 2004

"Doron Holan [MS]" wrote:
> Use SendInput and mouse_event() in user mode, your life will be way easier
> then.

I rescued a project a couple of years back that was based on that
approach. The original design routed reports from a HID device to a
user-mode app, which then tried to inject mouse messages via user-mode
APIs. Performance was dismal (i.e., the pointer just didn't keep up with
the mouse), and there were problems getting all the mouse functions to
work right too. I redesigned the software to use a custom HID miniport,
whereupon the only problem left was how to get the %$#@! thing installed
instead of HIDUSB until the client got through WHQL.

--
Walter Oney, Consulting and Training
Basic and Advanced Driver Programming Seminars
Check out our schedule at http://www.oneysoft.com

Re: generating low-level mouse messages by Robert

Robert
Fri Feb 06 09:00:38 CST 2004

Walter Oney wrote:

> I rescued a project a couple of years back that was based on that
> approach. The original design routed reports from a HID device to a
> user-mode app, which then tried to inject mouse messages via user-mode
> APIs. Performance was dismal (i.e., the pointer just didn't keep up with
> the mouse), and there were problems getting all the mouse functions to
> work right too. I redesigned the software to use a custom HID miniport,
> whereupon the only problem left was how to get the %$#@! thing installed
> instead of HIDUSB until the client got through WHQL.

I have no problems to read the buttons of a generic HID and post mouse
and keyboard events with keybd_event and mouse_event. Only for Win 98 i
need a VxD to ram the keys down into the old keyboard buffer to make
DirectInput accept them.
The main speed lag seems to come from a global shell hook to detect
application switches for dynamic button assignment.