几天前我借了一台 DualShock 4 V1,检查一切正常后,我决定买一台,所以我买了一台 V2。我发现除了振动之外,一切都很好。它仍然不受支持还是我做错了什么?我运行的是 4.8.0-2 内核。我的 udev 规则来自蒸汽。 谢谢!。
答案1
好吧,我终于让它工作了:
- 你的内核必须>=4.10
- 禁用 steam 对 DS 的支持。
- Udev 规则(来自 steam 的规则):
sudo gedit /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="YOUR_USERNAME", 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"
触发 UDEV 规则的刷新:
sudo udevadm control --reload-rules
sudo udevadm trigger
如果映射混乱,您可能需要正确的映射,为此需要控制器映射:
sudo apt-get 安装 build-essential xorg-dev libudev-dev libgl1-mesa-dev libglu1-mesa-dev libasound2-dev libpulse-dev libopenal-dev libogg-dev libvorbis-dev libaudiofile-dev libpng12-dev libfreetype6-dev libusb-dev libdbus-1-dev zlib1g-dev libdirectfb-dev
下载 sdl 2.0.2(在 ubuntu 17.04 上运行):
cd
cd Downloads
wget https://libsdl.org/release/SDL2-2.0.2.zip
unzip SDL2-2.0.2.zip
cd SDL2-2.0.2
./configure
make
sudo make install
cd test
./configure
make
./controllermap
按照屏幕上的说明进行操作,如果输入错误,请使用退格键。
然后你应该得到类似这样的结果:
050000004c050000cc09000000810000,Wireless Controller,platform:Linux,x:b3,a:b0,b:b1,y:b2,back:b8,guide:b10,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b6,rightshoulder:b5,righttrigger:a5,leftstick:b7,leftstick:b11,rightstick:b12,leftx:a0,lefty:a1,rightx:a3,righty:a4,
让我们将其用于赛车运动网格,例如:
gedit ~/.steam/steam/steamapps/common/GRID Autosport/share/controllermapping.txt
在最后添加来自 controllermap 的结果。
完毕。
我必须在其他游戏上测试它。到目前为止,在 grid autosport 上运行良好。