如何让 XBOX 360 控制器工作?

jho*_*014 62 gamepad xbox-360

我有一个带无线适配器的 Microsoft XBOX 360 游戏手柄,我想知道我必须安装什么才能在 Ubuntu 上使用它们我知道在 Windows 上使用它时我必须手动安装无线接收器的驱动程序(如果是相关的。)

ste*_*all 45

如果您发现运行 XBOX 360 控制器有困难,那么这将帮助您将其安装在运行 Ubuntu 的计算机上,并向您展示如何配置它。这些说明适用于有线或无线 X-Box 360 控制器。

入门

为了能够在 Ubuntu 12.04 (Precise Pangolin) 下使用您的 Xbox 360 有线/无线控制器,您首先需要安装一些必需的软件包。

打开终端并运行以下命令:

sudo apt-get install --install-recommends jstest* joystick xboxdrv
Run Code Online (Sandbox Code Playgroud)

您还需要确保 xpad 没有被加载:

echo "blacklist xpad" | sudo tee -a /etc/modprobe.d/blacklist.conf
sudo rmmod xpad  # unload module if already loaded
Run Code Online (Sandbox Code Playgroud)

然后运行 ​​xboxdrv:

xboxdrv --silent 
Run Code Online (Sandbox Code Playgroud)

配置垫

现在通过 USB(有线)将您的游戏控制器连接到您的 PC 或将您的 XBOX 360 PC 无线游戏接收器连接到您的无线控制器,然后运行以下命令开始配置:

jstest-gtk
Run Code Online (Sandbox Code Playgroud)

在出现的窗口中,选择您的控制器(Microsoft X-Box 360 pad、Generic X-Box pad 等)并单击 Properties:

在此处输入图片说明

注意如果您的控制器未列出,请尝试单击“刷新”按钮。

将弹出一个新窗口,帮助您校准游戏控制器、重新映射游戏控制器的按钮(更改轴和按钮的顺序)等。 在此处输入图片说明

完成配置后,保存新设置并关闭窗口。您现在可以使用您的 Xbox 360 控制器在 Ubuntu 下玩游戏。

将 xboxdrv 配置为开机启动

如果您正在制作专用机器或想要确保在启动时加载 xboxdrv,您可以执行以下操作:

首先创建一个新贵的工作:

sudoedit /etc/init/xboxdrv.conf
Run Code Online (Sandbox Code Playgroud)

并在其中添加以下内容:

start on filesystem
exec xboxdrv -D
expect fork
Run Code Online (Sandbox Code Playgroud)

这将确保 xboxdrv 在启动时启动。

资料来源:

  • 我创建了一个 PPA 来让它在 14.04 中工作(一些细微的差别)。此外,此 PPA 将 xpad 标记为冲突,在安装时正确删除损坏的配置,并创建一个名为“操纵杆”的系统设置条目。在这里查看:https://launchpad.net/~rael-gc/+archive/ubuntu-xboxdrv (2认同)

Rae*_*nha 22

Ubuntu 14.04、15.10、16.04

我创建了一个 PPA 来为xboxdrv14.04 及更高版本安装和创建一个合适的守护进程。

此外,此 PPA 将清除损坏的配置,将 xpad 标记为冲突(必要时停止它),启动 xboxdrv 守护程序并在系统设置中创建“操纵杆”条目。

要安装它,请在终端中运行:

sudo apt-add-repository -y ppa:rael-gc/ubuntu-xboxdrv
sudo apt-get update
sudo apt-get install ubuntu-xboxdrv
Run Code Online (Sandbox Code Playgroud)

PS:我将软件包克隆到其他版本,甚至将其更改为与systemd.

  • 在我这样做之前,我发现没有任何东西可以让我的 XBox 360 无线接收器在 Linux Mint 17.1 中工作,然后突然我第一次在 Linux 中看到我的控制器在我眼前同步。非常感谢你做的这些!!! (3认同)
  • +1 因为这让生活变得更轻松 (3认同)

Moh*_*ain 16

终于解决了。只需在终端中输入这个

sudo apt-get update
sudo apt-get install xboxdrv
xboxdrv --silent &
Run Code Online (Sandbox Code Playgroud)

然后按 ctrl+c

完成后,您刚刚安装了 Xbox 驱动程序,您就可以使用 Xbox 360 控制器了:D。我想当每个人都说控制器是即插即用的而它不是,那么您必须安装必要的驱动程序才能使用它。


joc*_*enh 12

更新:对于内核 4.2(可能是 15.10 或 16.04)及更高版本,这不是必需的。这个 Bug 终于被修复了:https : //bugs.launchpad.net/ubuntu/+source/linux/+bug/1272765

如果您遇到 LED 闪烁问题,只需添加此 ppa 并从 SteamOS 安装固定的 xpad 内核模块。感谢阀门!

sudo add-apt-repository ppa:mdeslaur/steamos
sudo apt-get update
sudo apt-get install steamos-xpad-dkms
Run Code Online (Sandbox Code Playgroud)

这会更新 Ubuntu 中的 xpad 模块,因此您不需要 xboxdrv。

  • 过时了。不再可用。请删除答案 (3认同)

Tak*_*kat 9

这是对现有答案的更新,以获取在 Wine >= 1.7 中运行的 XBox360 控制器的方法,包括 Ubuntu >= 13.10 上 Wine 中的 Steam 游戏。安装和操作不需要root权限。

下面的方法使用x360ce.exe,它基本上为 Wine 提供了 Dinput 代码以与游戏进行通信(请注意,您的 XBox 控制器仍然发送 Xinput 控件)。

  1. 插入您的 XBox360(或兼容)控制器,让它自动被 xpad 内核模块识别。

    无需安装和运行,xboxdrv因为目前控制器似乎已被识别。难道不是因为老年人教程建议黑名单XPAD内核模块。

  2. 下载适用于Windows (Wine) 应用程序 x360ce的 ZIP 档案及其随附的用于 Xinput 和 Dinput 的 .dll 二进制文件。
  3. 解压缩 ZIP 档案以将至少包含以下文件的内容复制到游戏的可执行目录(例如~/.wine/drive_c/Programs/Games/game.exe~/.wine/drive_c/Programs/Steam/SteamApps/common/Name_Of_Game/game.exe):

    • x360ce.exe
    • dinput8.dll
    • xinput1_3.dll

    有些游戏可能还需要:

    • xinput1_9.dll
  4. x360ce.exe使用 Wine运行以x360ce.ini在游戏目录中创建一个示例文件(如果尚不存在)。

  5. 退出x360ce.exe(您可能必须杀死 Wine 才能这样做,因为应用程序可能会挂起)
  6. x360ce.ini使用编辑器打开文件以添加以下行以防止将来崩溃或挂起:

    Version=1
    
    Run Code Online (Sandbox Code Playgroud)
  7. 重新开始x360ce.exe以识别您的 XBox 控制器。

  8. 一旦控制器被识别,我们可以选择从预制的设置文件中进行选择。
  9. 将控制器的按钮和操纵杆轴调整为适当的值。

    >*<sup>截图如下</sup>*

  10. Save 将这些设置保存到 xbox360ce.ini 文件中

  11. 然后退出(或杀死) x360ce.exe
  12. 如果需要x360ce.ini,再次在编辑器中打开文件以微调某些设置。
  13. 从 Wine 启动时,您的 Windows 游戏现在应该可以识别控制器。
  • 请勿拔下控制器,因为只有在重新启动游戏后才会被识别。
  • 备份 .ini 文件以备将来使用以避免重新校准。