如何在 Ubuntu 16.04 上连接 Dualshock 3 控制器(PS3 Sixaxis Gamepad)?

如何在 Ubuntu 16.04 上连接 Dualshock 3 控制器(PS3 Sixaxis Gamepad)?

由于最后一个官方支持的版本是“vivid”(Ubuntu 15.04)QtSixA PPA并且不适用于 Ubuntu Xenial (16.04)。

答案1

在 Ubuntu 16.04 上 - Xenial(可能适用于以上版本)

笔记:不适用于 PS3 Gasia / Shanwan 游戏控制器(中国/假冒 PS3 控制器)——我只使用 Shanwan 控制器进行了测试!

从源代码安装

由于最后一个官方支持的版本是“vivid”(Ubuntu 15.04)QtSixA PPA不适用于 Xenial (16.04)。所以我们需要从唯一的 repo 进行编译作品(并已更新)并允许连接控制器同时是RetroPie

sudo apt-get install dialog build-essential pyqt4-dev-tools libusb-dev libbluetooth-dev python-dbus -y
wget https://github.com/RetroPie/sixad/archive/master.zip -O sixad-master.zip
unzip sixad-master.zip
cd sixad-master
make
sudo make install

配置

1.) 首先确保您的计算机上有蓝牙。

2.) 首先通过 USB 插入控制器进行初始配对。运行 sixpair 命令:

sudo sixpair

配对成功时的输出示例:

Current Bluetooth master: XX:XX:XX:XX:XX:XX
Setting master bd_addr to XX:XX:XX:XX:XX:XX

XX:XX:XX:XX:XX:XX是您的蓝牙设备的 MAC 地址。

3.) 拔下控制器并运行:

sudo sixad -s

这将启动 sixad 守护进程,等待传入的 PS3 控制器连接。sixad 将完全接管蓝牙适配器(独占控制,因此启动 sixad 后,除 PS3 控制器之外的任何其他蓝牙设备都无法工作)。

4.) 按下 PS3 控制器上的 ps3 按钮并等待 2-3 秒。成功连接后,您会感觉到控制器振动。

连接成功时的输出示例:

[ ok ] Starting bluetooth (via systemctl): bluetooth.service.
sixad-bin[23052]: started
sixad-bin[23052]: sixad started, press the PS button now
Watching... (5s)
sixad-sixaxis[23069]: started
sixad-sixaxis[23069]: Connected 'PLAYSTATION(R)3 Controller (**XX:XX:XX:XX:XX:XX**)' [Battery 05]

要关闭 sixad 并禁用控制:只需按Ctrl+C

测试功能[可选]

您可以通过 Jstest-gtk 测试控制器的功能(安装sudo apt-get install jstest-gtk:)

禁用 sixad 服务 [可选]

警告:sixad 将完全接管蓝牙适配器(独占控制,因此启动 sixad 后,除 PS3 控制器之外的任何其他蓝牙设备都无法工作)。

sudo update-rc.d sixad disable
sudo service sixad stop

参考:

https://askubuntu.com/a/834907/139248
https://retropie.org.uk/forum/topic/2913/guide-use-qtsixa-on-ubuntu-16-04-and-derivatives

相关内容