# control_mouse **Repository Path**: crash32/control_mouse ## Basic Information - **Project Name**: control_mouse - **Description**: 本程序完全使用AI生成,这是一个通过手柄模拟鼠标和键盘操作的 Python 程序。通过配置文件 `config.json`,可以自定义手柄的轴、按钮和方向键的功能。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-02-05 - **Last Updated**: 2025-02-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 手柄模拟键盘鼠标 本程序完全使用AI生成,这是一个通过手柄模拟鼠标和键盘操作的 Python 程序。通过配置文件 `config.json`,可以自定义手柄的轴、按钮和方向键的功能。 ## 功能概述 1. **鼠标移动**:通过手柄的摇杆控制鼠标移动。 2. **鼠标滚动**:通过手柄的指定轴控制鼠标滚轮。 3. **鼠标按钮**:通过手柄按钮模拟鼠标左键、右键、中键等操作。 4. **键盘按键**:通过手柄按钮模拟键盘按键(如 Ctrl、Shift 等)。 5. **方向键**:通过手柄的帽子开关(Hat Switch)模拟键盘方向键。 ## 文件说明 ### 1. `control_mouse.py` 核心程序文件,负责实现手柄模拟鼠标和键盘的功能。 ### 2. `config.json` 配置文件,用于定义手柄的轴、按钮和方向键的功能映射。 ## 配置文件说明 (`config.json`) ```json { "mouse_move": { "axis_x": 0, // 鼠标移动的 X 轴(手柄摇杆轴编号) "axis_y": 1, // 鼠标移动的 Y 轴(手柄摇杆轴编号) "deadzone": 0.1, // 鼠标移动的死区(防止微小抖动) "sensitivity": 10 // 鼠标移动的灵敏度 }, "mouse_scroll": { "axis_y": 3, // 鼠标滚动的 Y 轴(手柄摇杆轴编号) "deadzone": 0.15, // 滚动的死区 "sensitivity": 50 // 滚动的灵敏度 }, "mouse_buttons": [ { "button": 0, // 手柄按钮编号 "action": "mouse:left" // 按钮功能(鼠标左键) }, { "button": 1, "action": "mouse:right" // 鼠标右键 }, { "button": 2, "action": "mouse:middle" // 鼠标中键 }, { "button": 4, "action": "key:ctrl+pageup" // 按键功能(Ctrl + PageUp) }, { "button": 5, "action": "key:ctrl+pagedown" // Ctrl + PageDown }, { "button": 7, "action": "key:ctrl+w" // Ctrl + W } ] } ``` ### 配置字段说明 mouse_move axis_x 和 axis_y:手柄摇杆的 X 和 Y 轴编号,用于控制鼠标移动。 deadzone:鼠标移动的死区,避免手柄轻微抖动导致鼠标乱动。 sensitivity:鼠标移动的灵敏度,值越大鼠标移动越快。 mouse_scroll axis_y:用于滚动的手柄轴编号。 deadzone:滚动的死区,避免轻微抖动触发滚动。 sensitivity:滚动的灵敏度,值越大滚动速度越快。 mouse_buttons button:手柄按钮编号。 action:按钮的功能,支持以下两种类型: mouse:\:模拟鼠标按键(如 mouse:left、mouse:right、mouse:middle)。 key:\:模拟键盘按键(如 key:ctrl、key:ctrl+shift)。 ## 使用方法 ### 1. 安装依赖 确保已安装以下 Python 库: pygame:用于手柄输入。 pyautogui:用于模拟鼠标和键盘操作。 安装命令: bash 复制 pip install pygame pyautogui ### 2. 配置文件 根据你的手柄和需求修改 config.json 文件。例如: 修改 axis_x 和 axis_y 为手柄的摇杆轴编号。 添加或修改 mouse_buttons 中的按钮功能。 ### 3. 运行程序 运行 control_mouse.py: bash 复制 python control_mouse.py ### 4. 退出程序 按下手柄的 L3 + R3(即同时按下左摇杆和右摇杆)即可退出程序。 注意事项 手柄支持:程序使用 pygame 库,支持大多数 USB 手柄和游戏控制器。 权限问题:运行程序时可能需要管理员权限,以确保手柄能够正常工作。 配置文件备份:修改 config.json 前建议备份,以免配置错误导致程序无法运行。 ## 示例 假设你有一个手柄,摇杆的 X 和 Y 轴编号分别为 0 和 1,按钮编号如下: 按钮 0:鼠标左键 按钮 1:鼠标右键 按钮 2:鼠标中键 你可以使用默认的 config.json 文件直接运行程序。 ## 致谢 感谢 pygame 和 pyautogui 提供的强大库支持。