Open
Description
State of Ecosystem
An (non-exhaustive) overview where the Rust ecosystem is currently standing in this regard.
Focused on
winit
supports raw input handling on some platforms (exposed asDeviceEvents
). These are window independent and, typically, not post-processed by the OS. It is planned to add support for gamepads.openxrs
provides language bindings for the OpenXR API (AR/VR). The specification includes a concept for input mapping via user defined actions and bindings. Planned support for providing an device interface api.gilrs
is a Rust library for gamepad support independent of windowing libraries- Platform or device specific libraries like
multiinput
,dualshock4
, ... amethyst
has an input mapping API for mapping device events to custom user actions- Using C libraries like
SDL2
for input handling
Issues
- Hard to provide an unified experience for users similar to OpenXR for AR/VR or Unity's latest Input approach, which goes in a similar direction as OpenXR
- Quite a bit of fragmentation, no real overview about the state of each library in this regard