我正在运行Lubuntu 16.04,xboxdrv版本0.8.6(由git repository构建,因为0.8.5是Ubuntu存储库中可用的版本),使用官方Microsoft Xbox 360有线控制器,并且运行正式版的Steam for Linux。
xorg / x11存在问题(我不确定这里的名称是什么,因为我对Linux一般都很新),操纵杆默认会有鼠标控制。从Ubuntu论坛的this thread开始,可以通过创建/usr/share/X11/xorg.conf.d/50-joystick.conf
来解决此问题:
Section "InputClass"
Identifier "joystick catchall"
MatchIsJoystick "on"
MatchDevicePath "/dev/input/event*"
Driver "joystick"
Option "StartKeysEnabled" "False" # These Two Lines Disable
Option "StartMouseEnabled" "False" # The mouse emulation
EndSection
这解决了问题,并将阻止以下情况发生:
当移动左拇指杆时,它还会发送EV_KEY
个事件(向左移动时KEY_LEFT
等)。
当移动右拇指杆时,会发生不同的事情,具体取决于方向:
当拉动左扳机时,似乎没有什么奇怪的事情发生,
拉动右触发器时,鼠标光标向下移动;当释放时,鼠标光标然后移动,并将继续直到xboxdrv停止,
最后,方向键似乎没什么奇怪的。
也就是说,直到Steam for Linux启动。加载并启动Steam后,上面的所有内容都会发生,就好像从未创建50-joystick.conf
一样。一旦Steam关闭并重新启动xboxdrv,游戏手柄就会按预期工作。
当Steam正在运行时,一切都会发送正确的事件(触发器,操纵杆等),因为它们在视频游戏中工作,控制器被检测为游戏手柄。此外,这些额外的事件似乎不会在游戏中发生,只有当游戏失去焦点时才会发生。
作为旁注,当通过Wine运行Steam(通过PlayOnLinux)时,不会发生这种情况。我不知道控制器是否适用于通过Wine Steam安装和启动的任何游戏(我已经设置了koku的xinput库,遵循this reddit线程;它可以在GOG Spelunky中运行),但是。
是否有任何Steam可以修改xorg / x11,可以阻止还是反转?