# input-utils **Repository Path**: fengzhongshaonian/input-utils ## Basic Information - **Project Name**: input-utils - **Description**: Linux键盘/鼠标工具,支持按键映射,支持Wayland和X11 - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-04 - **Last Updated**: 2026-04-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 该项目旨在提供一个输入工具,用于处理键盘和鼠标事件,并根据配置文件中的规则执行相应的操作。以下是该项目的 README 内容: --- # Input Utils ## 简介 Input Utils 是一个用于处理输入设备事件(如键盘和鼠标)的工具。它可以根据配置文件中的规则来判断并执行相应的操作,例如触发快捷键或处理特定的按键组合。 ## 功能特性 - 支持从配置文件中加载规则。 - 支持识别键盘和鼠标事件。 - 支持根据规则类型执行快捷键操作或保持按键状态。 - 提供状态机机制来管理事件处理流程。 ## 配置文件 配置文件使用 `TOML` 格式,文件名为 `config.toml`,位于 `src` 目录下。配置文件中可以定义设备、规则类型、快捷键动作等。 ## 使用方法 1. 确保已安装 Rust 开发环境。 2. 克隆项目到本地: ```bash git clone https://gitee.com/fengzhongshaonian/input-utils ``` 3. 进入项目目录并运行: ```bash cargo run ``` ## 项目结构 - `build.rs`: 构建脚本。 - `src/main.rs`: 主程序逻辑,包含状态机和事件处理。 - `src/config.toml`: 配置文件,定义设备和规则。 ## 依赖 - `tokio`: 用于异步运行时。 - `serde`: 用于序列化和反序列化配置。 - `evdev`: 用于处理输入设备事件(键盘和鼠标)。 ## 贡献 欢迎提交 Issue 和 Pull Request!请遵循项目的代码风格并提供清晰的提交信息。 ## 许可证 该项目使用 GPL 许可证。详情请查看仓库中的 LICENSE 文件。 --- 以上是该项目的基本介绍和使用方法。如需进一步了解,请查看源代码和配置文件。