如何使Steam Controller正常工作?


Answers:


26

2016年11月22日更新(如果您使用了此解决方案

由于最近进行了更新,因此必须更新udev规则。

编辑udev文件:

sudoedit /lib/udev/rules.d/99-steam-controller-perms.rules

将其中的所有内容替换为:

# This rule is needed for basic functionality of the controller in Steam and keyboard/mouse emulation
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", MODE="0666"

# This rule is necessary for gamepad emulation; make sure you replace 'pgriffais' with a group that the user that runs Steam belongs to
KERNEL=="uinput", MODE="0660", GROUP="pgriffais", OPTIONS+="static_node=uinput"

# Valve HID devices over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="28de", MODE="0666"

# Valve HID devices over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*28DE:*", MODE="0666"

# DualShock 4 over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="05c4", MODE="0666"

# DualShock 4 wireless adapter over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ba0", MODE="0666"

# DualShock 4 Slim over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="09cc", MODE="0666"

# DualShock 4 over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*054C:05C4*", MODE="0666"

# DualShock 4 Slim over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*054C:09CC*", MODE="0666"

现在拔下并重新插入您的Steam加密狗并修复控制器


2
这解决了我的SC无法通过电缆识别的问题,但是我需要注册Steam Beta参与。否则没有改变。
Carolus

在这里很棒!谢谢!(不再需要我的Steam Beta版了)
Dominic Hayes

这解决了我在Ubuntu GNOME 17.04上的问题。谢谢!
杰西(Jesse)

32

对于Ubuntu 15.10之前的版本

识别控制器

创建一个udev文件:

sudoedit /lib/udev/rules.d/99-steam-controller-perms.rules

然后添加以下内容,不要忘记在文件中使用您的用户名!

# This rule is needed for basic functionality of the controller in
# Steam and keyboard/mouse emulation
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", MODE="0666"

# This rule is necessary for gamepad emulation; make sure you
# replace 'pgriffais' with the username of the user that runs Steam
KERNEL=="uinput", MODE="0660", GROUP="pgriffais", OPTIONS+="static_node=uinput"

授予控制器访问权限 /dev/uinput

  • 为了快速又脏 sudo chmod 666 /dev/uinput
  • 对于在重启sudo apt-get install python3-autopilot后仍然有效的解决方法:然后注销/登录或重启。这会将您添加到对拥有写权限的组中/dev/uinput。这将添加一些您可能不需要的软件包,但是一旦Steam软件包更新到来,您可以将其删除。

也可以看看:


1
我在15.10上并且有.rules文件。但是,KERNEL=="uinput", MODE=不包括第二行(...)。如果我想模拟游戏手柄,这是否也意味着我必须添加这一行?还是会自动添加?
约书亚2015年

“如果您拥有15.10及更高版本,则在启动Steam大图模式时,除了插入加密狗并配对控制器外,您无需执行任何操作。”我在Xubuntu 15.10上,插入了加密狗,启动了大图,并且我无法配对控制器。它在Windows上运行良好,并且在Linux上以有线方式插入时也可以运行,并且在我的SteamOS安装中也可以运行,但是对我而言,它不适用于Xubuntu 15.10。
亚伦·弗兰克

在更高版本的Ubuntu中安装蒸汽设备时,将完成这些步骤。但是,知道这是问题的根源后,促使我安装了Steam设备并在系统上重新安装了Steam本身,因为我的安装太旧了(很久以前可能是手动安装了Steam)
marcus

12

Ubuntu 16.10的说明

由于控制器无法立即使用,因此这是一个简单的解决方案:

sudo apt install steam-devices

重新启动后,它工作正常。


补充说明:从11月9日(我测试过)开始,您还需要Bata模式下的Steam,以便在Big Picture模式下对控制器进行下一次更新,
Svetlana Belkin

7

我有15.10,我的控制器无法正常工作。

我查看了上面提到的文件,并在分发提供的文件中看到一个错字。它有ATTRS{idVendor}两次。第二个应该是idProduct

回顾一下,这就是文件曾经说过的:

# Steam Controller device node write access, per lp:1498655
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idVendor}=="1102", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idVendor}=="1142", MODE="0666"
# Steam Controller udev write access, per lp:1498658
KERNEL=="uinput", SUBSYSTEM=="misc", TAG+="uaccess"

这就是应该说的(对我有用):

# Steam Controller device node write access, per lp:1498655
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="1102", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="1142", MODE="0666"
# Steam Controller udev write access, per lp:1498658
KERNEL=="uinput", SUBSYSTEM=="misc", TAG+="uaccess"

1
哪些文件[如上所述]?
奥利(Oli)

我懂了。 /lib/udev/rules.d/99-steam-perms.rules现在在下面;)
奥利

5

正如豪尔赫·卡斯特罗所说。该解决方案效果很好。如果将GROUP更改为GROUP,users它将覆盖系统上的所有用户帐户。这样,如果您的安装使用其他帐户,则不必继续更改文件。


4

我刚得到我的Steam Controller,将其插入到Ubuntu 15.10 x64系统中,它根本无法工作。但是,我注意到这里没有提到与我不同的东西。

lsusb在终端输入,发现了这一点:

Bus 001 Device 011: ID 28de:1042

我注意到默认udev规则中列出的idProduct为“ 1102”或“ 1142”。因此,我/lib/udev/rules.d/99-steam-perms.rules将以下行添加到(在其他类似行的下面):

SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="1042", MODE="0666"

然后,我拔下USB加密狗,将其插入即可使用!然后它立即将固件更新(在Steam中)更新为“ 1142”,因此,从技术上讲,我不再需要添加的线。我希望这可以帮助其他人。


2

也无法让我的控制器工作。Ubuntu 16.04。我按照Insperatus的建议将文本放在文件中,但还是没有爱。

而是将文本放在中的文件中/etc/udev/rules.d

在终端输入: sudoedit /etc/udev/rules.d/99-steam-controller-perms.rules

然后从这个答案中粘贴:

# This rule is needed for basic functionality of the controller in Steam and keyboard/mouse emulation
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", MODE="0666"


KERNEL=="uinput", MODE="0660", GROUP="users", OPTIONS+="static_node=uinput"

# Valve HID devices over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="28de", MODE="0666"

# Valve HID devices over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*28DE:*", MODE="0666"

# DualShock 4 over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="05c4", MODE="0666"

# DualShock 4 wireless adapter over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ba0", MODE="0666"

# DualShock 4 Slim over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="09cc", MODE="0666"

# DualShock 4 over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*054C:05C4*", MODE="0666"

# DualShock 4 Slim over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*054C:09CC*", MODE="0666"

我使用了上面的文本块,并按照第一个答案中的建议命名了文件: 99-steam-controller-perms.rules

控制器现在可以工作了。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.