Mapping des boutons de la souris.

Ce document explique comment utiliser 2 touches du clavier pour simuler les boutons 2 et 3 d'une souris n'en ayant qu'un.

Les explications s'appliquent pour un système Linux utilisant le "new input layer", la nouvelle gestion du clavier et de la souris, apparu avec le noyau 2.2.18 (la transition a eu lieu sur le noyau 2.2.17, branche Macintosh).

Si vous n'avez pas dépensé vos sous dans une souris à plusieurs boutons, ou si vous voulez profiter pleinement du clavier français sous XWindow, ce document vous intéresse. Il explique comment modifier le mapping des boutons de la souris, qu'elle ait un ou plusieurs boutons.

Configuration.

Par rapport à l'ancienne gestion de la souris, la configuration est plus simple car il n'y a plus besoin de savoir quel est le serveur X utilisé. Cependant, vous devez utiliser un serveur X récent :

- Xpmac avec le support USB (c'est à dire rev 10 au moins)

- XFree-3.3.6 (version de LinuxPPC 2000 Q4)

- XFree-4.x.x

Dans /dev.

Des fichiers spéciaux (/dev) sont nécessaires pour pouvoir utiliser le "new input layer". Les nouvelles entrées dans /dev, sont créées par le paquetage dev-2.7.18-3b.ppc.rpm ou plus récent. Si vous mettez à jour votre noyau, vous devez installer ce paquetage. Un paquetage dev correct fait partie de LinuxPPC 2000 Q4, et vous n'avez donc pas à installer quoique ce soit. Vous pouvez aussi le faire à la main :

su -
cd /dev
rm usbmouse
rm mouse
mkdir input
mknod input/mice c 13 63
ln -s input/mice mouse
ln -s input/mice usbmouse

Dans /proc.

De nouvelles entrées dans /proc vont permettre de régler le fonctionnement de la souris. Ces nouvelles entrées sont les suivantes :

/proc/sys/dev/mac_hid/mouse_button_emulation

Cette entrée va permettre d'activer le "new input layer". Pour cela, il faut lui affecter la valeur 1:

echo "1" >/proc/sys/dev/mac_hid/mouse_button_emulation

/proc/sys/dev/mac_hid/mouse_button2_keycode

Ici, on indique le code de la touche qui va simuler le bouton numéro 2. Par défaut, la valeur est 97, ce qui correspond au bouton option de droite.

/proc/sys/dev/mac_hid/mouse_button3_keycode

Idem, mais pour le 3e bouton. La valeur par défaut est 100. C'est le code de la touche ctrl de droite.

Les codes de touches utilisés pour simuler les boutons 2 et 3 font que ces touches perdent leur rôle normal. Ainsi, si vous voulez taper ctrl-C vous devez utiliser la touche ctrl de gauche. De même, '|' sera obtenu par la combinaison option_de_gauche-majuscule-L.

Vous pouvez changer les valeurs par défaut (pour profiter pleinement du clavier français pour le new input layer, par exemple). Pour cela, vous devez avoir installé les sources du noyau. Vous trouverez les codes des touches à utiliser dans le fichier /usr/src/linux/include/linux/input.h.

Pour ne pas avoir à faire les manipulation à chaque démarrage, vous pourrez modifier le fichier /etc/rc.d/rc.local ou le fichier /etc/rc.d/sysinit (l'un ou l'autre, mais pas les deux) et y intégrer vos changements.

/etc/sysconfig/mouse

Il est aussi nécessaire de renseigner correctement le fichier /etc/sysconfig/mouse. Son contenu doit ressembler à ceci :

MOUSETYPE="imps2"
XMOUSETYPE="IMPS/2"
FULLNAME="Apple Desktop Bus 1 Button Mouse (ADB)"
XEMU3=yes 

Le champ FULLNAME peut être différent, ça ne doit pas jouer sur le fonctionnement de votre souris.

Distribution Debian 3 "woody".

Marche à suivre pour la distribution Debian 3 "woody", fournie par David Mentré:
Je donne ici la procédure que j'ai suivie (avec les spécificités de la debian).

* Pour la souris (activer l'émulation 3 boutons)

1. faire le script "/etc/init.d/mac_emu_3_buttons"

«
#!/bin/sh
# allow emulation of the 2nd and 3rd buttons for Linux on Mac hardware
echo "1" > /proc/sys/dev/mac_hid/mouse_button_emulation
»

Remarque : La woody a par défaut un noyau 2.2.20 donc c'est un "new keyboard layout".

2. lui donner les droits d'exécution :  "chmod 755 /etc/init.d/mac_emu_3_buttons"

3. demander l'exécution de ce script au boot "update-rc.d mac_emu_3_buttons start 90 2 3 4 5 ."

* Pour le clavier (console et X)

1. récupérer ftp://ftp.linux-france.org/macintosh/kbd-mac-fr.tar.gz

2. clavier sous X
2.a. recopier fr_new dans /usr/X11R6/lib/X11/xkb/symbols/macintosh
2.b. dans /etc/X11/XF86Config-4, modifier la ligne
Option "XkbLayout" "fr"
en
Option "XkbLayout" "fr_new"

2.c. Le nouveau layout sera pris au prochain redémarrage ou après avoir tué le serveur X.

3. clavier console

3.a. recopier mac-fr-ext_new.kmap.gz dans /usr/share/keymaps/mac

3.b. faire "install-keymap /usr/share/keymaps/mac/mac-fr-ext_new.kmap.gz"

3.c. le nouveau clavier est utilisé par la console

Références.

- la page de Benjamin Herrenschmidt <http://penguinppc.org/~benh/>,.

Conclusion.

Une souris avec trois boutons est tellement pratique...

Etienne Herlent.

 

Dernière mise à jour le 18/8/02.

les fichiers en téléchargement sont à ftp://ftp.linux-france.org/pub/macintosh/

 

Retour à GNU Linux sur Macintosh