我已将 PC 版 XBox 无线控制器与我的 ubuntu 机器连接起来。一切正常,/dev/input/ 中的所有 js0-3 设备均可用。
但正常情况下,控制器中间的圆圈应该显示设备 ID(1-4),但实际上并没有显示。圆圈只是闪烁。我在 Windows 中尝试过,一切正常。有线 XBox 控制器也可以毫无问题地显示其 ID。
有人知道为什么这不起作用吗?是否有一些必须启用的内核模块?
(来源:微软)
答案1
有两种解决方案可以解决此问题:
1)安装steamos xpad补丁:http://ppa.launchpad.net/mdeslaur/steamos/ubuntu/pool/main/s/steamos-xpad-dkms/
2)安装Xboxdrv:
2.1)Ubuntu 简易安装:
sudo apt-add-repository -y ppa:rael-gc/ubuntu-xboxdrv
sudo apt-get update
sudo apt-get install ubuntu-xboxdrv
2.2)不使用其他存储库:
sudo apt-get install xboxdrv
sudo gedit /etc/modprobe/blacklist.conf
在文件末尾添加“blacklist xpad”,然后重启。之后要启动 xboxdrv,只需在终端中输入“sudo xboxdrv --silent --mimic-xpad”。
答案2
最佳解决方案Ubuntu 22.04请遵循以下步骤:
- 安装 xboxdrv:
$ sudo apt-add-repository ppa:rael-gc/ubuntu-xboxdrv
$ sudo apt-get update
$ sudo apt-get install ubuntu-xboxdrv
- 将xpad添加到黑名单中:
$ echo "blacklist xpad" | sudo tee -a /etc/modprobe.d/blacklist.conf
$ sudo rmmod xpad
(如果模块已经加载则卸载)
- 删除
jstest-gtk
以设置xboxdrv
为默认值:
$ sudo apt-get purge jstest-gtk
$ sudo apt-get install xboxdrv
$ sudo apt-get install jstest-gtk
(重新安装不影响xboxdrv
)
- 在目录中
/etc/default/
,创建一个名为“xboxdrv”的新文件,其中包含以下文本:
[xboxdrv]
silent = true
# controller 1
trigger-as-button = true
dpad-as-button = true
deadzone = 4000
# controller 2
next-controller = true
trigger-as-button = true
dpad-as-button = true
deadzone = 4000
# controller 3
next-controller = true
trigger-as-button = true
dpad-as-button = true
deadzone = 4000
# controller 4
next-controller = true
trigger-as-button = true
dpad-as-button = true
deadzone = 4000
[xboxdrv-daemon]
dbus = disabled
xboxdrv
要在 Ubuntu 每次启动时启动,请systemctl
按照本网站sudo xboxdrv --silent
。如果通过 运行,则无需在终端中输入systemctl
。
- 注意:打印支持的设备列表:
$ xboxdrv --list-supported-devices
- 如果控制器在 Wine 中遇到任何问题,请按照本网站。
更多信息:
https://github.com/gotbletu/shownotes/blob/master/xboxdrv.md