14 releases (stable)
3.3.8 | Mar 18, 2023 |
---|---|
3.2.7 | Mar 17, 2023 |
2.2.6 | Mar 17, 2023 |
1.2.4 | Mar 17, 2023 |
0.1.1 | Feb 10, 2023 |
#429 in GUI
25KB
598 lines
egui-keybinds
designed for ease-of-use, egui-keybinds provides keybinding functionality to egui
Example
use egui::{CentralPanel, Context, Widget};
use egui_keybinds::{KeyBind, KeyBindWidget, KeyCode};
struct Gui {
key1: KeyBind,
key2: KeyBind,
}
impl Gui {
fn new() -> Self {
Self {
key1: KeyBind::new(Some(KeyCode::A), vec![]),
key2: KeyBind::new(Some(KeyCode::B), vec![]),
}
}
}
impl eframe::App for Gui {
fn update(&mut self, ctx: &Context, _frame: &mut eframe::Frame) {
CentralPanel::default().show(ctx, |ui| {
ui.label("Example keybind 1");
KeyBindWidget::new(&mut self.key1).ui(ui);
ui.label("Example keybind 2");
KeyBindWidget::new(&mut self.key2).ui(ui);
});
}
}
fn main() {
eframe::run_native(
"testing",
Default::default(),
Box::new(|_| Box::new(Gui::new())),
)
.unwrap();
}
Add to your project
run cargo add egui-keybinds
in your terminal of choice while CD'd into the root directory of your project.
Dependencies
~7–44MB
~669K SLoC