sudo apt-get install python-dev
python-dev安装好之后,通过如下命令安装ds4drv
sudo pip install ds4drv
由于ds4drv要创建一个摇杆设备,还需要使用到uinput模块,通过如下命令加载uinput模块
sudo modprobe uinput
可以通过lsmod来检查一下uinput加载了没有。另外,如果需要开机就加载uinput模块,可以在/etc/modules-load.d/目录下创建一个uinput.conf文件,内容如下:
# in file /etc/modules-load.d/uinput.conf
# Load uinput module at boot
uinput
都安装好之后,使用如下命令启动ds4drv
sudo ds4drv
注意由于ds4drv要创建设备,所以必须使用sudo用root权限运行。
然后按DualShock4上的share+ps键,等指示灯开始闪烁时松开,稍等一会,注意ds4drv的输出会提示发现设备,然后会弹出一个框提示配对,但是此时可能会配对失败。不要管它。连接成功后输入如下所示:
也可以通过状态栏的蓝牙图标来检查手柄连接状态,连接好的手柄如下所示:
下面我们通过pygame来测试一下摇杆,从这里获取测试代码:http://www.pygame.org/docs/ref/joystick.html,保存为game.py。
使用如下命令执行
python game.py
随便按动手柄,可以看到数值的变化,如下所示:
我感觉在Zero上蓝牙有些延迟,其实在Zero上用DualShock4性价比不高,因为Zero本身不带蓝牙芯片,需要单独的蓝牙适配器,但是如果是在树莓派3上还是相当不错的。另外DualShock4价格也比较高,国产的北通手柄也是不错的,2.4G无线连接只不过也是带个小尾巴,占用一个usb接口。北通的手柄是xbox模式,在树莓派上也比较容易驱动。
相关资源:
ds4drv代码:https://github.com/chrippa/ds4drv