Bem, finalmente consegui trabalhar:
- Você DEVE ter o kernel > = 4.10
- Desativar o suporte do Steam para o DS.
- Regras do Udev (as do 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"
Acione uma atualização das regras do UDEV:
sudo udevadm control --reload-rules
sudo udevadm trigger
-
Se o mapeamento estiver confuso, você provavelmente precisará do mapeamento correto, o mapeamento do controlador é necessário para essa finalidade:
sudo apt-get instale 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
faça o download do sdl 2.0.2 (woking on 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
siga as instruções na tela, use a tecla de retrocesso se você atrapalhar uma entrada.
Então você deve conseguir algo como:
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,
Vamos usar isso para o autosport da grade, por exemplo:
gedit ~/.steam/steam/steamapps/common/GRID Autosport/share/controllermapping.txt
adicione o resultado do mapa do controlador no final.
Feito.
Eu tenho que testá-lo em outros jogos. Trabalhando bem no autosport da grade até o momento.