Hurrah for the open source software! What is the purpose of the USB HID report descriptor?Īccording to the official USB documentation "Device Class Definition for Human Interface Devices (HID) Version 1.11",Ī Report descriptor describes each piece of data that the device generates and what the data is actually measuring. The result is a quite unusable tablet.Īs there is no officially documented way to disable the USB HID keyboard emulation in Arduino, I made a quick patch to the core libraries. To our surprise, when Android detects an external USB keyboard, it disables by default its own virtual keyboard (!). The hardwired HID report descriptor identifies the Leonardo itself as both a mouse and a keyboard.įor our prototype, the described behaviour was problematic, not because of the wasted resources, but because the host, an Nexus 7 Android tablet, was recognizing the Leonardo as a keyboard capable USB device.The Arduino core libraries will always report the same hardwired USB HID report descriptor to the USB host.Whether you need to use the USD HID emulation or not, the related code is always compiled and "active", wasting some of your precious Flash memory.Some days ago, while crafting a quick prototype on top of an Arduino Leonardo board, we noticed that the USB HID emulation part of the core (Arduino) libraries was always enabled.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |