multiinput

A pure rust gamepad/mouse/keyboard input library based off of rawinput for the windows platform

15 releases

Uses old Rust 2015

0.1.0 May 11, 2020
0.0.15 Jan 6, 2019
0.0.14 Aug 4, 2018
0.0.13 Jul 22, 2018
0.0.2 Feb 15, 2017
Download history 25/week @ 2024-06-17 18/week @ 2024-06-24 7/week @ 2024-07-01 20/week @ 2024-07-15 178/week @ 2024-07-22 17/week @ 2024-07-29 16/week @ 2024-08-05 15/week @ 2024-08-12 5/week @ 2024-08-19 10/week @ 2024-08-26 10/week @ 2024-09-02 4/week @ 2024-09-09 6/week @ 2024-09-16 48/week @ 2024-09-23 14/week @ 2024-09-30

74 downloads per month
Used in 3 crates

MIT license

61KB
1.5K SLoC

multiinput-rust

Documentation

A windows rawinput library for mice/keyboards/joysticks for use with rust.

The original purpose of this library was to help me learn how the art of binding dll's to rust and to allow the use of joysticks in game development (e.g. alongside the glium library). Eventually this was used to develop games that had a separate mice for each player.

Key Features

  • Can differentiate between different keyboards/mice.
  • It is intended to be single-purpose and lightweight and can be integrated with other libraries without interference (this is done by having a hidden background input window running).
  • In principle this approach could support all HID devices, provide input to devices (e.g. force feedback) and should be able to break the 4 device limit on Xinput controllers.

Known Limitations

  • Some track pads are not picked up
  • The application can crash if the wrong drivers are installed for a device (e.g. a joystick)
  • XInput support is limited (see the docs for details)

Dependencies

~175KB