Les fichiers de dfinition de claviers prsent dans cette archive permettent d'obtenir, sous Linux, un clavier tendu Apple mapp comme sous MacOS. C'est du moins ce que j'ai essay de faire, puisque le jeu de caractre ISO 8859-1 n'est pas identique  celui de MacOS (pas de "o e dans l'o" en ISO 8859-1, par exemple).

Il y a deux fichiers de configuration, puisque la configuration du clavier sous la console ne se fait pas de la mme manire que sous X Window.

Puisque vous tes en train de lire ce fichier, c'est que l'archive a t dcompacte. Nous pouvons donc entrer dans le vif du sujet.

I. Dfinition du clavier sous la console.

Le fichier de dfinition du clavier pour la console est macext-fr.map.
Il faut le copier dans le rpertoire /usr/lib/kbd/keytables :
cp macext-fr.map /usr/lib/kbd/keytables/.
Ensuite, il faut indiquer  Linux que c'est cette configuration de clavier qu'il faut utiliser de manire permanente. Pour cela, lancez le programme kbdconfig, et dans la liste des fichiers qui apparat, slectionnez macext-fr, et validez.
macext-fr.map est maintenant le fichier qui dfinit votre clavier.

Si vous n'obtenez aucun caractre ayant le bit de poids fort mis (ni  ni , par exemple), c'est peut-tre pour l'une des raisons suivantes:
- le noyau efface ce bit. Passez la commande stty pass8, et r-essayez;
- vous utilisez bash. Vrifiez, dans le fichier ~/.inputrc, la prsence des lignes suivantes :
set meta-flag On
set convert-meta Off
set output-meta On
Si elles sont absentes, ajoutez les. Si vous n'avez pas de fichier ~/.inputrc, crez le, et insrez ces trois lignes qui indiquent  bash de ne pas effacer le bit de poids fort.
- vous utilisez un autre shell, voyez sa page de man.

Bien que le clavier soit dfini pour autoriser les majuscules accentues, il est possible qu'elles n'apparaissent pas comme telles, mais elles sont bien l. Je suppose qu'il n'y a l qu'un problme de police de caratres.

Rfrences :
pages de man de stty, bash, loadkeys, showkey, keytables et dumpkeys.

II. Dfinition du clavier sous X.

Le fichier de dfinition du clavier pour la console est xmacext-fr.
Il faut le copier dans le rpertoire /usr/X11R6/lib/X11/xkb/symbols/macintosh :
cp xmacext-fr /usr/X11R6/lib/X11/xkb/symbols/macintosh/.

Dans ce rpertoire, il y a normalement un fichier us. Il vaut mieux renommer ce fichier (en us.sav, par exemple), puis faire un lien symbolique vers votre fichier de config. Dans /usr/X11R6/lib/X11/xkb/symbols/macintosh/, tapez:
ln -s xmacext-fr us

Pour pouvoir utiliser la touche "# @" en haut  gauche du clavier tendu Apple, il faut ajouter, dans le fichier /usr/X11R6/lib/X11/xkb/keycodes/macintosh, la ligne de dfinition suivante :
<COIN> = 18;

Le fichier /usr/X11R6/lib/X11/xkb/keycodes/macintosh tablit une indirection entre les codes produits par les touches du clavier et des noms symboliques qui sont exploits par le fichier de mappage du clavier,  savoir /usr/X11R6/lib/X11/xkb/symbols/macintosh/xmacext-fr dans notre cas.

Remarques :
- les touches Delete et Backspace sont normalement mappes comme il faut. Cependant, dans certains diteurs comme nedit (link avec Lesstiff) ou tkEdit, elles fonctionnent toutes les deux comme BackSpace, alors que dans gxedit, la touche Delete fontionne correctement.
- les touches mortes (^, " et ~) ne fonctionnent pas avec nedit, mais fontionnent correctement avec tkEdit et gxedit.

Si vous remarquez d'autres bizarreries, merci de me les adresser, par courrier lectronique  eherlent@easynet.fr. Et si vous trouvez une solution, envoyez la moi, que tout le monde en profite :-)

Rfrences :
/usr/X11R6/lib/X11/xkb/keycodes/macintosh, X11R6.3-01-1s.src.rpm

III Remerciements.

Mes remerciements vont  Tofi, puisque je me suis trs fortement inspir de ses explications disponibles  http://www.inforoute.capway.com/le2, o l'on trouve galement d'autres fichiers pour configurer un clavier franais pour Macintosh sous Linux.

IV Remarques, commentaires, suggestions.

Vous pouvez m'envoyer vos remarques, commentaires ou suggestions par message lectronique  eherlent@easynet.fr

3 dcembre 1998, 1 plombe du mat', j'vais encore dormir toute la journe ... ;-)
