Skip to content

Releases: RainEffect/HID2Input

HID2Input v1.0.0

04 May 05:01

Choose a tag to compare

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: 81

Hat 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: true

for 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.