1 个不稳定版本
0.1.0 | 2024年6月7日 |
---|
#698 在 GUI
1MB
18K SLoC
xkbcommon-rs
libxkbcommon 在安全 Rust 中的移植。
在 Cargo.toml 中
xkbcommon-rs = "0.1.0"
在 Wayland 客户端应用程序中使用
此 crate 提供的 Keymap 和 State 可以用于在 Wayland 客户端中表示键盘状态。例如,可以与 Smithay 的 wayland-client
crate 一起使用 xkbcommon-rs
。
设置键映射和状态
use xkbcommon_rs::*;
let keymap = Keymap::new_from_string(
Context::new(0).unwrap(),
string, /* Read from the OwnedFd provided by the Wayland compositor */
KeymapFormat::TextV1,
0).unwrap();
let mut state = State::new(keymap);
获取键盘符号并更新状态
// Get syms before updating state
let sym = state.key_get_one_sym(keycode)?;
// Update state with the parameters provided by the wl_keyboard::Event::Modifiers{..} event
state.update_mask(
mods_depressed, mods_latched, mods_locked,
0, 0, group as usize);
有关在 Wayland 客户端中使用 State::update_mask()
的更多信息,请参阅 https://wayland-book.com/seat/keyboard.html。
信息
此 crate 旨在在 Wayland 客户端中使用。还提供合成器端的功能。
对应于 libxkbcommon 版本 1.7.0
。
依赖项
~8–11MB
~174K SLoC