Linux Zone

| HowTo Linux Zone | Linux Zone Home | E-Mail Me |

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&SHY;

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&SHY;

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&SHY;

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 !


| HowTo Linux Zone | Linux Zone Home | E-Mail Me |

Copyright 1999

Linux Zone