Releases: RainEffect/HID2Input
HID2Input v1.0.0
First public release of HID2Input.
HID2Input is a configurable HID input mapper that converts various HID devices such as arcade controllers, rotary encoders, gamepads, custom USB controllers, and industrial HID devices into keyboard and mouse input.
This version focuses on stability, practical device compatibility, and flexible YAML-based configuration.
Highlights
Rotary Encoder Support
Supports:
- Single-byte encoder
- Multi-byte encoder
- Wrap mode (00 → FF → 00)
- Continuous hold mode
- Release delay after stop
- Independent trigger threshold
- Multiple encoders working simultaneously
Useful for:
- IIDX turntables
- SDVX knobs
- Industrial rotary devices
Button Mapping
Supports:
- Multi-byte button input
- Bit mapping
- Input inversion (photo sensor / optical sensor)
- Hold state input
- Direct Virtual Key Code mapping
Example:
buttons:
mappings:
- bit: 0
key_code: 81Hat Switch Support
Supports:
- Xbox / XInput D-Pad special format
- 8-direction hat switch
- Diagonal input combinations
- Independent bit offset parsing
Useful for:
- Xbox controllers
- Gamepads
- Arcade joystick devices
Analog Axis Support
Supports:
- Center value configuration
- Deadzone configuration
- Trigger key hold outside deadzone
- Dual-direction hold mapping
Useful for:
- Joysticks
- Analog sticks
- Leverless analog devices
Stability Improvements
Includes:
- Auto reconnect
- Hot plug detection
- Empty HID read protection
- Extended Key support for arrow keys
- Better SendInput reliability
- Single-file publish support
Notes
Arrow Keys
Arrow keys require Extended Key support.
Please use:
extend: truefor directional keys.
Xbox / XInput Devices
Please check:
- report_length
- report_id
- bit_offset
These are critical for stable operation.
License
MIT License
Thanks
This project was created for custom controllers, arcade devices, and practical HID mapping scenarios.
If you encounter compatibility issues with specific devices, feel free to open an Issue.