Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| wiimote [Le 15/11/2010, 21:22] – tintou | wiimote [Le 11/09/2022, 11:45] (Version actuelle) – Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) moths-art | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag>Hardy matériel bluetooth souris télécommande | + | {{tag>Xenial |
| ---- | ---- | ||
| Ligne 9: | Ligne 9: | ||
| - | + | <note aide>Si vous souhaitez juste utiliser votre Wiimote pour contrôler xbmc, une méthode plus simple est décrite dans la page [[:xbmc#piloter xbmc avec une wiimote]].</ | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | <note aide>Si vous souhaitez juste utiliser votre Wiimote pour contrôler xbmc, une méthode plus simple est décrite dans la page [[:xbmc#piloter_xbmc_avec_une_wiimote]]</ | + | |
| ===== Pré-requis ===== | ===== Pré-requis ===== | ||
| Ligne 23: | Ligne 17: | ||
| * Allumer une // | * Allumer une // | ||
| - | < | + | < |
| - | + | ||
| - | + | ||
| - | ===== Installation ===== | + | |
| - | + | ||
| - | <note help> | + | |
| - | </ | + | |
| - | [[: | ||
| - | ou | + | ===== Installation ===== |
| - | sudo apt-get install lswm wmgui wminput | + | |
| - | ==== Petit script qui automatise l' | + | [[:tutoriel:comment_installer_un_paquet|Installez |
| - | + | ||
| - | Depuis que j'ai découvert ce tutoriel, je me suis lancé dans la fabrication d'un petit script permettant l' | + | |
| - | <note important> | + | |
| - | Ce script nécessite d' | + | |
| - | + | ||
| - | Il nécessite aussi des droits d' | + | |
| - | + | ||
| - | Copiez ce code dans un fichier texte et rendez-le exécutable (Clic droit -> Propriétés -> Permissions -> Exécution | + | |
| - | < | + | |
| - | # | + | |
| - | #Script réalisé par KicheTof pour les utilisateurs de WiiMote. | + | |
| - | #Script libre de toute modification sans aucune demande nécessaire :) | + | |
| - | #Vive le libre :) | + | |
| - | function quit { | + | |
| - | if [ $? != " | + | |
| - | exit 1 | + | |
| - | fi | + | |
| - | [ $? -ne " | + | |
| - | } | + | |
| - | | + | |
| - | do | + | |
| - | echo -n " | + | |
| - | done | zenity --list \ | + | |
| - | --title " | + | |
| - | --text " | + | |
| - | --column " | + | |
| - | | + | |
| - | | + | |
| - | do | + | |
| - | CHOIX_ACTION=$(zenity --list --width " | + | |
| - | --title " | + | |
| - | --text " | + | |
| - | --radiolist \ | + | |
| - | --column " | + | |
| - | True Accéléromètre " | + | |
| - | False Infrarouge " | + | |
| - | False Nunchuk " | + | |
| - | quit; | + | |
| - | if [ $CHOIX_ACTION == " | + | |
| - | action=" | + | |
| - | elif [ $CHOIX_ACTION == " | + | |
| - | action=" | + | |
| - | elif [ $CHOIX_ACTION == " | + | |
| - | action=" | + | |
| - | fi | + | |
| - | done | + | |
| - | | + | |
| - | | + | |
| - | </ | + | |
| ===== Vérifier que tout fonctionne avec Wmgui ===== | ===== Vérifier que tout fonctionne avec Wmgui ===== | ||
| - | Nous allons maintenant vérifier que les capteurs de la Wiimote sont bien gérés par l'ordinateur | + | Lancez |
| - | Lancez Wmgui grâce au lanceur se trouvant dans Application|Accessoires | + | Si ça ne se lance pas, créer un lien symbolique |
| - | + | ||
| - | | + | |
| - | + | ||
| - | < | + | |
| - | sudo ln -s / | + | |
| - | </note> | + | |
| Allez dans //File -> Connect// pour vous connecter à la Wiimote. | Allez dans //File -> Connect// pour vous connecter à la Wiimote. | ||
| - | <note tip>Pour mettre la Wiimote en mode de synchronisation (ou mode visible), on presse simultanément les boutons 1 et 2. | + | <note tip>Pour mettre la Wiimote en mode de synchronisation (ou mode visible), on presse simultanément les boutons 1 et 2. |
| Dans certains cas, enlever le clapet des piles afin d' | Dans certains cas, enlever le clapet des piles afin d' | ||
| | | ||
| Ligne 109: | Ligne 41: | ||
| * //Settings -> IR data// | * //Settings -> IR data// | ||
| - | L' | + | L' |
| <note warning> | <note warning> | ||
| Ligne 116: | Ligne 48: | ||
| export WIIMOTE_BDADDR | export WIIMOTE_BDADDR | ||
| - | Pour éviter de saisir ces commandes à chaque fois que vous lancez votre session, il suffit de placer ces lignes dans votre fichier **~/ | + | Pour éviter de saisir ces commandes à chaque fois que vous lancez votre session, il suffit de placer ces lignes dans votre fichier **~/ |
| </ | </ | ||
| Ligne 123: | Ligne 55: | ||
| ===== Faire fonctionner la Wiimote grâce à wminput ===== | ===== Faire fonctionner la Wiimote grâce à wminput ===== | ||
| - | Tout d' | + | Tout d' |
| lswm | lswm | ||
| Ligne 129: | Ligne 61: | ||
| Ce petit programme va vous demander de mettre votre Wiimote en mode visible (appuyez sur 1 et 2 en même temps) et vous renvoie l' | Ce petit programme va vous demander de mettre votre Wiimote en mode visible (appuyez sur 1 et 2 en même temps) et vous renvoie l' | ||
| - | < | + | < |
| - | + | ||
| - | Mettez | + | |
| sudo hidd --search | sudo hidd --search | ||
| L' | L' | ||
| - | < | + | < |
| - | Dans certains cas, il est utile de charger un module pour faire fonctionner « wminput ». Un « lsmod » vous le dira. Dans le doute, tapez | + | Dans certains cas, il est utile de charger un module pour faire fonctionner « wminput ». Un « lsmod » vous le dira. Dans le doute, tapez la commande ci-dessous. |
| sudo modprobe uinput | sudo modprobe uinput | ||
| Ligne 147: | Ligne 77: | ||
| sudo wminput -c acc_ptr xx: | sudo wminput -c acc_ptr xx: | ||
| - | Cette commande permet d' | + | Cette commande permet d' |
| === Mode infrarouge === | === Mode infrarouge === | ||
| Ligne 153: | Ligne 83: | ||
| sudo wminput -c ir_ptr xx: | sudo wminput -c ir_ptr xx: | ||
| - | Cette commande permet d' | + | Cette commande permet d' |
| Sans doute la plus utile. Si ça ne fonctionne pas tout de suite, il faut redémarrer la machine. | Sans doute la plus utile. Si ça ne fonctionne pas tout de suite, il faut redémarrer la machine. | ||
| - | === Mode nunchuk === | + | === Mode nunchuk === |
| - | //(fonctionne | + | //(Fonctionne |
| sudo wminput -c nunchuk_acc_ptr xx: | sudo wminput -c nunchuk_acc_ptr xx: | ||
| Cette commande permet d' | Cette commande permet d' | ||
| - | < | + | < |
| sudo hidd --kill xx: | sudo hidd --kill xx: | ||
| </ | </ | ||
| - | < | + | < |
| / | / | ||
| - | Il est même possible de modifier/créer ses propres fichiers de configuration. | + | Il est même possible de modifier |
| </ | </ | ||
| ===== Pour aller plus loin ===== | ===== Pour aller plus loin ===== | ||
| - | |||
| ==== Configurations personnalisées / Mapping ==== | ==== Configurations personnalisées / Mapping ==== | ||
| Il est possible de personnaliser les actions de la Wiimote en assignant d' | Il est possible de personnaliser les actions de la Wiimote en assignant d' | ||
| Ligne 181: | Ligne 110: | ||
| Si on regarde le fichier / | Si on regarde le fichier / | ||
| - | On peut commencer sur la base de acc_ptr (ou ir_ptr si vous préférez l' | + | On peut commencer sur la base de acc_ptr (ou ir_ptr si vous préférez l' |
| sudo cp / | sudo cp / | ||
| - | si vous préférez l' | + | Si vous préférez l' |
| sudo cp / | sudo cp / | ||
| - | On peut ensuite éditer ce fichier (**Pensez à retirer la ligne " | + | On peut ensuite éditer ce fichier (**Pensez à retirer la ligne « include buttons » |
| - | Voici un exemple de fichier personnalisé: | + | Voici un exemple de fichier personnalisé. |
| < | < | ||
| Plugin.acc.X = REL_X | Plugin.acc.X = REL_X | ||
| Ligne 208: | Ligne 137: | ||
| </ | </ | ||
| - | Vous pouvez ensuite le tester avec la commande | + | Vous pouvez ensuite le tester avec la commande |
| sudo wminput -c ma_config XX: | sudo wminput -c ma_config XX: | ||
| - | La liste des boutons de la Wiimote est disponible à l' | + | La liste des boutons de la Wiimote est disponible à l' |
| - | La liste des touches gérées est disponible à l' | + | La liste des touches gérées est disponible à l' |
| ==== Tableau numérique interactif (TNI / whiteboard / TNWii) ==== | ==== Tableau numérique interactif (TNI / whiteboard / TNWii) ==== | ||
| Ligne 224: | Ligne 153: | ||
| Ou les sources par le svn : [[http:// | Ou les sources par le svn : [[http:// | ||
| - | Une autre version (qui devrait mieux fonctionner) existe également (GTKWhiteboard) : [[http:// | + | Une autre version (qui devrait mieux fonctionner) existe également (GTKWhiteboard) : [[https:// |
| Un tutoriel en français pour utiliser le tableau interactif Wiimote sous linux : | Un tutoriel en français pour utiliser le tableau interactif Wiimote sous linux : | ||
| http:// | http:// | ||
| + | ==== Démon et auto-connexion ==== | ||
| + | Il est lassant d' | ||
| + | |||
| + | * **N' | ||
| + | * Le propriétaire du démon doit disposer des permissions en lecture/ | ||
| + | * Copiez ensuite le script ci-dessous dans ''/ | ||
| + | < | ||
| + | #! /bin/sh | ||
| + | |||
| + | ### BEGIN INIT INFO | ||
| + | # Provides: | ||
| + | # Required-Start: | ||
| + | # Required-Stop: | ||
| + | # Default-Start: | ||
| + | # Default-Stop: | ||
| + | # Short-Description: | ||
| + | # Description: | ||
| + | ### END INIT INFO | ||
| + | |||
| + | # Author: LvR | ||
| + | |||
| + | # Do NOT "set -e" | ||
| + | |||
| + | # PATH should only include /usr/* if it runs after the mountnfs.sh script | ||
| + | PATH=/ | ||
| + | DESC=" | ||
| + | NAME=wminput | ||
| + | DAEMON=/ | ||
| + | DAEMON_ARGS=" | ||
| + | PIDFILE=/ | ||
| + | SCRIPTNAME=/ | ||
| + | |||
| + | # Exit if the package is not installed | ||
| + | [ -x " | ||
| + | |||
| + | # Read configuration variable file if it is present | ||
| + | [ -r / | ||
| + | |||
| + | # Load the VERBOSE setting and other rcS variables | ||
| + | . / | ||
| + | |||
| + | # Define LSB log_* functions. | ||
| + | # Depend on lsb-base (>= 3.0-6) to ensure that this file is present. | ||
| + | . / | ||
| + | |||
| + | # | ||
| + | # Function that starts the daemon/ | ||
| + | # | ||
| + | do_start() | ||
| + | { | ||
| + | # Be sure that uinput module is loaded | ||
| + | modprobe uinput | ||
| + | | ||
| + | # Add specific daemon args | ||
| + | [ -n " | ||
| + | [ -n " | ||
| + | [ -n " | ||
| + | | ||
| + | | ||
| + | # Return | ||
| + | # 0 if daemon has been started | ||
| + | # 1 if daemon was already running | ||
| + | # 2 if daemon could not be started | ||
| + | start-stop-daemon --start --quiet --background --make-pidfile --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \ | ||
| + | || return 1 | ||
| + | start-stop-daemon --start --quiet --background --make-pidfile --pidfile $PIDFILE --exec $DAEMON -- \ | ||
| + | $DAEMON_ARGS \ | ||
| + | || return 2 | ||
| + | # Add code here, if necessary, that waits for the process to be ready | ||
| + | # to handle requests from services started subsequently which depend | ||
| + | # on this one. As a last resort, sleep for some time. | ||
| + | } | ||
| + | |||
| + | # | ||
| + | # Function that stops the daemon/ | ||
| + | # | ||
| + | do_stop() | ||
| + | { | ||
| + | # Return | ||
| + | # 0 if daemon has been stopped | ||
| + | # 1 if daemon was already stopped | ||
| + | # 2 if daemon could not be stopped | ||
| + | # other if a failure occurred | ||
| + | start-stop-daemon --stop --quiet --retry=TERM/ | ||
| + | RETVAL=" | ||
| + | [ " | ||
| + | # Wait for children to finish too if this is a daemon that forks | ||
| + | # and if the daemon is only ever run from this initscript. | ||
| + | # If the above conditions are not satisfied then add some other code | ||
| + | # that waits for the process to drop all resources that could be | ||
| + | # needed by services started subsequently. | ||
| + | # sleep for some time. | ||
| + | start-stop-daemon --stop --quiet --oknodo --retry=0/ | ||
| + | [ " | ||
| + | # Many daemons don't delete their pidfiles when they exit. | ||
| + | rm -f $PIDFILE | ||
| + | return " | ||
| + | } | ||
| + | |||
| + | # | ||
| + | # Function that sends a SIGHUP to the daemon/ | ||
| + | # | ||
| + | do_reload() { | ||
| + | # | ||
| + | # If the daemon can reload its configuration without | ||
| + | # restarting (for example, when it is sent a SIGHUP), | ||
| + | # then implement that here. | ||
| + | # | ||
| + | start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME | ||
| + | return 0 | ||
| + | } | ||
| + | |||
| + | case " | ||
| + | start) | ||
| + | [ " | ||
| + | do_start | ||
| + | case " | ||
| + | 0|1) [ " | ||
| + | 2) [ " | ||
| + | esac | ||
| + | ;; | ||
| + | stop) | ||
| + | [ " | ||
| + | do_stop | ||
| + | case " | ||
| + | 0|1) [ " | ||
| + | 2) [ " | ||
| + | esac | ||
| + | ;; | ||
| + | # | ||
| + | # | ||
| + | # If do_reload() is not implemented then leave this commented out | ||
| + | # and leave ' | ||
| + | # | ||
| + | # | ||
| + | #do_reload | ||
| + | # | ||
| + | #;; | ||
| + | restart|force-reload) | ||
| + | # | ||
| + | # If the " | ||
| + | # ' | ||
| + | # | ||
| + | log_daemon_msg " | ||
| + | do_stop | ||
| + | case " | ||
| + | 0|1) | ||
| + | do_start | ||
| + | case " | ||
| + | 0) log_end_msg 0 ;; | ||
| + | 1) log_end_msg 1 ;; # Old process is still running | ||
| + | *) log_end_msg 1 ;; # Failed to start | ||
| + | esac | ||
| + | ;; | ||
| + | *) | ||
| + | # Failed to stop | ||
| + | log_end_msg 1 | ||
| + | ;; | ||
| + | esac | ||
| + | ;; | ||
| + | *) | ||
| + | #echo " | ||
| + | echo " | ||
| + | exit 3 | ||
| + | ;; | ||
| + | esac | ||
| + | |||
| + | exit 0 | ||
| + | </ | ||
| + | |||
| + | Le fichier de configuration **/ | ||
| + | Dans cet exemple il faut penser à remplacer « xbmc » par le fichier de configuration des boutons de son choix (voir 5.1 Configurations personnalisées / Mapping). Il faut aussi remplacer 00: | ||
| + | < | ||
| + | # | ||
| + | # When wminput is started using the init script, the | ||
| + | # -d option is always used. | ||
| + | # | ||
| + | # Each setting is marked either " | ||
| + | # leaving any required setting unconfigured will cause | ||
| + | # the service to not start. | ||
| + | |||
| + | # [optional] wiimote mac address : | ||
| + | WIIMOTEADDR=00: | ||
| + | |||
| + | # [optional] wminput configuration to use : | ||
| + | WMINPUTCONF=xbmc | ||
| + | |||
| + | # [optional] extra command line options, if any: | ||
| + | EXTRAOPTS=</ | ||
| + | |||
| + | **__Rendez le service activable avec la commande ci-dessous.__** | ||
| + | |||
| + | sudo chmod u+x / | ||
| + | |||
| + | Pour ajouter le service au démarrage, il faut utiliser la commande suivante. | ||
| + | |||
| + | sudo update-rc.d -f wminput defaults | ||
| + | |||
| + | Pour lancer(/ | ||
| + | |||
| + | sudo service wminput start | ||
| + | |||
| + | Vous pouvez à présent connecter votre WiiMote simplement en appuyant sur 1+2, l' | ||
| ==== Résolutions de problèmes ==== | ==== Résolutions de problèmes ==== | ||
| === Curseur enfermé dans une boîte ou souris inactive === | === Curseur enfermé dans une boîte ou souris inactive === | ||
| - | Si votre curseur semble | + | Si votre curseur semble |
| < | < | ||
| Plugin.ir_ptr.X = ~ABS_X | Plugin.ir_ptr.X = ~ABS_X | ||
| Ligne 242: | Ligne 374: | ||
| </ | </ | ||
| + | === Problème de droits avec udev === | ||
| + | Pour piloter correctement la wiimote, il faut les droits, en lecture et en écriture, sur le périphérique ''/ | ||
| + | Voici un exemple à placer dans ''/ | ||
| + | |||
| + | gksudo gedit / | ||
| + | < | ||
| + | |||
| + | === Problème avec les applications en plein écran === | ||
| + | Il est possible que la Wiimote, utilisée avec l' | ||
| + | |||
| + | sudo nano / | ||
| + | Ajoutez-y en-dessous de la grande ligne le petit code suivant. | ||
| + | < | ||
| + | Le problème est apparemment dû à l' | ||
| + | Néanmoins, si le bogue se produit dans un environnement spécifique (comme XBMC en // | ||
| ===== Références ===== | ===== Références ===== | ||
| Ligne 249: | Ligne 396: | ||
| * http:// | * http:// | ||
| + | Solution pour les applications fullscreen : http:// | ||
| ---- | ---- | ||
| - | // | + | // |
