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 18/11/2010, 01:06] – Démon et auto-connexion (édition) lildadou | 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 ===== | + | ===== Installation ===== |
| - | <note help> | + | [[: |
| - | </ | + | |
| - | + | ||
| - | [[: | + | |
| - | + | ||
| - | ou | + | |
| - | sudo apt-get install lswm wmgui wminput | + | |
| - | + | ||
| - | ==== Petit script qui automatise l' | + | |
| - | + | ||
| - | 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 : cochez la case autorisant). | + | |
| - | < | + | |
| - | # | + | |
| - | #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 " | + | |
| - | | + | |
| - | while [ ! " | + | |
| - | 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 | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | </ | + | |
| ===== 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 |
| </ | </ | ||
| Ligne 180: | 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 207: | 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 223: | 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 : | ||
| Ligne 229: | Ligne 159: | ||
| ==== Démon et auto-connexion ==== | ==== Démon et auto-connexion ==== | ||
| - | Il est lassant d' | + | Il est lassant d' |
| - | * **N' | + | * **N' |
| - | * Le propriétaire du démon doit disposer des permissions en lecture/ | + | * Le propriétaire du démon doit disposer des permissions en lecture/ |
| - | * Copiez ensuite | + | * Copiez ensuite |
| < | < | ||
| - | # | + | #! /bin/sh |
| ### BEGIN INIT INFO | ### BEGIN INIT INFO | ||
| - | # Provides: wminput | + | # Provides: |
| - | # Required-Start: | + | # Required-Start: |
| - | # Required-Stop: | + | # Required-Stop: |
| - | # Default-Start: | + | # Default-Start: |
| - | # Default-Stop: | + | # Default-Stop: |
| - | # Short-Description: | + | # Short-Description: |
| + | # Description: | ||
| ### END INIT INFO | ### END INIT INFO | ||
| - | # | ||
| - | # Script to start and stop wminput - (c) 2010 Daniel Liabeuf < | ||
| - | # | ||
| - | # This is free software; you can redistribute it and/or modify | ||
| - | # it under the terms of the GNU General Public License as published by | ||
| - | # the Free Software Foundation; either version 2 of the License, or | ||
| - | # (at your option) any later version. | ||
| - | ## BEGIN USER CONFIGURATION ## | + | # Author: LvR |
| - | # La configuration de votre mappage | + | |
| - | CONF=" | + | |
| - | # L' | + | # Do NOT "set -e" |
| - | BT_ADDR=00: | + | |
| - | ## END USER CONFIGURATION ## | + | |
| + | # PATH should only include /usr/* if it runs after the mountnfs.sh script | ||
| + | PATH=/ | ||
| + | DESC=" | ||
| NAME=wminput | NAME=wminput | ||
| DAEMON=/ | DAEMON=/ | ||
| - | USER=xbmc | + | DAEMON_ARGS=" |
| PIDFILE=/ | PIDFILE=/ | ||
| - | PATH=/bin:/usr/bin:/ | + | SCRIPTNAME=/etc/init.d/$NAME |
| - | [ -x $DAEMON ] || exit 0 | + | # Exit if the package is not installed |
| + | [ -x "$DAEMON" | ||
| + | # 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. | ||
| . / | . / | ||
| - | start_daemon | + | # |
| - | start-stop-daemon --start --background --pidfile $PIDFILE --make-pidfile --chuid $USER --exec $DAEMON $BT_ADDR | + | # 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 | ||
| + | | ||
| + | || return 1 | ||
| + | start-stop-daemon --start --quiet --background | ||
| + | | ||
| + | || 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 | ||
| + | RETVAL=" | ||
| + | [ " | ||
| + | # Wait for children to finish too if this is a daemon | ||
| + | # 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 " | case " | ||
| - | start) | + | |
| - | log_daemon_msg " | + | [ " |
| - | start_daemon | + | |
| - | log_end_msg 0 | + | case " |
| - | ;; | + | 0|1) [ " |
| - | stop) | + | 2) [ " |
| - | log_daemon_msg " | + | |
| - | start-stop-daemon --stop --quiet --pidfile | + | ;; |
| - | rm -f $PIDFILE | + | |
| - | log_end_msg | + | [ " |
| - | ;; | + | |
| - | restart|force-reload) | + | case "$?" in |
| - | log_daemon_msg " | + | 0|1) [ "$VERBOSE" |
| - | $0 stop | + | 2) [ " |
| - | sleep 3 | + | esac |
| - | start_daemon | + | ;; |
| - | log_end_msg 0 | + | # |
| - | ;; | + | # |
| - | *) | + | # If do_reload() is not implemented then leave this commented out |
| - | echo " | + | # and leave 'force-reload' |
| - | exit 2 | + | # |
| - | ;; | + | # |
| + | # | ||
| + | #log_end_msg | ||
| + | #;; | ||
| + | restart|force-reload) | ||
| + | # | ||
| + | # If the " | ||
| + | # ' | ||
| + | # | ||
| + | | ||
| + | | ||
| + | case "$?" in | ||
| + | | ||
| + | | ||
| + | case " | ||
| + | | ||
| + | 1) log_end_msg 1 ;; # Old process is still running | ||
| + | *) log_end_msg 1 ;; # Failed to start | ||
| + | | ||
| + | ;; | ||
| + | *) | ||
| + | # Failed to stop | ||
| + | log_end_msg 1 | ||
| + | ;; | ||
| + | esac | ||
| + | ;; | ||
| + | *) | ||
| + | #echo " | ||
| + | echo " | ||
| + | exit 3 | ||
| + | ;; | ||
| esac | esac | ||
| Ligne 302: | Ligne 328: | ||
| </ | </ | ||
| - | Pour ajouter | + | Le fichier de configuration **/ |
| - | <code>sudo update-rc.d -f wminput defaults< | + | 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:21: |
| + | <file># This file is sourced by /etc/init.d/wminput | ||
| + | # | ||
| + | # 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. | ||
| - | Pour lancer(/ | + | # [optional] wiimote mac address |
| - | < | + | WIIMOTEADDR=00: |
| - | Vous pouvez à présent connecter votre WiiMote simplement en appuyant sur 1+2, l' | + | # [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 324: | Ligne 375: | ||
| === Problème de droits avec udev === | === Problème de droits avec udev === | ||
| - | Pour piloter correctement la wiimote, il faut les droits, en lecture et en écriture, sur le device | + | Pour piloter correctement la wiimote, il faut les droits, en lecture et en écriture, sur le périphérique '' |
| - | Voici un exemple à placer dans / | + | 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 335: | Ligne 396: | ||
| * http:// | * http:// | ||
| + | Solution pour les applications fullscreen : http:// | ||
| ---- | ---- | ||
| - | // | + | // |
