Microsoft Sculpt Ergonomic Desktop 虚拟操纵杆:如何移除它?

Microsoft Sculpt Ergonomic Desktop 虚拟操纵杆:如何移除它?

我有 Microsoft Sculpt 人体工学桌面(键盘 + 鼠标),它在某些支持游戏手柄的游戏中造成了重大问题,因为不存在的虚拟操纵杆会让输入变得疯狂。如果我运行,rmmod joydev问题就解决了,但我有真正的游戏手柄和方向盘,我想在游戏中将它们用作输入控制器。那么,如何才能仅禁用虚拟 Sculpt 操纵杆而不关闭游戏控制器支持?

$ udevadm 信息 /dev/input/js0

$ udevadm info --attribute-walk /dev/input/js0

http://i.imgur.com/sAiQXAR.png - jstest-gtk screenshot

答案1

临时的强力解决方案是重命名/删除设备文件,即:

rm /dev/input/js0
mv /dev/input/js1 /dev/input/js0

但请注意,大多数现代游戏根本不使用界面/dev/input/js0,因此您还需要照顾好/dev/input/eventX文件。您可以使用它evtest来找出哪个设备是您的键盘和操纵杆。下次重新启动时,设备将恢复到原来的顺序。

另一种不那么暴力的方法是通过环境变量:

SDL_JOYSTICK_DEVICE="/dev/input/js1"
export SDL_JOYSTICK_DEVICE

这会强制基于 SDL 的游戏使用 js1 而不是 js0。我认为这不适用于基于 SDL2 的现代游戏,并且它仅适用于单个操纵杆/游戏手柄,因此用途有限。

SDL2 确实提供了配置操纵杆和重新映射按钮的选项,但我认为它目前没有重新排序设备的功能。

最后,还有一种“清理”方法,即编写 udev 规则,这基本上与rm/ mvhack 的作用相同,但效果是永久的。这些规则/etc/udev/rules.d/可以在网上找到,编写这些规则的教程散布在各处,也许这会有所帮助,但不确定它是否是最新的:

http://www.reactivated.net/writing_udev_rules.html

答案2

相关内容