#egui #keyboard-input #keyboard #input #bind #keybind

egui-keybinds

为 EGUI 开发的键绑定系统

14 个版本 (稳定版)

3.3.8 2023 年 3 月 18 日
3.2.7 2023 年 3 月 17 日
2.2.6 2023 年 3 月 17 日
1.2.4 2023 年 3 月 17 日
0.1.1 2023 年 2 月 10 日

GUI 中排名第 302

Download history 15/week @ 2024-03-09 2/week @ 2024-03-16 72/week @ 2024-03-30 15/week @ 2024-04-06

每月下载量 124

GPL-3.0 许可证

25KB
598

egui-keybinds

为易用性而设计,egui-keybindsegui 提供键绑定功能

示例

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();
}

添加到您的项目中

在您的项目根目录下,在终端中运行 cargo add egui-keybinds

依赖关系

~7–44MB
~671K SLoC