如何配置 snes9x-gtk joypad 2?

如何配置 snes9x-gtk joypad 2?

我正在尝试使用 PS3 Dualshock 与两个玩家一起玩 snes9x-gtk。我的问题是玩家 2 的输入配置。它不会记录我按下 js1 的按钮。js0 工作正常。操纵杆校准的 Jtest 显示两个控制器都在工作。

答案1

1) 操作系统真的能听到我的游戏手柄的声音吗?

在终端中:

cat /dev/input/js0

显示一些奇怪的输出,并响应我按下的按钮。听到了第一个插入的 Dualshock 的声音。现在:

cat /dev/input/js1

显示相同的内容,并且还响应按钮按下。(按住按钮并在终端响应中查看屏幕上的模式...)

2) 现在启动 snes9x-gtk 程序,转到选项,然后转到首选项,单击 snes 按钮的文本字段是否有效?

对于游戏手柄 1,程序响应 js0 的控制器输入,并将正确的输入绑定到正确的 snes 按钮。

对于操纵杆 2(下拉菜单,然后选择 2),大部分情况下没有响应。我在这里很幸运,我随机点击了 snes 按钮“右”的文本字段,按下 js1 上的右 d-pad 输入注册了“操纵杆 2 按钮 5”,我切换到操纵杆 1,找到了“操纵杆 1 按钮 5”。所以它起作用了,并且是正确的按钮!但问题是,没有听到其他控制器按钮的声音。所以我

gedit ~/.snes9x/snes9x.xml

并在 joypad 0 下找到了 js0 的所有绑定号码。

在 joypad 1 (即 js1,但程序中是 joypad 2。)下(编程语言从 0 而不是 1 开始列出)我发现:

<binding name="Right" binding="570425349"/>

其他每个按钮的绑定都是 0,所以没有设置。我回头看了看 joypad 0,发现 js0 的等效绑定是

<binding name="Right" binding="553648133"/>

因此,除非您拥有 js0 的所有绑定,否则这不会立即有所帮助,因为首选项中游戏手柄 1 的输入确实听到了所有按钮按下,所以我拥有所有绑定。使用一点逻辑和数学,我查看了游戏手柄 0 下左侧的绑定并得到:

<binding name="Left" binding="553648135"/>

因此左侧绑定输入比右侧绑定多 2。因此在 joypad 1 (js1) 下

这:<binding name="Left" binding="0"/>

变成了这样:<binding name="Left" binding="570425351"/>

然后我保存了 xml 文件,重新打开了 snes9x-gtk,瞧瞧,在 joypad 2 下,它显示左侧按钮为“Joystick 2 Button 7”,7 比按钮 5 多 2 个!我能够在 js1 下编辑我需要的其余按钮。希望我解释得足够清楚,不确定绑定是否适用于所有 dualshock。

3) 游戏最终能运行吗?是的,我测试了双人版超级马里奥世界,路易吉对我插入的第二块 Dualshock 有反应。

相关内容