DOSBox 在 Linux 上出现键盘或鼠标问题怎么办?

更新时间

先按版本对号入座:DOSBox 官网曾针对两类 Linux 问题发布过补丁——键盘“松键”异常对应 74-3-events.diff,X.org 升级到 1.20 后窗口模式鼠标无法锁定对应 74-2-events.diff。先确认你的 DOSBox 版本和问题类型,再决定是否应用补丁;如果版本不匹配,不要直接套用。

两类问题的对应补丁

问题现象 触发条件 官网给出的补丁 适用版本
按键似乎一直处于按下状态,或松开按键后程序仍认为键被按住 Linux 下键盘事件处理异常 74-3-events.diff DOSBox 0.74-3
窗口模式下鼠标无法锁定在 DOSBox 窗口内 Linux 升级 X.org 至 1.20 后 74-2-events.diff DOSBox 0.74-2

官网对这两个补丁的定位都是“workaround”(临时解决办法),说明它们针对的是特定环境下的已知问题,而不是通用修复。

操作步骤

  1. 确认版本:在 DOSBox 中执行 ver,或在启动画面查看版本号。只有 0.74-3 对应键盘补丁,0.74-2 对应鼠标补丁。
  2. 确认问题类型:键盘问题是“按键状态卡住”,鼠标问题是“窗口模式无法锁定鼠标”。两者不要混用补丁。
  3. 下载补丁:从 dosbox.com 新闻区找到对应日期的公告,下载 74-3-events.diff 或 74-2-events.diff。
  4. 应用并重新编译:.diff 是源码补丁,需要用 patch 打到对应版本的源码上,再重新编译。官网没有提供预编译二进制,因此你需要具备从源码构建 DOSBox 的环境。
  5. 验证:重新编译后启动 DOSBox,重复之前触发问题的操作——键盘问题看按键是否还会“粘住”,鼠标问题看窗口模式下能否正常锁定。

常见卡点

  • 补丁打不上:多半是源码版本不对。74-3-events.diff 只面向 0.74-3 源码,74-2-events.diff 只面向 0.74-2 源码。
  • 不想自己编译:官网只给出 diff 文件,没有现成安装包。如果编译成本太高,可以先升级到更新的 DOSBox 版本,看问题是否已在新版中解决;官网新闻提到 0.75 因 bug 延期,说明后续版本仍在推进。
  • 安全相关提醒:官网在 0.74-3 发布说明中建议处理不可信文件时使用 config -securemode,这与键盘/鼠标补丁无关,但属于同一版本下的实用建议。

顺带确认:官网还有哪些可用入口

如果你是在排查问题时顺带找资源,dosbox.com 首页提供 Downloads、Compatibility、Forum、Links 等入口,另有 DOSBox Tutorial 和 DOSBox Manual 两个文档链接。补丁公告位于 News 区,按日期查找即可。官网未说明这些下载是否需要登录,实际访问时以页面提示为准。