home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 1999 August
/
PCWorld_1999-08_cd.bin
/
doc
/
HOWTO
/
French-HOWTO
< prev
next >
Wrap
Text File
|
1998-02-22
|
72KB
|
1,991 lines
Le French-HOWTO : Linux & la langue franτaise
╔crit par Guylhem Aznar, guylhem@danmark.linux.eu.org
v1.30, August 1997
Copyright (⌐) Juillet 1997, Guylhem Aznar. Librement distribuable &
modifiable selon les termes de la GPL.
1. PrΘsentation
Ce document a ΘtΘ Θcrit pour aider α configurer un ordinateur dotΘ du
systΦme d'exploitation Linux pour des utilisateurs francophones ; il y
est expliquΘ par exemple comment configurer pΘriphΘriques &
applications afin de prendre en compte les particularitΘs & les
spΘcificitΘs de notre langue...
Toutefois, ce document ne traite pas de l'installation du systΦme
d'exploitation Linux ; il est implicitement supposΘ que vous avez
correctement installΘ une distribution de Linux (RedHat, Debian ou
Slackware, cette liste n'Θtant pas exhaustive) & que vous vous
apprΩtez maintenant α mieux la configurer ; veuillez donc vous rΘfΘrer
α d'autres HOWTOs pour l'installation. Les franτais ne sont pas les
seuls francophones !
Pour chaque manipulation dΘpendant de la ½ nationalitΘ ╗, quatre
versions sont donc proposΘes : une canadienne franτaise, une belge
wallone, une franτaise & une suisse romande. Le Grand DuchΘ du
Luxembourg utilisant les mΩmes standards que la France, j'invite les
lecteurs luxembourgeois α se reporter aux exemples franτais !
Toutefois seuls les fichiers destinΘs aux franτais (table de clavier
en mode console, X...) sont inclus, puisque la majoritΘ des lecteurs
seront certainement franτais & que seuls ces fichiers prΘsentent des
amΘliorations par rapport aux dΘfauts.
Envoyez-moi donc vos fichiers belges, canadiens, luxembourgeois ou
suisses ; ils seront inclus avec plaisir s'ils se montrent plus utiles
que ceux proposΘs par dΘfaut !
2. Les problΦmes
Le problΦme de tout utilisateur non-amΘricain lors de l'installation
de Linux est de lui faire comprendre que, justement, il n'est pas
amΘricain !
Cela a des consΘquences sur :
╖ les caractΦres spΘciaux que l'on utilise, accentuΘs (╔ ╚ └ ╟) ou
bien ligaturΘs ( ╞ , voire ½ e dans l'o ╗ qui n'existe mΩme pas en
standard sous Linux ; j'espΦre bient⌠t prΘsenter ici une solution
simple pour en disposer !)
╖ la correspondance entre la sΘrigraphie des cabochons (touches) sur
lesquels vous appuyez & les codes que Linux renvoie, celui-ci
supposant un clavier QWERTY amΘricain par dΘfaut
╖ le format de page pris en charge par les programmes que vous
utilisez pour imprimer, diffΘrent entre les ╔tats-Unis (14 x 8,5
pouces pour du papier dit lΘgal) & l'Europe (29,7 x 21 cm pour des
feuilles a4)
Tout Θtant prΘconfigurΘ pour un anglophone nord-amΘricain -bien que
ceux-ci ne reprΘsentent pas la majoritΘ de la population mondiale- ,
il faut donc se faire reconnaεtre comme une ½ exception ╗ par les
diffΘrents programmes, par des options ou des variables α exporter
voire dans les pires des cas une modification du code source suivie
d'une recompilation.
Heureusement, ½ l'esprit ╗ de Linux rend le systΦme trΦs ouvert α des
modifications de toute sorte & comme vous allez le dΘcouvrir au fil de
ce document, il est assez simple d'obtenir un rΘsultat trΦs correct.
Pour le moment, le futur de l'internationalisation de Linux porte sur
la traduction des messages d'erreur, des programmes, des pages de
manuel & de la documentation, alors si vous vous sentez l'Γme d'un
traducteur, n'hΘsitez pas α contacter l'Θquipe de traduction des
HOWTOs ; pour celα, adressez-vous α ╔ric Dumas (dumas@freenix.fr ou
dumas@Linux.EU.Org) & α xc@itp.fr .
3. Le vocabulaire : petit lexique
Tout d'abord, un mot sur le vocabulaire employΘ :
Des caractΦres sont dits ½ 8 bits ╗ s'ils contiennent par exemple des
accents ou des signes spΘciaux (comme paragraphe), non inclus dans le
standard ASCII 7 bits (sans accents ni caractΦres spΘciaux).
Une table de clavier est un fichier permettant de faire correspondre
l'empreinte physique des cabochons (touches) du clavier au rΘsultat
obtenu sur l'Θcran de l'ordinateur.
Les touches ½ Home ╗, ½ End ╗, ½ Page Up ╗ & ½ Page Down ╗ (dont les
noms varient selon les claviers) sont les touches permettant
respectivement d'aller en dΘbut/fin de ligne & de monter/descendre
d'une page.
Une touche morte est une touche qui doit Ωtre suivie d'un espace pour
obtenir l'accent circonflexe seul, ou dans le cas o∙ elle est suivie
d'une voyelle y positionne un accent, par exemple :
^ + e donne Ω
Les touches mortes sont :
╖ pour les claviers belges & franτais, l'accent aigu (en AltGr de 1
pour les franτais & en AltGr de ∙ pour les belges), l'accent grave
(en AltGr de 7 pour les franτais & en AltGr de carrΘ/cube pour les
belges), le trΘma & l'accent circonflexe (tous deux α c⌠tΘ du P)
╖ pour les canadiens, les accent graves, circonflexes, les trΘmas &
la cΘdille
╖ pour les suisses, les accent aigus, graves, circonflexes, les
trΘmas & la tilde
Enfin, voici une petite explication de la diffΘrence entre GMT & UTC
par Edgar Bonet Orozco :
GMT est l'heure solaire moyenne de Greenwich. L'heure est comptΘe α
partir de midi et est donc dΘcalΘe de 12 h par rapport au temps
universel. GMT est basΘe sur la rotation de la Terre, ce n'est donc
pas un temps rΘgulier. En effet, la vitesse de rotation de la Terre
subit des variations faibles mais assez cahotiques, en plus elle
diminue sur le long terme.
UTC (temps universel coordonnΘ) est comptΘ α partir de minuit
(toujours par rapport au mΘridien zΘro). Il est basΘ sur des Θtalons
atomiques, mais des secondes intercalaires sont ajoutΘes
occasionnellement pour faire en sorte qu'il ne s'Θcarte jamais de plus
de une seconde de l'heure solaire moyenne. Tu auras plus de prΘcisions
sur la dΘtermination de UTC dans "http://opdaf1.obspm.fr/", et en
particulier dans "http://opdaf1.obspm.fr/www/lexique.html".
C'est le temps UTC qui sert de rΘfΘrence aux diffΘrentes heures
lΘgales. L'acronyme "GMT" est employΘ 99% du temps pour dΘsigner UTC,
mais c'est une erreur (ou un abus de langage).
4. RΘglage du clavier sous Linux
Il existe deux programmes pour configurer votre clavier : un pour la
console : loadkeys & un pour XFree : xkbd.
Pour installer un clavier franτais sous Linux, tapez selon que vous
soyez respectivement Franτais, Canadien Franτais, Belge Wallon ou
Suisse Roman :
loadkeys french.map
loadkeys cf.map
loadkeys be-latin1.map
loadkeys sf-latin1.map
french.map est inclu dans ce HOWTO (au chapitre ½ Fichiers inclus ╗) &
tous les autres fichiers se trouvent d'ordinaire dans le rΘpertoire
/usr/lib/kbd/keytables.
Si vous utilisez french.map & french (pour X window : cf. chapitre
½RΘgler le clavier 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 (effacer le
caractΦre).
Les tables fournies dans ce HOWTO fonctionnent correctement & ne
nΘcessitent donc pas de stty erase !
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 (...) ;
la commande :
find
/etc/rc.d -type f | xargs grep loadkeys
vous fournira sur 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.
Si vous rencontrez les messages d'erreur suivants :
loadkeys french
Loading /usr/lib/kbd/keytables/french.map
unknown keysym 'dead_cedilla'
/usr/lib/kbd/keytables/french.map:67: parse error
syntax error in map file
key bindings not changed
celα 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 & existe encore des versions des tables de clavier pour
ceux ne voulant ni touches mortes ni accents, or cela tombe
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.
5. RΘglage du clavier sous XFree
Pour XFree, votre fichier XF86Config doit contenir une section
Keyboard :
Section "Keyboard"
Protocol "Standard"
AutoRepeat 500 30
LeftAlt Meta
RightAlt ModeShift # Important pour Alt-gr, mais dans les
# versions rΘcentes de XFree,
# AltGr & RightAlt sont synonymes.
ScrollLock Compose # Pour faire des caractΦres spΘciaux.
# Utiliser sinon une des 3 touches des
# nouveaux claviers 105 touches...
RightCtl Control
XkbKeycodes "xfree86" #
XkbSymbols "french(pc102)" #
XkbGeometry "pc(pc102)" # Tout est nΘcessaire pour xkb
XkbModel "pc102" #
XkbLayout "french" #
# ou ½ ca ╗ ou ½ be ╗ ou ½ fr_CH ╗ ; si vous Ωtes canadien, remplacez
# ½ french(pc102) ╗ par ½ us ╗ (½ quebec ╗, compatible avec ½ french ╗,
# sera bient⌠t disponible)
EndSection
Pour cette partie Xkb, certains prΘfΦrent :
XkbKeymap "xfree86(french)"
XkbKeycodes "xfree86"
XkbSymbols "en_US(pc101)+french"
XkbGeometry "pc(pc101)"
½ french ╗ est disponible α la fin de ce fichier !
Mettre ½ french ╗ dans /usr/X11R6/lib/X11/xkb/symbols/french & ½
french.map ╗ dans /usr/lib/kbd/keytables/french.map.
Attention !
xkb n'est disponible que pour des versions de XFree supΘrieures ou
Θgales α 3,2 !
Si vous n'avez pas de rΘpertoire /usr/X11R6/lib/X11/xkb/symbols/ ,
procurez-vous donc une version plus rΘcente de X window !
Sans xkb, XFree se rabattra par dΘfaut sur votre configuration de
clavier pour Linux (avec loadkeys). Toutefois, la translation n'est
pas parfaite & je vous recommanderais plut⌠t d'Θviter cette option,
aussi bien que l'ancien gestionnaire de clavier Xmodmap.
Il se peut aussi que sans aucune commande pour xkb, XFree vous
considΦre comme utilisateur d'un clavier anglo-amΘricain !
Il convient donc d'utiliser ½ fr ╗ ou ½ french ╗ avec xkb ; toutefois
ce dernier permet d'utiliser de multiples amΘliorations pour disposer
du plus de confort possible (gage de confort : je l'utilise
actuellement :-) ).
Par exemple, certains programmes comme Netscape (tm) ne savent pas
encore gΘrer les touches mortes ... donc impossible de taper par
exemple des Ω ou des ε sur les claviers belges & franτais, puisque la
touche morte ½ accent circonflexe ╗ est le seul moyen d'obtenir ces
caractΦres !
½ french ╗ rΘpond α ce problΦme en proposant une solution de
remplacement : AltGr (voyelle) permet d'obtenir la voyelle avec un
accent grave, AltGr+Shift (voyelle) permet d'obtenir la voyelle avec
un trΘma !
Voici la table complΦte des correspondances :
╖ AltGr (voyelle) : voyelle accent grave
╖ AltGr + Shift (voyelle) : voyelle trΘma
╖ AltGr (touche au dessous de la voyelle) : voyelle majuscule accent
grave
╖ AltGr + Shift (touche au dessous de la voyelle) : voyelle majuscule
trΘma
╖ AltGr + Shift (minuscule accentuΘe) : majuscule accentuΘe
Par exemple :
╖ AltGr (e) : Ω
╖ AltGr + Shift (∙) : ┘
L'astuce marche aussi pour le c cΘdille :
╖ AltGr + Shift (τ) : ╟
Donc mΩme dans les pires conditions (si aucune touche morte ne
fonctionne), on peut quand mΩme accΘder α toutes les voyelles
accentuΘes, majuscules & minuscules !
Vous y trouverez en plus les guillemets franτais (½ ╗), les symboles
employΘs en physique (▀, σ, delta, phi ...), des signes de monnaies
(yen, ó) ou de copyright ([TM], ⌐) ainsi que des lettres d'autres
langues (╪, ╞ ...).
Tous ces signes s'obtiennent grΓce α AltGr (lettre), par exemple AltGr
(b) donne ▀, AltGr (r) donne [TM], AltGr (y) donne yen...
Pour ce qui est du choix entre les deux... α vous de voir !
Un conseil : essayez l'un puis l'autre.
Une autre mΘthode pour obtenir des caratΦres 8 bits :
Dans /usr/X11R6/lib/X11/locale/iso8859-1/Compose se trouve une table
de ½ correspondance ╗ entre deux caractΦres & un rΘsultat ; les deux
caractΦres sont ½ mΘlangΘs ╗ lors de l'appui sur la touche Compose :
par exemple;
Compose e ^ a toutes les chances de vous donner Ω
Pour utiliser la touche Compose, vous devez l'affecter α une touche !
Le paramΘtrage prΘconisΘ, rΘglΘ dans XF86Config, la fait correspondre
α la touche ½ ArrΩt DΘfil ╗ par la commande :
ScrollLock Compose
dans la section keyboard.
╔ditez votre fichier de configuration & remplacez par exemple :
key <TLDE> { [ twosuperior, threesuperior ] };
par :
key <TLDE> { [ twosuperior, threesuperior ],
[ Compose ] };
Si vous avez par exemple un clavier belge ou franτais, dΘsormais
appuyer sur la touche ▓/│ (carrΘ/cube) vous donnera normalement ▓
(carrΘ), en majuscule │ (cube) & en AltGr la fameuse fonction Compose
; vous pouvez bien sur dΘcider d'attribuer Compose α une autre touche
; je vous recommande toutefois d'utiliser ScrollLock, bien moins
utilisΘe que les autres touches.
NB : La touche ▓/│ (carrΘ/cube), peu utilisΘe, est par dΘfaut assignΘe
aux guillemets franτais ( ½ ╗ ), ▓ & │ restant accessible
respectivement en AltGr & AltGr + Shift ainsi que par l'accent
circonflexe suivi du chiffre.
Pour modifier ce comportement par dΘfaut, il vous suffit avant
d'utiliser les fichiers de configuration pour XFree & linux en mode
console de repΘrer la ligne mise en commentaire au dΘbut du fichier et
de supprimer ce commentaire !
6. RΘglage du clavier pour les applications en mode texte
Avertissement :
Cette section est fortement ½ inspirΘe ╗ pour le rΘglage d'emacs, zsh,
tcsh, flex, less, rlogin, joe, col & TeX du Guide du Rootard & de
documents rassemblΘs sous le nom de ½ Francophones-HOWTO ╗ qui hΘlas
n'a jamais ΘtΘ fini.
Les auteurs respectifs sont donc remerciΘs pour leurs contributions !
Tout d'abord :
Le huitiΦme bit doit survivre α l'entrΘe du noyau, assurez-vous-en
donc avec :
stty cs8 -istrip -parenb
Ensuite, il convient de s'assurer que l'application est apte α
supporter les caractΦres 8 bits : par exemple, ispell n'est pas
compilΘ pour des caractΦres 8 bits par dΘfaut : il faut le recompiler
sans l'option :
-NO8BIT
Enfin, charger une police de caractΦres adaptΘes :
setfont /usr/lib/kbd/consolefonts/xxx-NNN
╖ xxx repΘsente le type de police ; il doit s'agir d'une iso01 ou
lat1 pour les francophones sinon il n'y a plus de caractΦres ½
Θtendus ╗ (voyelles accentuΘs, symboles de ponctuation comme
paragraphe... )
╖ NNN reprΘsente la taille individuelle de chaque caractΦre ; 08 est
presque illisible mais 16 est un peu gros... └ rΘgler selon les
go√ts de chacun.
╔ric Dubreuil (edubreuil@aol.com) vous conseille pour sa part la
police lat1u-16.psf, permettant d'avoir tous les caractΦres accentuΘes
sans pour autant enlaidir mc, un gestionnaire de fichier trΦs
populaire mais trΦs sensible α la police utilisΘe !
0) Linux
Linux en 'version franτaise' existe... mais ne semble pas facile α
obtenir.
Il faut en pratique disposer des sources de la libc & d'un minimum de
compΘtences (langage C).
Voici donc, pour la bonne bouche, quelques renseignements collectΘs...
Laurent Chemla nous pilote : ½ Si j'ai suivi, il y a deux trucs qui
font la meme chose, d'ou embrouille, les locales et un truc appelΘ
nls.
Les locales, sous Linux, τa va par dΘfaut dans /usr/lib/locale, et τa
contient de quoi prΘciser entre autres le format des nombres
(LC_NUMERIC), les retours des fonctions ctype (isalpha etc)
(LC_CTYPE), le format des sommes d'argent (LC_MONETARY), le format des
dates (LC_TIME) et encore d'autres dΘtails. Sur certains Unix, il y a
aussi LC_MESSAGES, qui contient les messages de l'OS dans la langue
choisie par la variable d'environnement LC_MESSAGES. Pas sous Linux.
Sous Linux, c'est nls qui fait τa, et de fait, nls gΩre un fichier qui
est dans /etc/locale/. (NDG : De nos jours, ils se trouvent plut⌠t
dans /usr/lib/locale) D'o∙ l'embrouille. Ils auraient mis τa dans
/usr/lib/nls, comme tout le monde, τa aurait evite la confusion. Mais
bon.
Donc, si l'on veut se tenir α jour d'nls, il suffit d'aller dans les
sources de libc/nls, faire 'make french' et copier libc.dat dans
/etc/locale/C/libc.dat et toc, tous les messages sont en francais. Y
compris ceux des programmes qui n'utilisent pas setlocale(): c'est
perror() qui fait le boulot (du moins je suppose).
Si l'on veut en plus que les programmes qui utilisent setlocale()
utilisent nos rΦgles franτaises, lα il faut aller dans les sources de
libc/locale et dans chacun des sous-rΘpertoires jeter un oeil sur le
fichier exemple, le modifier pour le franτais (c'est des tout petits
fichiers), et faire 'make', avant de copier le rΘsultat dans
/usr/lib/local/fr/ et de faire un 'export LC_ALL=fr'. ╗
1) Les shells
Ces variables doivent Ωtre exportΘes α chaque login : mettez les donc
dans .bashrc & .bash_profile, .tcshrc ou /etc/profile :
# pour tcsh, utiliser setenv au lieu de export, par exemple ½setenv LANG fr╗
# Les locales
LC_CTYPE=ISO-8859-1
LC_ALL=fr_FR
# (ou fr_BE, fr_CA, fr_CH, fr_LU ...)
LANG=fr
LESSCHARSET=latin1
export PATH PS1 LC_CTYPE LC_ALL LANG LESSCHARSET
# Les raccourcis : sans ll ou d, impossible de voir les fichiers comprenant des
# caractΦres 8 bits ...
alias q="cd .."
alias ll="ls --color=auto -a -N -l"
alias d="ls --color=auto -a -N"
# Au cas o∙ del/backspace ne fonctionne pas, essayez l'un des deux :
#stty erase ^?
#stty erase ^H
N'oubliez pas : tous les fichiers ici citΘs dont le nom commence par ½
. ╗ doivent se trouver dans votre rΘpertoire maison !
a) Pour bash (version 1.13.*), crΘez un .inputrc:
# Permettre de rentrer & recevoir des caractΦres accentuΘs
set meta-flag on
set convert-meta off
set input-meta on
set output-meta on
# Pas de bip audible mais visible
# set bell-style visible
# Pour faire marcher Home, End, Delete, Esc + Delete & Esc + Backspace
"\e[1~":beginning-of-line
"\e[3~":delete-char
"\e[4~":end-of-line
"\e\C-h": backward-kill-word
"\e\e[3~": kill-word
Celα vous permettra d'effacer des caractΦres vers l'avant avec DELETE
(souvent nommΘe DEL ou SUPPR) et vers l'arriΦre avec BACKSPACE (touche
situΘe α c⌠tΘ d' ½ EntrΘe ╗ ), ceci n'Θtant pas prΘvu sur les tables
de clavier par dΘfaut ½ mimant ╗ le comportement d'un clavier de
console VT100 .
Les deux derniΦres options vous permettront d'utiliser Home & End pour
aller au dΘbut & α la fin de la ligne en cours d'Θdition.
b) zsh se contente d'un stty pass8.
c) Pour tcsh, placer, dans le fichier /etc/csh.login (ou dans les
fichiers .tcshrc des utilisateurs concernΘs) :
setenv LC_CTYPE iso_8859_1
setenv LANG fr
d) Pour tous les shells
Remplacer 'iso_8859_1' par 'iso-8859-1' si cela ne fonctionne pas,
voire french.iso88591.fr_FR (ou fr_BR, fr_CA, fr_CH, fr_LU ...)
└ propos de LANG, Pablo Saratxaga signale qu'il vaut mieux Θviter
fr_FR : ½ Par ailleurs je conseille un simple "fr" plut⌠t que fr_FR
etc. Certains programmes n'aiment pas trop (ils ne passent pas
vraiment par la resolution de locales mais lisent LANG
directemment...) ╗
Si nls est installe, les routines correspondantes sont utilisees,
sinon tcsh agit en iso_8859_1, quelle que soit les valeurs donnees a
LANG & LC_CTYPE : cf. la section NATIVE LANGUAGE SYSTEM de tcsh(1).
D'aprΦs le Danish-HOWTO:
setenv LC_CTYPE ISO-8859-1; stty pass8
2) L'heure
Rien n'est plus facile que de laisser α Linux le soin de passer de
l'heure d'ΘtΘ α l'heure d'hiver & rΘciproquement...
a) D'abord, quelle heure est-il :-) ?
AprΦs avoir regardΘ sur la pendule la plus proche de vous, tapez :
clock
puis
date
La premiΦre heure est celle du bios, la seconde celle calculΘe par
Linux α partir de /etc/zoneconfig.
Pour peu que vous ayez installΘ timezone, votre machine peut jongler
aisΘment entre les diffΘrents fuseaux horaires... ce que les DOS ou
Windows ne permettent pas !
b) L'heure du choix !
De lα, deux possibilitΘes : soit vous dΘcidez de laisser l'heure
systΦme α l'heure locale (peu pratique, exceptΘ si vous hΘbergez aussi
sur votre disque dur ces systΦmes d'exploitation peu ΘvoluΘ, ne
sachant mΩme pas exploiter les fuseaux horaires), soit vous passez α
l'heure de Greenwich, Linux se chargeant de l'adapter α votre fuseau
horaire.
Dans ce cas, les grands voyages α l'Θtranger avec un portable tout
neuf ΘquipΘ de Linux se feront en toute simplicitΘ : le dernier
pargraphe vous expliquera comment changer de fuseau horaire
facilement...
c) Le rΘglage
Pour procΘder, regardez d'abord si l'heure systΦme retournΘe par clock
est l'heure locale ou l'heure de Greenwich (vous avez bien regardΘ une
pendule comme je vous le conseille plus haut, n'est-ce pas ?).
Si clock vous retourne l'heure locale, il va falloir jongler un peu
avec les fuseaux horaires, sinon passez directement α l'Θtape ½
rΘglage du fuseau ╗.
╖ Pour les franτais, belges wallons & suisses romans :
Vous Ωtes normalement dans une zone horaire MET (Medium European Time,
soit GMT+1).
La zone ½ MET DST ╗ correspond elle α l'heure d'ΘtΘ active (GMT + 2).
Selon les dΘcisions futures de la cour europΘenne, l'heure d'ΘtΘ
(daylight savings) risque d'Ωtre abandonnΘ... ce qui compliquera
cette explication !
╖ Pour les canadiens franτais :
Vous Ωtes dans une zone horaire GMT-4 si vous habitez autour de
MontrΘal .
Pour les autres provinces, consulter un dictionnaire !
PremiΦrement, effacez le fichier /etc/localtime ou
/usr/lib/zoneinfo/localtime (l'emplacement varie selon les
distributions ; si vous avez les deux fichiers, effacez /etc/localtime
: l'autre fichier doit certainement Ωtre un lien vers /etc/localtime).
DΦs lors, clock & date doivent vous retourner la mΩme heure...
╖ Pour les canadiens franτais : utilisez GMT+4
╖ Pour les franτais, belges wallons & suisses romans :
Si vous lisez ce document en ΘtΘ, le dΘcalage de l'heure locale par
rapport α l'heure de Greenwich est de deux heures, on va donc mettre
temporairement le fuseau en GMT-2, soit vous lisez ce document en
hiver & il convient de remplacer tous les ½ 2 ╗ par des ½ 1 ╗ dans les
exemples suivants...
GMT-2 ?!!? Alors que le fuseau est GMT+2 ?
Ceci va vous retourner l'heure de Greenwich dont on a besoin pour
rΘgler le systΦme : tapez :
ln -sf /usr/lib/zoneinfo/Etc/GMT-2 /etc/zoneconfig
clock
date
L'heure calculΘe correspond donc α l'heure de Greenwich, l'heure
systΦme α l'heure locale... soit l'inverse de ce que l'on veut.
Un simple : clock -w
Va alors mettre l'heure du systΦme en heure de Greenwich, utilisant
pour celα l'heure locale inversΘe volontairement avec l'heure systΦme.
d) RΘgler le fuseau horaire :
Tapez alors : ln -sf /usr/lib/zoneinfo/Europe/Votre-ville
/etc/zoneconfig
Et voilα ! Le systΦme est α l'heure de Greenwich, la conversion vers
le fuseau horaire local & l'heure d'ΘtΘ se faisant automatiquement.
Si vous habitez hors Europe, procΘdez de mΩme en remplaτant les ½ -2 ╗
par ½ X ╗, X reprΘsentant l'opposΘ de votre dΘcalage horaire (par
exemple -4 au QuΘbec, donc X=+4...)
e) Modifier le fuseau horaire :
Si vous partez α l'Θtranger, il est alors simple de modifier l'heure
locale de votre portable : par exemple si vous partez pour Moscou :
ln -sf /usr/lib/zoneinfo/Europe/Moscow /etc/zoneconfig
TrΦs simple & trΦs utile : plus besoin de se souvenir du dΘcalage
horaire (plus ou moins X heures) puisque Linux se charge dΘsormais de
tout !
3) Emacs
Voici un fichier de configuration de base pour employer les accents.
XEmacs les accepte lui par dΘfaut sans broncher :-)
;;
;; Fichier .emacs: initialisation d'emacs
;; TirΘ du Guide du Rootard
;;
(display-time) ;; Pour avoir l'heure dans la barre d'etat
(setq display-time-24hr-format t) ;; Format 24 heures
;; Nouveaux modes
(autoload 'c++-mode "cplus-md" "C++ Editing Mode" t)
(autoload 'perl-mode "perl-mode" "Perl Editing Mode" t)
(autoload 'c-mode "c-mode" "C Editing Mode" t)
; mieux vaudrait utiliser le "cc-mode"
(autoload 'jargon-mode "jargon" "Jargon Mode" t)
;; Auto-Mode Settings : positionne le mode selon l'extension
(setq auto-mode-alist
(append '(("\.c$" . c-mode) ;; utilise le mode C++ meme pour C
("\.h$" . c-mode)
("\.C$" . c++-mode)
("\.H$" . c++-mode)
("\.cc$" . c++-mode)
("\.C$" . c++-mode)
("\.pl$" . perl-mode) ;; Perl
("/tmp/snd\.[0-9]*" . text-mode);; Text (pour le mail)
("[Rr][Ee][0-9]*" . text-mode)
("\.ada$" . ada-mode) ;; Ada
("\.spec$" . ada-mode)
("\.body$" . ada-mode)
("makefile$" . makefile-mode) ;; Makefile
("Makefile$" . makefile-mode)
("Imakefile$" . makefile-mode))
auto-mode-alist))
; Remapes varies a mettre ici
(global-set-key "\eg" 'goto-line) ;; ESC G = Goto line
(put 'eval-expression 'disabled nil)
;; Accents...
(standard-display-european 1)
(load-library "iso-syntax")
(set-input-mode (car (current-input-mode))
(nth 1 (current-input-mode))
0)
;; Sous X-Window, textes en couleurs (C/C++/Shell/Makefile,etc)
(cond (window-system
(setq hilit-mode-enable-list '(not text-mode)
hilit-background-mode 'light
hilit-inhibit-hooks nil
hilit-inhibit-rebinding nil)
(require 'hilit19)
))
(if (not (equal window-system ""))
(global-set-key "\C-?" 'delete-char))
))
Le Keyboard-HOWTO conseille quand α lui :
(standard-display-european t)
(set-input-mode nil nil 1)
(require 'iso-syntax)
(load-library "iso-insert.el")
(define-key global-map [?\C-.] 8859-1-map)
4) less
/etc/profile ou les fichiers de dΘmarrage du shell (comme doivent
contenir :
export LESSCHARSET=latin1
Le fichier .lessrc se trouve α la section ½ Fichier inclus ╗.
Pour s'en servir, taper :
lesskey -o .less .lessrc
N'oubliez pas de mettre le fichier .less dans votre rΘpertoire maison
: il permet d'employer les touches flΘchΘes, Page_up, Page_down, Home
& End.
5) ls
Utilisez l'option :
--color=auto
dΘfinissez dans les fichiers de dΘmarrage de votre shell les alias
suivants permettant de voir les fichiers dont le nom comprend des car¡
actΦres 8 bits :
alias ll="ls --color=auto -l -a -N"
alias d="ls --color=auto"
Un simple d remplacera le classique ls, en y ajoutant la couleur,
alors que ll vous offrira une liste complΦte de tous les fichiers
prΘsents dans le rΘpertoire, avec leurs attributs, leurs tailles...
Pablo Saratxaga conseille d'utiliser --color=auto car ½ --color=yes
fera avoir des codes escape ansi mΩme lorsqu'on redirige vers un pipe
un fichier o∙ que le termina ne supporte pas la couleur... ce n'est
pas ce qu'on voudrait. ╗
6) flex
Donnez l'option :
-8
gΘnΘrΘ doit accepter les entrees 8-bits (bien sur qu'il doit le faire
!).
7) Elm
Rajoutez ces trois lignes dans votre .elm/elmrc :
charset = iso-8859-1
displaycharset = iso-8859-1
textencoding = 8bit
8) col
Assurez-vous :
1) qu'il a ΘtΘ corrigΘ et fasse un
setlocale(LC_CTYPE,"");
2) de dΘfinir
LC_CTYPE=ISO-8859-1
dans l'environment
9) Rlogin
Utilisez l'option :
-8
10) joe
ftp://sunsite.unc.edu:/pub/Linux/apps/editors/joe-2.8.tar.gz
ou plus rΘcent devrait fonctionner aprΦs Θdition du fichier de config¡
uration. Placez l'option -asis dans /usr/lib/joerc en premiΦre
colonne.
11) TeX & LaTeX
Le plus simple consiste α employer GuTemberg, une distribution de
LaTeX avec tous les dΘfauts rΘglΘs pour des francophones par des
francophones !
Sinon :
Pour LaTeX:
\documentstyle[isolatin]{article}
Pour LaTeX2e:
\documentclass{article}\usepackage{isolatin}
ou alors :
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
Au cas o∙ votre distribution soit trop vieille pour l'inclure,
isolatin.sty est disponible sΘparΘment sur :
ftp.vlsivie.tuwien.ac.at/pub/8bit
Pour gs & xdvi, il faut utiliser des options speciales (sur ma
machine, ce sont des alias). En effet, ils sont souvent configurΘs
pour un papier de taille anglo-saxonne.
Ces options sont les suivantes :
gs -sPAPERSIZE=a4 xdvi -paper a4 ghostview -a4
Pour que dvips convertisse les documents dans un format papier a4, il
faut specifier dans le fichier config.ps (le chemin varie en fonction
des versions de LaTeX) : /usr/lib/texmf/dvips/config.ps ou .dvipsrc
@ a4 210mm 297mm @+ ! %%DocumentPaperSizes: a4 @+ %%PaperSize: a4 @+
%%BeginPaperSize: a4 @+ a4
Sinon ajoutez α votre .Xresources :
XDvi.paper: a4
Ghostview.pageMedia: A4
12) Manuel
Tout d'abord, il faut vous procurer les pages de manuel Linux
traduites en franτais sur :
ftp.lip6.fr/pub/linux
Si vous utilisez une distribution Debian, celles-ci sont prΘsentes sur
le cΘdΘrom : il suffit de les sΘlectionner lors de l'installation.
De lα, deux possibilitΘes :
╖ soit vous ne voulez que des manuels en franτais, auquel cas il faut
faire un :
export MANPATH=/usr/man/fr_FR (ou fr_BE, fr_CA, fr_CH, fr_LU...)
╖ soit vous prΘfΘrez par dΘfaut des manuels en franτais et si la page
n'existe pas, vous vous rabattez vers l'anglais, il suffir alors de
taper :
export LANG=fr
man ira chercher dans le ½ MANPATH ╗ des pages en ½ LANG ╗ par dΘfaut
et se rabattra sinon sur des pages en anglais
13) Correcteur orthographique ispell
Vous pouvez vous le procurer sur son site original :
ftp.ireq-robot.hydro.qc.ca:/pub/ispell/francais-IREQ-1.3.tar.gz
ou sur :
ftp.lip6.fr/pub/ispell/francais
Un fichier LISEZMOI explique pas α pas & en franτais l'installation.
14) Les claviers 105 touches
Aussi appelΘs ½ claviers Microsoft (tm) ╗, ils ont trois touches de
plus que les claviers normaux.
Comment s'en servir ?
En mode console, Θditer french.map et dΘcommenter les lignes en
parlant !
De mΩme pour french (pour Xwindow).
15) PGP
Tout d'abord, un avertissement : ce paragraphe n'est destinΘ qu'aux
francophones ne vivant pas en France !
En effet, en France, en Iran, en Irak & dans quelques autres pays,
l'utilisation de logiciels de cryptographie est considΘrΘe comme usage
d'armes de guerre, ce qui est punissable par la loi !
Donc sautez ce paragraphe si votre lΘgislation locale ne permet pas
d'utiliser des logiciels de cryptographie.
PremiΦrement, il faut se procurer pgp-international (α cause de
problΦmes de patentes et de lΘgislation sur l'export d'armes de
guerre, il existe pgp-us & pgp-international, ce dernire Θtant dotΘ
d'un algorythme encore plus puissant) sur :
ftp://ftp.ifi.uio.no/pub/pgp/
Ensuite, mettre dans votre rΘpertoire maison, dans un sous rΘpertoire
.pgp les fichiers :
config.txt
language.idx
pgpdoc1.txt
pgpdoc2.txt
language.txt
fr.hlp
en.hlp
pgp.hlp
Enfin, Θditer le fichier .pgp/config.txt pour y rajouter :
Language = fr
CharSet = latin1
Lisez ensuite .pgp/fr.hlp pour apprendre α vous servir de pgp !
16) Impression en mode ascii
Pierre-Charles David (pcdavid@club-internet.fr) vous donne ce truc :
Pour l'impression de texte simple, beaucoup d'imprimantes attendent
des lettres en codage IBM (celui utilisΘ par MS-DOS).
Si le fichier est codΘ en latin1, on doit utiliser 'recode
latin1:ibmpc' (α placer dans les filtres lpr par exemple), sous peine
de voir imprimer des 'alpha' α la place de 'α', et autres choses du
mΩme genre.
17) Divers
Pour les programmes utilisant curses (comme lynx) David Sibley dit:
½ La version standard de curses utilise le huitiΦme bit pour la
vidΘo inversee (voir le flag _STANDOUT dΘfini dans
/usr/include/curses.h). Cependant, ncurses semble fonctionner en
8-bits et affiche le iso-latin-8859-1 correctement. ╗
Pour les programmes utilisant groff (comme man), utilisez le :
-Tlatin1
au lieu de :
-Tascii
Les vieilles versions de man utilisent aussi col, & le point suiv¡
ant s'applique aussi.
Une belle discussion sur le thΦme de l'ISO-8859-1 & sur ½ comment
manipuler les caractΦres 8-bits ╗ est disponible dans :
ftp://grasp.insa-lyon.fr/pub/faq/fr/accents
Pour perl, si tout d'un coup aprΦs une mise α jour il raconte :
(guylhem@danmark:guylhem)$ perl
perl: warning: Setting locale failed for the categories:
LC_CTYPE LC_COLLATE
perl: warning: Please check that your locale settings:
LC_ALL = "fr_FR",
LC_CTYPE = "ISO-8859-1",
LC_COLLATE = (unset),
LANG = "fr"
are supported and installed on your system.
perl: warning: Falling back to the "C" locale.
(guylhem@danmark:guylhem)$
Essayez cette solution de Thomas Parmelan (Thomas.Parmelan@efrei.fr) :
- en libc6 le format des fichiers binaires de dΘfinition des locales a
(encore) changΘ : il faut les rΘgΘnΘrer α partir des sources
(WG15collection.tar.tz sur ftp.lip6.fr:/pub/linux/GCC par exemple) et
des programmes "locale" et "localedef" qui sont fournis dans les
sources de la libc.
- Sinon tu peux Θgalement essayer ceci (c'est comme cela que τa
fonctionne chez moi en libc-5.4.x) :
unset LANG
unset LC_CTYPE
unset LC_COLLATE
export LC_ALL=fr_FR.ISO-8859-1
7. RΘglage du clavier pour les applications X
1) Les xterminaux (xterm, nxterm, rxvt...)
Les faire fonctionner avec toutes les touches standard du clavier 102
touches relΦve du miracle, quant aux accents, seule une recompilation
vous permettra de les utiliser !
Pour xterm, essayez de mettre dans votre .Xdefaults :
XTerm*eightBitInput: true
XTerm*eightBitOutput: true
Pablo Saratxaga conseille de rajouter dans .inputrc :
# pour rxvt
"\e[7~":beginning-of-line
"\e[8~":end-of-line
# pour xterm
"\e[H": beginning-of-line
"\e[F": end-of-line
Mais ces deux solutions ne vous garantissent pas de rΘsoudre tous les
problΦmes de rxvt et de xterm ...
Pour les rΘsoudre sans crΘer de fichiers dans /usr/X11R6/lib/X11/app-
defaults, je tiens sinon α votre disposition un xiterm, un terminal X
supportant *TOUTES* les touches des claviers standard, avec Home, End,
Page_up (...) & mΩme le pavΘ numΘrique, fonctionnant comme en mode
console, i.e. Shift-Page_up permettant de faire dΘfiler une page,
voire mieux : le pavΘ numΘrique reconnaissant enfin la diffΘrence
entre Verr. Num allumΘ & Verr. Num Θteint.
X international terminal (xiterm pour les intimes) est bien sur sous
GPL & mis α jour pour suivre parallΦlement l'Θvolution de rxvt.
Sur http://www.linux-france.com/prj/xiterm & sur
ftp://sunsite.unc.edu/pub (& bient⌠t ailleurs sans doute), vous
trouverez donc xiterm, qui remplace votre xterm classique en y
apportant la couleurs, les accents & les touches Θtendues.
Pour l'installer, compilez-le, devenez root & tapez :
rm /usr/X11R6/bin/xterm
rm /usr/X11R6/lib/X11/app-defaults/xterm
rm /usr/X11R6/lib/X11/app-defaults/rxvt
rm /usr/X11R6/lib/X11/app-defaults/Xterm
rm /usr/X11R6/lib/X11/app-defaults/XTerm
rm /usr/X11R6/lib/X11/app-defaults/Rxvt
rm /usr/X11R6/lib/X11/app-defaults/RXvt
cp xiterm /usr/local/bin
ln -sf /usr/local/bin/xiterm /usr/X11R6/bin/xterm
ln -sf /usr/local/bin/xiterm /usr/X11R6/bin/rxvt
2) Les applications Motif
Lα, je n'ai malheureusement aucun remΦde miracle !
Utilisez les possibilitΘs du fichier french au lieu des touches mortes
(AltGr (voyelle) : voyelle accent circonflexe... ) !
3) Le manuel
Pablo Saratxaga tient α votre disposition un xman modifiΘ ½ pour qu'il
supporte la variable ½ LANG ╗ et puisse afficher les pages en d'autres
langues qu'anglais ╗.
Il est disponible sur :
ftp.lip6.fr:/pub/linux/distributions/redhat-contrib/SRPMS/xman-3.1.6-3.src.rpm
ftp.lip6.fr:/pub/linux/distributions/redhat-contrib/i386/xman-3.1.6-3.i386.rpm ╗
8. Remerciements
Ce document ne serait pas ce qu'il est sans l'aide de Nat MakarΘvitch
(nat@linux-france.com).
Je tiens aussi α remercier les personnes suivantes pour leurs
contributions aux autres documents sur Linux en franτais (Guide du
Rootard & Francophones-HOWTO) desquels la section ½ Configurer les
applications en mode texte ╗ s'inspire pour emacs, zsh, tcsh, flex,
less, rlogin, joe, col & TeX.
Rappelons que les sites officiels du Guide du Rootard sont :
http://www.freenix.fr/linux/Guide
&
ftp.lip6.fr:/pub/linux/french/docs/
Par ordre alphabΘtique :
Jean-Michel Antoine
Michel Billaud
Stephane Bortzmeyer
RΘmy Card
Xavier Cazin
Laurent Chemla
RenΘ Cougnenc
Bruno Cornec
Yann Dirson
╔ric Dubreuil
╔ric Dumas
Pierre Ficheux
Laurent Frigault
Frederic Lepied
Stephane Marzloff
Marc Merlin
Thomas Parmelan
Thomas Quinot
David Robert
Ollivier Robert
Benjamin Ryzman
Pablo Saratxaga
Julien Simon
J.M. Vansteene
Surtout, si je vous oublie, signalez-le moi !
De mΩme si vous ne voulez plus figurer dans cette liste...
Ce document est en GPL, toutefois il vaudrait mieux Θviter une
multiplication des versions :-).
Envoyez-donc vos suggestions & modifications α
guylhem@danmark.linux.eu.org
Je me ferai un plaisir de les intΘgrer dans les prochaines versions !
Signalez-moi aussi les erreurs : cet HOWTO est en perpΘtuel
changement, avec des nouveautΘs incluses α chaque version ; des erreur
peuvent facilement s'y glisser !
9. Fichiers inclus dans ce HOWTO
Comme signalΘ plus haut, cette section ne contient que .bashrc,
window), quebec (pour X window) & french.map .
Voici .bashrc (pour bash, α placer dans votre rΘpertoire maison) :
# ~/.bashrc : executΘ par bash(1) pour les shells lancΘs aprΦs le login.
# Le path
PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin:/usr/local/bin"
# Le prompt
PS1="(\u@\h:\W)$ "
# Les locales
LC_CTYPE=ISO-8859-1
LC_ALL=fr_FR
# (ou fr_BE, fr_CA, fr_CH, fr_LU ..)
LANG=fr
LESSCHARSET=latin1
export PATH PS1 LC_CTYPE LC_ALL LANG LESSCHARSET
# Les raccourcis
alias q="cd .."
alias ll="ls --color=auto -a -N -l"
alias d="ls --color=auto -a -N"
# Au cas o∙ del/backspace ne fonctionne pas, essayez l'un des deux :
#stty erase ^?
#stty erase ^H
# Refuser le talk & le write
#mesg n
# Permettre les coredumps
#umask 022
Voici .bash_profile (pour bash, α placer dans votre rΘpertoire maison)
:
# ~/.bash_profile: executΘ par bash(1) lors les logins.
# Le path
PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin:/usr/local/bin"
# Le prompt
PS1="(\u@\h:\W)login$ "
# Les locales
LC_CTYPE=ISO-8859-1
LC_ALL=fr_FR
# (ou fr_BE, fr_CA, fr_CH, fr_LU ...)
LANG=fr
LESSCHARSET=latin1
export PATH PS1 LC_CTYPE LC_ALL LANG LESSCHARSET
# Les raccourcis
alias q="cd .."
alias ll="ls --color=auto -a -N -l"
alias d="ls --color=auto -a -N"
# Au cas o∙ del/backspace ne fonctionne pas, essayez l'un des deux :
#stty erase ^?
#stty erase ^H
# Refuser le talk & le write
#mesg n
# Permettre les coredumps
#umask 022
Voici .lessrc (pour less, α compiler avec lesskey) :
(taper ESC)[B forw-line
(taper ESC)[A back-line
(taper ESC)[6~ forw-scroll
(taper ESC)[5~ back-scroll
(taper ESC)[1~ goto-line
(taper ESC)[4~ goto-end
(taper ESC)[C next-file
(taper ESC)[D prev-file
(taper ESC)OA back-line
(taper ESC)OB forw-line
Pour rentrer un ESC (parfois nommΘ Θchap), sous vi, mettez vous en
mode insertion avec i puis tapez ctrl+v & enfin esc.
Voici french (pour X11, α placer dans
/usr/X11R6/lib/X11/kbd/keytables) :
// French keyboard description, (c) Guylhem Aznar, July 1997
// Released under GNU GENERAL PUBLIC LICENSE Version 2
// If you haven't received it, this license is available at :
// Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA
partial hidden alphanumeric_keys modifier_keys
xkb_symbols "basic" {
// Description *TOTALE* d'un clavier franτais, sans le comparer α un
// clavier amΘricain par dΘfaut : on y gagne plus de flexibilitΘ, ce
// modΦle devient plus personalisable ...
// Les touches Θ, Φ, τ, α & ∙, prΘsentes en mode minuscule (i.e. sans shift)
// ne sont pas disponibles en mode majuscule car elles sont respectivement
// remplacΘes par 2, 7, 9, 0 & % .
// Pour obtenir les majuscules accentuΘes ╔, ╚, ╟, └ & ┘, vous pouvez soit
// utiliser AltGr + Shift (minuscule accentuΘe), soit utiliser les accent
// dits "morts", i.e. fonctionnant comme l'accent circonflexe & le trΘma .
// Sont disponibles : AltGr (1) : accent aigⁿ, AltGr (7) : accent grave,
// AltGr (^) : cΘdille ; pour s'en servir, procΘder comme avec l'accent
// circonflexe & le trΘma : ex : AltGr (1) + e : Θ ; AltGr (1) + e : ╔ ...
// La tilde (~) n'Θtant pas employΘe sur des lettres en franτais, elle reste
// en AltGr (2) une touche normale .
// Une tilde "morte" (avec la cΘdille "morte") est toutefois disponibles sur la
// touche accent circonflexe & trΘma en AltGr + Shift .
// Au cas o∙ les dead_keys ne fonctionnent pas (certains programmes les
// refusent), vous pouvez toujours utiliser pour obtenir les voyelles α accent
// circonflexe & α trΘma :
// AltGr (voyelle) : voyelle-minuscule α accent circonflexe
// AltGr + Shift (voyelle) : voyelle-minuscule α trΘma
// AltGr (en dessous de la voyelle) : voyelle-majuscule α accent circonflexe
// AltGr + Shift (en dessous de la voyelle) : voyelle majuscule α trΘma
// Plusieurs lettres ΘtrangΦres, utilisΘes comme signes mathΘmatiques ou
// physiques, abbrΘviations (...) ont ΘtΘ rajoutΘes en AltGr :
// T->Phi;, r->[TM], y->yen, c->ó & ⌐, f->se±ora, m->se±or,
// g->`, h->', ∙->▒, x->µ s->°, z->σ, w->Delta;, b->▀
// La correspondance essaye de se faire la plus naturelle possible, en mettant
// ces touches lα o∙ l'on s'attend le plus de les trouver ...
// mais elle est loin d'Ωtre parfaite :^)
// Modifiez donc α loisir tous ces AltGr, et si vous pensez avoir trouvΘ la
// configuration ultime permettant d'accΘder en mieux α toutes ces touches,
// mailez moi !
// V⌠tre arrangement, s'il est vraiement plus pratique, sera inclu dans la
// prochaine version de la carte de correspondance du clavier !
name[Group1]= "French";
key <ESC> { [ Escape ] };
// Deux possibilitΘes pour cette touche "au carrΘ" (▓) :
// * un mode mathΘmatique o∙ elle renvoie "au carrΘ" en mode normal, "au cube"
// si elle est ShiftΘe et "puissance 1" en Alt-gr (pour parler par exemple de
// m.s-╣ ...)
// Toutefois, accent circonflexe suivi de 1, 2, 3, -, renvoyant respectivement
// ╣, ▓, │ et -, cette touche est inutile !
// * un mode littΘraire est donc proposΘ par dΘfault, pour disposer des
// guillemets franτais (½ & ╗) ; le ▓ et le │ restant disponibles
// respectivement en AltGr et AltGr + Shift .
// key <TLDE> { [ twosuperior, threesuperior ],
// [ onesuperior ] };
key <TLDE> { [ guillemotleft, guillemotright ],
[ twosuperior, threesuperior ] };
key <AE01> { [ ampersand, 1 ],
[ dead_acute ] };
key <AE02> { [ eacute, 2 ],
[ asciitilde, Eacute ] };
key <AE03> { [ quotedbl, 3 ],
[ numbersign ] };
key <AE04> { [ apostrophe, 4 ],
[ braceleft ] };
key <AE05> { [ parenleft, 5 ],
[ bracketleft ] };
key <AE06> { [ minus, 6 ],
[ bar ] };
key <AE07> { [ egrave, 7 ],
[ dead_grave, Egrave ] };
key <AE08> { [ underscore, 8 ],
[ backslash ] };
key <AE09> { [ ccedilla, 9 ],
[ asciicircum, Ccedilla ] };
key <AE10> { [ agrave, 0 ],
[ at, Agrave ] };
key <AE11> { [ parenright, degree ],
[ bracketright ] };
key <AE12> { [ equal, plus ],
[ braceright ] };
key <BKSP> { [ BackSpace ] };
key <TAB> { [ Tab, ISO_Left_Tab ] };
key <AD01> { [ a, A ],
[ acircumflex, adiaeresis ] };
key <AD02> { [ z, Z ],
[ aring, Aring ] };
key <AD03> { [ e, E ],
[ ecircumflex, ediaeresis ] };
key <AD04> { [ r, R ],
[ registered ] };
key <AD05> { [ t, T ],
[ thorn, THORN ] };
key <AD06> { [ y, Y ],
[ yen ] };
key <AD07> { [ u, U ],
[ ucircumflex, udiaeresis ] };
key <AD08> { [ i, I ],
[ icircumflex, idiaeresis ] };
key <AD09> { [ o, O ],
[ ocircumflex, odiaeresis ] };
key <AD10> { [ p, P ],
[ paragraph ] };
key <AD11> { [ dead_circumflex, dead_diaeresis ],
[ dead_cedilla, dead_tilde ] };
key <AD12> { [ dollar, sterling ],
[ currency ] };
key <RTRN> { [ Return ] };
key <AC01> { [ q, Q ],
[ Acircumflex, Adiaeresis ] };
key <AC02> { [ s, S ],
[ oslash, Ooblique ] };
key <AC03> { [ d, D ],
[ Ecircumflex, Ediaeresis ] };
key <AC04> { [ f, F ],
[ ordfeminine ] };
key <AC05> { [ g, G ],
[ quoteleft ] };
key <AC06> { [ h, H ],
[ quoteright ] };
key <AC07> { [ j, J ],
[ Ucircumflex, Udiaeresis ] };
key <AC08> { [ k, K ],
[ Icircumflex, Idiaeresis ] };
key <AC09> { [ l, L ],
[ Ocircumflex, Odiaeresis ] };
key <AC10> { [ m, M ],
[ masculine ] };
key <AC11> { [ ugrave, percent ],
[ plusminus, Ugrave ] };
key <BKSL> { [ asterisk, mu ],
[ Greek_OMEGA ] };
key <LFSH> { [ Shift_L ] };
key <LSGT> { [ less, greater ],
[ bar ] };
key <AB01> { [ w, W ],
[ eth, ETH ] };
key <AB02> { [ x, X ],
[ ae, AE ] };
key <AB03> { [ c, C ],
[ cent ] };
key <AB04> { [ v, V ],
[ copyright ] };
key <AB05> { [ b, B ],
[ ssharp ] };
key <AB06> { [ n, N ],
[ notsign ] };
key <AB07> { [ comma, question ],
[ questiondown ] };
key <AB08> { [ semicolon, period ],
[ multiply ] };
key <AB09> { [ colon, slash ],
[ division ] };
key <AB10> { [ exclam, section ],
[ exclamdown ] };
key <RTSH> { [ Shift_R ] };
key <LCTL> { [ Control_L ] };
// key <LALT> { [ Alt_L, Meta_L ] };
key <SPCE> { [ space ] };
// key <RALT> { [ Alt_R, Meta_R ] };
key <RCTL> { [ Control_R ] };
key <FK01> { [ F1 ] };
key <FK02> { [ F2 ] };
key <FK03> { [ F3 ] };
key <FK04> { [ F4 ] };
key <FK05> { [ F5 ] };
key <FK06> { [ F6 ] };
key <FK07> { [ F7 ] };
key <FK08> { [ F8 ] };
key <FK09> { [ F9 ] };
key <FK10> { [ F10 ] };
key <FK11> { [ F11 ] };
key <FK12> { [ F12 ] };
key <PRSC> { type= "PC_SYSRQ", symbols[Group1]= [ Print, Execute ] };
key <SCLK> { [ Scroll_Lock ] };
key <PAUS> { type= "PC_BREAK", symbols[Group1]= [ Pause, Break ] };
key <INS> { [ Insert ] };
key <HOME> { [ Home ] };
key <PGUP> { [ Prior ] };
key <DELE> { [ Delete ] };
key <END> { [ End ] };
key <PGDN> { [ Next ] };
key <UP> { [ Up ] };
key <LEFT> { [ Left ] };
key <DOWN> { [ Down ] };
key <RGHT> { [ Right ] };
key <NMLK> { [ Num_Lock, Pointer_EnableKeys ] };
key <KPDV> { [ KP_Divide ] };
key <KPMU> { [ KP_Multiply ] };
key <KPSU> { [ KP_Subtract ] };
key <KP7> { [ KP_Home, KP_7 ] };
key <KP8> { [ KP_Up, KP_8 ] };
key <KP9> { [ KP_Prior, KP_9 ] };
key <KPAD> { [ KP_Add ] };
key <KP4> { [ KP_Left, KP_4 ] };
key <KP5> { [ KP_Begin, KP_5 ] };
key <KP6> { [ KP_Right, KP_6 ] };
key <KP1> { [ KP_End, KP_1 ] };
key <KP2> { [ KP_Down, KP_2 ] };
key <KP3> { [ KP_Next, KP_3 ] };
key <KPEN> { [ KP_Enter ] };
key <KP0> { [ KP_Insert, KP_0 ] };
key <KPDL> { [ KP_Delete, KP_Decimal ] };
modifier_map Shift { Shift_L };
modifier_map Lock { Caps_Lock };
modifier_map Control{ Control_L };
// modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
// modifier_map Mod2 { Num_Lock };
modifier_map Mod3 { Mode_switch };
// modifier_map Mod4 { Meta_L, Meta_R };
// modifier_map Mod5 { Scroll_Lock };
};
// Touches supplΘmentaires sur un clavier "Windows95"
// ▓/│ (carrΘ/cube) par dΘfaut puisqu'on a mis les guillemets franτais !
// key <LWIN> { [ twosuperior, threesuperior ],
// [ onesuperior ] };
// key <RWIN> { [ Mode_switch ] };
// key <MENU> { [ Multi_key ] };
xkb_symbols "pc101" {
key <RALT> { [ Mode_switch, Multi_key ] };
modifier_map Mod3 { Mode_switch };
};
default
xkb_symbols "pc102" {
key <RALT> { [ Mode_switch, Multi_key ] };
modifier_map Mod3 { Mode_switch };
};
xkb_symbols "pc104" {
key <RALT> { [ Mode_switch ] };
key <LWIN> { [ Meta_L ] };
key <RWIN> { [ Multi_key ] };
key <MENU> { [ Menu ] };
modifier_map Mod3 { Mode_switch };
};
xkb_symbols "pc105" {
key <RALT> { [ Mode_switch ] };
key <RWIN> { [ Multi_key ] };
modifier_map Mod3 { Mode_switch };
};
partial alphanumeric_keys
xkb_symbols "nodeadkeys" {
include "french(basic)"
key <AE12> { [ equal, plus ] };
key <AD11> { [ asciicircum, diaeresis ] };
key <AD12> { [ dollar, sterling ] };
key <AB07> { [ comma, question ] };
};
Et enfin voici french.map (α placer dans /usr/lib/kbd/keytables) :
# French keyboard description :
#
# Copyright (c) July 1997 Guylhem Aznar <guylhem@danmark.linux.eu.org>
# Copyright (c) August 1997 Pierre-Charles David <pcdavid@club-internet.fr>
# AjoutΘ : Linefeed, Meta_Control_backslash, Control_backslash, Meta_backslash
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License version
# 2 as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Les dΘfinitions de alt & control (keycode) ne sont qu'optionelles ; n'ont
# donc ΘtΘ redΘfinis alt (nombre) et atl + shift (nombre) pour inverser le
# comportement par dΘfaut : touche = signe ; touche + shift = nombre, or ici
# alt touche = Meta_nombre ; alt + shift touche = Meta_signe
#
# Shift (pavΘ numΘrique) pour taper de l'hΘxadΘcimal !
# control alt suppr : rebooter
# control altgr suppr : arrΩter
#
# ajouter pour ces deux fonction les lignes suivantes α /etc/inittab :
# ca:12345:ctrlaltdel:/sbin/shutdown -t1 -r now
# kb:12345:kbrequest:/sbin/halt
keycode 0 =
keycode 1 = Escape
keycode 2 = ampersand one dead_acute
alt keycode 2 = Meta_one
alt shift keycode 2 = Meta_ampersand
keycode 3 = eacute two tilde Eacute
alt keycode 3 = Meta_two
alt shift keycode 3 = Meta_asciitilde
keycode 4 = quotedbl three numbersign
alt keycode 4 = Meta_three
alt shift keycode 4 = Meta_quotedbl
keycode 5 = apostrophe four braceleft
alt keycode 5 = Meta_four
alt shift keycode 5 = Meta_apostrophe
keycode 6 = parenleft five bracketleft
alt keycode 6 = Meta_five
alt shift keycode 6 = Meta_parenleft
keycode 7 = minus six bar hyphen
alt keycode 7 = Meta_six
alt shift keycode 7 = Meta_minus
keycode 8 = egrave seven dead_grave Egrave
alt keycode 8 = Meta_seven
alt shift keycode 8 = Meta_grave
keycode 9 = underscore eight backslash macron
alt keycode 9 = Meta_eight
alt shift keycode 9 = Meta_underscore
keycode 10 = ccedilla nine circumflex Ccedilla
alt keycode 10 = Meta_nine
alt shift keycode 10 = Meta_asciicircum
keycode 11 = agrave zero at Agrave
alt keycode 11 = Meta_zero
alt shift keycode 11 = Meta_at
keycode 12 = parenright degree bracketright
alt keycode 12 = Meta_parenright
alt shift keycode 12 = Meta_bracketright
keycode 13 = equal plus braceright
alt keycode 13 = Meta_equal
alt shift keycode 13 = Meta_plus
keycode 14 = Delete Remove
alt control keycode 14 = Boot
altgr control keycode 14 = KeyboardSignal
keycode 15 = Tab
keycode 16 = a A acircumflex adiaeresis
keycode 17 = z Z aring Aring
keycode 18 = e E ecircumflex ediaeresis
keycode 19 = r R registered
keycode 20 = t T thorn THORN
keycode 21 = y Y yen
keycode 22 = u U ucircumflex udiaeresis
keycode 23 = i I icircumflex idiaeresis
keycode 24 = o O ocircumflex odiaeresis
keycode 25 = p P paragraph
keycode 26 = dead_circumflex dead_diaeresis dead_cedilla dead_tilde
keycode 27 = dollar pound currency
keycode 28 = Return
alt keycode 28 = 0x080d
altgr keycode 26 = Linefeed
keycode 29 = Control
keycode 30 = q Q Acircumflex Adiaeresis
keycode 31 = s S oslash Oslash
keycode 32 = d D Ecircumflex Ediaeresis
keycode 33 = f F ordfeminine
keycode 34 = g G acute
keycode 35 = h H periodcentered
keycode 36 = j J Ucircumflex Udiaeresis
keycode 37 = k K Icircumflex Idiaeresis
keycode 38 = l L Ocircumflex Odiaeresis
keycode 39 = m M masculine
keycode 40 = ugrave percent plusminus Ugrave
alt keycode 40 = Meta_semicolon
# Mode math
#keycode 41 = twosuperior threesuperior onesuperior periodcentered
# Mode littΘraire + math
keycode 41 = guillemotleft guillemotright twosuperior threesuperior
keycode 42 = Shift
keycode 43 = asterisk mu onehalf
keycode 44 = w W +eth +ETH
keycode 45 = x X +ae +AE
keycode 46 = c C cent
keycode 47 = v V copyright
keycode 48 = b B ssharp
keycode 49 = n N notsign
keycode 50 = comma question questiondown
keycode 51 = semicolon period multiply
keycode 52 = colon slash division
keycode 53 = exclam section exclamdown
keycode 54 = Shift
keycode 55 = KP_Multiply Hex_A Hex_D
keycode 56 = Alt
keycode 57 = space
control keycode 57 = nul
alt keycode 57 = Meta_space
altgr keycode 57 = nobreakspace
# TrΦs utile pour tous ceux ne disposant pas de leurs deux mains
keycode 58 = CapsShift
# Caps_Lock
# ou au choix CapsShift ou Caps_On !
shift keycode 58 = Shift_Lock
control keycode 58 = Control_Lock
alt keycode 58 = Alt_Lock
altgr keycode 58 = AltGr_Lock
keycode 59 = F1 F11 Console_13
alt keycode 59 = Console_1
control alt keycode 59 = Console_1
keycode 60 = F2 F12 Console_14
alt keycode 60 = Console_2
control alt keycode 60 = Console_2
keycode 61 = F3 F13 Console_15
alt keycode 61 = Console_3
control alt keycode 61 = Console_3
keycode 62 = F4 F14 Console_16
alt keycode 62 = Console_4
control alt keycode 62 = Console_4
keycode 63 = F5 F15 Console_17
alt keycode 63 = Console_5
control alt keycode 63 = Console_5
keycode 64 = F6 F16 Console_18
alt keycode 64 = Console_6
control alt keycode 64 = Console_6
keycode 65 = F7 F17 Console_19
alt keycode 65 = Console_7
control alt keycode 65 = Console_7
keycode 66 = F8 F18 Console_20
alt keycode 66 = Console_8
control alt keycode 66 = Console_8
keycode 67 = F9 F19 Console_21
alt keycode 67 = Console_9
control alt keycode 67 = Console_9
keycode 68 = F10 F20 Console_22
alt keycode 68 = Console_10
control alt keycode 68 = Console_10
keycode 69 = Num_Lock Bare_Num_Lock
keycode 70 = Scroll_Lock Show_Memory Show_Registers Show_State
keycode 71 = KP_7 Hex_7
alt keycode 71 = Ascii_7
keycode 72 = KP_8 Hex_8
alt keycode 72 = Ascii_8
keycode 73 = KP_9 Hex_9
alt keycode 73 = Ascii_9
keycode 74 = KP_Subtract Hex_B Hex_E
alt keycode 74 = minus
keycode 75 = KP_4 Hex_4
alt keycode 75 = Ascii_4
keycode 76 = KP_5 Hex_5
alt keycode 76 = Ascii_5
keycode 77 = KP_6 Hex_6
alt keycode 77 = Ascii_6
keycode 78 = KP_Add Hex_C Hex_F
alt keycode 78 = plus
keycode 79 = KP_1 Hex_1
alt keycode 79 = Ascii_1
keycode 80 = KP_2 Hex_2
alt keycode 80 = Ascii_2
keycode 81 = KP_3 Hex_3
alt keycode 81 = Ascii_3
keycode 82 = KP_0 Hex_0
alt keycode 82 = Ascii_0
keycode 83 = KP_Period KP_Comma
altgr control keycode 83 = KeyboardSignal
control alt keycode 83 = Boot
# SysReq = Alt+Print Screen = 84
keycode 84 = Last_Console
keycode 85 =
keycode 86 = less greater bar brokenbar
keycode 87 = F11 F11 Console_23
alt keycode 87 = Console_11
control alt keycode 87 = Console_11
keycode 88 = F12 F12 Console_24
alt keycode 88 = Console_12
control alt keycode 88 = Console_12
keycode 89 =
keycode 90 =
keycode 91 =
keycode 92 =
keycode 93 =
keycode 94 =
keycode 95 =
keycode 96 = KP_Enter
keycode 97 = Control
keycode 98 = KP_Divide
# Print Screen
keycode 99 = Control_backslash
control keycode 99 = Control_backslash
alt keycode 99 = Control_backslash
keycode 100 = AltGr
alt keycode 100 = Compose
# Ctrl+Pause = Break = 101
keycode 101 = Break
keycode 102 = Home
keycode 103 = Up
keycode 104 = PageUp
shift keycode 104 = Scroll_Backward
keycode 105 = Left
alt keycode 105 = Decr_Console
keycode 106 = Right
alt keycode 106 = Incr_Console
keycode 107 = End
keycode 108 = Down
alt keycode 108 = Last_Console
# PageDown == Next
keycode 109 = PageDown
shift keycode 109 = Scroll_Forward
keycode 110 = Insert
keycode 111 = BackSpace BackSpace SAK
alt keycode 111 = Meta_backslash
control keycode 111 = Control_backslash
keycode 112 = Macro
keycode 113 = F13
keycode 114 = F14
keycode 115 = Help
keycode 116 = Do
keycode 117 = F17
keycode 118 = KP_MinPlus
keycode 119 = Pause
keycode 120 =
keycode 121 =
keycode 122 =
keycode 123 =
keycode 124 =
# FenΩtre gauche = Alt puisque d'habitude c'est la position d'Alt !
keycode 125 = Alt
# FenΩtre droite = AltGr puisque d'habitude c'est la position d'AltGr !
keycode 126 = AltGr
# Menu = compose (mΘlanger des signes et des lettres ex : (compose) ' e = Θ
keycode 127 = Compose
string F1 = "\033[[A"
string F2 = "\033[[B"
string F3 = "\033[[C"
string F4 = "\033[[D"
string F5 = "\033[[E"
string F6 = "\033[17~"
string F7 = "\033[18~"
string F8 = "\033[19~"
string F9 = "\033[20~"
string F10 = "\033[21~"
string F11 = "\033[23~"
string F12 = "\033[24~"
string F13 = "\033[25~"
string F14 = "\033[26~"
string F15 = "\033[28~"
string F16 = "\033[29~"
string F17 = "\033[31~"
string F18 = "\033[32~"
string F19 = "\033[33~"
string F20 = "\033[34~"
string F21 = ""
string F22 = ""
string F23 = ""
string F24 = ""
string F25 = ""
string F26 = ""
string Home = "\033[1~"
string Insert = "\033[2~"
string Remove = "\033[3~"
string End = "\033[4~"
string PageUp = "\033[5~"
string PageDown = "\033[6~"
string Macro = "\033[M"
string Pause = "\033[P"
compose '`' 'A' to '└'
compose '`' 'a' to 'α'
compose '\'' 'A' to '┴'
compose '\'' 'a' to 'ß'
compose '^' 'A' to '┬'
compose '^' 'a' to 'Γ'
compose '~' 'A' to '├'
compose '~' 'a' to 'π'
compose '"' 'A' to '─'
compose '"' 'a' to 'Σ'
compose 'O' 'A' to '┼'
compose 'o' 'a' to 'σ'
compose '0' 'A' to '┼'
compose '0' 'a' to 'σ'
compose 'A' 'A' to '┼'
compose 'a' 'a' to 'σ'
compose 'A' 'E' to '╞'
compose 'a' 'e' to 'µ'
compose ',' 'C' to '╟'
compose ',' 'c' to 'τ'
compose '`' 'E' to '╚'
compose '`' 'e' to 'Φ'
compose '\'' 'E' to '╔'
compose '\'' 'e' to 'Θ'
compose '^' 'e' to 'Ω'
compose '"' 'E' to '╦'
compose '"' 'e' to 'δ'
compose '`' 'I' to '╠'
compose '`' 'i' to '∞'
compose '\'' 'I' to '═'
compose '\'' 'i' to 'φ'
compose '^' 'I' to '╬'
compose '^' 'i' to 'ε'
compose '"' 'I' to '╧'
compose '"' 'i' to '∩'
compose '-' 'D' to '╨'
compose '~' 'N' to '╤'
compose '~' 'n' to '±'
compose '`' 'O' to '╥'
compose '`' 'o' to '≥'
compose '\'' 'O' to '╙'
compose '\'' 'o' to '≤'
compose '^' 'O' to '╘'
compose '^' 'o' to '⌠'
compose '~' 'O' to '╒'
compose '~' 'o' to '⌡'
compose '"' 'O' to '╓'
compose '"' 'o' to '÷'
compose '/' 'O' to '╪'
compose '/' 'o' to '°'
compose '`' 'U' to '┘'
compose '`' 'u' to '∙'
compose '\'' 'U' to '┌'
compose '\'' 'u' to '·'
compose '^' 'u' to '√'
compose '"' 'U' to '▄'
compose '"' 'u' to 'ⁿ'
compose '\'' 'Y' to '▌'
compose '\'' 'y' to '²'
compose 's' 's' to '▀'
compose 's' 'z' to '▀'
# si quelqu'un veut bien y inclure des ½compose╗ pour les autres caractΦres
# latin1 comme les guillemets franτais, le copyright (...) qu'il me les envoie !