EloiStree / HelloInput

Collect of information about old project on Input in aim to do a workshop on the topic
0 stars 0 forks source link

Keyword: HID #5

Open EloiStree opened 3 months ago

EloiStree commented 3 months ago

Human Interface Device

If your device is not an XInput game controller, a MIDI keyboard, or a COM port connection, it is most likely a HID (Human Interface Device). HIDs are composed of elements such as joysticks (float values) and buttons (boolean values).

Since the OpenXR revolution in the gaming industry, HIDs increasingly utilize groups of floats to represent Quaternions and Vector3s, while still maintaining simpler float groups for basic input.

A HID consists of a definition for a log report that is sent via USB, along with the actual logs that are, by default, transmitted at high speed over this connection.

If you want to create one yourself, you can buy a DIY arcade board:

If you have coding skills, you can use a Raspberry Pi Pico with CircuitPython:

Note that if you connect multiple keyboards, each will broadcast keystrokes along with log data. In theory, if you want to experiment during a game jam, you could make a game that uses 10 keyboards as controllers by utilizing HID.

The best way to understand HIDs without coding or reading manuals is to open the Unity3D Profiler: image image

Note:

EloiStree commented 1 week ago

Listen the HID device in background

image https://github.com/EloiStree/2022_10_20_DirectInputSharpToBoolean

EloiStree commented 1 week ago

image

EloiStree commented 1 week ago

image