0

我正在运行 Lubuntu 16.04,xboxdrv 版本 0.8.6(从 gi​​t存储库构建,因为 0.8.5 是 Ubuntu 存储库中可用的版本),使用官方 Microsoft Xbox 360 有线控制器,并运行官方版本的 Steam对于 Linux。

xorg/x11 存在一个问题(我不确定这里更正确的名称,因为我对 Linux 很陌生)默认情况下操纵杆将具有鼠标控制。从Ubuntu 论坛上的这个线程,这可以通过创建来解决/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向左移动时等)。

移动右手拇指棒时,会发生不同的事情,具体取决于方向:

  1. 向上移动右摇杆将鼠标光标移动到 LEFT,
  2. 向下移动右摇杆将鼠标光标移动到 RIGHT,
  3. 向左移动右摇杆似乎无济于事,
  4. 向右移动右摇杆 RIGHT CLICKS。

扣动左扳机时,似乎没有什么奇怪的事情发生,

扣动右扳机时,鼠标光标向下移动;释放时,鼠标光标然后向上移动,并将继续直到 xboxdrv 停止,

最后,方向键似乎没什么奇怪的。

也就是说,直到 Steam for Linux 启动。一旦 Steam 加载并启动,上面的一切都会发生,就好像50-joystick.conf从未创建过一样。一旦 Steam 关​​闭并重新启动 xboxdrv,游戏手柄就会按预期工作。

当 Steam 运行时,所有东西也会发送正确的事件(触发器、摇杆等),因为它们在视频游戏中工作,控制器被检测为游戏手柄。此外,这些额外的事件似乎不会在游戏中发生,只有在游戏失去焦点时才会发生。

附带说明一下,当通过 Wine(通过 PlayOnLinux)运行 Steam 时,不会发生这种情况。我不知道控制器是否适用于通过 Wine Steam 安装和启动的任何游戏(我已经设置了 koku 的 xinput 库,遵循这个reddit 线程;它适用于 GOG Spelunky),但是。

Steam 是否有任何可以防止或逆转的修改 xorg/x11 的内容?

4

0 回答 0