Ô mode, quand tu nous tiens. Les souris "à molettes" sont de plus en plus populaires auprès des utilisateurs micro et des internautes en particulier. Ces rongeurs sont habituellement livrés avec des pilotes Win95/98 et NT, mais qu'en est-il de Linux ?
PRINCIPE DE FONCTIONNEMENT
Une souris classique possède 2 boutons. Certaines en sont pourvues d'un troisième, fort utile sous Xwindow avec la plupart des gestionnaires de fenêtres et certaines applications.
Heureusement, les possesseurs de souris 2 boutons peuvent utiliser les fonctionnalités réservées au troisième par le biais de l'émulation. En clair, une pression simultanée des deux boutons remplace celui manquant.
Une souris "à molettes" possède des boutons numérotés 4 et 5 qui permettent des utilisations spécifiques comme, par exemple, faire défiler le contenu d'une fenêtre.
Les souris de marque les plus connues sont MS IntelliMouse, Genius NetScroll, NetMouse et NetMousePro mais également Logitech MouseMan+ et FirstMouse+.
D'autres constructeurs taiwanais fabriquent également ce type de souris souvent moins chers et de qualité matérielle tout-à-fait comparable.
LE COTE SOFT
Pour faire fonctionner une souris à molettes, il vous faudra un petit utilitaire appelé Imwheel et éventuellement une version modifiée de gpm (le gestionnaire de souris pour le shell). Imwheel a été écrit par Jonathan Atkins.
Coté Xwindow, un serveur en version 3.3.2 minimum est requis.
CONFIGURATION
L'utilitaire Imwheel est constitué d'un fichier exécutable et un fichier de configuration. Une fois le package installé et les sources compilés, vous n'aurez besoin que de deux éléments : le programme /usr/X11R6/bin/imwheel et le fichier /etc/imwheelrc.
Nous n'avons pas choisi une souris testée par l'auteur (pourquoi faire simple lorsque l'on peut faire compliqué ?), le matériel est une souris WinEasy fabriqué par PBC.
Première étape : Configurez votre système Xwindow en éditant le fichier /etc/XF86config. Vous y trouverez une section "Pointer" où vous devrez apporter des modifications.
Voici notre section "Pointer" pour le fonctionnement d'Imwheel :
Section "Pointer"
Protocol "IntelliMouse"
Device "/dev/mouse"
BaudRate 1200
Resolution 100
ZAxisMapping 4 5
Buttons 3
EndSection
Le protocole utilisé doit être "IMPS/2" pour une souris PS/2 ou, "IntelliMouse" pour une souris série. L'exemple donné par l'auteur était "IMPS/2" pour une vraie IntelliMouse.
Device vous permet de spécifier le périphérique : Ici /dev/mouse, qui est un lien symbolique vers /dev/cua0. L'auteur, bien sûr, utilisait /dev/psaux.
Les lignes BaudRate et Resolution ne sont pas absolument nécessaires. Elles permettent de définir respectivement la vitesse et la résolution de la souris.
La mention ZaxisMapping 4 5, quant à elle, est indispensable pour le fonctionnement d'Imwheel. Enfin, Buttons 3 est utilisé à la place d'Emulate3 (émulation du troisième bouton).
Une fois ces modifications faîtes et le fichier de configuration sauvegardé, il nous a suffit de lancer X puis imwheel -k pour faire fonctionner les molettes de la souris. L'option -k est utile afin de tuer un éventuel processus imwheel déjà en cours.
LE FICHIER IMWHEELRC
Imwheel possède son propre fichier de configuration pour affecter des actions aux molettes en fonction du logiciel utilisé. Ce fichier peut être placé soit dans ~/.imwheelrc pour des préférences spécifiques à chaque utilisateur, soit dans /etc/imwheelrc pour des préférences communes à tous.
La syntaxe par défaut est la suivante :
"Application"
Modificateur, <up/down>, touche(s)
où :
"Application" est le nom de la fenêtre sous le focus de la souris. Il est possible de connaître son nom exact en appelant la commande xprop qui vous fournira toutes les informations utiles sur la fenêtre de votre choix.
Modificateur est le nom d'une touche morte (MAJ, ALT, CTRL, etc.). Ceci permet de combiner une touche avec l'action sur la molette afin d'obtenir plus de fonctions
<up/down> définit le sens de rotation de la molette. up pour haut et down pour bas (les anglophones l'auront deviné).
Touche(s) permet de définir la touche ou la combinaison de touches correspondant au mouvement de la molette.
Exemple :
"XTerm"
None, Up, Shift_L|Page_Up
None, Down, Shift_L|Page_Down
Ici, le mouvement haut de la molette remplacera la combinaison MAJ+PageHaut et le mouvement bas MAJ+PageBas dans l'application Xterm. Nous n'utilisions aucun modificateur (mention None).
Le séparateur vertical permet d'indiquer des touches appuyées simultanément.
Les valeurs possibles pour les modificateurs sont : Shift_L, Shift_R, Control_L, Control_R, Alt_L, Alt_R correspondent respectivement aux touches MAJ gauche, MAJ droite, CTRL gauche, CTRL droite, ALT gauche et ALT droite.
Vous pouvez utiliser la commande xev pour connaître le nom exact de chaque touche du clavier.
Il existe également d'autres arguments utilisables dans le fichier de configuration. Celles-ci sont optionnelles, pour les connaître, reportez-vous au fichier README fourni avec Imwheel.
Dernier point, faîtes bien attention à la casse des caractères, c'est une source fréquente d'erreur.
Imwheel peut être téléchargé sur la plupart des sites d'archives Linux, comme par exemple http://rufus.w3.org/RPM/. Inutile de préciser qu'une fois encore, un périphérique conçu à l'origine pour Windows est beaucoup plus fonctionnel sous Linux et ce sans l'aide du fabricant.
IMWHEEL est idéal pour le web...
...mais également pour les terminaux X
Il est possible de configurer Imwheel pour The Gimp