keyboard-codes 0.3.0

Cross-platform keyboard key code mapping and conversion
Documentation
//! 配置管理示例
//! 运行: cargo run --example config_management

// use keyboard_codes::*;
use keyboard_codes::{current_platform, parse_shortcut_with_aliases, KeyCodeMapper};

fn main() {
    println!("=== 配置管理示例 ===\n");

    // 演示平台特定的配置
    let platform = current_platform();
    println!("当前平台: {}", platform);

    // 演示快捷键验证
    let test_shortcuts = ["ctrl+s", "cmd+q", "alt+f4", "ctrl+shift+esc"];

    println!("快捷键验证:");
    for shortcut in test_shortcuts {
        match parse_shortcut_with_aliases(shortcut) {
            Ok(parsed) => {
                let vk_codes: Vec<_> = parsed
                    .modifiers
                    .iter()
                    .map(|m| m.to_code(platform))
                    .chain(std::iter::once(parsed.key.to_code(platform)))
                    .collect();
                println!("   ✓ '{}' -> VK: {:02X?}", shortcut, vk_codes);
            }
            Err(e) => {
                println!("   ✗ '{}' -> 错误: {}", shortcut, e);
            }
        }
    }

    println!("\n示例完成!");
}