Cette page concerne l'utilisation des manettes PSX basiques, Dualshock 1 et 2, Sixaxis & Dualshock 3 pour PlayStation 3 et Dualshock 4 pour PlayStation 4 sur Ubuntu.
La manette dualshock est sortie pour la PS1 (PSX), la dualshock 2 pour la PS2.
Il vous faut un adaptateur USB, la plupart font PS1&2 et proposent deux entrées. (J'ai testé le plus bas prix de 2012 et ça fonctionne très bien). C'est tout, ensuite les pads sont reconnus nativement.
Testez votre jeu sans autre configuration, dans beaucoup de cas il n'y a rien à faire.
Si la configuration n'est pas bonne, vérifiez si le jeu propose une reconfiguration ou pas. Si oui c'est la méthode à préférer. Si ce n'est toujours pas bon, voir ci dessous.
Si vous avez envie d’utiliser votre pad pour "ce que vous voulez", ou si la configuration de votre jeu ou de votre émulateur ne conviens pas, on peut tester des outils de configuration. Attention pour certains jeux (comme The last tinker), il est impossible de configurer par un logiciel externe, le jeux reprends toujours la main et impose sa configuration. Il faut alors faire avec, ou carrément éditer le programme du jeu lui même! (ou simplement ses fichiers de configuration).
Utilisez qjoypad.
Utilisez antimicro. Vous pouvez alors commencer par essayer de faire passer votre dualshock pour une manette générique (type xbox). Lancez Antimicro, et cliquez sur "controller mapping": le programme va vous demander quel bouton choisir pour correspondre à une manette générique. (Attention toujours au bouton "analog"!!)
Si cela ne suffit toujours pas, il faut noter ce qui apparaît dans la fenêtre en bas, qui est l’appellation SDL des boutons et stick de votre pad. Par exemple, pour ma dualshock générique PSX sous ubuntu16.04, cela me donne:
03000000100800000100000010010000,Twin USB Joystick,platform:Linux,a:b2,b:b1,x:b3,y:b0,back:b8,start:b9,leftshoulder:b6,rightshoulder:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a2,lefttrigger:b4,righttrigger:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,
Ce qui nous intéresse, c'est ce qu'il y a après "Twin USB Joystick,platform:Linux": a:b2 par exemple nous dit que le bouton correspondant au A pour une manette générique (donc pour un jeu) s'appelle "bouton 2" pour la librairie SDL, soit "b2" ou même "2". C'est ce dernier chiffre qu'il faut utiliser lorsqu'on édite un fichier de configuration pour paramétrer notre pad, par exemple dans un émulateur, en mettant "button (2)". En résumé, dans mon cas cela donne:
Les manettes Dualshock 3 (et 4?) sont prises en charge directement par le noyau Linux et il n’est donc pas nécessaire d’installer quoi que ce soit. Pour vérifier vous pouvez taper dans un terminal lsusb, exemple:
:~$ lsusb Bus 002 Device 006: ID 054c:0268 Sony Corp. Batoh Device / PlayStation 3 Controller
Branchez la manette avec le câble fourni. C’est tout.
L’utilisation en Bluetooth va associer la manette avec votre PC. Cela évitera d’allumer la console lorsque vous débranchez le câble, par contre il faudra la ré-associer à la console (avec le câble) si vous voulez à nouveau l’utiliser avec celle-ci.
Lors des prochaines connexions, appuyez simplement sur le logo PlayStation pour connecter la manette.
Il existe deux méthodes pour éteindre une manette :
Vous devriez alors voir les états de chaque touches et joysticks s'afficher dans le terminal. Vous pouvez utiliser l'option --silent pour les masquer.
Vous pouvez utiliser une manette supplémentaire en utilisant le paramètre -i suivi de l'identifiant de la manette que vous souhaitez utiliser (la première étant 0, la deuxième 1, la troisième 2 et ainsi de suite).
Vous pouvez bien entendu ajouter le paramètre --silent pour masquer les entrées des manettes.
Un driver pour la Dualshock 4 a été développé par la communauté. Ce driver supporte plusieurs manettes, le changement de couleur de la LED (en USB uniquement), l'utilisation du touchpad comme une souris et ne supporte pas encore les vibrations.
sudo pip3 install ds4drv
sudo wget -O /etc/udev/rules.d/50-ds4drv.rules https://raw.githubusercontent.com/chrippa/ds4drv/master/udev/50-ds4drv.rules
sudo udevadm control --reload-rules sudo udevadm trigger
ds4drv --hidraw --emulate-xboxdrv
Vous pouvez changer la couleur de la barre lumineuse de votre Dualshock 4 avec le paramètre --led, suivi du code hexadécimal de la couleur voulue :
ds4drv --emulate-xboxdrv --led ff0000
Par exemple, ff0000 l'allumera en rouge, 00ff00 en vert, 0000ff en bleu, ffffff en blanc et 000000 l'éteindra.
Il se peut que vous souhaitiez jouer à plusieurs sur le même PC. Pour appairer plusieurs manettes, il suffit d'utiliser le paramètre --next-controller suivi des paramètres de la manette supplémentaire.
Par exemple, pour utiliser deux manettes :
Le paramètre --led est optionnel, mais cela permet de distinguer les manettes, ce qui peut s'avérer pratique.
Il se peut que vous rencontriez l'erreur suivante en voulant utiliser une Dualshock 4 en Bluetooth :
[info][bluetooth] Scanning for devices [info][bluetooth] Found device XX:XX:XX:XX:XX:XX [error][bluetooth] Unable to connect to detected device: Failed to set operational mode: [Errno 107] Transport endpoint is not connected
Pour régler ce souci, arrêtez le programme en appuyant sur Ctrl + C, ouvrez les paramètres Bluetooth et supprimez les entrées nommées "Wireless Controller".
Ceci devrait régler le problème et vous pouvez essayer à nouveau d'utiliser votre ou vos manettes.
Contribution : BlackEco