MCPcopy Index your code
hub / github.com/Jonesey13/multiinput-rust

github.com/Jonesey13/multiinput-rust @0.1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.1.0 ↗ · + Follow
62 symbols 99 edges 11 files 13 documented · 21%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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)

Core symbols most depended-on inside this repo

register_devices
called by 7
src/manager.rs
garbage_vec
called by 4
src/joystick.rs
get_event
called by 2
src/manager.rs
get_device_list
called by 2
src/manager.rs
process_mouse_data
called by 1
src/mouse.rs
process_keyboard_data
called by 1
src/keyboard.rs
next_raw_input_block
called by 1
src/rawinput.rs
read_input_buffer
called by 1
src/rawinput.rs

Shape

Method 19
Function 18
Class 14
Enum 11

Languages

Rust100%

Modules by API surface

src/manager.rs19 symbols
src/devices.rs18 symbols
src/rawinput.rs9 symbols
src/event.rs6 symbols
src/registrar.rs3 symbols
src/keyboard.rs2 symbols
src/joystick.rs2 symbols
src/mouse.rs1 symbols
examples/filter_test.rs1 symbols
examples/apitest.rs1 symbols

For agents

$ claude mcp add multiinput-rust \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact