use keyboard_codes::{
current_platform, parse_keyboard_input, parse_shortcut_with_aliases, Key, KeyCodeMapper,
Platform,
};
fn main() {
println!("=== 键盘代码库基础用法示例 ===\n");
println!("1. 基本键解析:");
let key: Key = "Enter".parse().unwrap();
println!(
" 'Enter' -> {:?} -> Windows VK: {:02X}",
key,
key.to_code(Platform::Windows)
);
println!("\n2. 别名支持:");
let inputs = ["ctrl", "esc", "return", "del", "cmd"];
for input in inputs {
if let Ok(ki) = parse_keyboard_input(input) {
println!(
" '{}' -> {} -> VK: {:02X}",
input,
ki,
ki.to_code(Platform::Windows)
);
}
}
println!("\n3. 快捷方式解析:");
let shortcuts = ["ctrl+c", "shift+tab", "ctrl+alt+del", "cmd+q"];
for shortcut in shortcuts {
if let Ok(parsed) = parse_shortcut_with_aliases(shortcut) {
println!(" '{}' -> {}", shortcut, parsed);
}
}
println!("\n4. 跨平台代码转换:");
let key = Key::A;
println!(" Key::A 代码:");
println!(" - Windows: {:02X}", key.to_code(Platform::Windows));
println!(" - Linux: {}", key.to_code(Platform::Linux));
println!(" - macOS: {}", key.to_code(Platform::MacOS));
println!("\n5. 当前平台: {}", current_platform());
}