#imgui #gamepad #gilrs

imgui-gilrs

Gamepad navigation support for imgui

1 unstable release

0.1.0 Sep 17, 2023

#767 in Hardware support

MIT/Apache

21KB
257 lines

Crate to send gilrs gamepad events to imgui for gamepad navigation.

Usage

Create a GamepadHandler using GamepadHandler::new() before the main loop.

Call GamepadHandler::handle_event() for every gilrs event (or every winit event if winit feature is enabled).

Make sure to enable gamepad navigation on your imgui application:

let io = Context::io_mut();
io.config_flags |= imgui::ConfigFlags::NAV_ENABLE_GAMEPAD;

See Troubleshooting if encountering any issue.

Features

  • winit: allows GamepadHandler::handle_event() to also call WinitPlatform::handle_event()

Troubleshooting

If using the imgui-wgpu crate, and the program crashes when opening the window menu (hold X on XBOX or Square on PlayStation) then you must use commit 89394e0 or later of the crate. You can do that by inserting the following in your Cargo.toml:

[patch.crates-io]
imgui-wgpu = { git = "https://github.com/Yatekii/imgui-wgpu-rs", rev = "89394e0" }

Dependencies

~13–26MB
~380K SLoC