Skip to main content

config_management/
config_management.rs

1//! 配置管理示例
2//! 运行: cargo run --example config_management
3
4// use keyboard_codes::*;
5use keyboard_codes::{current_platform, parse_shortcut_with_aliases, KeyCodeMapper};
6
7fn main() {
8    println!("=== 配置管理示例 ===\n");
9
10    // 演示平台特定的配置
11    let platform = current_platform();
12    println!("当前平台: {}", platform);
13
14    // 演示快捷键验证
15    let test_shortcuts = ["ctrl+s", "cmd+q", "alt+f4", "ctrl+shift+esc"];
16
17    println!("快捷键验证:");
18    for shortcut in test_shortcuts {
19        match parse_shortcut_with_aliases(shortcut) {
20            Ok(parsed) => {
21                let vk_codes: Vec<_> = parsed
22                    .modifiers
23                    .iter()
24                    .map(|m| m.to_code(platform))
25                    .chain(std::iter::once(parsed.key.to_code(platform)))
26                    .collect();
27                println!("   ✓ '{}' -> VK: {:02X?}", shortcut, vk_codes);
28            }
29            Err(e) => {
30                println!("   ✗ '{}' -> 错误: {}", shortcut, e);
31            }
32        }
33    }
34
35    println!("\n示例完成!");
36}