如何使用Ubuntu 13.10设置Dual Shock 4控制器?
我用Ubuntu获得了我的第一个NAS盒子,安装了Steam并被邀请参加游戏流测试! 为了改善体验,我得到了一个双震动4控制器。
我知道可以玩它,任何人都可以帮助我握住我的手吗? 我有一个支持的蓝牙适配器,这就是它。
ds4drv
ds4drv是适用于Linux的Sony DualShock 4用户空间驱动程序。
- 讨论: https : //groups.google.com/forum/#! forum / ds4drv
- GitHub: https : //github.com/chrippa/ds4drv
- PyPI: https ://pypi.python.org/pypi/ds4drv
特征
- 选择模拟Xbox 360控制器以与Steam游戏兼容
- 设置LED颜色
- 通过闪烁LED提醒您电池电量不足
- 使用触控板作为鼠标
- 自定义映射,映射按钮和指向您想要的任何鼠标,键或操纵杆操作
- 可以使用按钮绑定循环的设置配置文件
安装
依赖
- Python 2.7或3.3+(对于Debian / Ubuntu,你需要安装python2.7-dev或python3.3-dev包)
- python-setuptools的
- hcitool(通常在bluez-utils或等效包中提供)
这些软件包通常会由安装脚本自动安装,但如果可用,您可能需要使用您的发行版软件包:
- pyudev 0.16或更高
- python-evdev 0.3.0或更高版本
稳定释放
使用pip安装最新版本很简单:
sudo pip install ds4drv
[…]
运用
ds4drv有两种不同的模式可以找到DS4设备,根据您的使用情况决定使用哪种设备。
原始蓝牙模式
支持的协议: 蓝牙
除非您的系统使用BlueZ 5.14(最近发布)或更高版本,否则无法与DS4配对。 因此存在这种解决方法,当它在配对模式下启动时直接连接到DS4(通过按住Share + PS按钮直到LED开始快速闪烁)。
在没有任何选项的情况下运行时,这是默认模式:
$ ds4drv
[…]
权限
如果要将ds4drv用作普通用户,则需要确保ds4drv具有使用系统上某些function的权限。
ds4drv使用内核模块uinput在用户区创建输入设备,并使用模块hidraw与DualShock 4控制器通信(使用
--hidraw
),但这通常需要root权限。 您可以通过将udev规则文件复制到/etc/udev/rules.d/
来更改权限。您可能需要在此之后重新加载您的udev规则:
$ sudo udevadm control --reload-rules $ sudo udevadm trigger
[…]
已知问题/限制
- 已知蓝牙2.0加密狗有问题,建议使用2.1+。
- 控制器永远不会关闭,您需要通过按住PS按钮直到控制器关闭来手动执行此操作
- 没有隆隆声支持
[…]
结果(通过Steam玩游戏时):
$ ds4drv --trackpad-mouse --emulate-xpad-wireless [info][controller 1] Created devices /dev/input/js0 (joystick) /dev/input/event20 (evdev) [info][bluetooth] Scanning for devices [info][bluetooth] Found device aa:bb:cc:dd:ee:ff [info][controller 1] Connected to Bluetooth Controller (aa:bb:cc:dd:ee:ff) [info][bluetooth] Scanning for devices [info][controller 1] Battery: 62% [info][controller 1] Battery: 50% [warning][controller 1] Signal strength is low (44 reports/s) [info][controller 1] Battery: 37%
蒸汽中的DS4
DS4似乎在Steam中有本机支持(客户端来自2016-01-01,在Ubuntu 14.04上使用HWE内核和15.10测试),大图模式通过USB和蓝牙工作。
要在Ubuntu中配对DS4,请转到蓝牙设置,然后按配对设备列表下方的加号按钮(+)进入配对对话框,然后按住控制器上的PS + 共享 ,直到LED开始闪烁并选择无线控制器一旦出现就配对。
ds4drv通过USB
为了回答Lucas的评论,REAMDME已更新,现在包含以下内容:
Hidraw模式
支持的协议: 蓝牙和USB
此模式使用Linux内核functionhidraw与系统上现有设备进行通信。
$ ds4drv --hidraw
[…]
要在此模式下通过USB使用DS4,只需通过micro USB线将DS4连接到计算机即可。
注意:不幸的是,由于内核错误,在此模式下使用蓝牙设备时,目前无法使用任何LEDfunction。