如何使用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。