How to handle extra buttons on mouse

Hello:

We are developing a mouse which has 4 extra buttons. I understand that 3 + 2 buttons are supported by Windows as Left,Middle,right,xbutton1 and xbutton2.

For the additional two buttons

  1. Should we write a filter driver for mouse to pass on the messages
  2. Since this is a HID device will the application will automatically get the event?

Any help or pointers will be appreciated.

Thanks,
Sobhan

Change the firmware to report the extra buttons after the first 5 (e.g.
the 3+2 you mentioned) in a separate top level HID collection (TLC) that
is not a mouse. There is no automatic propagation of HID events to apps
for unknown usages. By making it a separate TLC, no mouse mapper driver
(mouhid.sys) is loaded which means that the application can open up the
HID TLC and read the extra buttons itself. This means you do not have
to write any drivers.

If you can’t change the firmware, you have to write a lower filter
driver below mouhid.sys and it is not the simplest thing to write b/c
you will have to capture read requests in a completion routine, extra
your buttons and then let the read go upward.

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@mindtree.com
Sent: Thursday, June 21, 2007 9:51 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] How to handle extra buttons on mouse

Hello:

We are developing a mouse which has 4 extra buttons. I understand that 3

  • 2 buttons are supported by Windows as Left,Middle,right,xbutton1 and
    xbutton2.

For the additional two buttons

  1. Should we write a filter driver for mouse to pass on the messages
  2. Since this is a HID device will the application will automatically
    get the event?

Any help or pointers will be appreciated.

Thanks,
Sobhan


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