Contenu | Rechercher | Menus

Dualshock : utiliser sa manette de PlayStation 3 ou 4 sur Ubuntu

Cette page concerne l'utilisation des manettes Sixaxis et Dualshock 3 pour PlayStation 3 et Dualshock 4 pour PlayStation 4 sur Ubuntu.

De nombreux jeux ne peuvent être joués qu'à la manette de Xbox 360 (notamment ceux disponible sur Steam), ainsi les guides ci-dessous se concentrent sur l'utilisation de la Dualshock/Sixaxis comme une manette de Xbox 360.

Sixaxis et Dualshock 3

Son fonctionnement a été testé sur Ubuntu 12.10 et supérieurs.

Utilisation en USB

  1. Branchez la manette en USB
  2. Appuyez sur le bouton PlayStation de celle-ci
  3. Ouvrez un terminal et rentrez la commande :
    sudo xboxdrv --detach-kernel-driver

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.

Utilisation de plusieurs manettes

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).

  1. Activez la première manette comme décrit ci-dessus
  2. Branchez la seconde manette
  3. Ouvrez un nouveau terminal et entrez la commande suivante :
    sudo xboxdrv --detach-kernel-drive -i 1
  4. Répétez les étapes 2 et 3 autant de fois qu'il y a de de manettes à utiliser, en prenant bien soin de modifier l'identifiant.

Vous pouvez bien entendu ajouter le paramètre --silent pour masquer les entrées des manettes.

Théoriquement il est possible de connecter autant de manettes que supporté par un jeu. Cependant n'avons testé qu'avec deux manettes.

Manettes ne fonctionnant par sous Ubuntu 14.04 LTS

Le noyau Linux 3.13.0 d'Ubuntu 14.04 LTS rend les manettes de PlayStation 3 inutilisables en USB. Mettre à jour vers le noyau 3.13.11 ou supérieur règle le problème :

  1. Téléchargez les trois paquets suivants (si possible dans un dossier créé pour l'occasion) :
    • linux-headers-<version>_<version>_all.deb
    • linux-headers-<version>-generic_<version>_<votre_architecture>.deb
    • linux-image-<version>-generic_<version>_<votre_architecture>.deb
      • Si votre système est 64bit, <votre_architecture> est amd64. Si votre système est 32bit, <votre_architecture> est i386.
  2. Ouvrez un terminal et rendez-vous dans le dossier où vous avez téléchargé les trois fichiers précédents.
  3. Entrez la commande suivante :
    sudo dpkg -i linux*.deb

Une fois la dernière commande terminée, redémarrez votre ordinateur et vos manettes fonctionneront à nouveau.

Basé sur http://askubuntu.com/questions/473656/emulating-xbox-360-controller-using-xboxdrv-not-working-for-dualshock-controller

Utilisation en Bluetooth

Pour le moment aucune méthode simple d'utilisation ne permet l'utilisation des Sixaxis et Dualshock 3 en Bluetooth tout en émulant une manette de Xbox 360.

Dualshock 4

Un driver pour la Dualshock 4 est en cours de développement par la communauté. Ce driver supporte actuellement 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.

Son fonctionnement n'a été testé que sur Ubuntu 13.10 et 14.04 LTS avec la clé Bluetooth ASUS USB-BT211.

Pré-requis

  1. Python 2.7 ou 3.3 et supérieurs

Installation

  1. Installez les paquets python-pip, python-pyudev et python-evdev puis depuis un terminal en entrant les commandes suivantes :
  2. Installez ds4drv avec pip :
    sudo pip install ds4drv
  3. Téléchargez ce fichier de règles udev :
    sudo wget -O /etc/udev/rules.d/50-ds4drv.rules https://raw.githubusercontent.com/chrippa/ds4drv/master/udev/50-ds4drv.rules
  4. Rechargez les règles udev :
    sudo udevadm control --reload-rules
    sudo udevadm trigger

Utilisation en USB

  1. Branchez votre Dualshock 4 en USB
  2. Entrez dans un terminal la commande suivante :
    ds4drv --hidraw --emulate-xboxdrv

Utilisation en Bluetooth

Les cartes et clés Bluetooth 2.0 posent problème, préférez l'utilisation d'un équipement compatible Bluetooth 2.1 ou supérieur.

  1. Connectez ou activez votre équipement Bluetooth
  2. Maintenez les boutons PlayStation et Share de votre Dualshock 4 appuyés jusqu'à ce que la LED clignote rapidement en blanc
  3. Entrez dans un terminal la commande suivante :
    ds4drv --emulate-xboxdrv

Si jamais cela ne venait pas à fonctionner, connectez votre Dualshock 4 en USB (tout en gardant l'équipement Bluetooth activé) et depuis un terminal, utilisez la commande suivante :

ds4drv --hidraw --emulate-xboxdrv

Il se peut que votre Dualshock 4 ne s'éteigne pas après avoir été débranchée. Dans ce cas, appuyez sur le bouton PlayStation jusqu'à ce que la LED s'éteigne.

Changer la couleur de la barre lumineuse

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.

Connecter plusieurs manettes

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 :

  1. Connectez ou activez votre équipement Bluetooth
  2. Maintenez les boutons PlayStation et Share de vos Dualshock 4 appuyés jusqu'à ce que les LED clignotent rapidement en blanc
  3. Entrez dans un terminal la commande suivante :
    ds4drv --emulate-xboxdrv --led ff0000 --next-controller --emulate-xboxdrv --led 00ff00

Le paramètre --led est optionnel, mais cela permet de distinguer les manettes, ce qui peut s'avérer pratique.

Théoriquement il est possible de connecter autant de manettes que supporté par un jeu. Cependant n'avons testé qu'avec deux manettes.

Erreur Transport endpoint is not connected

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 soucis, arrêtez le programme en appuyant sur Ctrl + Z 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



Le contenu de ce wiki est sous licence : CC BY-SA v3.0