betterjoy能将switch pro、joy-con等非xinput手柄转换为标准xinput设备,解决undertale按键无响应、方向错乱问题:需先安装vigembus驱动并重启,再通过betterjoy扫描启动手柄,配合steam输入启用或游戏启动参数(-joy)及按键映射校准,实现完整兼容。

想在PC上用游戏手柄玩UNDERTALE,但进游戏后按键无响应或方向错乱?这不是手柄坏了,而是UNDERTALE默认只识别XInput标准手柄(如Xbox手柄),而Switch Pro、Joy-Con、PS手柄等需经驱动转换才能被正确识别。
确认手柄类型与系统兼容性
先别急着配对——打开设备管理器(Win+X → 设备管理器),展开“人体学输入设备”,查看你的手柄是否显示为“XINPUT-compatible Controller”。如果显示的是“HID-compliant game controller”或带黄色感叹号,说明UNDERTALE无法原生识别它,必须走驱动转换路径。Switch Pro、Joy-Con、PS4/PS5手柄都属于这一类。
【ViGEmBus是必需前置组件,没装就无法启用XInput模拟】
Windows 10/11用户请直接前往BetterJoy项目页下载最新版驱动包(含ViGEmBus x64安装程序),解压后以管理员身份运行ViGEmBusSetup_x64.msi。安装完毕后必须重启电脑,否则后续所有步骤无效。
用BetterJoy将Switch手柄转为XInput
BetterJoy是目前UNDERTALE最稳定的手柄适配方案,支持Pro手柄单连、Joy-Con左右独立连接、甚至双Joy-Con合体模式。
第一步:启动BetterJoy主程序(BetterJoy.exe),确保右下角系统托盘出现蓝色图标;
第二步:让Switch Pro手柄进入配对模式——长按手柄顶部的Sync按钮约3秒,直到LED灯开始快速闪烁;
第三步:在BetterJoy界面点击“Scan devices”,稍等2秒,列表中会出现“Pro Controller”条目;
第四步:勾选该条目左侧复选框,点击右上角“Start”按钮。此时手柄LED应由快闪转为常亮蓝光,BetterJoy状态栏显示“Running”;
第五步:打开Steam → 设置 → 控制器 → 通用控制器设置 → 勾选“启用Steam输入”。这一步能让UNDERTALE通过Steam启动时自动注入手柄映射,避免黑屏无响应。
手动校准方向键与动作键
即使手柄已识别,UNDERTALE仍可能出现↑↓键反向、A/B键错位问题。这是因为游戏硬编码了Xbox手柄布局,而其他手柄物理按键编号不同。
方法一:在BetterJoy界面切换到“Profiles”标签页 → 点击“Edit Profile” → 找到“Button Mapping”区域;
将原始键位重新映射为Xbox标准布局:A键→B(对应UNDERTALE的“确定”)、B键→A(对应“取消”)、X键→Y、Y键→X;
方向键保持默认即可,但若↑键触发向下移动,点击“Flip Y Axis”反转纵轴;
方法二:不改映射,改游戏启动方式——右键Steam库中UNDERTALE → 属性 → 常规 → 启动选项,输入:-nointro -joy。这个参数强制游戏启用基础手柄支持,跳过部分图形初始化,对非Xbox手柄更友好。
测试:启动游戏,进入菜单后尝试方向键导航,按下A键(实际映射为B)应能进入选项,B键(映射为A)返回上一级。
Joy-Con左右手柄分离使用技巧
如果你用的是单个Joy-Con(比如只连了右手柄),BetterJoy默认会把它当完整手柄处理,导致SL/SR键被误读为L/R肩键——而UNDERTALE根本不识别肩键,造成按键失灵。
解决办法:在BetterJoy主界面点击“Options” → 勾选“Use dual Joy-Con mode” → 再点击“Load default profile for Joy-Con (R)”;
然后回到设备列表,单独勾选右Joy-Con条目并Start;
此时BetterJoy会屏蔽SL/SR物理键,仅启用ABXY、方向键和摇杆,完全匹配UNDERTALE所需的6键操作逻辑。
注意:左Joy-Con同理,但需加载“Joy-Con (L)”默认配置,且务必关闭陀螺仪(Options里取消勾选“Enable Gyro”),否则轻微晃动会导致菜单光标乱跳。
验证与故障排查
启动UNDERTALE后,按Esc呼出暂停菜单,观察左上角是否显示“Controller: Xbox Controller”。若显示“Unknown Controller”或空白,说明XInput模拟未生效;
立即检查任务管理器 → 启动项 → 确认ViGEmBus和BetterJoy进程正在运行;
若手柄按键有反应但角色不动,打开Windows“游戏控制器设置”(控制面板 → 设备和打印机 → 游戏控制器),双击识别出的XInput设备 → “测试”页卡 → 按方向键,确认十字光标实时跟随移动;
若光标不动,返回BetterJoy → “Settings” → 将“Polling Rate”从1000Hz降至500Hz,部分USB蓝牙适配器无法稳定承载高频轮询。











