由于最后一个官方支持的版本是来自QtSixA PPA 的“生动”(Ubuntu 15.04)并且不适用于 Ubuntu Xenial(16.04)。
在 Ubuntu 16.04 - Xenial(也许可以在上面工作)
注意:不适用于 PS3 Gasia / 山湾游戏控制器(中国/假 PS3 控制器)——我仅使用山湾控制器进行了测试!
从源安装
由于最后一个官方支持的版本是来自QtSixA PPA 的"vivid"(Ubuntu 15.04)并且不适用于 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
Run Code Online (Sandbox Code Playgroud)
配置
1.) 首先确保您的计算机上有蓝牙。
2.) 首先通过 USB 插入控制器进行初始配对。运行 Sixpair 命令:
sudo sixpair
Run Code Online (Sandbox Code Playgroud)
配对成功时的输出示例:
Current Bluetooth master: XX:XX:XX:XX:XX:XX
Setting master bd_addr to XX:XX:XX:XX:XX:XX
Run Code Online (Sandbox Code Playgroud)
XX:XX:XX:XX:XX:XX是您的蓝牙设备的 MAC。
3.) 拔下控制器并运行:
sudo sixad -s
Run Code Online (Sandbox Code Playgroud)
这将启动 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]
Run Code Online (Sandbox Code Playgroud)
要关闭 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
Run Code Online (Sandbox Code Playgroud)
参考:
https://askubuntu.com/a/834907/139248
https://retropie.org.uk/forum/topic/2913/guide-use-qtsixa-on-ubuntu-16-04-and-derivatives