本项目通过 Xbox 手柄实现对 Windows 系统的操作,可替代鼠标和部分键盘功能。支持模块化管理,便于修改和扩展。
注意:本项目使用 AutoHotkey v1.1 编写,如果使用 AHK v2,请不要直接运行。
本项目 核心功能全部由 AutoHotkey (AHK) 实现,并不是 Node.js 项目。
Node.js 脚本 (main.js) 仅用于将多个 AHK 模块合并,生成最终的XboxControllerHandy.ahk。
这么做的目的是为了 模块化开发和维护,便于添加新功能或调整配置。
- 左摇杆:平滑移动鼠标 (按住X键后可缓慢移动鼠标指针)
- 右摇杆:分段滚动屏幕
- D-Pad:映射方向键,上下左右按住后支持延迟触发和自动重复
- A / B 按键:鼠标左键 / 右键(按下触发一次)
- RB / LB:切换 Tab(RB = Tab,LB = Shift+Tab)
- RT / LT:半屏滚动(PgUp / PgDn)
- X 按键:功能键(单按无效果,配合其他键位使用)
- Y 按键:已定义,暂无功能,预留扩展功能
XboxControllerHandy/
│
├─ main.js # Node.js 脚本,组合各模块生成 AHK
├─ release/ # 可运行的 exe 文件
├─ ahk/ # 各功能模块 AHK 文件
│ ├─ header.ahk
│ ├─ config.ahk
│ ├─ xinputLoad.ahk
│ ├─ mainLoopStart.ahk
│ ├─ mouseControl.ahk
│ ├─ scrollControl.ahk
│ ├─ triggers.ahk
│ ├─ tabSwitch.ahk
│ ├─ dpadControl.ahk
│ ├─ mouseButtons.ahk
│ └─ mainLoopEnd.ahk
└─ output/ # 最终生成的 XboxControllerHandy.ahk
- 下载
release/文件夹中的可执行文件(XboxControllerHandy.exe)。 - 连接 Xbox 手柄。
- 双击运行程序即可开始使用。
开发者:
- 安装 Node.js
- 克隆或下载项目源代码
- 将手柄连接到电脑
- 在项目目录运行:
node main.js- 脚本会生成
output/XboxControllerHandy.ahk - 双击运行生成的 AHK 脚本即可使用
使用 AutoHotkey v1.1 自带的 Ahk2Exe.exe 可以将 .ahk 脚本打包为 EXE。在项目根目录下执行:
cmd /c "{PATH}\Compiler\Ahk2Exe.exe /in .\output\XboxControllerHandy.ahk /out .\release\XboxControllerHandy.exe"/in指定源脚本/out指定输出 EXE 路径- 如果
release文件夹不存在,先创建: {PATH}请替换为 AutoHotKey 的真实路径
可在 ahk/config.ahk 中修改:
PollInterval:手柄轮询间隔(ms)LeftDeadzone/RightDeadzone:摇杆死区阈值MaxMovePerPoll:鼠标每轮最大移动距离ScrollScale:右摇杆滚动灵敏度InitialDelay/RepeatInterval:D-Pad 按住自动重复的延迟和间隔
- 每个功能模块都是独立
.ahk文件,方便单独修改 - 新增功能只需在
ahk/下添加文件,并在main.js的modulesOrder中注册即可 - 生成的
XboxControllerHandy.ahk可通过 AutoHotkey Compiler 打包为 EXE 放入release/目录