Il existe deux programmes pour configurer votre clavier : un pour la console : loadkeys
et un pour XFree : xkbd
.
Pour installer un clavier français sous Linux, tapez selon votre clavier une des lignes suivantes :
loadkeys tables-clavier/fr/fr-latin9.map loadkeys tables-clavier/qc/qc-latin1.map loadkeys tables-clavier/cn/cn-latin1.map loadkeys tables-clavier/be/be-latin9.map loadkeys tables-clavier/sf/sf-latin1.map loadkeys tables-clavier/usx/usx-latin1.map loadkeys tables-clavier/usx/usx-happy-hacking-latin9.map
Avec les tables latin 9 recommandées dans ce HOWTO, pour linux-console aussi bien que pour X window, N'UTILISEZ PLUS
:
stty erase ^H
ou :
stty erase ^?
« stty erase » ne sert en effet qu'à établir une correspondance entre le code que renvoie une touche et la fonction erase
pour effacer le caractère.
Les tables ici fournies fonctionnent correctement et ne nécessitent donc pas de stty erase
qui risquerait surtout de perturber leur bon fonctionnement !
Supprimez-donc ces lignes de vos fichiers d'initialisation de l'interpréteur de commandes « shell », comme .bashrc, .bash_profile ou .tcshrc .
D'habitude, loadkeys est exécuté par des scripts au démarrage ; par exemple dans /etc/rc.d/init.d/keytable
ou /etc/rc.d/rc.local
, init.d/keytable
ou rc.keymap
.
La commande :
find /etc/rc.d -type f | xargs grep loadkeys
vous fournira le nom exact du fichier lançant loadkeys ; il vous suffit alors de l'éditer pour que vos modifications soient désormais prise en en compte à chaque démarrage.
Les distributions RedHat et Debian constituent des exceptions : la table de clavier par défaut étant définie dans /etc/sysconfig/keyboard
pour la RedHat et /etc/kbd/config
pour les Debian.
Remplacer donc dans le fichier propre à votre distribution la table de clavier en question par la bonne table comme fr-latin9.map (selon votre modèle de clavier)
Vous devrez mettre une copie de la table que vous utilisez dans le répertoire où votre distribution va chercher les tables de clavier ; en général /usr/lib/kbd/keymaps/i386/azerty/ pour une RedHat et /usr/share/kbd/keymaps/i386/azerty/ pour une Debian.
Allez donc sur télechargez l'archive, enregistrez-la dans votre répertoire /, puis détarrez-la avec la commande:
tar -xzvf francophones-howto.tgz
Cela crée un répertoire /french : placez-vous dans ce répertoire puis tapez :
cp tables-clavier/linux-console/fr-latin9.map /usr/lib/kbd/keytables/i386/azerty/
Pour afficher les caractères latin9, vous devrez exécuter les instructions de la section « polices de caractère ».
Si vous utilisez console-tools-1998.08.11.tar.gz, vous pourrez remplacer « setfont » par « consolechars » : ces programmes servent à charger une police sous linux console.
setfont /usr/lib/kbd/consolefonts/xxxE-NN.psf.gz
Je vous conseille pour des raisons développées plus bas :
setfont /usr/lib/kbd/consolefonts/lat9-16u.psf.gz
Je ne vous conseille pas les fichiers « lat1 », qui ne supportent pas l'euro ni les autres caractères français.
Vous trouverez aussi des fichiers « .uni » qui ne sont utiles que pour créer des polices ou pour ceux qui utilisent l'unicode : ils fixent des correspondances entre les « dessins » des caractères dans la police et les codes des dits caractères, un même dessin pouvant correspondre à plusieurs codes dans l'example de d'unicode.
Pour les polices toutes faites, vous pouvez forcer cette correspondace avec l'option « -u fichier.uni ».
Si vous tenez à les installer, copiez de la même manière tous les fichiers commençant par « lat9 » et se terminant par « .uni » dans le répertoire /usr/lib/kbd/consoletrans avec la commande:
cp lat9*.uni /usr/lib/kbd/consoletrans
D'habitude, setfont est exécuté par des scripts au démarrage ; par exemple dans /etc/rc.d/init.d/keytable
ou /etc/rc.d/rc.local
, init.d/keytable
ou rc.keymap
.
La commande :
find /etc/rc.d -type f | xargs grep setfont
vous fournira sur le nom exact du fichier lançant setfont ; il vous suffit alors de l'éditer pour que vos modifications soient désormais prise en en compte à chaque démarrage...
Les distributions RedHat et Debian constituent des exceptions : la police par défaut étant définie dans /etc/sysconfig/i18n
pour la RedHat et /etc/kbd/config
pour les Debian.
Dans /etc/sysconfig/i18n
rajouter une ligne de la forme :
SYSFONT=xxxE-NN.psf
Je vous conseille la police lat9-16u.psf ou son équivalent lat0-16.psf installée par défaut sur la plupart des distributions, très souvent compressée donc avec le suffixe « .gz » .
[ rajouter une explication sur comment installer la police ]
La section « une police, des polices » vous donnera plus de détails sur les polices disponibles.
Si lors du chargement de la table de clavier vous rencontrez un message d'erreur similaire au suivant :
(guylhem@victis:guylhem)$ loadkeys fr-latin9.map Loading /usr/lib/kbd/keytables/fr-latin9.map unknown keysym 'dead_cedilla' /usr/lib/kbd/keytables/fr-latin9.map:67: parse error syntax error in map file key bindings not changed
Cela signifie que votre version de kbd dont le programme loadkeys dépend est trop vieille : il faut vous procurer une version plus récente du programme.
Il existait et existe encore des versions des tables de clavier pour ceux ne voulant ni touches mortes ni accents, mais celles-ci tombent actuellement en désuétude puisque la grande majorité des programmes prennent désormais en charge ces fameuses touches mortes et les caractères accentués.
De plus, les tables fournies avec ce HOWTO permettent de se servir des touches mortes ou de s'en passer si un programme les refuse, les deux cas ayant été prévus :
Ça y est, vous pouvez taper du texte latin 9 sous Linux en mode console !
Seules 2 touches ont été modifiées :
Elle sert maintenant à oe/OE liés ; en AltGr on y trouve les guillemets français.
Le carré & le cube restent respectivement accessibles en AltGr (ù) et Alt Gr(*), les guillemets étant aussi directement accessibles avec AltGr (w) et AltGr (x), selon la norme ISO 9995 part 3 appliquée à la norme AZERTY française.
En résumé :
Étant donné que le symbole monétaire international n'est plus disponible dans la norme d'encodage ISO 8859-15, il a été remplacé par la division centésimale de l'euro : le cent, disponible donc en AltGr ($).
Dans les précédentes versions, le dollar & la livre, des monnaies étrangères, avaient été déplacés pour laisser la place à l'euro et au cent, notre monnaie.
De telles modifications étaient permises par les recommandations officielles de l'EURO WORKSHOP mais allaient à l'encontre de la norme AZERTY : si la position AltGr (e) est déjà occupée sur un clavier, la position de l'euro est laissée au libre choix des programmeurs.
AltGr (e) sert à faire « ê » depuis 1992 sous Linux, mais devant les protestations légitimes d'utilisateurs disposant d'un clavier où l'euro est sérigraphié en AltGr (e), j'ai du déplacer le ê en AltGr + Shift ($).
Désolé d'avoir rompu la « tradition » linuxienne pour conserver la compatibilité à la norme AZERTY & aux recommandations officielles de l'EURO WORKSHOP !
En résumé :
L'euro & les cents ont été rajoutés respectivement en AltGr (e) & en AltGr (c).
La touche AltGr a donc été rajoutée ; pour utiliser ces fonctions avec toute table de clavier, il suffit de charger other-latin9.map après votre table nationale.
La plupart des améliorations du clavier français ont été transposées aux claviers nationaux par des auteurs externes.
Toutefois, je ne possède pas chaque modèle de clavier et ne peut expliquer en détail toutes ces modifications ; des sections spécifiques seront donc rajoutées par la suite par d'autres auteurs.
« Home », « End », « Delete » et « BackSpace » ont été corrigées & les touches « Windows » ont été correctement définies, pour passer d'une console virtuelle à l'autre.
Des « Composes », séquences à préfixer par la touche compose ( « ImprÉcran » ou « Print Screen » par défaut) ont été rajoutées, mais cela reste transparent pour l'utilisateur.
Par exemple: