如果你曾经尝试过在树莓派上使用Xbox手柄,你应该知道他们配合的并不好,不是开箱即用的。为了让它们正常工作,需要安装一个特殊的驱动程序。这篇文章就记录下在树莓派上安装Xbox手柄的详细步骤。
较新的具有蓝牙功能的Xbox One控制器,需要在安装驱动的基础上进行额外的工作才行。
设备清单
下面是我在这个设置Xbox控制器教程中使用的所有零部件。
建议:
可选:
安装Xbox手柄的方法
有三种不同的方式可以将Xbox One和Xbox 360控制器连接到Raspberry Pi上,最简单的两种连接方式是通过USB线或使用官方的无线适配器。
Xbox控制器USB无线适配器
Xbox USB无线适配器是连接控制器的最简单方法,同时还有无线功能。如果想使用无线Xbox 360控制器或利用第一代Xbox One控制器的无线功能,也需要这个选项。
请注意,Xbox 360控制器和Xbox One控制器使用不同的USB适配器。
蓝牙
使用蓝牙仅是Xbox One S发布时推出的较新的Xbox One控制器的可行选项。使用蓝牙需要几个不同的步骤才能正确工作。
如果想知道如何将Xbox One蓝牙控制器连接到树莓派上,那么请继续往下看。
USB线
USB是设置Xbox One控制器的最简单的方法。但是,如果使用360控制器,只能使用有线的方式,因为它上面的端口只是用来充电的。
只需将Micro USB线插入Xbox One控制器,USB-A端插入Raspberry Pi。
设置树莓派适配Xbox手柄
1. 在开始之前,应该通过在终端中运行以下两个命令来确保Raspberry Pi是最新的。这些命令会更新所有的软件包。
sudo apt-get update
sudo apt-get upgrade
2. 虽然不一定需要再安装xboxdrv,因为Xpad驱动现在已经包含在Raspbian的内核中,有些早期的树莓派可能没有,还是安装一下。
要安装与Xbox One和Xbox 360控制器交互的userland驱动程序,在树莓派的终端中键入以下命令。
sudo apt-get install xboxdrv
将蓝牙Xbox手柄与树莓派配对
1. 在将蓝牙Xbox控制器与树莓派配对之前,请确保已经安装了驱动程序,就像在前面的部分提到的那样。
安装了驱动程序后,就可以开始配对的过程了。首先在Raspberry Pi上运行以下命令。
该命令禁用蓝牙模块的增强型再传输模式(ERTM),启用它后,Xbox手柄会无法正确配对。
echo 'options bluetooth disable_ertm=Y' | sudo tee -a /etc/modprobe.d/bluetooth.conf
2. 为了让这个改变生效,需要重新启动Raspberry Pi。在Raspberry Pi上运行以下命令来重启它。
sudo reboot
3. 现在Raspberry Pi已经启动,可以将蓝牙Xbox One手柄与Raspberry Pi配对。
为了能够配对Xbox One手柄,需要在Raspberry Pi上运行以下命令来启动蓝牙工具。
sudo bluetoothctl
4. 在蓝牙工具中,可以运行一些不同的命令,找到并配对蓝牙Xbox One控制器。首先输入以下两行来开启代理。
agent on
default-agent
5. 完成后就可以开始扫描设备了,只需输入以下命令即可开始扫描过程。
scan on
一旦扫描过程开始,应该开始看到终端内弹出可发现的蓝牙设备。
6. 按下位于Xbox One控制器前面的同步按钮,应该会看到一个新的条目出现在Raspberry Pi的命令行上,比如下面。
注意控制器的 MAC 地址。MAC 地址是用冒号”: “分隔的十六进制数字。
[NEW] Device B8:27:EB:A4:59:08 Wireless Controller
7. 有了蓝牙Xbox One控制器的MAC地址,现在就可以通过树莓派的蓝牙协议栈与它进行连接了。
键入以下命令,确保将 “YOUR_MAC_ADDRESS “替换为步骤6中在控制器上启动同步过程时出现的命令。在我的例子中,是B8:27:EB:A4:59:08。
connect YOUR_MAC_ADDRESS
8. 现在,与控制器连接成功,应该会看到Raspberry Pi上的命令行出现以下内容。
Attempting to connect to B8:27:EB:A4:59:08
[CHG] Device B8:27:EB:A4:59:08 Modalias: usb:v054Cp0268d0100
[CHG] Device B8:27:EB:A4:59:08 UUIDs:
00001124-0000-1000-8000-00805f9b34fb
00001200-0000-1000-8000-00805f9b34fb
9. 与Xbox One控制器成功连接后,需要将其添加到受信任设备列表中。这样做可以让Xbox One控制器自动重新连接到树莓派的蓝牙。
需要在Raspberry Pi上运行以下命令。确保将 “YOUR_MAC_ADDRESS “替换为步骤8中用于连接设备的相同MAC地址。
trust YOUR_MAC_ADDRESS
10. 已经配对了蓝牙Xbox One控制器,可以输入 “quit “或按Ctrl + D退出bluetoothctl软件。
11. 现在安装操纵杆工具集。这个工具集将检查Xbox One控制器是否正常工作。在Raspberry Pi上运行以下命令来安装它。
sudo apt-get install joystick
12. 随着操纵杆工具集现在被安装到Raspberry Pi上,可以测试控制器是否正常工作。运行以下命令来测试设置为js0的操纵杆。
sudo jstest /dev/input/js0
应该看到一个屏幕,上面有一堆数字,移动和按下按钮应该会改变屏幕上的文字。如果有变化,就表示控制器已经完全设置好了。
用Xbox控制器控制Raspberry Pi
如果想用Xbox控制器控制Raspberry Pi,只需在终端中使用以下命令即可。这个命令可以让Xbox控制器与电脑进行交互,并将使其模仿鼠标。
sudo xboxdrv --detach-kernel-driver --silent --mouse
运行了该命令后,现在应该可以用Xbox控制器控制Raspberry Pi上的鼠标了,下面的按钮与特定的鼠标动作时绑定的。
- A:左键
- B:右键单击
- X:鼠标中点
- Y:进入
- Left Joystick:鼠标移动
- Right Joystick:滚轮
- D-Pad:箭头键
- Start:前进
- Back:返回
- LB: Page up
- RB: Page down
希望在本指南结束时,您已经可以用Xbox手柄和树莓派愉快地玩耍了。
在树莓派上玩游戏的时候,有了这个手柄会爽很多。
如果对本教程有任何反馈或需要帮助,请在下方留言。
欢迎转载,请留下出处链接:Labno3 » 树莓派玩游戏,新手教程如何设置Xbox手柄