Sur mon PC, j'ai installé Ubuntu 9.04 (Jaunty Jackalope) en dual boot avec Windows XP. Comme matériel, je possède une souris Microsoft Comfort Optical Mouse 3000, une souris bon marché assez standard, si ce n'est que du bouton rouge sur le côté gauche (pouce) que j'ai l'habitude de configurer sous Windows pour permettre le retour à la page précédente dans Firefox.
Sur Linux, ma souris fonctionne correctement, sauf pour le bouton rouge. Pour le configurer, je devais d'abord vérifier comment les boutons étaient définis par le système.
Avec un terminal, j'ai demandé à xmodmap d'imprimer la liste associative des codes (de 1 à 32) associés aux boutons physiques du pointeur (souris).
xmodmap -pp
Ensuite, toujours avec le terminal, j'ai lancé le programme xev qui affiche les événements lorsqu'on clique dans la boîte graphique.
xev
En cliquant sur les boutons de la souris (en prenant soin de ne pas la bouger car je ne veux pas voir les événements reliés aux déplacements), je vois des informations, dont ButtonRelease event, KeyRelease event... :
Gauche : button 1
Click sur scrollwheel : button 2
Scroll haut : button 4
Scroll bas : button 5
Droite : button 3
Bouton de coté (rouge): button 9
En général, il semblerait que les boutons de côté (Back / Forward) soient placés respectivement aux index 8 et 9. Comme je n'ai qu'un seul bouton, mon hypothèse était que le bouton de pouce aurait été configuré automatiquement à 9 au moment de l'installation. J'ai donc tenté d'inverser la position des boutons pour que le rouge soit associé à 8.
Toujours dans un terminal :
xmodmap -e "pointer = 1 2 3 4 5 6 7 9 8"
À partir de ce moment, j'étais capable d'utiliser le bouton de pouce pour retourner à la page précédente dans Firefox. Cependant, dès la session suivante, le système perdait son mapping. J'ai lu que beaucoup d'utilisateurs effectuaient des configurations par le fichier xorg.conf (InputDevice section) mais pour mon problème très spécifique, j'ai utilisé une alternative facile. Je ne garantis pas que c'est la meilleure façon mais pour l'utilisation que j'en fait, c'était suffisant pour recharger la configuration au démarrage de ma session.
En fait, il faut d'abord déterminer si on veut que le fix soit appliqué à un seul utilisateur ou à tous. D'une façon ou d'une autre, on ajoutera une instruction au bash file qui sera exécuté au démarrage.
Appliquer à un seul utilisateur
On trouvera dans /home/[USER] un fichier caché nommé .profile (avec un point devant). On peut le voir en listant les fichiers avec ls -a. Il contient des instructions à exécuter spécifiques au profil dans lequel il se trouve ([USER] est votre nom d'utilisateur).
sudo nano /home/[USER]/.profile
Ajoutez la ligne suivante à l'intérieur :
xmodmap -e "pointer = 1 2 3 4 5 6 7 9 8"
Appliquer à tous les utilisateurs
Comme plusieurs utilisateurs peuvent utiliser le même ordinateur (donc le même matériel), ça peut être plus simple d'appliquer la correction pour tout le monde.
Il suffit d'ajouter la même ligne xmodmap, mais dans un fichier différent. Avant de charger .profile, le système charge un fichier de caractéristiques communes à tous les utilisateurs : /etc/profile.
sudo nano /etc/profile
Redémarrez la session et tout devrait bien marcher. xev pourra vous confirmer que le mapping est bien retenu.
Cette dernière façon a aussi l'avantage que les futurs utilisateurs à être créés bénéficieront de la correction.
dimanche 27 septembre 2009
0 réponse à "Souris Comfort Optical Mouse 3000 sur Ubuntu"
S'abonner à :
Publier des commentaires (Atom)