19 breaking releases

0.20.0 Jul 5, 2024
0.18.0 Mar 19, 2024
0.16.0 Nov 5, 2023
0.14.0 Jul 10, 2023
0.2.0 Mar 23, 2022

#797 in Game dev

29 downloads per month

MIT/Apache

85KB
1.5K SLoC

Build Status Latest Version Rust Documentation

Bevy egui KBGP - improved keyboard and gamepad usage for egui in Bevy

egui is an immediate mode GUI framework, that can be used inside the Bevy game engine with the bevy_egui crate.

egui is very mouse-oriented, and while it does support tab-navigation, game menus should be navigatable by the arrow keys (and/or by WASD) and by gamepads.

This is where the bevy-egui-kbgp crate comes in. It allows to navigate egui widgets using the keyboard's arrow keys and using a gamepad's d-pad and left joystick (by default - all the controls can be redfined). It also allows activating these buttons from the gamepad.

Try it out in https://idanarye.github.io/bevy-egui-kbgp/demos/example

Features

  • Navigate the GUI using arrow keys and gamepads.
  • Activate buttons from gamepads (egui already supports activation from keyboard with Space/Enter)
  • User defined actions for the entire UI or for individual widgets.
  • Customize all these controls.
  • Key assignment.

Planned features

  • Support for comboboxes.
  • Figure out how to support navigating out of textboxes.

Versions

bevy bevy_egui bevy-egui-kbgp
0.14 0.28 0.20
0.13 0.27 0.19
0.13 0.26 0.18
0.13 0.25 0.17
0.12 0.23 0.16
0.11 0.22 0.15
0.11 0.21 0.14
0.10 0.20 0.12, 0.13
0.9 0.19 0.11
0.9 0.18 0.10
0.9 0.17 0.9
0.8 0.16 0.8
0.8 0.15 0.7
0.7 0.14 0.6
0.7 0.13 0.5
0.6 0.12 0.1 - 0.4

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~28–62MB
~1M SLoC