Merci de noter le fonctionnement de l'émulateur dans une machine non-virtuelle (vmware, virtualbox) n'est pas supporté (aucune aide ne sera donnée).
Introduction
Ce tutoriel explique comment contrôler une PS3 avec des périphériques PC (clavier, souris, joystick) connectés à un PC sous Linux, en utilisant un dongle bluetooth.
Cela est possible grâce au travail préliminaire de Jim Paris.
J'ai appliqué de nombreuses modifications à son code source, développé des interfaces pour faciliter le lancement et la configuration, et simplifié l'installation pour les distributions Linux à base de debian telles que Ubuntu.
Pour voir le sixaxis emulator en fonctionnement, voir la section dédiée aux vidéos.
Pré-requis
- ubuntu 11.10 (ou toute autre distribution Linux si vous êtes à l'aise avec Linux)
- une manette sixaxis déjà utilisée avec la PS3 à utiliser
- un dongle bluetooth avec une puce dont la bdaddr (bluetooth device address) peut être changée. Pour découvrir si votre dongle marche, essayez simplement d'exécuter ce tutoriel.
Utilisez ceci à vos risques et périls. Je ne suis pas responsable des dégâts que vous pourriez causer à votre PC ou à votre PS3.
Les dongles CSR Bluecore4 trouvables sur ebay pour quelques euros sont rapportés comme utilisables. Bluecore4 est la première puce CSR implémentant l'EDR (Enhanced Data Rate), donc les mots clefs pour trouver ces dongles sont CSR et EDR. Attention : la plupart de ces dongles ne fonctionnent pas car ce sont des contrefaçons. Je ne suis pas responsable de l'achat d'un dongle incompatible.
Ne pas essayer d'utiliser le Sixaxis emulator et la manette sixaxis en même temps. Rétablir la bdaddr du dongle si elle n'est plus utilisée pour le Sixaxis emulator.
Ce tutoriel a été écrit en utilisant ubuntu depuis le live cd (rien n'est modifié sur le disque dur).
Installez ubuntu sur votre PC si vous le souhaitez ! Si vous avez un OS Windows déjà installé, vous pouvez lire ce tutoriel si vous voulez installer ubuntu sur votre disque dur sans supprimer l'OS Windows.
L'émulateur peut aussi être exécuté à partir d'un Ubuntu en Live USB persistent (lire ce thread).
1 Installation
Ajouter"universe" aux dépôts:
- Cliquer sur Système>Administration>Gestionnaire de paquets Synaptic.
- Cliquer sur Configuration>Dépôts.
- Sélectionner universe, et fermer.
- Cliquer sur recharger, et fermer.
2 Démarrage rapide
Brancher le sixaxis (et le dongle bluetooth, si externe) au PC.
Lancer sixemugui (raccourci: Applications>Jeu>Sixemugui).
- 1. Sélectionner le sixaxis
2. Sélectionner le dongle bluetooth
3. Cliquer sur "Set Dongle Address" (ne pas oublier de sauver l'ancienne adresse)
4. Re-sélectionner le sixaxis et le dongle bluetooth
5. Débrancher le sixaxis et s'il ne s'éteint pas de lui-même, appuyer sur le bouton PS3 jusqu'à ce qu'il s'éteigne
6. Sélectionner les paramètres d'emuclient
7. Sélectionner le fichier de configuration à utiliser
8. Démarrer emu (emuclient démarre automatiquement si la connexion est établie)
9. Jouer (appuyer sur Echap pour quitter emuclient)
10. Arrêter emu.
3 Configurer les contrôles souris, claviers et joysticks
Il est recommandé de changer les contrôles et de calibrer la souris pour chaque jeu.
Les fichiers de configuration doivent être sauvegardés dans le répertoire ~/.emuclient/config directory (~ est le répertoire de l'utilisateur).
Lancer sixemuconf (raccourci: Applications>Jeu>Sixemuconf).
Captures d'écran de ma configuration pour COD: Black Ops:
Il est possible de définir une configuration de visée : copier-coller la configuration #1 sur la configuration #2, définir le bouton droit de la souris comme "trigger" avec "switch back" pour la configuration #2, et ajuster les "multipliers" & "exponents".
Outils du menu "Edit" permettant de convertir une configuration :
L'outil "Replace Mouse" permet de changer le nom et l'id de la souris.
L'outil "Replace Keyboard" permet de changer le nom et l'id du clavier.
L'outil "Replace Mouse DPI" permet d'ajuster les multipliers en fonction des ancien/nouveau réglages dpi de la souris (la plus haute valeur est la meilleure).
Contrôle de l'intensité du stick pour les mappings de bouton à stick :
4 Calibration de la souris
Avant de calibrer la souris, s'assurer que la sensibilité est réglée au maximum dans le jeu, et régler la sensibilité de la souris au maximum (max dpi).
Pour démarrer emuclient avec le mode de calibration de la souris activé, sélectionner Mouse>Calibrate dans l'application sixemugui. Ensuite, démarrer emuclient.
Les valeurs courantes de calibration apparaissent dans la partie "Mouse calibration".
Ce mode de calibration permet de configurer chaque souris indépendamment. Les valeurs sont lues à partir de la configuration chargée. Pour modifier les valeurs, utiliser les combinaisons ctrl droit + FX, et utiliser la molette de la souris.
La zone morte doit être fixée à la plus haute position stable.
Des valeurs différentes pour x & y n'ont de sens que pour une dead zone "rectangle".
La "dead zone shape" doit être fixée à celle qui est la plus stable.
5 Macros clavier
Il est possible d'exécuter des macros de clavier.
Un appui sur une touche peut générer une série d'événements, avec certains délais.
Les commandes sont les suivantes :
- key down (touche enfoncée)
- key up (touche relâchée)
- key press (key down + délai + key up)
- delay (délai, unité = ms)
Chaque macro doit être définie dans un fichier.
Exemple: macro_example.txt
Code: Select all
#Defines the action that triggers the macro execution
MACRO F1
#Performs a keystroke (key down + delay 50ms + key up)
KEY e
#Sleep 50ms
DELAY 50
#Perform a key down
KEYDOWN SPACE
#Sleep 50ms (minimum delay between KEYDOWN and KEYUP)
DELAY 50
#Perform a key up
KEYUP SPACE
Chaque fichier définissant une macro doit être référencé dans le ficher macros.txt.
Toutes les touches du clavier peuvent générer une macro. La liste complète peut être obtenue dans le fichier conversion.c.
6 Résolution des problèmes / Feedbacks
Je partage mon projet gracieusement, merci de bien vouloir me donner un feedback si vous le testez.
Dites-moi si cela fonctionne ou non, et ajoutez en particulier les détails suivants :
- la distribution Linux
- la version hardware de la PS3 (slim, fat 40Gb, fat 60Gb, ...)
- la version software de la PS3
- le dongle bluetooth (modèle exact + révision s'il y en a une + résultat de "hciconfig -a hci0" et "sudo hciconfig hci0 revision")
- le hardware du PC (au moins le CPU et la quantité de RAM)
Pour contribuer à ce projet, voir cette ce thread.
Lien paypal pour les dons: mat.lau@laposte.net