ArchLinux蓝牙连接PS3手柄
intro
最近中午一直在国服DiabloII,从家里仓库捡了个小PS3手柄,没想到连接过程还挺坎坷
必要条件
- 首先,你要有蓝牙,并能正常驱动
- 然后,你要有一根miniUSB的线用于连接电脑
- sixpair
配对 PS3 手柄和蓝牙适配器,它的作用是在你通过 USB 连接手柄时生成配对密钥,将手柄与蓝牙适配器绑定。sixpair 并不负责连接或管理手柄输入,只是用来进行配对。 - sixad
管理 PS3 手柄的蓝牙连接 和 输入支持,它在后台运行,确保手柄连接到系统并且可以用作输入设备。sixad 并不提供配对功能
连接流程
先说说流程,PS3蓝牙连接的流程为,手柄
USB连接主机,主机写入信任地址到手柄,然后手柄在断开有线连接后,会尝试该蓝牙地址.
当然Linux下,已经有大神写好了一个配对程序sixpair,只需要有线连接手柄时运行该程序即可把适配器地址回写到手柄
这里是踩坑的一个点,由于之前连接过PS4的手柄,安装过ds4drv,我记得在win下这个程序是可以驱动DualShock3的,所以想当然的以为只要sixpair写入主机地址回手柄,蓝牙连接就可以了.
其实这里需要用到一个软件sixad,安装后,你的蓝牙就可以顺利添加控制器设备了
详细步骤
开启蓝牙
1
2sudo pacman -Sy bluez
sudo systemctl enable --now bluetooth.service这时候你就可以用bluetoothctl来连接控制你的蓝牙设备了,当然你想要个GUI程序只需要安装blueman就可以,它还提供一个applet
1
sudo pacman -Sy blueman
sixad服务
1
sudo pacman -Sy sixad
安装完成后,发现aur源里的这个sixad没有自带服务,好我们新建一个
1
2
3
4
5
6
7
8
9
10
11
12
13
14/etc/systemd/system/sixad.service
[Unit]
Description=Sixad service for PS3 controller
After=bluetooth.service
[Service]
Type=simple
ExecStart=/usr/bin/sixad --start
Restart=always
User=root
Group=root
[Install]
WantedBy=multi-user.target1
2sudo systemctl daemon-reload
sudo systemctl enable --now sixad.service有线连接电脑
首先安装sixpair,然后用执行就可以回写地址到控制器1
2sudo pacman -Sy sixpair
sudo sixpair拔掉你的usb线,然后按下PS键
你发现你的后柄振动了几下后,连接指示灯已经亮了.Ok Enjoy it!