nuttx/drivers/usbhost
Jorge Guzman 4bcd105610 drivers/usbhost: report HID keyboard through the keyboard upper half
The HID keyboard driver registers /dev/kbd[n] as a byte stream and only
ever reports key presses:  there is no way for it to say that a key was
released.  That is enough to type with, but not for an application that
has to know how long a key is held down, such as a game, where a
movement key would never stop being pressed.

Add CONFIG_HIDKBD_KBDUPPER, which registers the device through the
keyboard upper-half driver instead, so that reads return
struct keyboard_event_s.  Presses and releases are derived by comparing
each HID report against the previous one, which is the only way to tell
them apart given that the specification gives no significance to the
order of the keycodes in a report.  Modifiers are reported as keys of
their own, so an application can see that Ctrl is down and which key it
is held with.

The two interfaces are mutually exclusive because they share the device
name, so the byte stream is not built in this mode.

Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
2026-07-30 01:43:13 -03:00
..
CMakeLists.txt drivers/usbhost/usbhost_cdcecm.c: Added support for Host CDC-ECM 2026-05-06 06:20:03 +08:00
hid_parser.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
Kconfig drivers/usbhost: report HID keyboard through the keyboard upper half 2026-07-30 01:43:13 -03:00
Make.defs drivers/usbhost/usbhost_cdcecm.c: Added support for Host CDC-ECM 2026-05-06 06:20:03 +08:00
usbhost_bthci.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
usbhost_cdcacm.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
usbhost_cdcecm.c drivers/usbhost/usbhost_cdcecm.c: Converted CDC-ECM to lower half 2026-05-06 06:20:03 +08:00
usbhost_cdcmbim.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
usbhost_composite.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
usbhost_composite.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
usbhost_devaddr.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
usbhost_drivers.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
usbhost_enumerate.c drivers/usbhost/usbhost_enumerate.c: Allow selecting USB configuration 2026-05-06 06:20:03 +08:00
usbhost_findclass.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
usbhost_ft232r.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
usbhost_hidkbd.c drivers/usbhost: report HID keyboard through the keyboard upper half 2026-07-30 01:43:13 -03:00
usbhost_hidmouse.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
usbhost_hub.c arch/arm/src/stm32h5/stm32_usbdrdhost.c: Fixed Hub support 2026-04-19 14:24:40 +08:00
usbhost_max3421e.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
usbhost_registerclass.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
usbhost_registry.c drivers/usbhost: Use small lock to protect usbhost common function 2025-12-13 12:39:48 +08:00
usbhost_registry.h drivers/usbhost: Use small lock to protect usbhost common function 2025-12-13 12:39:48 +08:00
usbhost_skeleton.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
usbhost_storage.c libs/libc: Fix divide-by-zero in stat() with large filesystem block sizes 2026-07-16 23:37:22 +08:00
usbhost_trace.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
usbhost_waiter.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
usbhost_xboxcontroller.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
usbhost_xhci.h drivers/usbhost: add xHCI support 2025-05-15 21:58:57 +08:00
usbhost_xhci_pci.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
usbhost_xhci_trace.c drivers/usbhost: add xHCI support 2025-05-15 21:58:57 +08:00
usbhost_xhci_trace.h drivers/usbhost: add xHCI support 2025-05-15 21:58:57 +08:00