mercredi 15 juin 2011

sixaxis bluetouth sur unbuntu

http://www.ps3gen.fr/tuto-utiliser-sixaxis-sous-linux-article-5442-0.html


1. Installation des outils nécessaires à la prise en charge du sixaxis en tant que joystick 

Tapez : 

 sudo apt-get install joystick jscalibrator 
Si vous n'avez pas de périphérique bluetooth (clé ou périphérique intégré), aller directement au 5ème point. 

2. Installation du bluetooth et d'un utilitaire bluetooth 

L'utilitaire va nous servir à observer les communications entre le sixaxis et l'ordinateur. Pour l'installer, tapez : 

sudo apt-get install bluetooth bluez-hcidump bluez-gnome bluez-utils 


Lorsque le programme vous demande si vous souhaiter continuer, répondez oui. 

3. Compilation du programme sixpair.c 

Ce programme va faire communiquer le sixaxis avec votre périphérique bluetooth (clé ou bluetooth intégré). Pour installer les fichiers dont le programme sixpair a besoin : 

sudo apt-get install libusb-0.1-4 libusb-dev 


Connectez le sixaxis à votre ordinateur avec un câble usb et tapez : 

dmesg 


et voici ce qu'il devrait y avoir dans la fenêtre du terminal : 

[ 1353.124000] input: Sony PLAYSTATION(R)3 Controller as /class/input/input7 
[ 1353.140000] input: USB HID v1.11 Joystick [Sony PLAYSTATION(R)3 Controller] on usb-0000:00:1d.0-1 


Téléchargez sixpair.c : 

 wget http://www.pabr.org/sixlinux/sixpair.c 

et tapez : 

 gcc -o sixpair sixpair.c -L/usr/lib -lusb 

Pour vérifier que sixpair.c a bien été compilé, faites : 

ls -l 


vous devriez voir : 

-rwxr-xr-x 1 ubuntu ubuntu    10419 2007-10-18 sixpair 


Maintenant, on va lancer sixpair : 

sudo ./sixpair  


Vous devriez voir apparaître quelque chose comme : 
 Current Bluetooth master: 00:00:00:00:00:02 
Setting master bd_addr to 00:1b:63:4f:6a:be


Déconnectez le câble usb.


4. Reconnaissance bluetooth 

Maintenant, on a besoin d'arrêter le service bluetooth pour le lancer à la main afin d'observer ce qui se passe : 

sudo /etc/init.d/bluetooth stop 

puis : 

sudo hidd --server --nocheck -n 

Notez que le –nocheck est seulement nécessaire à la première connexion. Si jamais vous avez l’erreur suivante: 

Can’t listen on HID control channel: Address already in use 

retapez la commande : 

sudo /etc/init.d/bluetooth stop 

Et si vous avez encore l’erreur, tapez : 

sudo killall hcid 

S'il n'y a pas eu d'erreur, vous devriez voir que le démon est bien lancé : 

hidd[6079]: Bluetooth HID daemon 

Dans un autre terminal, tapez : 

sudo hcidump -t -V -x 

pour observer les communications entre le sixaxis et votre ordinateur. 

Appuyez sur le bouton PS du sixaxis. Voici ce qui devrait apparaître dans le 1er terminal : 

hidd[6037]: New HID device 00:19:XX:XX:XX:XX (Sony Computer Entertainment Wireless Controller) 

et dans le 2ème : 

HCI sniffer - Bluetooth packet analyzer ver 1.39 
device: hci0 snap_len: 1028 filter: 0xffffffff 
2007-10-29 09:58:51.522109 > ACL data: handle 1 flags 0×02 dlen 17 
L2CAP(d): cid 0×0041 len 13 [psm 0] 
A1 01 00 00 00 00 00 84 88 73 7F 00 00 
2007-10-29 09:58:51.534117 > ACL data: handle 1 flags 0×02 dlen 17 
L2CAP(d): cid 0×0041 len 13 [psm 0] 
A1 01 00 00 00 00 00 84 88 73 7F 00 00 
2007-10-29 09:58:51.545124 > ACL data: handle 1 flags 0×02 dlen 17 
L2CAP(d): cid 0×0041 len 13 [psm 0] 
A1 01 00 00 00 00 00 84 88 73 7F 00 00 
... 

Si vous appuyez sur les différents boutons du sixaxis, vous verrez les valeurs affichées changer. 

Faites un CTRL-C dans les deux fenêtres terminal. Il faut maintenant redémarrer le service bluetooth : 

sudo /etc/init.d/bluetooth start 
Si l'icône :
n'apparaît pas dans votre tableau de bord (barre contenant les menus Applications, Système et l'heure), ajoutez-la en faisant un clic droit sur le tableau de bord, cliquez sur "Ajouter au tableau de bord...", puis cliquez sur le bouton "Lanceur d'applications". "Dépliez" le menu Préférences en cliquant sur le triangle, puis sélectionner Préférences Bluetooth. 



Normalement, vous devriez avoir cette fenêtre qui apparaît lorsque le bluetooth est activé et que vous avez appuyé sur le bouton PS : 


Cliquez dessus et vous aurez la fenêtre suivante : 

Cochez la case "Always grant access" ou "toujours autoriser", selon la langue de votre OS, puis validez en cliquant sur Yes. Vous devez avoir la fenêtre suivante si vous faites un clic droit puis préférences sur l'icône bluetooth et sélectionnez input : 



5. Tests en tant que joystick et calibration 

Testez la reconnaissance du sixaxis en tant que joystick : 

jstest /dev/input/js0 

Si vous voyez quelque chose comme : 

Driver version is 2.1.0. 
Joystick (Sony Computer Entertainment Wireless Controller) has 28 axes (X, Y, Z, Rz, (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null)) 
and 19 buttons (Trigger, ThumbBtn, ThumbBtn2, TopBtn, TopBtn2, PinkieBtn, BaseBtn, BaseBtn2, BaseBtn3, BaseBtn4, BaseBtn5, BaseBtn6, BtnDead, BtnA, BtnB, BtnC, BtnX, BtnY, BtnZ). 
Testing ... (interrupt to exit) 
Axes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0  8:     0  9:     0 10:     0 11:     0 12:     0 13:     0 14:     0 15:     0 16:     0 17:     0 18:     0 19:     0 20:     0 21:     0 22:     0 23:     0 24:     0 25:     0 26:     0 27:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off 

C’est bon. Vous pouvez passer à la calibration : 

sudo jscalibrator


Après avoir cliqué sur le bouton Calibrate, appuyez sur le bouton PS du sixaxis pour qu'il soit bien détecté, puis procédez à la calibration. 


6. Reconnaissance du sixaxis par la PS3 

Aucun commentaire:

Enregistrer un commentaire