WiiGuitar sur Frets on Fire
Par hacky le samedi, décembre 8 2007, 19:28 - Geek-attitude - Lien permanent
Ou comment faire fonctionner sa WiiGuitar sous Linux sur le jeu Frets on Fire !
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
ha ben c'est vrai qu'il était bien calme ce blog....
Merci pour le profil wiiguitar
Merci beaucoup pour l'astuce, ça marche impec' (Ubuntu 7.10) !
Merci hacky pour ce tuto, ca marche d'enfer !!!
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!
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.
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
?
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
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.