use keyboard_codes::{
parse_shortcut_flexible, parse_shortcut_sequence, CustomKey, CustomKeyMap, Platform,
};
fn main() {
println!("=== 高级解析功能示例 ===\n");
println!("1. 灵活的分隔符支持:");
let shortcuts = ["ctrl+c", "ctrl-c", "ctrl c", "ctrl+shift+esc"];
for shortcut in shortcuts {
if let Ok(parsed) = parse_shortcut_flexible(shortcut) {
println!(" '{}' -> {}", shortcut, parsed);
}
}
println!("\n2. 快捷方式序列:");
let sequence = "ctrl+c, ctrl+v, ctrl+z, ctrl+y";
if let Ok(shortcuts) = parse_shortcut_sequence(sequence) {
for (i, shortcut) in shortcuts.iter().enumerate() {
println!(" {}: {}", i + 1, shortcut);
}
}
println!("\n3. 自定义键映射:");
let mut custom_map = CustomKeyMap::new();
let mut custom_key = CustomKey::new("MyCustomKey");
custom_key
.add_platform_code(Platform::Windows, 0x100)
.add_platform_code(Platform::Linux, 500);
if custom_map.add_key(custom_key).is_ok() {
println!(" 自定义键添加成功");
}
println!("\n示例完成!");
}