-
Notifications
You must be signed in to change notification settings - Fork 7.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update HID Mouse example with scroll wheel status and middle mouse button click (IDFGH-11578) #12698
Conversation
Updated Mouse with scroll wheel status and middle mouse button click status.
👋 Hello jbilander, we appreciate your contribution to this project! 📘 Please review the project's Contributions Guide for key guidelines on code, documentation, testing, and more. 🖊️ Please also make sure you have read and signed the Contributor License Agreement for this project. Click to see more instructions ...
Review and merge process you can expect ...
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @jbilander ,
Thanks a lot for the contribution!
We are planning espressif/idf-extra-components#214 to add support not only for boot interface devices, but to the any other + make it possible to define handling manually (which means to work with report descriptor and with raw report data).
Regarding the display button3
status it seems that we can merge it right now and for the scrollwheel
adding seems that it is better to return to that question after espressif/idf-extra-components#214 being merged.
Thanks.
|
||
// Calculate absolute position from displacement | ||
x_pos += mouse_report->x_displacement; | ||
y_pos += mouse_report->y_displacement; | ||
wheel_pos += mouse_report->scrollwheel; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Current version of HID Driver was made for devices which have a HID boot interface. In that case the mouse report is simple and always has the default structure. Structure definition can be found in Appendix B2 of Device Class Definition for Human Interface Devices (HID) Version 1.11.
That is why the the structure in the hid_usage_mouse.h
file for hid_mouse_input_report_boot_t
satisfy the specification.
Sure, the scroll data in report for different devices pretty much always on the same place in buffer, but to be sure about the correct way is to handle the report device descriptor and handle the report data according to structure from descriptor.
merge latest from main
This also requires that byte 3 (the fourth byte) is added in the hid_usage_mouse.h struct
espressif/idf-extra-components@0c9d445