Connect and communicate with Human Interface Devices from your browser
Use requestDevice() with optional filters to select a HID device.
Each collection describes a group of related reports with usage page and usage identifiers.
Input reports arrive automatically via the inputreport event.
| Usage Page | Hex | Description |
|---|---|---|
| Generic Desktop | 0x01 | Mouse, keyboard, joystick, gamepad |
| Simulation Controls | 0x02 | Flight sim, driving sim |
| VR Controls | 0x03 | Head tracker, glove, vest |
| Sport Controls | 0x04 | Baseball bat, golf club |
| Game Controls | 0x05 | 3D game controller, pinball |
| Generic Device | 0x06 | Battery strength, wireless channel |
| Keyboard/Keypad | 0x07 | Keyboard keys |
| LED | 0x08 | Num Lock, Caps Lock, indicators |
| Button | 0x09 | Button 1-N |
| Consumer | 0x0C | Media keys, volume, brightness |
| Digitizer | 0x0D | Pen, touch screen, stylus |
| Haptics | 0x0E | Simple haptic controller |
| Lighting/Illumination | 0x59 | LED array, lamp |
| FIDO Alliance | 0xF1D0 | FIDO U2F/CTAP authenticator |
| Vendor-defined | 0xFF00-0xFFFF | Vendor-specific usage pages |
| Device | Vendor ID | Product ID (example) | Notes |
|---|---|---|---|
| DualSense (PS5) | 0x054C | 0x0CE6 | Sony. Rumble, LED, touchpad, gyro |
| DualShock 4 (PS4) | 0x054C | 0x09CC | Sony. Light bar, touchpad |
| Joy-Con (L) | 0x057E | 0x2006 | Nintendo. HD Rumble, IR, NFC |
| Joy-Con (R) | 0x057E | 0x2007 | Nintendo. HD Rumble, IR |
| Pro Controller | 0x057E | 0x2009 | Nintendo Switch Pro |
| Xbox (BT) | 0x045E | 0x0B13 | Microsoft. Bluetooth mode |
| Steam Controller | 0x28DE | 0x1142 | Valve. Dual trackpads |
| Blink(1) | 0x27B8 | 0x01ED | ThingM. USB notification LED |
| YubiKey | 0x1050 | 0x0407 | FIDO U2F security key |
| Elgato Stream Deck | 0x0FD9 | 0x0060 | 15-key LCD macro pad |