WiiGuitar sur Frets on Fire

Ou comment faire fonctionner sa WiiGuitar sous Linux sur le jeu Frets on Fire !guitarhero.jpg

Je me suis fait un petit plaisir pour Noël : l'achat du jeu Guitar Hero 3 sur Wii accompagné de la guitare qui va bien.

Rien à dire, c'est un excellent jeu, et avec la guitare c'est le pied intégral...

Etant un fan de l'équivalent libre de Guitar Hero, à savoir Frets on Fire, je me suis posé la question s'il n'était pas possible de faire fonctionner cette guitare sous Linux et plus précisément sur Frets on fire.

La réponse est OUI ! C'est possible ! Et plus simplement que je ne le pensais. Voici le topo :

Tout d'abord, il faut savoir que la wiimote fonctionne en bluetooth. Il faut donc avoir sur votre PC un adaptateur bluetooth intégré (le cas des laptops) ou une petite clé usb bluetooth. Le PC doit être équipé de Linux et si possible sous Debian lenny ou sid ou encore sous Ubuntu Gutsy car les paquets pour contrôler la wiimote sont déjà packagés. Sinon il faudra compiler la librairie et les outils par ses propres moyens.

La librairie permettant de contrôler la Wiimote se nomme cwiid. Elle offre tous les outils nécessaires afin d'interfacer la wiimote à son PC.

Commençons donc le tutorial :)

Tout d'abord, ajoutons une règle udev afin de pouvoir utiliser le device uinput en utilisateur :

# vim /etc/udev/rules.d/020_permissions.rules

Et ajoutez la ligne :

KERNEL=="uinput", MODE="0666"

Ensuite chargeons le module uinput :

# modprobe uinput

Installons les paquets nécessaires :

# aptitude install libcwiid1 lswm python-cwiid wminput bluez-utils

Munissez vous de votre wiimote et appuyez sur le bouton 1 et 2 simultanément pour la passer en mode association. Pas besoin de maintenir les boutons enfoncés. Avec la wiimote en train de clignoter, nous allons lancer une détection des périphériques bluetooth pour voir si notre wiimote est détectée. L'affichage devrait donner quelque chose de ce genre :

$ hcitool scan
Scanning ...
        00:19:1D:6A:49:0A       Nintendo RVL-CNT-01

Si la wiimote n'est pas détectée, pas besoin de continuer ce tutorial, vous avez un souci de bluetooth :(

Il faut ensuite créer un fichier de mappings pour wminput. Cet utilitaire va permettre d'associer la wiimote au PC et de mapper des touches de clavier.

# vim /etc/cwiid/wminput/wiiguitar

Et y coller les lignes suivantes :

# Profil wiiguitar
Classic.A = KEY_F1
Classic.B = KEY_F2
Classic.X = KEY_F3
Classic.Y = KEY_F4
Classic.ZL = KEY_F5
Classic.Down = KEY_ENTER
Classic.Up = KEY_ENTER
Classic.Dpad.X = ABS_X
Classic.Dpad.Y = ABS_Y
Classic.LStick.X = ABS_HAT0X
Classic.LStick.Y = ABS_HAT0Y
Classic.RStick.X = ABS_HAT1X
Classic.RStick.Y = ABS_HAT1Y
Classic.Minus = BTN_SELECT
Classic.Plus = BTN_START
Classic.Home = BTN_MODE
Classic.L = BTN_TL
Classic.R = BTN_TR
Classic.ZR = BTN_TR2

On y est presque ! Plus qu'à lancer wminput avec les bonnes options. Adaptez bien évidemment la ligne de commande avec l'adresse MAC de votre wiimote.

$ wminput -c /etc/cwiid/wminput/wiiguitar 00:19:1D:6A:49:0A

Appuyez vite sur le bouton 1 et 2 de votre wiimote comme wminput vous l'indique. Si vous voyez un "Ready." s'afficher, vous êtes prêts à rocker sur frets on fire ! Laissez impérativement le terminal ouvert. Démarrez ensuite frets on fire, et testez ! J'ai laissé les touches par défaut de frets on fire et fait le mapping en conséquence, ne changez donc pas les paramètres du jeu.

Frets on fire avec une vraie guitare et pas un clavier, c'est vraiment beaucoup mieux ! En moyenne j'augmente mes scores de 25% avec la guitare.

Sur ce, bon rock ! :)

Commentaires

1. Le par Cisco

ha ben c'est vrai qu'il était bien calme ce blog.... ;)

2. Le par saVTRonic

Merci pour le profil wiiguitar :)

3. Le par Gizmhail

Merci beaucoup pour l'astuce, ça marche impec' (Ubuntu 7.10) !

4. Le par myckeul

Merci hacky pour ce tuto, ca marche d'enfer !!!

5. Le par Samahell

Après bien des déconvenues à avoir tenté de suivre les tutos des autres sites j'ai enfin pu faire marcher FON avec ma Wiitar, merci beaucoup!

6. Le par hsaturn

Yaah !!! Merci beaucoup !

Je suis sous Frugalware et cette deuxième partie me manquait (après avoir difficilement réussi à installer cette **$$ de clé bluetooth et cie (libs etc...)).

A moi les milliards de morceaux de FretsOnFire ... avec la guitare de la wiiiiii.

7. Le par cetornan

Bien le bonjour !

Je sais bien que ce billet date un peu, mais je suis à la recherche du script/profile pour Guitar Hero Worl Tour...

Il est différent de celui pour GH3, puisque la guitare l'est aussi.
J'ai cherché rapidement un peu partout, mais pas de trace, et wmgui ne m'aide pas à visualiser les boutons de la guitares...

Une idée ? Ou mieux, une solution (soyons fous ;) ?

8. Le par hacky

Salut cetornan.
Je n'ai pas ce modèle de WiiGuitar, donc je n'ai pas pu tester de l'interfacer avec wminput.
Si tu ne visualises pas l'action des nouveaux boutons via wmgui, j'ai bien peur que cette guitare ne récupère pas les boutons classiques d'un nunchuk... donc...

Limite, essaye de voir avec les devs de la libcwiid et explique leur le souci, ils arriveront peut être à récupérer les adresses de ces nouvelles touches :)

9. Le par cetornan

Bonsoir,

Juste pour info, il semble que ca avance pour faire fonctionner la guitare de World Tour.

http://abstrakraft.org/cwiid/discus...

Je n'ai pas encore creusé (manque de temps) mais je laisserai un commentaire une fois que tout sera fonctionnel.

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

La discussion continue ailleurs