Hitboxer 快速上手:免费开源的键盘 SOCD 冲突处理与按键重映射工具
【免费下载链接】socdKey remapper for epic gamers项目地址: https://gitcode.com/gh_mirrors/so/socd
按住 A 又急着按 D,角色却纹丝不动——这种 SOCD(同时相反方向输入)冲突,格斗和平台游戏玩家几乎都遇到过。Hitboxer 是一个免费开源的键盘 SOCD 处理与按键重映射工具,让你自己决定冲突时听谁的。
🛠️ 先跑起来:三步装好并验证 Hitboxer
Windows 安装
- 从官方仓库的 Releases 页面下载最新 Windows 版本,解压到任意有写权限的目录(避开
C:\Program Files)。 - 运行
hitboxer.exe。首次启动会在同目录自动生成日志文件和settings.socd配置文件,无需手动修改。 - 左侧 Profiles 区自带一个 "Hitboxer Global" 配置档,可直接开始添加规则。
Linux 安装(仍在打磨,以官方仓库为准)
按发行版安装依赖:
# Ubuntu / Debian sudo apt install libxcb1 libxcb-xkb1 libinput10 libudev1 libxkbcommon-x11-0 # Arch sudo pacman -S libxcb libinput libudev libxkbcommonLinux 版通过/dev/uinput注入事件。如果没有权限,把仓库自带的 66-hitboxer-input.rules(文件内注释写了安装说明)放入/usr/lib/udev/rules.d/后执行:
sudo udevadm control --reload sudo udevadm trigger使用 Steam 的话通常已有该权限。想从源码编译则需要 Jai 编译器(目前为封闭测试):
git clone https://gitcode.com/gh_mirrors/so/socd cd socd jai build.jai三步验证是否生效
- 启动游戏,在左侧 Programs 区点 "Add",选中正在运行的游戏进程(或输入 exe 名称回车)。
- 在底部 Presets 区点 "WASD Opposite"。
- 游戏里按住 D 再按 A:角色立刻转向左。换成 NEUTRAL 预设,则双键同按时角色原地站定。
🕹️ 四种映射模式怎么选:按游戏场景对号入座
每条映射都是"源键 → 目标键"的配对,外加一个模式;模式决定相反键同时被按住时怎么处理。
| 模式 | 冲突时的行为 | 松开获胜键后 | 适合谁 |
|---|---|---|---|
| OPPOSITE | 后按下的键获胜,先按的键被强制释放 | 系统会重新按下被释放的键 | 格斗游戏的快速转身、横移 |
| OPPOSITE_NO_REPRESS | 同上 | 不补按,按键状态更干净 | 对按键状态敏感的操作 |
| NEUTRAL | 两键互相抵消,游戏只收到"无方向输入" | — | 平台跳跃、需要精确停位 |
| REMAP | 不涉及冲突:按左键,输出右边的键 | — | 键位迁移,如把 CapsLock 改作常用功能 |
格斗游戏选 OPPOSITE:快速换向时后按的方向永远生效;平台跳跃选 NEUTRAL:同时按住两个相反方向等于站定,而不是行为未定义;只想把某个键挪位置,用 REMAP 即可。
🎛️ 游戏白名单与预设:只在指定程序里生效
Hitboxer 的配置档(Profile)按程序划分:只有对应程序获得焦点时,它的映射才会介入,日常打字和浏览网页不受影响。
- 内置预设:WASD / 方向键 × Opposite / Neutral 共 4 组,一键生成 4 条映射;若已有映射会先弹确认再覆盖。
- Close to tray:在 Global settings 勾选后,关闭窗口会缩进系统托盘。
- Input Debug:主界面底部按钮可视化最近 24 次按键事件,方便确认事件是否真的被捕获。
- 配置共享:全部规则写入
settings.socd纯文本文件(带版本头),可复制到别的电脑;作者不建议手工编辑。
🧩 工作原理:从按键捕获到事件输出的 3 个环节
- 捕获:Windows 上安装低级键盘钩子,实时拿到每次按下/松开,并跳过标记为"注入"的事件,避免和自己产生的事件打架;Linux 上用 libinput 读取原始输入。
- 判定:被映射的键按下时,查一下相反键的当前状态,再按模式处理——OPPOSITE 强制释放相反键,NEUTRAL 吞掉后按的键,REMAP 直接替换为目标键。映射表以扫描码为下标,查表即可。
- 输出:Windows 通过
SendInput重新注入事件;Linux 通过/dev/uinput虚拟键盘。
和"放任游戏自己处理"对比一下:
| 对比项 | Hitboxer | 游戏自身处理 | 专用格斗外设 |
|---|---|---|---|
| 冲突行为 | 4 种模式可选,按游戏单独配置 | 由游戏写死:有的取中性、有的后按优先、有的行为未定义 | 设备内置选项,可切换 |
| 适用硬件 | 你现有的普通键盘 | — | 专用硬件 |
| 生效范围 | 仅白名单内的程序 | 该游戏内 | 该外设 |
| 成本 | 免费开源 | — | 需另购 |
说明一点:项目没有公布官方延迟数据,实际开销取决于系统环境。它带来的是"行为由你定义",而不是速度提升。
⚠️ 适用边界:Alpha 阶段、误报与赛事合规
边界说清楚,免得期望错位:
- Alpha 质量:README 明确写着 "there will be dragons"。如果你依赖的某个行为突然坏了,到官方仓库留 issue 即可。
- Linux 未正式发布:作者表述为"almost done, 还需打磨",依赖清单见上文。
- 杀软误报:钩子加事件注入的行为与键盘记录器相似,部分杀毒软件会报毒。是否信任它,和你对待任何下载程序的判断方式一样。
- 可能需要管理员权限:作者提示某些机器上需以管理员运行映射才生效。
- 赛事合规:作者明确警告,部分竞技社区要求使用指定外设并禁止第三方输入工具,参赛前先查赛规。
- 当前限制:只支持键盘到键盘的映射,鼠标与手柄在计划中;进程识别目前是大小写敏感的字符串包含匹配。
📂 开源协议、代码结构与贡献入口
- 协议:MIT(UI 所用的 Hack 字体有独立许可证,见
data/目录)。 - 语言:Jai 编写,编译器处于封闭测试,因此源码编译仅限 Jai beta 用户。
├── main.jai # 主循环、配置解析与映射规则 ├── windows.jai # Windows 键盘钩子与事件注入 ├── linux.jai # Linux 输入读取与 uinput 虚拟设备 └── modules/ ├── Input/ # 跨平台输入抽象 ├── Simp/ # 即时模式 GUI ├── libinput/ # Linux 输入库绑定 └── JDL/ # 窗口系统抽象(X11/XCB 等)冲突处理的核心逻辑集中在 modules/Input/,Windows 实现在windows.jai,体量不大,可以一次读完。想参与贡献,到官方仓库提交 issue 或直接联系作者。
🏁 适合谁:现在就能验证它值不值
如果你玩格斗或平台游戏、被"左右同按游戏到底听谁的"困扰,又不想为了这个买专用硬件,值得花十分钟装一个。按上面的三步跑一遍验证;如果没生效,打开 Input Debug 看看事件是否被捕获到,再对照日志排查。
源码仓库(clone 用):https://gitcode.com/gh_mirrors/so/socd许可证:MIT支持平台:Windows(正式提供)、Linux(开发中)当前状态:Alpha,仅支持键盘到键盘映射
【免费下载链接】socdKey remapper for epic gamers项目地址: https://gitcode.com/gh_mirrors/so/socd
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考