当前位置: 首页>>技术教程>>正文


如何让XBOX 360控制器工作?

, ,

问题描述

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

最佳解决思路

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

入门

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

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

sudo apt-get install --install-recommends jstest* joystick xboxdrv

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

echo "blacklist xpad" | sudo tee -a /etc/modprobe.d/blacklist.conf
sudo rmmod xpad  # unload module if already loaded

然后运行xboxdrv:

xboxdrv --silent 

配置打击垫

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

jstest-gtk

在显示的窗口中,选择您的控制器(Microsoft X-Box 360 pad,Gen​​eric X-Box pad等),然后单击Properties:

gamepad,xbox-360,ubuntu

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

pop-up新窗口将帮助您校准游戏控制器,重新映射游戏控制器的按钮(更改轴和按钮的顺序)等。

gamepad,xbox-360,ubuntu

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

配置xboxdrv以在启动时启动

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

首先创建一个新手工作:

sudoedit /etc/init/xboxdrv.conf

并在那里添加以下内容:

start on filesystem
exec xboxdrv -D
expect fork

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

资料来源:

次佳解决思路

Ubuntu 14.04,15.10,16.04:

我创建了一个PPA来安装并在14.04及更高版本中为xboxdrv创建一个合适的守护进程。

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

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

sudo apt-add-repository -y ppa:rael-gc/ubuntu-xboxdrv
sudo apt-get update
sudo apt-get install ubuntu-xboxdrv

PS:我将软件包克隆到其他版本,甚至将其更改为与systemd一起使用。

第三种解决思路

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

sudo apt-get update
sudo apt-get install xboxdrv
xboxdrv --silent &

然后按ctrl + c

并且你刚刚安装了Xbox驱动程序,你已经准备好使用你的Xbox 360控制器:D。我想当每个人都说控制器是一个即插即用而它没有,那么你必须安装必要的驱动程序才能使用它。

第四种思路

更新:内核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

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

第五种思路

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

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

  1. 插入XBox360(或兼容)控制器,使其可以通过xpad内核模块自动识别。无需安装和运行xboxdrv,因为目前控制器似乎已被识别。不要像旧版教程中推荐的那样将Xpad内核模块列入黑名单。

  2. 下载用于Xinput和Dinput的Windows (Wine) application x360ce及其随附​​的.dll二进制文件的ZIP存档。

  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. 使用Wine运行x360ce.exe以在游戏目录中创建示例x360ce.ini文件(如果尚未存在)。

  5. 退出x360ce.exe(您可能必须杀死Wine才能执行此操作,因为应用程序可能会挂起)

  6. 使用编辑器打开x360ce.ini文件以添加以下行以防止将来崩溃或挂起:

    Version=1
    
  7. 再次启动x360ce.exe以识别您的XBox控制器。

  8. 一旦识别出控制器,我们可以选择从预制的设置文件中进行选择。

  9. 将控制器的按钮和操纵杆轴调整为适当的值。

    gamepad,xbox-360,ubuntu

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

  11. 然后退出(或杀死)x360ce.exe

  12. 如果需要,再次在编辑器中打开x360ce.ini文件以微调某些设置。

  13. 您的Windows游戏现在应该从Wine启动时识别控制器。

  • Do not unplug the controller, as it will then only be recognized after a restart of the game.
  • Backup the .ini file for future use to avoid re-calibration.

第六种思路

我不确定你尝试了什么,所以我们先试试官方指示。请打开一个终端(在短划线中搜索它)并逐个输入以下命令(无需复制输出):

sudo add-apt-repository ppa:grumbel/ppa
sudo apt-get update
sudo apt-get install xboxdrv
sudo apt-get install xboxdrv-stable 

重启,应该识别您的无线接收器。

请注意,遗憾的是,xboxdrv-stable没有12.04包。假设您有Launchpad.net帐户,您可以考虑使用contacting contacting the package maintainer。仍然,尝试使用需要驱动程序的软件。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1385.html,未经允许,请勿转载。