USB HID mouse with extra buttons - driver changes?

Hi,
I am developing a USB HID mouse with four extra buttons.

With the existing set of host drivers I can get information about buttons 4 and 5 (as xbutton1 and xbutton2) at the application.
But when one of the other two extra buttons (6 and 7) is pressed, I am unable to figure out that event at the application.
To be able to get information about these extra buttons at the application should any modifications to be done to the host stack?

Just to verify if the extra button information is being sent up the driver stack or not, I used the mouse filter (moufiltr) sample driver, which is provided along with DDK, by adding some debug prints in MouFilter_ServiceCallback function.

When the 4th and 5th buttons are pressed, I could identify information about these buttons in Dbgview. But, on pressing the 6th and 7th buttons there was no indication about these buttons in Dbgview. (I am trying to print all the fields of MOUSE_INPUT_DATA).

However, information about all the four extra buttons could be seen when Device Monitoring Studio (Usb Monitor) was used.
Is it because it snoops at a much lower layer (HID driver level) ?

Any suggestions and pointers or are greatly appreciated.

Thank you,
Vinod Pura

The usual way is to separate the additional buttons to a second HID
collection. Then access this collection from your-mouse-aware apps using HID
API.


Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

wrote in message news:xxxxx@ntdev…
> Hi,
> I am developing a USB HID mouse with four extra buttons.
>
> With the existing set of host drivers I can get information about buttons 4
and 5 (as xbutton1 and xbutton2) at the application.
> But when one of the other two extra buttons (6 and 7) is pressed, I am unable
to figure out that event at the application.
> To be able to get information about these extra buttons at the application
should any modifications to be done to the host stack?
>
> Just to verify if the extra button information is being sent up the driver
stack or not, I used the mouse filter (moufiltr) sample driver, which is
provided along with DDK, by adding some debug prints in
MouFilter_ServiceCallback function.
>
> When the 4th and 5th buttons are pressed, I could identify information about
these buttons in Dbgview. But, on pressing the 6th and 7th buttons there was no
indication about these buttons in Dbgview. (I am trying to print all the fields
of MOUSE_INPUT_DATA).
>
> However, information about all the four extra buttons could be seen when
Device Monitoring Studio (Usb Monitor) was used.
> Is it because it snoops at a much lower layer (HID driver level) ?
>
> Any suggestions and pointers or are greatly appreciated.
>
> Thank you,
> Vinod Pura
>
>
>
>

Correct, use a second TLC for any extra buttons after button #5. The
mouse input stack does not know about reading any extra buttons. See
http://www.osronline.com/showThread.cfm?link=111916

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Maxim S.
Shatskih
Sent: Tuesday, June 26, 2007 4:36 PM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] USB HID mouse with extra buttons - driver changes?

The usual way is to separate the additional buttons to a second HID
collection. Then access this collection from your-mouse-aware apps using
HID
API.


Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

wrote in message news:xxxxx@ntdev…
> Hi,
> I am developing a USB HID mouse with four extra buttons.
>
> With the existing set of host drivers I can get information about
buttons 4
and 5 (as xbutton1 and xbutton2) at the application.
> But when one of the other two extra buttons (6 and 7) is pressed, I am
unable
to figure out that event at the application.
> To be able to get information about these extra buttons at the
application
should any modifications to be done to the host stack?
>
> Just to verify if the extra button information is being sent up the
driver
stack or not, I used the mouse filter (moufiltr) sample driver, which is
provided along with DDK, by adding some debug prints in
MouFilter_ServiceCallback function.
>
> When the 4th and 5th buttons are pressed, I could identify information
about
these buttons in Dbgview. But, on pressing the 6th and 7th buttons there
was no
indication about these buttons in Dbgview. (I am trying to print all the
fields
of MOUSE_INPUT_DATA).
>
> However, information about all the four extra buttons could be seen
when
Device Monitoring Studio (Usb Monitor) was used.
> Is it because it snoops at a much lower layer (HID driver level) ?
>
> Any suggestions and pointers or are greatly appreciated.
>
> Thank you,
> Vinod Pura
>
>
>
>


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