MCPcopy Index your code
hub / github.com/NicoHood/HID

github.com/NicoHood/HID @2.8.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release 2.8.4 ↗ · + Follow
272 symbols 349 edges 75 files 20 documented · 7% 1 cross-repo links
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Arduino HID Project

Header Picture

This project went through a lot of phases and has now reached a new Arduino ~~USB-Core~~ Library with a lot of new functions like extended HID. It also supports HoodLoader2 (version 1 is no longer supported). The idea is to enable enhanced USB functions to almost all 'standard' Arduino boards.

Buy Me A Coffee

Supported Arduinos (IDE 1.6.7 or higher!): * Uno (with HoodLoader2) * Mega (with HoodLoader2) * Leonardo * (Pro)Micro * Any other 8u2/16u2/at90usb8/162/32u2/32u4 compatible board * Zero * MKR1000 * Any other Samd21 compatible board * No ATSAM3 support (Due, etc)

Supported HID devices: * Keyboard with Leds out (8 modifiers + 6 keys pressed at the same time, + 1 limited linux consumer key) * ~~Teensy Keyboard with different keyboard layouts (german, french and many more)~~ soon * NKRO Keyboard with Leds out (press up to 113 keys at the same time) * Mouse (5 buttons, move, wheel) * BootKeyboard/BootMouse BIOS protocol support * Absolute Mouse * Consumer/Media Keys (4 keys for music player, web browser and more) * System Key (for PC standby/shutdown) * Gamepad (32 buttons, 4 16bit axis, 2 8bit axis, 2 D-Pads) * RawHID * SurfaceDial * Each device is available as single or multi report device (except RawHID)

See the wiki for more information about features etc.

Wiki

All documentation moved to the wiki page.

Contact

www.nicohood.de

If you have any questions, please ask at the Github Discussions Page.

Core symbols most depended-on inside this repo

USB_SendControl
called by 19
src/port/samd.cpp
get_hid
called by 3
extras/rawhid/hid_WINDOWS.c
get_hid
called by 3
extras/rawhid/hid_MACOSX.c
get_hid
called by 3
extras/rawhid/hid_LINUX.c
SendReport
called by 2
src/MultiReport/System.cpp
hid_close
called by 2
extras/rawhid/hid_WINDOWS.c
print_win32_err
called by 2
extras/rawhid/hid_WINDOWS.c
hid_close
called by 2
extras/rawhid/hid_MACOSX.c

Shape

Method 183
Class 48
Function 36
Enum 5

Languages

C++82%
C18%

Modules by API surface

src/HID-APIs/TeensyKeyboardAPI.hpp21 symbols
extras/rawhid/hid_MACOSX.c17 symbols
src/HID-APIs/GamepadAPI.hpp16 symbols
extras/rawhid/hid_LINUX.c16 symbols
src/SingleReport/RawHID.h14 symbols
src/HID-APIs/AbsoluteMouseAPI.hpp12 symbols
extras/rawhid/hid_WINDOWS.c11 symbols
src/HID-APIs/SurfaceDialAPI.hpp10 symbols
src/HID-APIs/MouseAPI.hpp10 symbols
src/HID-APIs/KeyboardAPI.hpp9 symbols
src/SingleReport/BootKeyboard.cpp8 symbols
src/HID-APIs/SystemAPI.hpp7 symbols

Used by 1 indexed graphs manifest dependencies, hub-wide

For agents

$ claude mcp add HID \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact