Joy Control
Joy Control:精确控制游戏手柄,适用于模拟游戏
⬇ JoyControl.rar (15 MB) ⬇ JoyControl-ZH.pdf (1.0 MB)ENGI Live JoyControl 是一款 Windows 应用程序,它位于您的游戏控制器和游戏之间。它可以读取 DualShock 4、DualSense、Xbox (XInput) 控制器、方向盘和摇杆(HID/DirectInput),以及键盘。该程序处理信号,并通过 ViGEmBus 驱动程序将虚拟的 Xbox 360 游戏手柄信号传递给游戏。
在游戏过程中,该程序对玩家来说是透明的。游戏会识别一个标准的、普通的控制器,因此设置可以在任何模拟游戏中生效。无需修改游戏,也不需要游戏开发者的支持,游戏文件不会被更改。
该程序的意义在于以下一点。 游戏手柄的触发键行程约为2厘米,而汽车的踏板行程约为10厘米。摇杆的偏转量为1.5厘米,方向盘可以转动半圈。正因为如此,在游戏手柄上很难精确控制油门和刹车:手指只需50-80毫秒的时间,就能使触发键从0%完全移动到100%,导致车辆失控或轮胎抱死。Joy Control技术通过恢复控制的行程长度,从而改善了操控体验。该程序并非通过图像来实现,而是通过真实的时间和反馈形式来实现。
信号处理方式:
每个数值都经过一个处理流程,最终形成一个自定义的控制器:
- 死区。 程序会将所有低于阈值的原始数值视为零,因此抖动和磨损不会影响游戏体验。
- 触发器的相互作用。 一个触发器的值会减去另一个触发器的值,并且会乘以一个系数。
- 灵敏度曲线。 它定义了响应的形状,可以是平缓的启动或突然的反应。
- 阈值和输出限制。 所有低于“最小值”的值将被设为零,而剩余的数值会被扩展到整个范围;“最大值”则限制了输出的上限。
- 平滑过渡区域。 这些区域定义了变化的速度,单位为毫秒/单位,分别对应按压和释放两种状态。
- 宏和动作映射。 一个控件影响另一个控件的行为。
- Xbox 360 虚拟游戏手柄。 处理后的数据直接传输到游戏中。
控制器的数据读取频率约为120-125赫兹。所有延迟都由一个高精度计时器计算,并累积时间,因此即使在帧之间,每单位的0.1毫秒延迟也能被正确处理。
程序的功能:
- 支持各种输入设备。 PS4和PS5会自动识别,Xbox通过XInput连接,方向盘和手柄通过HID和DirectInput工作,键盘可以替代手柄。可以连接任意数量的手柄:每个手柄都有唯一的ID和独立的设置,即使是两个相同的手柄,也会被分别配置。
- 独立的触发器设置。 刹车和油门可以分别进行设置,而不是通过同一个滑块同时控制两者。
- 最多可设置10个平滑段。 平滑段的范围设定在0到255之间,分别针对按压和释放两种情况,每个平滑段的延迟时间为0.1到1000毫秒。
- 灵敏度曲线。 对于触发器,灵敏度曲线的调节范围为 -20 到 +20;对于每个摇杆轴,调节范围为 -10 到 +10。
- 完全自定义摇杆设置。 可以调整内部和外部死区,限制X轴和Y轴的运动范围,设置最大行程,以及强制设置X轴的最大值。
- 宏 (Macro) 功能。 “跟随”、“保持”、“脉冲”、“切换”、“涡轮”、“禁用”以及“序列”等模式。 “序列”模式允许设置最多 16 步的宏,每步都包含时间间隔。 每个规则最多可以包含四个条件:按钮、触发器和摇杆,并且可以设置范围。 例如,一个规则可以定义“同时按下 L1 按钮并半按 L2 按钮”这样的组合。 该功能还支持反转、优先级设置、以微秒为单位的延迟,以及组合方式,包括“取最大值”、“替换”或“相加”,甚至可以与其他宏进行组合。 “联动”功能允许一个规则的执行结果触发另一个规则的执行。
- 动作映射。 任何输入都可以与任何输出相关联,并且可以设置触发阈值、保持时间和触发前后的延迟时间。
- 实时示波器。 图表显示了过去3秒的数据,其中灰色部分表示来自控制器的原始数据,彩色部分表示传输到游戏中的数据。用户可以直观地看到设置效果,无需猜测。
- 手柄的交互式图像。 点击触发器、摇杆、按钮或触摸板,会打开其设置窗口。
- 配置文件。 设置信息存储在本地的 SQLite 数据库中。每个配置文件都拥有一个唯一的 16 位编码,数据交换采用 JSON 格式。建议为每款游戏设置独立的配置文件。 每个手柄的设置信息都保存在一个单独的文件中,该文件可以加载到任何配置文件中的任何手柄上。
- 支持14种界面语言。 该程序由一个可执行文件组成,无需安装。
- 自动保存。 任何修改都会立即生效并保存,因此您可以在游戏界面中进行设置,无需退出游戏。
为什么这对于模拟游戏来说更好
普通的按键重新映射程序只改变响应方式,也就是曲线。Joy Control不仅改变了响应曲线,还改变了速度:即每个行程阶段,信号传输到目标设备所需要的时间(以毫秒为单位)。这是一种完全不同的控制级别,正是这种控制解决了游戏手柄上常见的模拟器问题。
- 车辆在加速时不会出现失控的侧滑。 触发器被瞬间按下,动力输出平稳,车辆获得牵引力的方式就像您缓慢踩下油门一样。
- 制动力度控制在接近抱死的状态边缘。 前30%的行程速度很快,反应非常迅速,而后30%的行程则较慢。 在接近极限位置时,可以感受到车轮即将抱死的临界点,这是用手指很难实现的。
- 松开触发器的设置与按下触发器的设置是分开的。 真正的油门或刹车踏板,其松开的速度与按下时的速度不同。 在进入弯道时,平稳地松开刹车;在加速时,温和地松开油门,这些都由各自的设置区域控制。
- 平稳运行不会妨碍紧急操作。 某些设置选项可以禁用极端位置时的延迟:一旦触发器完全松开,制动系统就会立即解除。
- 方向盘会产生惯性。 快速转动方向盘杆(摇杆)并不能立即使车轮转动,因为方向盘杆在转动和复位过程中都存在一定的缓冲和延迟。
- 操控更加精准。 限制X轴的运动范围,将摇杆的完整行程转化为60-70%的转角,并且同样的行程在手指控制下,可以实现两倍的精确度。
- 在所有游戏中,其工作原理都是相同的。 处理过程在游戏开始前进行,在虚拟控制器层面完成,因此不需要在游戏中进行任何设置,也不需要使用任何修改器。
- 左脚仍然保持在刹车踏板上。 从一个触发器中减去另一个触发器,并使用一个倍数,可以模拟出一些汽车的行为,在这种情况下,油门和刹车会产生冲突;或者,这种方法也可以实现轻微的刹车,而无需完全松开油门。
油门和刹车设置
左侧扳机 L2 / LT 是刹车,右侧扳机 R2 / RT 是油门。每个扳机都有独立的设置窗口,所有参数都是独立的。
| 参数 | 以下是翻译: | 如何用于模拟器 |
|---|---|---|
| 死区 | 低于阈值的原始数值被视为零。 | 在新游戏手柄上,死区通常设置为 3-8 个单位。对于磨损的扳机,如果出现油门泄漏的情况,则需要将其死区提高到 10-15 个单位。 |
| 最小值和最大值 | “最小”:这是输入阈值,低于该值,输出为零,剩余行程会被映射到 0-255 的范围内。“最大”:限制输出的上限。 | “最小”模式可以消除磨损的触发器产生的噪音,而不会缩短行程。对于雨滴模式或高性能后驱车辆,“最大”模式应设置为255的190-210之间,这样才能获得最大的加速效果。 |
| 灵敏度曲线 | 该功能可以调整响应曲线,范围在-20到+20之间。负值提供平稳的启动和行程初期的精确控制,正值则提供快速的加速。 | 对于油门,曲线值应设置为-6到-10之间;对于刹车,应设置为-3到-6之间。正值很少使用,例如,可以用于按钮式手刹。 |
| 触摸区域 | 可以设置最多10个分段,每个分段的范围在0到255之间,并且每个分段都有自己的延迟时间,单位为毫秒。在分段之外,数值会立即改变;而在分段交界处,延迟时间会累加。 | 一个参考值是:255个单位,每个单位的延迟时间为1毫秒,整个行程大约需要0.26秒。对于油门,每个单位的延迟时间应设置为0.3到2毫秒;对于刹车,应设置为0.5到3毫秒。 |
| 放行区域 | 该功能还可以设置单独的一组分段,用于调整数值的下降过程。 | 通常情况下,松开按钮的速度比按下按钮快:每单位时间为 0.5 到 1 毫秒。为了在转弯时实现平稳的刹车释放,会增加较大的延迟时间。 |
| 瞬时零值和瞬时最大值 | 当触发器完全松开或完全按下时,会取消平滑功能。 | 刹车系统通常用于紧急制动,而油门系统通常用于关闭。 |
| 触发器减法和乘数 | 刹车会减弱油门,反之亦然,并且具有可设定的系数。 | 系数范围为 0.5 到 1.0,可以模拟左脚刹车和半油门的操作。 |
预设触发器模式:
| 预设模式 | 按下 | 松开 | 用途 |
|---|---|---|---|
| 平稳制动 | 0–80: 0,5 · 80–180: 1,5 · 180–255: 3,0 | 120–255: 1,0 · 0–120: 0,5 | 环形赛车和在锁定阈值附近进行精确控制。 |
| 天然气 (或:液化天然气) | 0–60: 0,3 · 60–200: 1,0 · 200–255: 2,0 | 0–255: 0,8 | 后轮驱动车辆,以及在转弯中避免失控。 |
| 如何使用ABS | 0–128: 0,2 · 128–255: 2,5 | 瞬间 | 快速启动制动,缓慢增加制动力。 |
| 如何使用 TC | 0–128: 2,5 · 128–255: 0,2 | 瞬间 | 起步时缓慢增加动力,高转速时动力输出范围较大。 |
表格中的数字表示每个输出单位的延迟时间,单位为毫秒。预设值作为起点,然后根据具体车辆进行调整,并通过示波器观察,其中灰色线条表示控制杆的输入,彩色线条表示游戏接收到的信号。
摇杆设置
在赛车模拟游戏中,左侧摇杆类似于方向盘,而右侧摇杆用于控制视野或摄像头。每个摇杆都可以调整其几何参数,包括死区、范围和曲线,以及各个部分的平滑度,并且X轴和Y轴的设置是独立的。
| 参数 | 以下是翻译: | 如何用于模拟器 |
|---|---|---|
| 内部死区 | 消除中心漂移。 | 新摇杆的漂移范围为3%到6%,旧摇杆的漂移范围为8%到12%。数值越小,车辆越能保持直线行驶。 |
| 外部死区 | 裁剪边缘,因此最大值略早于极限位置。 | 从92%到97%,以确保在整个圆周范围内,包括对角线,都能实现完整的转动。 |
| 最大轴向行程范围 | 限制X轴或Y轴的输出角度。 | 这是主要的转向控制方式:X轴方向的控制范围为60%到75%。 这样可以防止方向盘过度转动,从而提高精度。 |
| 完全拉伸 | 在裁剪边缘后,再次将信号拉伸到最大值。 | 当需要在大范围视野内进行全程转动时,启用此功能。 |
| 轴向灵敏度 | 设置曲线,范围为-10到+10。 负值会拉伸中心区域,使响应更加平滑;正值会使反应更加迅速。 | 对于转向,X轴方向的曲线值应设置为-4到-7。 对于右侧摇杆的视野控制,应设置为+2到+4,以便快速转动头部。 |
| 偏离区域 | 这些设置控制从中心位置平滑地偏离。 振幅范围为0到255,代表从中心位置到最大转动的完整行程。 每个区域都有自己的X轴和Y轴标志。 | 对于转向,建议使用以下延迟设置:0-60:0.4毫秒;60-160:1.2毫秒;160-255:2.5毫秒。 摇杆在中心位置响应迅速,但在最大转动位置响应较慢。 |
| 退货区域 | 它们提供平稳的向中心返回。 | 每单位的响应时间在0.5到0.8毫秒之间,这模拟了车轮的自动回位过程。对于摄像头而言,回位速度比偏转速度更快。 |
| 沿轴方向的最大值 | 无论偏离哪个方向,输出值都会达到范围内的最大值。 | 适用于街机游戏和需要数字方向控制的游戏。 |
| 完全禁用摇杆功能 | 鼠标(或摇杆)虽然没有被导入到游戏中,但它的宏命令仍然可以继续执行。 | 当方向盘用于控制车辆时,摇杆只需要作为宏命令的触发器即可。 |
X轴和Y轴的设置可以同时进行或分别进行:每个区域都有“X”和“Y”标志,而相互重叠的区域会累加延迟。旁边连接着一个示波器,其刻度范围为-255到+255。移动摇杆,观察输出信号与您手指的动作之间的延迟程度。
工作需要什么
- Windows 10 或 11 系统,64 位版本。
- ViGEmBus 1.22.0 驱动程序。该程序会检查驱动程序是否已安装,并提供一键安装的选项。
- 控制器可以通过线缆、适配器或蓝牙连接。
该程序提供20分钟的试用时间,每次启动。要获得完整功能,需要购买engi.live的永久授权许可。
图文指南:说明各个按钮的位置
以下是程序所有窗口的详细步骤说明,附带屏幕截图。 您也可以从页面顶部的按钮下载PDF版本的指南。
1. 驱动程序:ViGEmBus 和 HidHide
- ViGEmBus 是一个虚拟游戏手柄驱动程序。如果没有它,程序将无法创建 Xbox 游戏手柄。在窗口底部的状态栏中,应该显示 "ViGEmBus 驱动:正常";如果未显示,则会在同一位置出现一个安装按钮。
- HidHide 功能并非必须。 只有在游戏同时检测到真实的游戏手柄和虚拟手柄,并且角色出现“双重”操作时,才需要启用此功能。 更多信息请参见第15部分。
2. 主界面

- 顶部面板:选择配置文件,配置...,保存和加载整个配置文件,动作映射,恢复默认设置,界面语言。
- 左侧为输入设备。 这里列出了所有已配置的操纵杆,包括它们的ID、选中状态以及可执行的批量操作。
- 右侧是游戏手柄的图片。 它实时显示游戏从所选手柄接收到的数据。 可以点击图片中的元素:触发器、摇杆或按钮会打开相应的设置。
- 在图片下方是所选游戏手柄的宏命令:每个图标代表一个规则,点击图标可以查看其来源。
3. 多个手柄及其ID
该程序支持任意数量的操纵杆。每个操纵杆都会被分配一个唯一的ID(标识符):对于蓝牙游戏手柄,这个ID就是它的MAC地址,因此即使是两款相同的DualShock手柄,也会因为MAC地址不同而区分开来。通过ID,程序可以在连接时自动找到操纵杆的配置信息,即使将其连接到不同的USB接口。

| 列表项 | 以下是翻译: |
|---|---|
| × | 从配置中移除此手柄及其设置。 |
| 第一个复选框 | 工作原理: 系统为游戏手柄创建一个虚拟的Xbox游戏手柄。 |
| 第二个复选框 | 已选定:参与集体行动。 |
| 名称 | 单击:配置此游戏手柄。 双击:重命名。 |
| ID | 单击:将ID复制到剪贴板。 |

批量操作
- 应用到已选 — 将所选(▶)摇杆的所有设置复制到带有“已选”复选框的摇杆上。
- 全选 / 全不选 — 快速设置复选框。
- 手柄 → 文件:保存手柄的设置到单独的文件,文件格式为 .joy.json。 单个手柄的设置会被保存到一个文件中。
- 文件 → 手柄:从文件中加载设置,仅应用于选定的游戏手柄。如果选择了其他手柄,程序会询问是否要将设置应用到所有选定的手柄。 也可以使用普通配置文件:如果配置文件中包含多个手柄的信息,程序会提示用户选择要应用设置的手柄。
4. 配置文件和文件
配置文件:包含所有游戏手柄及其各自的设置。 可以创建任意数量的配置文件,例如,用于不同的游戏。

- 激活,新建,复制,重命名,删除——用于管理个人资料。
- 保存到文件... / 从文件加载... — 整个配置文件。
- “单个手柄设置”模块:用于保存或加载特定手柄的文件,可以在任何配置文件中使用,即使是当前未激活的配置文件,也可以从配置中移除。
- ●:游戏手柄具有自己的设置; ○:游戏手柄尚未配置,使用配置文件的默认设置。
5. L2/R2 触发器

| 设置方法 | 工作原理 |
|---|---|
| 最小 | 进入阈值:低于此值的信号将被视为零,剩余的信号范围会扩展到0-255。例如:设置最小值为10,可以消除抖动,但扳机仍然可以提供完整的信号。 |
| 最大 | 输出上限:游戏永远不会接收到超过此值的信号。 |
| 死区 | 低于阈值的原始信号会被转换为0,且不进行范围扩展。 |
| 曲线 | -20:提供平滑的启动,在行程的初始阶段提供精确的控制;+20:提供快速的响应。 |
| 立即切换至 0 / 最大值 | 完全松开或完全按下的扳机会立即生效,没有延迟。 |
| 从 R2 中减去 L2 | 用于赛车:刹车会降低油门的效果,倍数设置阻力大小。 也有相反的设置方式。 |
| 按下/释放 | 平滑区域:在选定的行程范围内,信号值不是立即增加或减少的,而是会有一个以毫秒为单位的延迟。最多可以设置10个平滑区域,这些区域可以相互叠加。 |
6. 摇杆和漂移

- 启用重映射/自定义灵敏度范围 - 这是主选项。 如果不启用此选项,灵敏度范围设置将不会生效。
- 内部无效区域:用于消除摇杆中心区域的漂移现象。通常为8%至15%。
- 外部死区:是指摇杆运动的极限范围,在该范围内,摇杆被认为已经完全移动到最远端。
- 最大 X/Y 范围,拉伸,始终最大——用于限制或增强每个轴的运动范围。
- X/Y 灵敏度 - 响应曲线。
- 偏移/退回——类似于触发器的平滑区域;每个区域都有X和Y的标记,指示其作用于哪个轴。
7. 宏:基础
宏定义:一种规则,格式为“源处于某种状态 → 对另一个元素执行的操作”。“源”可以是:
- 触发条件 或触发器:宏命令在指定范围内的值满足条件时才会执行。
- 按钮:宏命令在按钮被按下时有效(参见第11节)。
宏(或触发器)区域
- 打开笔或触发器的设置窗口,然后创建一个区域。
- 点击“地块编号”旁的“1 +”。
- 将出现游戏手柄的图像。点击目标:按钮、触发器或摇杆。然后,在摇杆上选择方向。


所有规则参数

| 参数 | 意义 |
|---|---|
| 目标 | 该宏作用于哪个元素? |
| 模式 | 目标设置的具体内容 - 第8部分。 |
| 摇杆方向 | 对于源(Source)类型为摇杆的情况:可以是任意方向,但只能是向上/向右,或者向下/向左。 |
| 输出/范围 | 目标值所代表的含义。 反转:源头数值上升,目标值下降。 |
| 与物理值结合 | 取最大值;替换物理值;相加——将实际数值与您按下的物理键以及其他具有相同优先级和“相加”模式的宏相加。 |
| 优先级 | 如果多个宏作用于同一个目标,则优先级更高的宏生效。如果优先级相同,则“禁用”宏的优先级最高。 |
| 延迟 | 触发和释放时间以微秒为单位:10000 = 10毫秒。触发时,源需要保持在指定范围内这段时间。 |
8. 宏模式
| 模式 | 以下是翻译: | 示例 |
|---|---|---|
| 跟随 | 目标重复源:其范围会被转换为目标的输出范围。仅适用于摇杆或触发器类型的源。 | 摇杆向前平稳地增加油门。 |
| 保持;握住;持有 | 只要该源处于活动状态,目标将被设置为“输出延迟”值。 | L1 夹住了 L2。 |
| 脉冲 | 当目标进入指定范围时,系统会按预设的时间间隔,对目标进行一次触发。 | 短按“A”键可以在摇杆大幅偏转时触发特定动作。 |
| 切换 | 每个输入都会启用或禁用某个目标。 | 只需轻轻一按,就可以坐下;再按一下,就可以站起来。 |
| 涡轮增压 | 只要电源处于激活状态,目标就会按照设定的周期被按下和释放。 | 自动火焰。 |
| 禁用 | 目标已被锁定,即使物理上按下了按钮。该功能适用于整个摇杆。 | 在按下L2按钮时,禁用摇杆。 |
| 序列 | 步骤序列:元素、数值、持续时间、暂停——第10部分。 | 一键组合攻击。 |
9. 组合:条件
以下条件回答了“如果同时选择了两个或更多元素,该怎么办?”这个问题。 宏命令只有在满足所有条件时才会执行。 条件可以包括:
- 按钮 - 已被按下。
- 触发器或摇杆:其数值落入某个范围,例如“L2按钮被按下超过一半:128–255”。
- 任何带有“反向勾”的选项,表示该按钮未被按下,或者该值超出了指定范围。
一个规则最多包含四个条件。

10. 序列
一个触发事件,实际上是一系列按时间顺序执行的操作。每个步骤包括:元素、数值(对于按钮,任何大于零的值都表示被按下)、持续时间和后续暂停。最多可以设置16个步骤。如果勾选了“循环重复”,则该系列操作会持续执行,直到触发源和条件仍然满足。


11. 按钮宏

- + 宏 (在手柄上选择) — 添加规则并选择目标。
- 完全禁用按钮:在这种模式下,按钮不会被游戏识别,但其宏命令仍然可以执行。 这样可以完全重新定义按钮的功能。
- 所有模式、条件和序列的运作方式与摇杆和触发器相同。
12. 所有宏和联动

- 启用、优先级、⚙ 和 × 按钮直接位于表格中。点击源可以打开其窗口。
- 红色表示冲突:当两个宏命令针对同一目标,且优先级相同时,会发生冲突,结果难以预测。
- 删除所有宏 — 相当于从零开始。
- 宏命令串联:一个规则的输出结果可以作为另一个规则的输入。例如,“× → L2”和“L2 在范围内 → R1”可以被串联起来,通过一次“×”的触发,依次执行这两个规则。默认情况下,此功能已禁用,以便现有的配置文件能够像以前一样工作。深度限制为三次,以防止循环。
宏的显示方式,请参考手柄上的图片
- 绿色线条从起点延伸到终点。 连续的线条指示了路径,而#1、#2、#3这些标记表示步骤编号。
- 元素下方条纹:范围为0-255。绿色条纹表示发射端的触发范围,橙色条纹表示目标端的输出范围。
- 绿色点:该元素包含宏。
13. 动作映射
简单的“输入 → 输出”重新映射,包括触发阈值、按住时间和计时,这些设置是整个配置文件的通用设置。

14. 预设方案
消除摇杆漂移
摇杆 → 启用重新映射/自定义死区 → 内部死区设置为10-12%。 请通过实时图表进行检查:在静止状态下,输出线应该位于零点。消除触发器抖动,同时保持完整的行程范围
触发器 → 最小值 = 5-10。 所有低于此值的数值都将变为零,而剩余的数值范围将扩展到 255。赛车游戏中的平滑加速
R2 → 将 0-255 分为 N 段。在“按压”模块中,每个段包含 3 个单位,第一个段的延迟为 1-3 毫秒/单位。曲线为 -5…-10,用于精确控制启动。如果需要,可以从 R2 中减去 L2。双键组合:L1 + × → R2
按钮 × → + 宏 → 目标 R2,模式 保持 → ⚙ → 条件 L1。 如果没有按下 L1 按钮,则按钮 × 正常工作。单键触发连续攻击
按钮 → 宏 → ⚙ → 模式:序列 → 步数 × → □ → △,每次间隔 60/60 毫秒。 对于连续序列,选择 循环重复。自动连发
R1 按钮 → 触发 R2 宏 → 启动 涡轮 模式 → 持续时间 80-120 毫秒。双人游戏,使用两个手柄
连接两个游戏手柄,每个手柄都会在列表中显示其ID。配置第一个手柄,然后选中第二个手柄,勾选“已选”选项,并点击“应用到已选”。之后,可以分别为每个手柄进行单独的设置。将设置迁移到新的手柄
旧手柄 → 手柄 → 文件。 新手柄——点击名称 → 文件 → 手柄。15. 如果出现问题
| 症状 | 原因和解决方案 |
|---|---|
| 修改“无法生效” | 很可能是正在配置的控制器被禁用,"正在配置"的行显示为橙色。请点击已连接的控制器名称。 |
| 触发器自动触发 | 请检查手柄上的宏设置,看看是否有与触发器相关的宏。摇杆漂移可能会触发宏。需要设置摇杆的“死区”(第6部分),或者调整宏源的范围,使其从10开始。 |
| 游戏中角色出现“双重”图像 | 该游戏支持实体游戏手柄,也支持虚拟手柄。请安装 HidHide:选择“选项”标签Applications→ «+» → 添加JoyControl.exe; 然后是标签页Devices→ 在“无线控制器”选项中勾选;重新连接游戏手柄。 顺序很重要:首先将程序添加到白名单,然后再进行隐藏操作。 |
| 游戏无法检测到手柄 | 请检查 ViGEmBus 驱动程序:确保其状态为“正常”,并且手柄的“工作”选项已勾选。 |
| 第五个手柄在游戏中无法显示 | Windows限制:XInput最多只能向游戏提供四个手柄。 |
| 第二个DualShock手柄无法通过蓝牙连接 | 请在蓝牙设置中删除旧的“无线控制器”记录,然后用回形针重置手柄(在L2按钮后面的孔中插入),进入配对模式(同时按住Share和PS按钮,直到指示灯频繁闪烁)。或者,直接使用数据线连接。 |
