home *** CD-ROM | disk | FTP | other *** search
/ PC World 1999 August / PCWorld_1999-08_cd.bin / doc / HOWTO / French-HOWTO < prev    next >
Text File  |  1998-02-22  |  72KB  |  1,991 lines

  1.   Le French-HOWTO : Linux & la langue franτaise
  2.   ╔crit par Guylhem Aznar, guylhem@danmark.linux.eu.org
  3.   v1.30, August 1997
  4.  
  5.   Copyright (⌐) Juillet 1997, Guylhem Aznar.  Librement distribuable &
  6.   modifiable selon les termes de la GPL.
  7.  
  8.   1.  PrΘsentation
  9.  
  10.   Ce document a ΘtΘ Θcrit pour aider α configurer un ordinateur dotΘ du
  11.   systΦme d'exploitation Linux pour des utilisateurs francophones ; il y
  12.   est expliquΘ par exemple comment configurer pΘriphΘriques &
  13.   applications afin de prendre en compte les particularitΘs & les
  14.   spΘcificitΘs de notre langue...
  15.  
  16.   Toutefois, ce document ne traite pas de l'installation du systΦme
  17.   d'exploitation Linux ; il est implicitement supposΘ que vous avez
  18.   correctement installΘ une distribution de Linux (RedHat, Debian ou
  19.   Slackware, cette liste n'Θtant pas exhaustive) & que vous vous
  20.   apprΩtez maintenant α mieux la configurer ; veuillez donc vous rΘfΘrer
  21.   α d'autres HOWTOs pour l'installation.  Les franτais ne sont pas les
  22.   seuls francophones !
  23.  
  24.   Pour chaque manipulation dΘpendant de la ½ nationalitΘ ╗, quatre
  25.   versions sont donc proposΘes : une canadienne franτaise, une belge
  26.   wallone, une franτaise & une suisse romande.  Le Grand DuchΘ du
  27.   Luxembourg utilisant les mΩmes standards que la France, j'invite les
  28.   lecteurs luxembourgeois α se reporter aux exemples franτais !
  29.  
  30.   Toutefois seuls les fichiers destinΘs aux franτais (table de clavier
  31.   en mode console, X...) sont inclus, puisque la majoritΘ des lecteurs
  32.   seront certainement franτais & que seuls ces fichiers prΘsentent des
  33.   amΘliorations par rapport aux dΘfauts.
  34.  
  35.   Envoyez-moi donc vos fichiers belges, canadiens, luxembourgeois ou
  36.   suisses ; ils seront inclus avec plaisir s'ils se montrent plus utiles
  37.   que ceux proposΘs par dΘfaut !
  38.  
  39.   2.  Les problΦmes
  40.  
  41.   Le problΦme de tout utilisateur non-amΘricain lors de l'installation
  42.   de Linux est de lui faire comprendre que, justement, il n'est pas
  43.   amΘricain !
  44.  
  45.   Cela a des consΘquences sur :
  46.  
  47.   ╖  les caractΦres spΘciaux que l'on utilise, accentuΘs (╔ ╚ └ ╟) ou
  48.      bien ligaturΘs ( ╞ , voire ½ e dans l'o ╗ qui n'existe mΩme pas en
  49.      standard sous Linux ; j'espΦre bient⌠t prΘsenter ici une solution
  50.      simple pour en disposer !)
  51.  
  52.   ╖  la correspondance entre la sΘrigraphie des cabochons (touches) sur
  53.      lesquels vous appuyez & les codes que Linux renvoie, celui-ci
  54.      supposant un clavier QWERTY amΘricain par dΘfaut
  55.  
  56.   ╖  le format de page pris en charge par les programmes que vous
  57.      utilisez pour imprimer, diffΘrent entre les ╔tats-Unis (14 x 8,5
  58.      pouces pour du papier dit lΘgal) & l'Europe (29,7 x 21 cm pour des
  59.      feuilles a4)
  60.  
  61.   Tout Θtant prΘconfigurΘ pour un anglophone nord-amΘricain -bien que
  62.   ceux-ci ne reprΘsentent pas la majoritΘ de la population mondiale- ,
  63.   il faut donc se faire reconnaεtre comme une ½ exception ╗ par les
  64.   diffΘrents programmes, par des options ou des variables α exporter
  65.   voire dans les pires des cas une modification du code source suivie
  66.   d'une recompilation.
  67.  
  68.   Heureusement, ½ l'esprit ╗ de Linux rend le systΦme trΦs ouvert α des
  69.   modifications de toute sorte & comme vous allez le dΘcouvrir au fil de
  70.   ce document, il est assez simple d'obtenir un rΘsultat trΦs correct.
  71.  
  72.   Pour le moment, le futur de l'internationalisation de Linux porte sur
  73.   la traduction des messages d'erreur, des programmes, des pages de
  74.   manuel & de la documentation, alors si vous vous sentez l'Γme d'un
  75.   traducteur, n'hΘsitez pas α contacter l'Θquipe de traduction des
  76.   HOWTOs ; pour celα, adressez-vous α ╔ric Dumas (dumas@freenix.fr ou
  77.   dumas@Linux.EU.Org) & α xc@itp.fr .
  78.  
  79.   3.  Le vocabulaire : petit lexique
  80.  
  81.   Tout d'abord, un mot sur le vocabulaire employΘ :
  82.  
  83.   Des caractΦres sont dits ½ 8 bits ╗ s'ils contiennent par exemple des
  84.   accents ou des signes spΘciaux (comme paragraphe), non inclus dans le
  85.   standard ASCII 7 bits (sans accents ni caractΦres spΘciaux).
  86.  
  87.   Une table de clavier est un fichier permettant de faire correspondre
  88.   l'empreinte physique des cabochons (touches) du clavier au rΘsultat
  89.   obtenu sur l'Θcran de l'ordinateur.
  90.  
  91.   Les touches ½ Home ╗, ½ End ╗, ½ Page Up ╗ & ½ Page Down ╗ (dont les
  92.   noms varient selon les claviers) sont les touches permettant
  93.   respectivement d'aller en dΘbut/fin de ligne & de monter/descendre
  94.   d'une page.
  95.  
  96.   Une touche morte est une touche qui doit Ωtre suivie d'un espace pour
  97.   obtenir l'accent circonflexe seul, ou dans le cas o∙ elle est suivie
  98.   d'une voyelle y positionne un accent, par exemple :
  99.  
  100.        ^ + e donne Ω
  101.  
  102.   Les touches mortes sont :
  103.  
  104.   ╖  pour les claviers belges & franτais, l'accent aigu (en AltGr de 1
  105.      pour les franτais & en AltGr de ∙ pour les belges), l'accent grave
  106.      (en AltGr de 7 pour les franτais & en AltGr de carrΘ/cube pour les
  107.      belges), le trΘma & l'accent circonflexe (tous deux α c⌠tΘ du P)
  108.  
  109.   ╖  pour les canadiens, les accent graves, circonflexes, les trΘmas &
  110.      la cΘdille
  111.  
  112.   ╖  pour les suisses, les accent aigus, graves, circonflexes, les
  113.      trΘmas & la tilde
  114.  
  115.   Enfin, voici une petite explication de la diffΘrence entre GMT & UTC
  116.   par Edgar Bonet Orozco :
  117.  
  118.   GMT est l'heure solaire moyenne de Greenwich. L'heure est comptΘe α
  119.   partir de midi et est donc dΘcalΘe de 12 h  par rapport au temps
  120.   universel. GMT est basΘe sur la rotation de la Terre, ce n'est donc
  121.   pas un temps rΘgulier. En effet, la vitesse de rotation de la Terre
  122.   subit des variations faibles mais assez cahotiques, en plus elle
  123.   diminue sur le long terme.
  124.  
  125.   UTC (temps universel coordonnΘ) est comptΘ α partir de minuit
  126.   (toujours par rapport au mΘridien zΘro). Il est basΘ sur des Θtalons
  127.   atomiques, mais des secondes intercalaires sont ajoutΘes
  128.   occasionnellement pour faire en sorte qu'il ne s'Θcarte jamais de plus
  129.   de une seconde de l'heure solaire moyenne. Tu auras plus de prΘcisions
  130.   sur la dΘtermination de UTC dans "http://opdaf1.obspm.fr/", et en
  131.   particulier dans "http://opdaf1.obspm.fr/www/lexique.html".
  132.  
  133.   C'est le temps UTC qui sert de rΘfΘrence aux diffΘrentes heures
  134.   lΘgales.  L'acronyme "GMT" est employΘ 99% du temps pour dΘsigner UTC,
  135.   mais c'est une erreur (ou un abus de langage).
  136.  
  137.   4.  RΘglage du clavier sous Linux
  138.  
  139.   Il existe deux programmes pour configurer votre clavier : un pour la
  140.   console : loadkeys & un pour XFree : xkbd.
  141.  
  142.   Pour installer un clavier franτais sous Linux, tapez selon que vous
  143.   soyez respectivement Franτais, Canadien Franτais, Belge Wallon ou
  144.   Suisse Roman :
  145.  
  146.        loadkeys french.map
  147.        loadkeys cf.map
  148.        loadkeys be-latin1.map
  149.        loadkeys sf-latin1.map
  150.  
  151.   french.map est inclu dans ce HOWTO (au chapitre ½ Fichiers inclus ╗) &
  152.   tous les autres fichiers se trouvent d'ordinaire dans le rΘpertoire
  153.   /usr/lib/kbd/keytables.
  154.  
  155.   Si vous utilisez french.map & french (pour X window : cf. chapitre
  156.   ½RΘgler le clavier pour X window╗), N'UTILISEZ PLUS :
  157.  
  158.        stty erase ^H
  159.        ou
  160.        stty erase ^?
  161.  
  162.   ½ stty erase ╗ ne sert en effet qu'α Θtablir une correspondance entre
  163.   le code que renvoie une touche et la fonction erase (effacer le
  164.   caractΦre).
  165.  
  166.   Les tables fournies dans ce HOWTO fonctionnent correctement & ne
  167.   nΘcessitent donc pas de stty erase !
  168.  
  169.   D'habitude, loadkeys est exΘcutΘ par des scripts au dΘmarrage ; par
  170.   exemple dans /etc/rc.d/init.d/keytable ou /etc/rc.d/rc.local (...) ;
  171.   la commande :
  172.  
  173.         find
  174.        /etc/rc.d -type f | xargs grep loadkeys
  175.  
  176.   vous fournira sur le nom exact du fichier lanτant loadkeys ; il vous
  177.   suffit alors de l'Θditer pour que vos modifications soient dΘsormais
  178.   prise en en compte α chaque dΘmarrage.
  179.  
  180.   Si vous rencontrez les messages d'erreur suivants :
  181.  
  182.        loadkeys french
  183.        Loading /usr/lib/kbd/keytables/french.map
  184.        unknown keysym 'dead_cedilla'
  185.        /usr/lib/kbd/keytables/french.map:67: parse error
  186.        syntax error in map file
  187.        key bindings not changed
  188.  
  189.   celα signifie que votre version de kbd (dont le programme loadkeys
  190.   dΘpend) est trop vieille : il faut vous procurer une version plus
  191.   rΘcente du programme.
  192.  
  193.   Il existait & existe encore des versions des tables de clavier pour
  194.   ceux ne voulant ni touches mortes ni accents, or cela tombe
  195.   actuellement en dΘsuΘtude puisque la grande majoritΘ des programmes
  196.   prennent dΘsormais en charge ces fameuses touches mortes et les
  197.   caractΦres accentuΘs.
  198.  
  199.   De plus, les tables fournies avec ce HOWTO permettent de se servir des
  200.   touches mortes ou de s'en passer si un programme les refuse, les deux
  201.   cas ayant ΘtΘ prΘvus.
  202.  
  203.   5.  RΘglage du clavier sous XFree
  204.  
  205.   Pour XFree, votre fichier XF86Config doit contenir une section
  206.   Keyboard :
  207.  
  208.        Section "Keyboard"
  209.        Protocol        "Standard"
  210.        AutoRepeat      500 30
  211.        LeftAlt         Meta
  212.        RightAlt        ModeShift               # Important pour Alt-gr, mais dans les
  213.                                                # versions rΘcentes de XFree,
  214.                                                # AltGr & RightAlt sont synonymes.
  215.        ScrollLock      Compose                 # Pour faire des caractΦres spΘciaux.
  216.                                                # Utiliser sinon une des 3 touches des
  217.                                                # nouveaux claviers 105 touches...
  218.        RightCtl        Control
  219.  
  220.        XkbKeycodes     "xfree86"       #
  221.        XkbSymbols      "french(pc102)" #
  222.        XkbGeometry     "pc(pc102)"     #  Tout est nΘcessaire pour xkb
  223.        XkbModel        "pc102"         #
  224.        XkbLayout       "french"        #
  225.        # ou ½ ca ╗ ou ½ be ╗ ou ½ fr_CH ╗ ; si vous Ωtes canadien, remplacez
  226.        # ½ french(pc102) ╗ par ½ us ╗ (½ quebec ╗, compatible avec ½ french ╗,
  227.        # sera bient⌠t disponible)
  228.        EndSection
  229.  
  230.   Pour cette partie Xkb, certains prΘfΦrent :
  231.  
  232.        XkbKeymap "xfree86(french)"
  233.        XkbKeycodes  "xfree86"
  234.        XkbSymbols   "en_US(pc101)+french"
  235.        XkbGeometry  "pc(pc101)"
  236.  
  237.   ½ french ╗ est disponible α la fin de ce fichier !
  238.  
  239.   Mettre ½ french ╗ dans /usr/X11R6/lib/X11/xkb/symbols/french & ½
  240.   french.map ╗ dans /usr/lib/kbd/keytables/french.map.
  241.  
  242.   Attention !
  243.  
  244.   xkb n'est disponible que pour des versions de XFree supΘrieures ou
  245.   Θgales α 3,2 !
  246.  
  247.   Si vous n'avez pas de rΘpertoire /usr/X11R6/lib/X11/xkb/symbols/ ,
  248.   procurez-vous donc une version plus rΘcente de X window !
  249.  
  250.   Sans xkb, XFree se rabattra par dΘfaut sur votre configuration de
  251.   clavier pour Linux (avec loadkeys).  Toutefois, la translation n'est
  252.   pas parfaite & je vous recommanderais plut⌠t d'Θviter cette option,
  253.   aussi bien que l'ancien gestionnaire de clavier Xmodmap.
  254.  
  255.   Il se peut aussi que sans aucune commande pour xkb, XFree vous
  256.   considΦre comme utilisateur d'un clavier anglo-amΘricain !
  257.  
  258.   Il convient donc d'utiliser ½ fr ╗ ou ½ french ╗ avec xkb ; toutefois
  259.   ce dernier permet d'utiliser de multiples amΘliorations pour disposer
  260.   du plus de confort possible (gage de confort : je l'utilise
  261.   actuellement :-) ).
  262.  
  263.   Par exemple, certains programmes comme Netscape (tm) ne savent pas
  264.   encore gΘrer les touches mortes ... donc impossible de taper par
  265.   exemple des Ω ou des ε sur les claviers belges & franτais, puisque la
  266.   touche morte ½ accent circonflexe ╗ est le seul moyen d'obtenir ces
  267.   caractΦres !
  268.  
  269.   ½ french ╗ rΘpond α ce problΦme en proposant une solution de
  270.   remplacement : AltGr (voyelle) permet d'obtenir la voyelle avec un
  271.   accent grave, AltGr+Shift (voyelle) permet d'obtenir la voyelle avec
  272.   un trΘma !
  273.  
  274.   Voici la table complΦte des correspondances :
  275.  
  276.   ╖  AltGr (voyelle) : voyelle accent grave
  277.  
  278.   ╖  AltGr + Shift (voyelle) : voyelle trΘma
  279.  
  280.   ╖  AltGr (touche au dessous de la voyelle) : voyelle majuscule accent
  281.      grave
  282.  
  283.   ╖  AltGr + Shift (touche au dessous de la voyelle) : voyelle majuscule
  284.      trΘma
  285.  
  286.   ╖  AltGr + Shift (minuscule accentuΘe) : majuscule accentuΘe
  287.  
  288.   Par exemple :
  289.  
  290.   ╖  AltGr (e) : Ω
  291.  
  292.   ╖  AltGr + Shift (∙) : ┘
  293.  
  294.   L'astuce marche aussi pour le c cΘdille :
  295.  
  296.   ╖  AltGr + Shift (τ) : ╟
  297.  
  298.   Donc mΩme dans les pires conditions (si aucune touche morte ne
  299.   fonctionne), on peut quand mΩme accΘder α toutes les voyelles
  300.   accentuΘes, majuscules & minuscules !
  301.  
  302.   Vous y trouverez en plus les guillemets franτais (½ ╗), les symboles
  303.   employΘs en physique (▀, σ, delta, phi ...), des signes de monnaies
  304.   (yen, ó) ou de copyright ([TM], ⌐) ainsi que des lettres d'autres
  305.   langues (╪, ╞ ...).
  306.  
  307.   Tous ces signes s'obtiennent grΓce α AltGr (lettre), par exemple AltGr
  308.   (b) donne ▀, AltGr (r) donne [TM], AltGr (y) donne yen...
  309.  
  310.   Pour ce qui est du choix entre les deux... α vous de voir !
  311.  
  312.   Un conseil : essayez l'un puis l'autre.
  313.  
  314.   Une autre mΘthode pour obtenir des caratΦres 8 bits :
  315.  
  316.   Dans /usr/X11R6/lib/X11/locale/iso8859-1/Compose se trouve une table
  317.   de ½ correspondance ╗ entre deux caractΦres & un rΘsultat ; les deux
  318.   caractΦres sont ½ mΘlangΘs ╗ lors de l'appui sur la touche Compose :
  319.   par exemple;
  320.  
  321.        Compose e ^ a toutes les chances de vous donner Ω
  322.  
  323.   Pour utiliser la touche Compose, vous devez l'affecter α une touche !
  324.  
  325.   Le paramΘtrage prΘconisΘ, rΘglΘ dans XF86Config, la fait correspondre
  326.   α la touche ½ ArrΩt DΘfil ╗ par la commande :
  327.  
  328.   ScrollLock   Compose
  329.  
  330.   dans la section keyboard.
  331.  
  332.   ╔ditez votre fichier de configuration & remplacez par exemple :
  333.  
  334.       key <TLDE> {        [     twosuperior,   threesuperior      ]       };
  335.  
  336.   par :
  337.  
  338.       key <TLDE> {        [     twosuperior,   threesuperior      ],
  339.  
  340.                                 [     Compose                           ]       };
  341.  
  342.   Si vous avez par exemple un clavier belge ou franτais, dΘsormais
  343.   appuyer sur la touche ▓/│ (carrΘ/cube) vous donnera normalement ▓
  344.   (carrΘ), en majuscule │ (cube) & en AltGr la fameuse fonction Compose
  345.   ; vous pouvez bien sur dΘcider d'attribuer Compose α une autre touche
  346.   ; je vous recommande toutefois d'utiliser ScrollLock, bien moins
  347.   utilisΘe que les autres touches.
  348.  
  349.   NB : La touche ▓/│ (carrΘ/cube), peu utilisΘe, est par dΘfaut assignΘe
  350.   aux guillemets franτais ( ½ ╗ ), ▓ & │ restant accessible
  351.   respectivement en AltGr & AltGr + Shift ainsi que par l'accent
  352.   circonflexe suivi du chiffre.
  353.  
  354.   Pour modifier ce comportement par dΘfaut, il vous suffit avant
  355.   d'utiliser les fichiers de configuration pour XFree & linux en mode
  356.   console de repΘrer la ligne mise en commentaire au dΘbut du fichier et
  357.   de supprimer ce commentaire !
  358.  
  359.   6.  RΘglage du clavier pour les applications en mode texte
  360.  
  361.   Avertissement :
  362.  
  363.   Cette section est fortement ½ inspirΘe ╗ pour le rΘglage d'emacs, zsh,
  364.   tcsh, flex, less, rlogin, joe, col & TeX du Guide du Rootard & de
  365.   documents rassemblΘs sous le nom de ½ Francophones-HOWTO ╗ qui hΘlas
  366.   n'a jamais ΘtΘ fini.
  367.  
  368.   Les auteurs respectifs sont donc remerciΘs pour leurs contributions !
  369.  
  370.   Tout d'abord :
  371.  
  372.   Le huitiΦme bit doit survivre α l'entrΘe du noyau, assurez-vous-en
  373.   donc avec :
  374.  
  375.   stty cs8 -istrip -parenb
  376.  
  377.   Ensuite, il convient de s'assurer que l'application est apte α
  378.   supporter les caractΦres 8 bits : par exemple, ispell n'est pas
  379.   compilΘ pour des caractΦres 8 bits par dΘfaut : il faut le recompiler
  380.   sans l'option :
  381.  
  382.   -NO8BIT
  383.  
  384.   Enfin, charger une police de caractΦres adaptΘes :
  385.  
  386.   setfont /usr/lib/kbd/consolefonts/xxx-NNN
  387.  
  388.   ╖  xxx repΘsente le type de police ; il doit s'agir d'une iso01 ou
  389.      lat1 pour les francophones sinon il n'y a plus de caractΦres ½
  390.      Θtendus ╗ (voyelles accentuΘs, symboles de ponctuation comme
  391.      paragraphe... )
  392.  
  393.   ╖  NNN reprΘsente la taille individuelle de chaque caractΦre ; 08 est
  394.      presque illisible mais 16 est un peu gros... └ rΘgler selon les
  395.      go√ts de chacun.
  396.  
  397.   ╔ric Dubreuil (edubreuil@aol.com) vous conseille pour sa part la
  398.   police lat1u-16.psf, permettant d'avoir tous les caractΦres accentuΘes
  399.   sans pour autant enlaidir mc, un gestionnaire de fichier trΦs
  400.   populaire mais trΦs sensible α la police utilisΘe !
  401.  
  402.   0) Linux
  403.  
  404.   Linux en 'version franτaise' existe... mais ne semble pas facile α
  405.   obtenir.
  406.  
  407.   Il faut en pratique disposer des sources de la libc & d'un minimum de
  408.   compΘtences (langage C).
  409.  
  410.   Voici donc, pour la bonne bouche, quelques renseignements collectΘs...
  411.  
  412.   Laurent Chemla nous pilote : ½ Si j'ai suivi, il y a deux trucs qui
  413.   font la meme chose, d'ou embrouille, les locales et un truc appelΘ
  414.   nls.
  415.  
  416.   Les locales, sous Linux, τa va par dΘfaut dans /usr/lib/locale, et τa
  417.   contient de quoi prΘciser entre autres le format des nombres
  418.   (LC_NUMERIC), les retours des fonctions ctype (isalpha etc)
  419.   (LC_CTYPE), le format des sommes d'argent (LC_MONETARY), le format des
  420.   dates (LC_TIME) et encore d'autres dΘtails. Sur certains Unix, il y a
  421.   aussi LC_MESSAGES, qui contient les messages de l'OS dans la langue
  422.   choisie par la variable d'environnement LC_MESSAGES. Pas sous Linux.
  423.   Sous Linux, c'est nls qui fait τa, et de fait, nls gΩre un fichier qui
  424.   est dans /etc/locale/.  (NDG : De nos jours, ils se trouvent plut⌠t
  425.   dans /usr/lib/locale) D'o∙ l'embrouille. Ils auraient mis τa dans
  426.   /usr/lib/nls, comme tout le monde, τa aurait evite la confusion. Mais
  427.   bon.
  428.  
  429.   Donc, si l'on veut se tenir α jour d'nls, il suffit d'aller dans les
  430.   sources de libc/nls, faire 'make french' et copier libc.dat dans
  431.   /etc/locale/C/libc.dat et toc, tous les messages sont en francais. Y
  432.   compris ceux des programmes qui n'utilisent pas setlocale(): c'est
  433.   perror() qui fait le boulot (du moins je suppose).
  434.  
  435.   Si l'on veut en plus que les programmes qui utilisent setlocale()
  436.   utilisent nos rΦgles franτaises, lα il faut aller dans les sources de
  437.   libc/locale et dans chacun des sous-rΘpertoires jeter un oeil sur le
  438.   fichier exemple, le modifier pour le franτais (c'est des tout petits
  439.   fichiers), et faire 'make', avant de copier le rΘsultat dans
  440.   /usr/lib/local/fr/ et de faire un 'export LC_ALL=fr'.  ╗
  441.  
  442.   1) Les shells
  443.  
  444.   Ces variables doivent Ωtre exportΘes α chaque login : mettez les donc
  445.   dans .bashrc & .bash_profile, .tcshrc ou /etc/profile :
  446.  
  447.        # pour tcsh, utiliser setenv au lieu de export, par exemple ½setenv LANG fr╗
  448.  
  449.        # Les locales
  450.        LC_CTYPE=ISO-8859-1
  451.        LC_ALL=fr_FR
  452.        # (ou fr_BE, fr_CA, fr_CH, fr_LU ...)
  453.        LANG=fr
  454.        LESSCHARSET=latin1
  455.        export PATH PS1 LC_CTYPE LC_ALL LANG LESSCHARSET
  456.  
  457.        # Les raccourcis : sans ll ou d, impossible de voir les fichiers comprenant des
  458.        # caractΦres 8 bits ...
  459.        alias q="cd .."
  460.        alias ll="ls --color=auto -a -N -l"
  461.        alias d="ls --color=auto -a -N"
  462.  
  463.        # Au cas o∙ del/backspace ne fonctionne pas, essayez l'un des deux :
  464.        #stty erase ^?
  465.        #stty erase ^H
  466.  
  467.   N'oubliez pas : tous les fichiers ici citΘs dont le nom commence par ½
  468.   .  ╗ doivent se trouver dans votre rΘpertoire maison !
  469.  
  470.   a) Pour bash (version 1.13.*), crΘez un .inputrc:
  471.  
  472.        # Permettre de rentrer & recevoir des caractΦres accentuΘs
  473.        set meta-flag on
  474.        set convert-meta off
  475.        set input-meta on
  476.        set output-meta on
  477.  
  478.        # Pas de bip audible mais visible
  479.        # set bell-style visible
  480.  
  481.        # Pour faire marcher Home, End, Delete, Esc + Delete & Esc + Backspace
  482.        "\e[1~":beginning-of-line
  483.        "\e[3~":delete-char
  484.        "\e[4~":end-of-line
  485.        "\e\C-h": backward-kill-word
  486.        "\e\e[3~": kill-word
  487.  
  488.   Celα vous permettra d'effacer des caractΦres vers l'avant avec DELETE
  489.   (souvent nommΘe DEL ou SUPPR) et vers l'arriΦre avec BACKSPACE (touche
  490.   situΘe α c⌠tΘ d' ½ EntrΘe ╗ ), ceci n'Θtant pas prΘvu sur les tables
  491.   de clavier par dΘfaut ½ mimant ╗ le comportement d'un clavier de
  492.   console VT100 .
  493.  
  494.   Les deux derniΦres options vous permettront d'utiliser Home & End pour
  495.   aller au dΘbut & α la fin de la ligne en cours d'Θdition.
  496.  
  497.   b) zsh se contente d'un stty pass8.
  498.  
  499.   c) Pour tcsh, placer, dans le fichier /etc/csh.login (ou dans les
  500.   fichiers .tcshrc des utilisateurs concernΘs) :
  501.  
  502.   setenv LC_CTYPE iso_8859_1
  503.   setenv LANG fr
  504.  
  505.   d) Pour tous les shells
  506.  
  507.   Remplacer 'iso_8859_1' par 'iso-8859-1' si cela ne fonctionne pas,
  508.   voire french.iso88591.fr_FR (ou fr_BR, fr_CA, fr_CH, fr_LU ...)
  509.  
  510.   └ propos de LANG, Pablo Saratxaga signale qu'il vaut mieux Θviter
  511.   fr_FR : ½ Par ailleurs je conseille un simple "fr" plut⌠t que fr_FR
  512.   etc.  Certains programmes n'aiment pas trop (ils ne passent pas
  513.   vraiment par la resolution de locales mais lisent LANG
  514.   directemment...) ╗
  515.  
  516.   Si nls est installe,  les  routines  correspondantes  sont  utilisees,
  517.   sinon tcsh  agit en iso_8859_1, quelle que soit les valeurs donnees a
  518.   LANG & LC_CTYPE : cf. la section NATIVE LANGUAGE SYSTEM de tcsh(1).
  519.  
  520.   D'aprΦs le Danish-HOWTO:
  521.  
  522.   setenv LC_CTYPE ISO-8859-1; stty pass8
  523.  
  524.   2) L'heure
  525.  
  526.   Rien n'est plus facile que de laisser α Linux le soin de passer de
  527.   l'heure d'ΘtΘ α l'heure d'hiver & rΘciproquement...
  528.  
  529.   a) D'abord, quelle heure est-il :-) ?
  530.  
  531.   AprΦs avoir regardΘ sur la pendule la plus proche de vous, tapez :
  532.  
  533.   clock
  534.  
  535.   puis
  536.  
  537.   date
  538.  
  539.   La premiΦre heure est celle du bios, la seconde celle calculΘe par
  540.   Linux α partir de /etc/zoneconfig.
  541.  
  542.   Pour peu que vous ayez installΘ timezone, votre machine peut jongler
  543.   aisΘment entre les diffΘrents fuseaux horaires... ce que les DOS ou
  544.   Windows ne permettent pas !
  545.  
  546.   b) L'heure du choix !
  547.  
  548.   De lα, deux possibilitΘes : soit vous dΘcidez de laisser l'heure
  549.   systΦme α l'heure locale (peu pratique, exceptΘ si vous hΘbergez aussi
  550.   sur votre disque dur ces systΦmes d'exploitation peu ΘvoluΘ, ne
  551.   sachant mΩme pas exploiter les fuseaux horaires), soit vous passez α
  552.   l'heure de Greenwich, Linux se chargeant de l'adapter α votre fuseau
  553.   horaire.
  554.  
  555.   Dans ce cas, les grands voyages α l'Θtranger avec un portable tout
  556.   neuf ΘquipΘ de Linux se feront en toute simplicitΘ : le dernier
  557.   pargraphe vous expliquera comment changer de fuseau horaire
  558.   facilement...
  559.  
  560.   c) Le rΘglage
  561.  
  562.   Pour procΘder, regardez d'abord si l'heure systΦme retournΘe par clock
  563.   est l'heure locale ou l'heure de Greenwich (vous avez bien regardΘ une
  564.   pendule comme je vous le conseille plus haut, n'est-ce pas ?).
  565.  
  566.   Si clock vous retourne l'heure locale, il va falloir jongler un peu
  567.   avec les fuseaux horaires, sinon passez directement α l'Θtape ½
  568.   rΘglage du fuseau ╗.
  569.  
  570.   ╖  Pour les franτais, belges wallons & suisses romans :
  571.  
  572.   Vous Ωtes normalement dans une zone horaire MET (Medium European Time,
  573.   soit GMT+1).
  574.  
  575.   La zone ½ MET DST ╗ correspond elle α l'heure d'ΘtΘ active (GMT + 2).
  576.  
  577.   Selon les dΘcisions futures de la cour europΘenne, l'heure d'ΘtΘ
  578.   (daylight savings) risque d'Ωtre abandonnΘ...  ce qui compliquera
  579.   cette explication !
  580.  
  581.   ╖  Pour les canadiens franτais :
  582.  
  583.   Vous Ωtes dans une zone horaire GMT-4 si vous habitez autour de
  584.   MontrΘal .
  585.  
  586.   Pour les autres provinces, consulter un dictionnaire !
  587.  
  588.   PremiΦrement, effacez le fichier /etc/localtime ou
  589.   /usr/lib/zoneinfo/localtime (l'emplacement varie selon les
  590.   distributions ; si vous avez les deux fichiers, effacez /etc/localtime
  591.   : l'autre fichier doit certainement Ωtre un lien vers /etc/localtime).
  592.  
  593.   DΦs lors, clock & date doivent vous retourner la mΩme heure...
  594.  
  595.   ╖  Pour les canadiens franτais : utilisez GMT+4
  596.  
  597.   ╖  Pour les franτais, belges wallons & suisses romans :
  598.  
  599.   Si vous lisez ce document en ΘtΘ, le dΘcalage de l'heure locale par
  600.   rapport α l'heure de Greenwich est de deux heures, on va donc mettre
  601.   temporairement le fuseau en GMT-2, soit vous lisez ce document en
  602.   hiver & il convient de remplacer tous les ½ 2 ╗ par des ½ 1 ╗ dans les
  603.   exemples suivants...
  604.  
  605.   GMT-2 ?!!? Alors que le fuseau est GMT+2 ?
  606.  
  607.   Ceci va vous retourner l'heure de Greenwich dont on a besoin pour
  608.   rΘgler le systΦme : tapez :
  609.  
  610.   ln -sf /usr/lib/zoneinfo/Etc/GMT-2 /etc/zoneconfig
  611.  
  612.   clock
  613.  
  614.   date
  615.  
  616.   L'heure calculΘe correspond donc α l'heure de Greenwich, l'heure
  617.   systΦme α l'heure locale... soit l'inverse de ce que l'on veut.
  618.  
  619.   Un simple : clock -w
  620.  
  621.   Va alors mettre l'heure du systΦme en heure de Greenwich, utilisant
  622.   pour celα l'heure locale inversΘe volontairement avec l'heure systΦme.
  623.  
  624.   d) RΘgler le fuseau horaire :
  625.  
  626.   Tapez alors : ln -sf /usr/lib/zoneinfo/Europe/Votre-ville
  627.   /etc/zoneconfig
  628.  
  629.   Et voilα ! Le systΦme est α l'heure de Greenwich, la conversion vers
  630.   le fuseau horaire local & l'heure d'ΘtΘ se faisant automatiquement.
  631.  
  632.   Si vous habitez hors Europe, procΘdez de mΩme en remplaτant les ½ -2 ╗
  633.   par ½ X ╗, X reprΘsentant l'opposΘ de votre dΘcalage horaire (par
  634.   exemple -4 au QuΘbec, donc X=+4...)
  635.  
  636.   e) Modifier le fuseau horaire :
  637.  
  638.   Si vous partez α l'Θtranger, il est alors simple de modifier l'heure
  639.   locale de votre portable : par exemple si vous partez pour Moscou :
  640.  
  641.   ln -sf /usr/lib/zoneinfo/Europe/Moscow /etc/zoneconfig
  642.  
  643.   TrΦs simple & trΦs utile : plus besoin de se souvenir du dΘcalage
  644.   horaire (plus ou moins X heures) puisque Linux se charge dΘsormais de
  645.   tout !
  646.   3) Emacs
  647.  
  648.   Voici un fichier de configuration de base pour employer les accents.
  649.   XEmacs les accepte lui par dΘfaut sans broncher :-)
  650.  
  651.     ;;
  652.     ;; Fichier .emacs: initialisation d'emacs
  653.     ;; TirΘ du Guide du Rootard
  654.     ;;
  655.  
  656.     (display-time)                     ;; Pour avoir l'heure dans la barre d'etat
  657.     (setq display-time-24hr-format t)  ;; Format 24 heures
  658.  
  659.     ;; Nouveaux modes
  660.     (autoload 'c++-mode   "cplus-md" "C++ Editing Mode" t)
  661.     (autoload 'perl-mode   "perl-mode" "Perl Editing Mode" t)
  662.     (autoload 'c-mode "c-mode" "C Editing Mode" t)
  663.     ; mieux vaudrait utiliser le "cc-mode"
  664.  
  665.     (autoload 'jargon-mode "jargon" "Jargon Mode" t)
  666.  
  667.     ;; Auto-Mode Settings : positionne le mode selon l'extension
  668.     (setq auto-mode-alist
  669.     (append '(("\.c$"  . c-mode)    ;; utilise le mode C++ meme pour C
  670.     ("\.h$"  . c-mode)
  671.     ("\.C$"  . c++-mode)
  672.     ("\.H$"  . c++-mode)
  673.     ("\.cc$" . c++-mode)
  674.     ("\.C$"  . c++-mode)
  675.     ("\.pl$" . perl-mode)           ;; Perl
  676.     ("/tmp/snd\.[0-9]*" . text-mode);; Text (pour le mail)
  677.     ("[Rr][Ee][0-9]*" . text-mode)
  678.     ("\.ada$"  . ada-mode)          ;; Ada
  679.     ("\.spec$"  . ada-mode)
  680.     ("\.body$"  . ada-mode)
  681.     ("makefile$" . makefile-mode)  ;; Makefile
  682.     ("Makefile$" . makefile-mode)
  683.     ("Imakefile$" . makefile-mode))
  684.     auto-mode-alist))
  685.  
  686.     ; Remapes varies a mettre ici
  687.     (global-set-key "\eg" 'goto-line)       ;; ESC G = Goto line
  688.  
  689.     (put 'eval-expression 'disabled nil)
  690.  
  691.     ;; Accents...
  692.     (standard-display-european 1)
  693.     (load-library "iso-syntax")
  694.     (set-input-mode (car (current-input-mode))
  695.                   (nth 1 (current-input-mode))
  696.                   0)
  697.  
  698.     ;; Sous X-Window, textes en couleurs (C/C++/Shell/Makefile,etc)
  699.     (cond (window-system
  700.     (setq hilit-mode-enable-list  '(not text-mode)
  701.     hilit-background-mode   'light
  702.     hilit-inhibit-hooks     nil
  703.     hilit-inhibit-rebinding nil)
  704.     (require 'hilit19)
  705.     ))
  706.     (if (not (equal window-system ""))
  707.     (global-set-key "\C-?" 'delete-char))
  708.     ))
  709.  
  710.   Le Keyboard-HOWTO conseille quand α lui :
  711.  
  712.             (standard-display-european t)
  713.             (set-input-mode nil nil 1)
  714.             (require 'iso-syntax)
  715.             (load-library "iso-insert.el")
  716.             (define-key global-map [?\C-.] 8859-1-map)
  717.  
  718.   4) less
  719.  
  720.   /etc/profile ou les fichiers de dΘmarrage du shell (comme doivent
  721.   contenir :
  722.  
  723.    export LESSCHARSET=latin1
  724.  
  725.   Le fichier .lessrc se trouve α la section ½ Fichier inclus ╗.
  726.  
  727.   Pour s'en servir, taper :
  728.  
  729.        lesskey -o .less .lessrc
  730.  
  731.   N'oubliez pas de mettre le fichier .less dans votre rΘpertoire maison
  732.   : il permet d'employer les touches flΘchΘes, Page_up, Page_down, Home
  733.   & End.
  734.  
  735.   5) ls
  736.  
  737.   Utilisez l'option :
  738.  
  739.   --color=auto
  740.  
  741.   dΘfinissez dans les fichiers de dΘmarrage de votre shell les alias
  742.   suivants permettant de voir les fichiers dont le nom comprend des car¡
  743.   actΦres 8 bits :
  744.  
  745.        alias ll="ls --color=auto -l -a -N"
  746.        alias d="ls --color=auto"
  747.  
  748.   Un simple d remplacera le classique ls, en y ajoutant la couleur,
  749.   alors que ll vous offrira une liste complΦte de tous les fichiers
  750.   prΘsents dans le rΘpertoire, avec leurs attributs, leurs tailles...
  751.  
  752.   Pablo Saratxaga conseille d'utiliser --color=auto car ½ --color=yes
  753.   fera avoir des codes escape ansi mΩme lorsqu'on redirige vers un pipe
  754.   un fichier o∙ que le termina ne supporte pas la couleur... ce n'est
  755.   pas ce qu'on voudrait. ╗
  756.  
  757.   6) flex
  758.  
  759.   Donnez l'option :
  760.  
  761.    -8
  762.  
  763.   gΘnΘrΘ doit accepter les entrees 8-bits (bien sur qu'il doit le faire
  764.   !).
  765.  
  766.   7) Elm
  767.  
  768.   Rajoutez ces trois lignes dans votre .elm/elmrc :
  769.  
  770.          charset = iso-8859-1
  771.  
  772.          displaycharset = iso-8859-1
  773.  
  774.          textencoding = 8bit
  775.  
  776.   8) col
  777.  
  778.   Assurez-vous :
  779.  
  780.   1) qu'il a ΘtΘ corrigΘ et fasse un
  781.  
  782.        setlocale(LC_CTYPE,"");
  783.  
  784.   2) de dΘfinir
  785.  
  786.        LC_CTYPE=ISO-8859-1
  787.  
  788.   dans l'environment
  789.  
  790.   9) Rlogin
  791.  
  792.   Utilisez l'option :
  793.  
  794.        -8
  795.  
  796.   10) joe
  797.  
  798.   ftp://sunsite.unc.edu:/pub/Linux/apps/editors/joe-2.8.tar.gz
  799.  
  800.   ou plus rΘcent devrait fonctionner aprΦs Θdition du fichier de config¡
  801.   uration.  Placez l'option -asis dans /usr/lib/joerc en premiΦre
  802.   colonne.
  803.  
  804.   11) TeX & LaTeX
  805.  
  806.   Le plus simple consiste α employer GuTemberg, une distribution de
  807.   LaTeX avec tous les dΘfauts rΘglΘs pour des francophones par des
  808.   francophones !
  809.  
  810.   Sinon :
  811.  
  812.   Pour LaTeX:
  813.  
  814.    \documentstyle[isolatin]{article}
  815.  
  816.   Pour LaTeX2e:
  817.  
  818.    \documentclass{article}\usepackage{isolatin}
  819.  
  820.   ou alors :
  821.  
  822.    \usepackage[latin1]{inputenc}
  823.    \usepackage[T1]{fontenc}
  824.  
  825.   Au cas o∙ votre distribution soit trop vieille pour l'inclure,
  826.   isolatin.sty est disponible sΘparΘment sur :
  827.  
  828.   ftp.vlsivie.tuwien.ac.at/pub/8bit
  829.  
  830.   Pour gs & xdvi, il faut utiliser des options speciales (sur ma
  831.   machine, ce sont des alias). En effet, ils sont souvent configurΘs
  832.   pour un papier de taille anglo-saxonne.
  833.  
  834.   Ces options sont les suivantes :
  835.  
  836.   gs -sPAPERSIZE=a4 xdvi -paper a4 ghostview -a4
  837.  
  838.   Pour que dvips convertisse les documents dans un format papier a4, il
  839.   faut specifier dans le fichier config.ps (le chemin varie en  fonction
  840.   des versions de LaTeX) : /usr/lib/texmf/dvips/config.ps ou .dvipsrc
  841.  
  842.   @ a4 210mm 297mm @+ ! %%DocumentPaperSizes: a4 @+ %%PaperSize: a4 @+
  843.   %%BeginPaperSize: a4 @+ a4
  844.  
  845.   Sinon ajoutez α votre .Xresources :
  846.  
  847.   XDvi.paper:             a4
  848.   Ghostview.pageMedia:    A4
  849.  
  850.   12) Manuel
  851.  
  852.   Tout d'abord, il faut vous procurer les pages de manuel Linux
  853.   traduites en franτais sur :
  854.  
  855.   ftp.lip6.fr/pub/linux
  856.  
  857.   Si vous utilisez une distribution Debian, celles-ci sont prΘsentes sur
  858.   le cΘdΘrom : il suffit de les sΘlectionner lors de l'installation.
  859.  
  860.   De lα, deux possibilitΘes :
  861.  
  862.   ╖  soit vous ne voulez que des manuels en franτais, auquel cas il faut
  863.      faire un :
  864.  
  865.        export MANPATH=/usr/man/fr_FR (ou fr_BE, fr_CA, fr_CH, fr_LU...)
  866.  
  867.   ╖  soit vous prΘfΘrez par dΘfaut des manuels en franτais et si la page
  868.      n'existe pas, vous vous rabattez vers l'anglais, il suffir alors de
  869.      taper :
  870.  
  871.        export LANG=fr
  872.  
  873.   man ira chercher dans le ½ MANPATH ╗ des pages en ½ LANG ╗ par dΘfaut
  874.   et se rabattra sinon sur des pages en anglais
  875.  
  876.   13) Correcteur orthographique ispell
  877.  
  878.   Vous pouvez vous le procurer sur son site original :
  879.  
  880.   ftp.ireq-robot.hydro.qc.ca:/pub/ispell/francais-IREQ-1.3.tar.gz
  881.  
  882.   ou sur :
  883.  
  884.   ftp.lip6.fr/pub/ispell/francais
  885.  
  886.   Un fichier LISEZMOI explique pas α pas & en franτais l'installation.
  887.  
  888.   14) Les claviers 105 touches
  889.  
  890.   Aussi appelΘs ½ claviers Microsoft (tm) ╗, ils ont trois touches de
  891.   plus que les claviers normaux.
  892.  
  893.   Comment s'en servir ?
  894.  
  895.   En mode console, Θditer french.map et dΘcommenter les lignes en
  896.   parlant !
  897.  
  898.   De mΩme pour french (pour Xwindow).
  899.  
  900.   15) PGP
  901.  
  902.   Tout d'abord, un avertissement : ce paragraphe n'est destinΘ qu'aux
  903.   francophones ne vivant pas en France !
  904.  
  905.   En effet, en France, en Iran, en Irak & dans quelques autres pays,
  906.   l'utilisation de logiciels de cryptographie est considΘrΘe comme usage
  907.   d'armes de guerre, ce qui est punissable par la loi !
  908.   Donc sautez ce paragraphe si votre lΘgislation locale ne permet pas
  909.   d'utiliser des logiciels de cryptographie.
  910.  
  911.   PremiΦrement, il faut se procurer pgp-international (α cause de
  912.   problΦmes de patentes et de lΘgislation sur l'export d'armes de
  913.   guerre, il existe pgp-us & pgp-international, ce dernire Θtant dotΘ
  914.   d'un algorythme encore plus puissant) sur :
  915.  
  916.   ftp://ftp.ifi.uio.no/pub/pgp/
  917.  
  918.   Ensuite, mettre dans votre rΘpertoire maison, dans un sous rΘpertoire
  919.   .pgp les fichiers :
  920.  
  921.        config.txt
  922.        language.idx
  923.        pgpdoc1.txt
  924.        pgpdoc2.txt
  925.        language.txt
  926.        fr.hlp
  927.        en.hlp
  928.        pgp.hlp
  929.  
  930.   Enfin, Θditer le fichier .pgp/config.txt pour y rajouter :
  931.  
  932.        Language = fr
  933.        CharSet = latin1
  934.  
  935.   Lisez ensuite .pgp/fr.hlp pour apprendre α vous servir de pgp !
  936.  
  937.   16) Impression en mode ascii
  938.  
  939.   Pierre-Charles David (pcdavid@club-internet.fr) vous donne ce truc :
  940.  
  941.   Pour l'impression de texte simple, beaucoup d'imprimantes attendent
  942.   des lettres en codage IBM (celui utilisΘ par MS-DOS).
  943.  
  944.   Si le fichier est codΘ en latin1, on doit utiliser 'recode
  945.   latin1:ibmpc' (α placer dans les filtres lpr par exemple), sous peine
  946.   de voir imprimer des 'alpha' α la place de 'α', et autres choses du
  947.   mΩme genre.
  948.  
  949.   17) Divers
  950.  
  951.   Pour les programmes utilisant curses (comme lynx) David Sibley dit:
  952.  
  953.   ½ La version standard de curses utilise le huitiΦme  bit  pour la
  954.   vidΘo  inversee  (voir  le  flag  _STANDOUT  dΘfini dans
  955.   /usr/include/curses.h).  Cependant, ncurses semble  fonctionner en
  956.   8-bits et affiche le iso-latin-8859-1 correctement. ╗
  957.  
  958.   Pour  les  programmes  utilisant  groff  (comme  man), utilisez le :
  959.  
  960.   -Tlatin1
  961.  
  962.   au lieu de :
  963.  
  964.        -Tascii
  965.  
  966.   Les vieilles versions  de  man  utilisent aussi col, & le point suiv¡
  967.   ant s'applique aussi.
  968.  
  969.   Une belle discussion sur le thΦme de l'ISO-8859-1 & sur ½ comment
  970.   manipuler les caractΦres 8-bits ╗ est disponible dans :
  971.  
  972.        ftp://grasp.insa-lyon.fr/pub/faq/fr/accents
  973.  
  974.   Pour perl, si tout d'un coup aprΦs une mise α jour il raconte :
  975.  
  976.        (guylhem@danmark:guylhem)$ perl
  977.        perl: warning: Setting locale failed for the categories:
  978.                LC_CTYPE LC_COLLATE
  979.        perl: warning: Please check that your locale settings:
  980.                LC_ALL = "fr_FR",
  981.                LC_CTYPE = "ISO-8859-1",
  982.                LC_COLLATE = (unset),
  983.                LANG = "fr"
  984.            are supported and installed on your system.
  985.        perl: warning: Falling back to the "C" locale.
  986.        (guylhem@danmark:guylhem)$
  987.  
  988.   Essayez cette solution de Thomas Parmelan (Thomas.Parmelan@efrei.fr) :
  989.  
  990.   - en libc6 le format des fichiers binaires de dΘfinition des locales a
  991.   (encore) changΘ : il faut les rΘgΘnΘrer α partir des sources
  992.   (WG15collection.tar.tz sur ftp.lip6.fr:/pub/linux/GCC par exemple) et
  993.   des programmes "locale" et "localedef" qui sont fournis dans les
  994.   sources de la libc.
  995.  
  996.   - Sinon tu peux Θgalement essayer ceci (c'est comme cela que τa
  997.   fonctionne chez moi en libc-5.4.x) :
  998.  
  999.             unset LANG
  1000.             unset LC_CTYPE
  1001.             unset LC_COLLATE
  1002.             export LC_ALL=fr_FR.ISO-8859-1
  1003.  
  1004.   7.  RΘglage du clavier pour les applications X
  1005.  
  1006.   1) Les xterminaux (xterm, nxterm, rxvt...)
  1007.  
  1008.   Les faire fonctionner avec toutes les touches standard du clavier 102
  1009.   touches relΦve du miracle, quant aux accents, seule une recompilation
  1010.   vous permettra de les utiliser !
  1011.  
  1012.   Pour xterm, essayez de mettre dans votre .Xdefaults :
  1013.  
  1014.   XTerm*eightBitInput: true
  1015.   XTerm*eightBitOutput: true
  1016.  
  1017.   Pablo Saratxaga conseille de rajouter dans .inputrc :
  1018.  
  1019.   # pour rxvt
  1020.   "\e[7~":beginning-of-line
  1021.   "\e[8~":end-of-line
  1022.   # pour xterm
  1023.   "\e[H": beginning-of-line
  1024.   "\e[F": end-of-line
  1025.  
  1026.   Mais ces deux solutions ne vous garantissent pas de rΘsoudre tous les
  1027.   problΦmes de rxvt et de xterm ...
  1028.  
  1029.   Pour les rΘsoudre sans crΘer de fichiers dans /usr/X11R6/lib/X11/app-
  1030.   defaults, je tiens sinon α votre disposition un xiterm, un terminal X
  1031.   supportant *TOUTES* les touches des claviers standard, avec Home, End,
  1032.   Page_up (...) & mΩme le pavΘ numΘrique, fonctionnant comme en mode
  1033.   console, i.e.  Shift-Page_up permettant de faire dΘfiler une page,
  1034.   voire mieux : le pavΘ numΘrique reconnaissant enfin la diffΘrence
  1035.   entre Verr. Num allumΘ & Verr. Num Θteint.
  1036.  
  1037.   X international terminal (xiterm pour les intimes) est bien sur sous
  1038.   GPL & mis α jour pour suivre parallΦlement l'Θvolution de rxvt.
  1039.  
  1040.   Sur http://www.linux-france.com/prj/xiterm & sur
  1041.   ftp://sunsite.unc.edu/pub (& bient⌠t ailleurs sans doute), vous
  1042.   trouverez donc xiterm, qui remplace votre xterm classique en y
  1043.   apportant la couleurs, les accents & les touches Θtendues.
  1044.  
  1045.   Pour l'installer, compilez-le, devenez root & tapez :
  1046.  
  1047.        rm /usr/X11R6/bin/xterm
  1048.        rm /usr/X11R6/lib/X11/app-defaults/xterm
  1049.        rm /usr/X11R6/lib/X11/app-defaults/rxvt
  1050.        rm /usr/X11R6/lib/X11/app-defaults/Xterm
  1051.        rm /usr/X11R6/lib/X11/app-defaults/XTerm
  1052.        rm /usr/X11R6/lib/X11/app-defaults/Rxvt
  1053.        rm /usr/X11R6/lib/X11/app-defaults/RXvt
  1054.        cp xiterm /usr/local/bin
  1055.  
  1056.        ln -sf /usr/local/bin/xiterm /usr/X11R6/bin/xterm
  1057.        ln -sf /usr/local/bin/xiterm /usr/X11R6/bin/rxvt
  1058.  
  1059.   2) Les applications Motif
  1060.  
  1061.   Lα, je n'ai malheureusement aucun remΦde miracle !
  1062.  
  1063.   Utilisez les possibilitΘs du fichier french au lieu des touches mortes
  1064.   (AltGr (voyelle) : voyelle accent circonflexe... ) !
  1065.  
  1066.   3) Le manuel
  1067.  
  1068.   Pablo Saratxaga tient α votre disposition un xman modifiΘ ½ pour qu'il
  1069.   supporte la variable ½ LANG ╗ et puisse afficher les pages en d'autres
  1070.   langues qu'anglais ╗.
  1071.  
  1072.   Il est disponible sur :
  1073.  
  1074.        ftp.lip6.fr:/pub/linux/distributions/redhat-contrib/SRPMS/xman-3.1.6-3.src.rpm
  1075.        ftp.lip6.fr:/pub/linux/distributions/redhat-contrib/i386/xman-3.1.6-3.i386.rpm ╗
  1076.  
  1077.   8.  Remerciements
  1078.  
  1079.   Ce document ne serait pas ce qu'il est sans l'aide de Nat MakarΘvitch
  1080.   (nat@linux-france.com).
  1081.  
  1082.   Je tiens aussi α remercier les personnes suivantes pour leurs
  1083.   contributions aux autres documents sur Linux en franτais (Guide du
  1084.   Rootard & Francophones-HOWTO) desquels la section ½ Configurer les
  1085.   applications en mode texte ╗ s'inspire pour emacs, zsh, tcsh, flex,
  1086.   less, rlogin, joe, col & TeX.
  1087.  
  1088.   Rappelons que les sites officiels du Guide du Rootard sont :
  1089.  
  1090.        http://www.freenix.fr/linux/Guide
  1091.  
  1092.   &
  1093.  
  1094.        ftp.lip6.fr:/pub/linux/french/docs/
  1095.  
  1096.   Par ordre alphabΘtique :
  1097.  
  1098.   Jean-Michel Antoine
  1099.   Michel Billaud
  1100.   Stephane Bortzmeyer
  1101.   RΘmy Card
  1102.   Xavier Cazin
  1103.   Laurent Chemla
  1104.   RenΘ Cougnenc
  1105.   Bruno Cornec
  1106.   Yann Dirson
  1107.   ╔ric Dubreuil
  1108.   ╔ric Dumas
  1109.   Pierre Ficheux
  1110.   Laurent Frigault
  1111.   Frederic Lepied
  1112.   Stephane Marzloff
  1113.   Marc Merlin
  1114.   Thomas Parmelan
  1115.   Thomas Quinot
  1116.   David Robert
  1117.   Ollivier Robert
  1118.   Benjamin Ryzman
  1119.   Pablo Saratxaga
  1120.   Julien Simon
  1121.   J.M. Vansteene
  1122.  
  1123.   Surtout, si je vous oublie, signalez-le moi !
  1124.  
  1125.   De mΩme si vous ne voulez plus figurer dans cette liste...
  1126.  
  1127.   Ce document est en GPL, toutefois il vaudrait mieux Θviter une
  1128.   multiplication des versions :-).
  1129.  
  1130.   Envoyez-donc vos suggestions & modifications α
  1131.   guylhem@danmark.linux.eu.org
  1132.  
  1133.   Je me ferai un plaisir de les intΘgrer dans les prochaines versions !
  1134.  
  1135.   Signalez-moi aussi les erreurs : cet HOWTO est en perpΘtuel
  1136.   changement, avec des nouveautΘs incluses α chaque version ; des erreur
  1137.   peuvent facilement s'y glisser !
  1138.  
  1139.   9.  Fichiers inclus dans ce HOWTO
  1140.  
  1141.   Comme signalΘ plus haut, cette section ne contient que .bashrc,
  1142.   window), quebec (pour X window) & french.map .
  1143.  
  1144.   Voici .bashrc (pour bash, α placer dans votre rΘpertoire maison) :
  1145.  
  1146.        # ~/.bashrc : executΘ par bash(1) pour les shells lancΘs aprΦs le login.
  1147.  
  1148.        # Le path
  1149.        PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin:/usr/local/bin"
  1150.  
  1151.        # Le prompt
  1152.        PS1="(\u@\h:\W)$ "
  1153.  
  1154.        # Les locales
  1155.        LC_CTYPE=ISO-8859-1
  1156.        LC_ALL=fr_FR
  1157.        # (ou fr_BE, fr_CA, fr_CH, fr_LU ..)
  1158.        LANG=fr
  1159.        LESSCHARSET=latin1
  1160.        export PATH PS1 LC_CTYPE LC_ALL LANG LESSCHARSET
  1161.  
  1162.        # Les raccourcis
  1163.        alias q="cd .."
  1164.        alias ll="ls --color=auto -a -N -l"
  1165.        alias d="ls --color=auto -a -N"
  1166.  
  1167.        # Au cas o∙ del/backspace ne fonctionne pas, essayez l'un des deux :
  1168.        #stty erase ^?
  1169.        #stty erase ^H
  1170.  
  1171.        # Refuser le talk & le write
  1172.        #mesg n
  1173.        # Permettre les coredumps
  1174.        #umask 022
  1175.  
  1176.   Voici .bash_profile (pour bash, α placer dans votre rΘpertoire maison)
  1177.   :
  1178.  
  1179.   # ~/.bash_profile: executΘ par bash(1) lors les logins.
  1180.  
  1181.   # Le path
  1182.   PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin:/usr/local/bin"
  1183.  
  1184.   # Le prompt
  1185.   PS1="(\u@\h:\W)login$ "
  1186.  
  1187.   # Les locales
  1188.   LC_CTYPE=ISO-8859-1
  1189.   LC_ALL=fr_FR
  1190.   # (ou fr_BE, fr_CA, fr_CH, fr_LU ...)
  1191.   LANG=fr
  1192.   LESSCHARSET=latin1
  1193.   export PATH PS1 LC_CTYPE LC_ALL LANG LESSCHARSET
  1194.  
  1195.   # Les raccourcis
  1196.   alias q="cd .."
  1197.   alias ll="ls --color=auto -a -N -l"
  1198.   alias d="ls --color=auto -a -N"
  1199.  
  1200.   # Au cas o∙ del/backspace ne fonctionne pas, essayez l'un des deux :
  1201.   #stty erase ^?
  1202.   #stty erase ^H
  1203.  
  1204.   # Refuser le talk & le write
  1205.   #mesg n
  1206.   # Permettre les coredumps
  1207.   #umask 022
  1208.  
  1209.   Voici .lessrc (pour less, α compiler avec lesskey) :
  1210.  
  1211.        (taper ESC)[B   forw-line
  1212.        (taper ESC)[A   back-line
  1213.        (taper ESC)[6~  forw-scroll
  1214.        (taper ESC)[5~          back-scroll
  1215.        (taper ESC)[1~   goto-line
  1216.        (taper ESC)[4~  goto-end
  1217.        (taper ESC)[C    next-file
  1218.        (taper ESC)[D    prev-file
  1219.        (taper ESC)OA    back-line
  1220.        (taper ESC)OB    forw-line
  1221.  
  1222.   Pour rentrer un ESC (parfois nommΘ Θchap), sous vi, mettez vous en
  1223.   mode insertion avec i puis tapez ctrl+v & enfin esc.
  1224.  
  1225.   Voici french (pour X11, α placer dans
  1226.   /usr/X11R6/lib/X11/kbd/keytables) :
  1227.  
  1228.   // French keyboard description, (c) Guylhem Aznar, July 1997
  1229.   // Released under GNU GENERAL PUBLIC LICENSE Version 2
  1230.   // If you haven't received it, this license is available at :
  1231.   // Free Software Foundation, Inc.  675 Mass Ave, Cambridge, MA 02139, USA
  1232.  
  1233.   partial hidden alphanumeric_keys modifier_keys
  1234.   xkb_symbols "basic" {
  1235.  
  1236.   // Description *TOTALE* d'un clavier franτais, sans le comparer α un
  1237.   // clavier amΘricain par dΘfaut : on y gagne plus de flexibilitΘ, ce
  1238.   // modΦle devient plus personalisable ...
  1239.  
  1240.   // Les touches Θ, Φ, τ, α & ∙, prΘsentes en mode minuscule (i.e. sans shift)
  1241.   // ne sont pas disponibles en mode majuscule car elles sont respectivement
  1242.   // remplacΘes par 2, 7, 9, 0 & % .
  1243.   // Pour obtenir les majuscules accentuΘes ╔, ╚, ╟, └ & ┘, vous pouvez soit
  1244.   // utiliser AltGr + Shift (minuscule accentuΘe), soit utiliser les accent
  1245.   // dits "morts", i.e. fonctionnant comme l'accent circonflexe & le trΘma .
  1246.   // Sont disponibles :  AltGr (1) : accent aigⁿ, AltGr (7) : accent grave,
  1247.   // AltGr (^) : cΘdille ; pour s'en servir, procΘder comme avec l'accent
  1248.   // circonflexe & le trΘma : ex : AltGr (1) + e : Θ ; AltGr (1) + e : ╔ ...
  1249.   // La tilde (~) n'Θtant pas employΘe sur des lettres en franτais, elle reste
  1250.   // en AltGr (2) une touche normale .
  1251.   // Une tilde "morte" (avec la cΘdille "morte") est toutefois disponibles sur la
  1252.   // touche accent circonflexe & trΘma en AltGr + Shift .
  1253.  
  1254.   // Au cas o∙ les dead_keys ne fonctionnent pas (certains programmes les
  1255.   // refusent), vous pouvez toujours utiliser pour obtenir les voyelles α accent
  1256.   // circonflexe & α trΘma :
  1257.   // AltGr (voyelle) : voyelle-minuscule α accent circonflexe
  1258.   // AltGr + Shift (voyelle) : voyelle-minuscule α trΘma
  1259.   // AltGr (en dessous de la voyelle) : voyelle-majuscule α accent circonflexe
  1260.   // AltGr + Shift (en dessous de la voyelle) : voyelle majuscule α trΘma
  1261.  
  1262.   // Plusieurs lettres ΘtrangΦres, utilisΘes comme signes mathΘmatiques ou
  1263.   // physiques, abbrΘviations (...) ont ΘtΘ rajoutΘes en AltGr :
  1264.   // T->Phi;, r->[TM], y->yen, c->ó & ⌐, f->se±ora, m->se±or,
  1265.   // g->`, h->', ∙->▒, x->µ s->°, z->σ, w->Delta;, b->▀
  1266.  
  1267.   // La correspondance essaye de se faire la plus naturelle possible, en mettant
  1268.   // ces touches lα o∙ l'on s'attend le plus de les trouver ...
  1269.   // mais elle est loin d'Ωtre parfaite :^)
  1270.  
  1271.   // Modifiez donc α loisir tous ces AltGr, et si vous pensez avoir trouvΘ la
  1272.   // configuration ultime permettant d'accΘder en mieux α toutes ces touches,
  1273.   // mailez moi !
  1274.   // V⌠tre arrangement, s'il est vraiement plus pratique, sera inclu dans la
  1275.   // prochaine version de la carte de correspondance du clavier !
  1276.  
  1277.       name[Group1]= "French";
  1278.       key <ESC>   {       [          Escape                       ]       };
  1279.  
  1280.   // Deux possibilitΘes pour cette touche "au carrΘ" (▓) :
  1281.   // * un mode mathΘmatique o∙ elle renvoie "au carrΘ" en mode normal, "au cube"
  1282.   // si elle est ShiftΘe et "puissance 1" en Alt-gr (pour parler par exemple de
  1283.   // m.s-╣ ...)
  1284.   // Toutefois, accent circonflexe suivi de 1, 2, 3, -, renvoyant respectivement
  1285.   // ╣, ▓, │ et -, cette touche est inutile !
  1286.  
  1287.   // * un mode littΘraire est donc proposΘ par dΘfault, pour disposer des
  1288.   // guillemets franτais (½ & ╗) ; le ▓ et le │ restant disponibles
  1289.   // respectivement en AltGr et AltGr + Shift .
  1290.  
  1291.   //   key <TLDE> {       [     twosuperior,   threesuperior      ],
  1292.   //                      [     onesuperior                       ]       };
  1293.  
  1294.       key <TLDE>  {       [   guillemotleft,  guillemotright      ],
  1295.                           [     twosuperior,   threesuperior      ]       };
  1296.  
  1297.       key <AE01>  {       [       ampersand,               1      ],
  1298.                           [      dead_acute                       ]       };
  1299.       key <AE02>  {       [          eacute,               2      ],
  1300.                           [      asciitilde,          Eacute      ]       };
  1301.       key <AE03>  {       [        quotedbl,               3      ],
  1302.                           [      numbersign                       ]       };
  1303.       key <AE04>  {       [      apostrophe,               4      ],
  1304.                           [       braceleft                       ]       };
  1305.       key <AE05>  {       [       parenleft,               5      ],
  1306.                           [     bracketleft                       ]       };
  1307.       key <AE06>  {       [           minus,               6      ],
  1308.                           [             bar                       ]       };
  1309.       key <AE07>  {       [          egrave,               7      ],
  1310.                           [      dead_grave,          Egrave      ]       };
  1311.       key <AE08>  {       [      underscore,               8      ],
  1312.                           [       backslash                       ]       };
  1313.       key <AE09>  {       [        ccedilla,               9      ],
  1314.                           [     asciicircum,        Ccedilla      ]       };
  1315.       key <AE10>  {       [          agrave,               0      ],
  1316.                           [              at,          Agrave      ]       };
  1317.       key <AE11>  {       [      parenright,          degree      ],
  1318.                           [    bracketright                       ]       };
  1319.       key <AE12>  {       [           equal,            plus      ],
  1320.                           [      braceright                       ]       };
  1321.       key <BKSP>  {       [       BackSpace                       ]       };
  1322.       key  <TAB>  {       [             Tab,    ISO_Left_Tab      ]       };
  1323.       key <AD01>  {       [               a,               A      ],
  1324.                           [     acircumflex,      adiaeresis      ]       };
  1325.       key <AD02>  {       [               z,               Z      ],
  1326.                           [           aring,           Aring      ]       };
  1327.       key <AD03>  {       [               e,               E      ],
  1328.                           [     ecircumflex,      ediaeresis      ]       };
  1329.       key <AD04>  {       [               r,               R      ],
  1330.                           [      registered                       ]       };
  1331.       key <AD05>  {       [               t,               T      ],
  1332.                           [           thorn,           THORN      ]       };
  1333.       key <AD06>  {       [               y,               Y      ],
  1334.                           [             yen                       ]       };
  1335.       key <AD07>  {       [               u,               U      ],
  1336.                           [     ucircumflex,      udiaeresis      ]       };
  1337.       key <AD08>  {       [               i,               I      ],
  1338.                           [     icircumflex,      idiaeresis      ]       };
  1339.       key <AD09>  {       [               o,               O      ],
  1340.                           [     ocircumflex,      odiaeresis      ]       };
  1341.       key <AD10>  {       [               p,               P      ],
  1342.                           [       paragraph                       ]       };
  1343.       key <AD11>  {       [ dead_circumflex,  dead_diaeresis      ],
  1344.                           [    dead_cedilla,      dead_tilde      ]       };
  1345.       key <AD12>  {       [          dollar,        sterling      ],
  1346.                           [        currency                       ]       };
  1347.       key <RTRN>  {       [          Return                       ]       };
  1348.       key <AC01>  {       [               q,               Q      ],
  1349.                           [     Acircumflex,      Adiaeresis      ]       };
  1350.       key <AC02>  {       [               s,               S      ],
  1351.                           [          oslash,        Ooblique      ]       };
  1352.       key <AC03>  {       [               d,               D      ],
  1353.                           [     Ecircumflex,      Ediaeresis      ]       };
  1354.       key <AC04>  {       [               f,               F      ],
  1355.                           [     ordfeminine                       ]       };
  1356.       key <AC05>  {       [               g,               G      ],
  1357.                           [       quoteleft                       ]       };
  1358.       key <AC06>  {       [               h,               H      ],
  1359.                           [      quoteright                       ]       };
  1360.       key <AC07>  {       [               j,               J      ],
  1361.                           [     Ucircumflex,      Udiaeresis      ]       };
  1362.       key <AC08>  {       [               k,               K      ],
  1363.                           [     Icircumflex,      Idiaeresis      ]       };
  1364.       key <AC09>  {       [               l,               L      ],
  1365.                           [     Ocircumflex,      Odiaeresis      ]       };
  1366.       key <AC10>  {       [               m,               M      ],
  1367.                           [       masculine                       ]       };
  1368.       key <AC11>  {       [          ugrave,         percent      ],
  1369.                           [       plusminus,          Ugrave      ]       };
  1370.       key <BKSL>  {       [        asterisk,              mu      ],
  1371.                           [     Greek_OMEGA                       ]       };
  1372.       key <LFSH>  {       [          Shift_L                      ]       };
  1373.       key <LSGT>  {       [           less,          greater      ],
  1374.                           [             bar                       ]       };
  1375.       key <AB01>  {       [               w,               W      ],
  1376.                           [             eth,             ETH      ]       };
  1377.       key <AB02>  {       [               x,               X      ],
  1378.                           [              ae,              AE      ]       };
  1379.       key <AB03>  {       [               c,               C      ],
  1380.                           [            cent                       ]       };
  1381.       key <AB04>  {       [               v,               V      ],
  1382.                           [       copyright                       ]       };
  1383.       key <AB05>  {       [               b,               B      ],
  1384.                           [          ssharp                       ]       };
  1385.       key <AB06>  {       [               n,               N      ],
  1386.                           [         notsign                       ]       };
  1387.       key <AB07>  {       [           comma,        question      ],
  1388.                           [    questiondown                       ]       };
  1389.       key <AB08>  {       [       semicolon,          period      ],
  1390.                           [        multiply                       ]       };
  1391.       key <AB09>  {       [           colon,           slash      ],
  1392.                           [        division                       ]       };
  1393.       key <AB10>  {       [          exclam,         section      ],
  1394.                           [      exclamdown                       ]       };
  1395.       key <RTSH>  {       [         Shift_R                       ]       };
  1396.  
  1397.       key <LCTL>  {       [       Control_L                       ]       };
  1398.   //    key <LALT>        {       [           Alt_L,          Meta_L      ]       };
  1399.       key <SPCE>  {       [           space                       ]       };
  1400.   //    key <RALT>        {       [           Alt_R,          Meta_R      ]       };
  1401.       key <RCTL>  {       [       Control_R                       ]       };
  1402.  
  1403.       key <FK01> {        [        F1             ]       };
  1404.       key <FK02> {        [        F2             ]       };
  1405.       key <FK03> {        [        F3             ]       };
  1406.       key <FK04> {        [        F4             ]       };
  1407.       key <FK05> {        [        F5             ]       };
  1408.       key <FK06> {        [        F6             ]       };
  1409.       key <FK07> {        [        F7             ]       };
  1410.       key <FK08> {        [        F8             ]       };
  1411.       key <FK09> {        [        F9             ]       };
  1412.       key <FK10> {        [        F10            ]       };
  1413.       key <FK11> {        [        F11            ]       };
  1414.       key <FK12> {        [        F12            ]       };
  1415.  
  1416.       key <PRSC> { type= "PC_SYSRQ", symbols[Group1]= [ Print, Execute ] };
  1417.       key <SCLK> {  [  Scroll_Lock        ]       };
  1418.       key <PAUS> { type= "PC_BREAK", symbols[Group1]= [ Pause, Break ] };
  1419.       key  <INS> {  [  Insert             ]       };
  1420.       key <HOME> {        [  Home                 ]       };
  1421.       key <PGUP> {        [  Prior                ]       };
  1422.       key <DELE> { [ Delete               ]                       };
  1423.       key  <END> {        [  End                  ]       };
  1424.       key <PGDN> {        [  Next                 ]       };
  1425.  
  1426.       key   <UP> {        [  Up                   ]       };
  1427.       key <LEFT> {        [  Left                 ]       };
  1428.       key <DOWN> {        [  Down                 ]       };
  1429.       key <RGHT> {        [  Right                ]       };
  1430.  
  1431.       key <NMLK> {        [  Num_Lock, Pointer_EnableKeys         ]       };
  1432.       key <KPDV> {        [  KP_Divide            ]       };
  1433.       key <KPMU> {        [  KP_Multiply          ]       };
  1434.       key <KPSU> {        [  KP_Subtract          ]       };
  1435.  
  1436.       key  <KP7> {        [  KP_Home,     KP_7    ]       };
  1437.       key  <KP8> {        [  KP_Up,       KP_8    ]       };
  1438.       key  <KP9> {        [  KP_Prior,    KP_9    ]       };
  1439.       key <KPAD> {        [       KP_Add          ]       };
  1440.  
  1441.       key  <KP4> {        [  KP_Left,     KP_4    ]       };
  1442.       key  <KP5> {        [  KP_Begin,    KP_5    ]       };
  1443.       key  <KP6> {        [  KP_Right,    KP_6    ]       };
  1444.  
  1445.       key  <KP1> {        [  KP_End,      KP_1    ]       };
  1446.       key  <KP2> {        [  KP_Down,     KP_2    ]       };
  1447.       key  <KP3> {        [  KP_Next,     KP_3    ]       };
  1448.       key <KPEN> {        [       KP_Enter        ]       };
  1449.  
  1450.       key  <KP0> {        [  KP_Insert,   KP_0    ]       };
  1451.       key <KPDL> {  [  KP_Delete, KP_Decimal ]    };
  1452.  
  1453.       modifier_map Shift  { Shift_L       };
  1454.       modifier_map Lock   { Caps_Lock     };
  1455.       modifier_map Control{ Control_L     };
  1456.   //    modifier_map Mod1   { Alt_L, Alt_R, Meta_L, Meta_R };
  1457.   //    modifier_map Mod2   { Num_Lock };
  1458.       modifier_map Mod3   { Mode_switch   };
  1459.   //    modifier_map Mod4   { Meta_L, Meta_R };
  1460.   //    modifier_map Mod5   { Scroll_Lock };
  1461.   };
  1462.  
  1463.   // Touches supplΘmentaires sur un clavier "Windows95"
  1464.  
  1465.   // ▓/│ (carrΘ/cube) par dΘfaut puisqu'on a mis les guillemets franτais !
  1466.   //    key <LWIN> {        [      twosuperior, threesuperior        ],
  1467.   //                        [      onesuperior                       ]  };
  1468.   //    key <RWIN> {        [      Mode_switch       ]       };
  1469.   //    key <MENU> {        [      Multi_key         ]       };
  1470.  
  1471.   xkb_symbols "pc101" {
  1472.       key <RALT> { [ Mode_switch,  Multi_key ] };
  1473.       modifier_map Mod3 { Mode_switch };
  1474.   };
  1475.  
  1476.   default
  1477.   xkb_symbols "pc102" {
  1478.       key <RALT> { [ Mode_switch,  Multi_key ] };
  1479.       modifier_map Mod3 { Mode_switch };
  1480.   };
  1481.  
  1482.   xkb_symbols "pc104" {
  1483.       key <RALT> { [ Mode_switch ] };
  1484.       key <LWIN> { [ Meta_L ] };
  1485.       key <RWIN> { [ Multi_key ] };
  1486.       key <MENU> { [ Menu ] };
  1487.       modifier_map Mod3 { Mode_switch };
  1488.   };
  1489.  
  1490.   xkb_symbols "pc105" {
  1491.       key <RALT> { [ Mode_switch ] };
  1492.       key <RWIN> { [ Multi_key ] };
  1493.       modifier_map Mod3 { Mode_switch };
  1494.   };
  1495.  
  1496.   partial alphanumeric_keys
  1497.   xkb_symbols "nodeadkeys" {
  1498.       include "french(basic)"
  1499.       key <AE12> {        [           equal,            plus      ]       };
  1500.       key <AD11> {        [     asciicircum,       diaeresis      ]       };
  1501.       key <AD12> {        [          dollar,        sterling      ]       };
  1502.       key <AB07> {        [           comma,        question      ]       };
  1503.   };
  1504.  
  1505.   Et enfin voici french.map (α placer dans /usr/lib/kbd/keytables) :
  1506.  
  1507.   # French keyboard description :
  1508.   #
  1509.   # Copyright (c) July 1997 Guylhem Aznar <guylhem@danmark.linux.eu.org>
  1510.   # Copyright (c) August 1997 Pierre-Charles David <pcdavid@club-internet.fr>
  1511.   #  AjoutΘ : Linefeed, Meta_Control_backslash, Control_backslash, Meta_backslash
  1512.   #
  1513.   #      This program is free software; you can redistribute it and/or
  1514.   #    modify it under the terms of the GNU General Public License version
  1515.   #            2 as published by the Free Software Foundation.
  1516.   #
  1517.   #      This program is distributed in the hope that it will be useful,
  1518.   #      but WITHOUT ANY WARRANTY; without even the implied warranty of
  1519.   #       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1520.   #               GNU General Public License for more details.
  1521.   #
  1522.   #      You should have received a copy of the GNU General Public License
  1523.   #         along with this program; if not, write to the Free Software
  1524.   #          Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  1525.   #
  1526.   # Les dΘfinitions de alt & control (keycode) ne sont qu'optionelles ; n'ont
  1527.   # donc ΘtΘ redΘfinis alt (nombre) et atl + shift (nombre) pour inverser le
  1528.   # comportement par dΘfaut : touche = signe ; touche + shift = nombre, or ici
  1529.   # alt touche = Meta_nombre ; alt + shift touche = Meta_signe
  1530.   #
  1531.   # Shift (pavΘ numΘrique) pour taper de l'hΘxadΘcimal !
  1532.   # control alt suppr : rebooter
  1533.   # control altgr suppr : arrΩter
  1534.   #
  1535.   # ajouter pour ces deux fonction les lignes suivantes α /etc/inittab :
  1536.   # ca:12345:ctrlaltdel:/sbin/shutdown -t1 -r now
  1537.   # kb:12345:kbrequest:/sbin/halt
  1538.  
  1539.   keycode   0 =
  1540.  
  1541.   keycode   1 = Escape
  1542.  
  1543.   keycode   2 = ampersand        one              dead_acute
  1544.           alt     keycode 2 = Meta_one
  1545.           alt     shift   keycode 2 = Meta_ampersand
  1546.  
  1547.   keycode   3 = eacute           two              tilde            Eacute
  1548.           alt     keycode 3 = Meta_two
  1549.           alt     shift   keycode 3 = Meta_asciitilde
  1550.  
  1551.   keycode   4 = quotedbl         three            numbersign
  1552.           alt     keycode 4 = Meta_three
  1553.           alt     shift   keycode 4 = Meta_quotedbl
  1554.  
  1555.   keycode   5 = apostrophe       four             braceleft
  1556.           alt     keycode 5 = Meta_four
  1557.           alt     shift   keycode 5 = Meta_apostrophe
  1558.  
  1559.   keycode   6 = parenleft        five             bracketleft
  1560.           alt     keycode 6 = Meta_five
  1561.           alt     shift   keycode 6 = Meta_parenleft
  1562.  
  1563.   keycode   7 = minus            six              bar              hyphen
  1564.           alt     keycode 7 = Meta_six
  1565.           alt     shift   keycode 7 = Meta_minus
  1566.  
  1567.   keycode   8 = egrave           seven            dead_grave       Egrave
  1568.           alt     keycode 8 = Meta_seven
  1569.           alt     shift   keycode  8 = Meta_grave
  1570.  
  1571.   keycode   9 = underscore       eight            backslash        macron
  1572.           alt     keycode 9 = Meta_eight
  1573.           alt     shift   keycode 9 = Meta_underscore
  1574.  
  1575.   keycode  10 = ccedilla         nine             circumflex       Ccedilla
  1576.           alt     keycode 10 = Meta_nine
  1577.           alt     shift   keycode 10 = Meta_asciicircum
  1578.  
  1579.   keycode  11 = agrave           zero             at               Agrave
  1580.           alt     keycode 11 = Meta_zero
  1581.           alt     shift   keycode 11 = Meta_at
  1582.  
  1583.   keycode  12 = parenright       degree           bracketright
  1584.           alt     keycode 12 = Meta_parenright
  1585.           alt     shift   keycode  12 = Meta_bracketright
  1586.  
  1587.   keycode  13 = equal            plus             braceright
  1588.           alt     keycode 13 = Meta_equal
  1589.           alt     shift   keycode  13 = Meta_plus
  1590.  
  1591.   keycode  14 = Delete           Remove
  1592.           alt     control keycode 14 = Boot
  1593.           altgr   control keycode 14 = KeyboardSignal
  1594.  
  1595.   keycode  15 = Tab
  1596.  
  1597.   keycode  16 = a                A                acircumflex     adiaeresis
  1598.  
  1599.   keycode  17 = z                Z                aring           Aring
  1600.  
  1601.   keycode  18 = e                E                ecircumflex     ediaeresis
  1602.  
  1603.   keycode  19 = r                R                registered
  1604.  
  1605.   keycode  20 = t                T                thorn           THORN
  1606.  
  1607.   keycode  21 = y                Y                yen
  1608.  
  1609.   keycode  22 = u                U                ucircumflex     udiaeresis
  1610.  
  1611.   keycode  23 = i                I                icircumflex     idiaeresis
  1612.  
  1613.   keycode  24 = o                O                ocircumflex     odiaeresis
  1614.  
  1615.   keycode  25 = p                P                paragraph
  1616.  
  1617.   keycode  26 = dead_circumflex  dead_diaeresis   dead_cedilla    dead_tilde
  1618.  
  1619.   keycode  27 = dollar           pound            currency
  1620.  
  1621.   keycode  28 = Return
  1622.           alt     keycode  28 = 0x080d
  1623.           altgr   keycode  26 = Linefeed
  1624.  
  1625.   keycode  29 = Control
  1626.  
  1627.   keycode  30 = q                Q                Acircumflex     Adiaeresis
  1628.  
  1629.   keycode  31 = s                S                oslash          Oslash
  1630.  
  1631.   keycode  32 = d                D                Ecircumflex     Ediaeresis
  1632.  
  1633.   keycode  33 = f                F                ordfeminine
  1634.  
  1635.   keycode  34 = g                G                acute
  1636.  
  1637.   keycode  35 = h                H                periodcentered
  1638.  
  1639.   keycode  36 = j                J                Ucircumflex     Udiaeresis
  1640.  
  1641.   keycode  37 = k                K                Icircumflex     Idiaeresis
  1642.  
  1643.   keycode  38 = l                L                Ocircumflex     Odiaeresis
  1644.  
  1645.   keycode  39 = m                M                masculine
  1646.  
  1647.   keycode  40 = ugrave           percent         plusminus        Ugrave
  1648.           alt     keycode 40 = Meta_semicolon
  1649.  
  1650.   # Mode math
  1651.   #keycode  41 = twosuperior      threesuperior   onesuperior     periodcentered
  1652.   # Mode littΘraire + math
  1653.   keycode  41 = guillemotleft    guillemotright   twosuperior     threesuperior
  1654.  
  1655.   keycode  42 = Shift
  1656.  
  1657.   keycode  43 = asterisk         mu               onehalf
  1658.  
  1659.   keycode  44 = w                W                +eth            +ETH
  1660.  
  1661.   keycode  45 = x                X                +ae             +AE
  1662.  
  1663.   keycode  46 = c                C                cent
  1664.  
  1665.   keycode  47 = v                V                copyright
  1666.  
  1667.   keycode  48 = b                B                ssharp
  1668.  
  1669.   keycode  49 = n                N                notsign
  1670.  
  1671.   keycode  50 = comma            question        questiondown
  1672.  
  1673.   keycode  51 = semicolon        period          multiply
  1674.  
  1675.   keycode  52 = colon            slash           division
  1676.  
  1677.   keycode  53 = exclam           section         exclamdown
  1678.  
  1679.   keycode  54 = Shift
  1680.  
  1681.   keycode  55 = KP_Multiply      Hex_A           Hex_D
  1682.  
  1683.   keycode  56 = Alt
  1684.  
  1685.   keycode  57 = space
  1686.           control keycode  57 = nul
  1687.           alt     keycode  57 = Meta_space
  1688.           altgr   keycode  57 = nobreakspace
  1689.  
  1690.   # TrΦs utile pour tous ceux ne disposant pas de leurs deux mains
  1691.   keycode  58 =  CapsShift
  1692.   # Caps_Lock
  1693.   # ou au choix CapsShift ou Caps_On !
  1694.           shift   keycode  58 = Shift_Lock
  1695.           control keycode  58 = Control_Lock
  1696.           alt     keycode  58 = Alt_Lock
  1697.           altgr   keycode  58 = AltGr_Lock
  1698.  
  1699.   keycode  59 = F1               F11              Console_13
  1700.           alt     keycode  59 = Console_1
  1701.           control alt     keycode  59 = Console_1
  1702.  
  1703.   keycode  60 = F2               F12              Console_14
  1704.           alt     keycode  60 = Console_2
  1705.           control alt     keycode  60 = Console_2
  1706.  
  1707.   keycode  61 = F3               F13              Console_15
  1708.           alt     keycode  61 = Console_3
  1709.           control alt     keycode  61 = Console_3
  1710.  
  1711.   keycode  62 = F4               F14              Console_16
  1712.           alt     keycode  62 = Console_4
  1713.           control alt     keycode  62 = Console_4
  1714.  
  1715.   keycode  63 = F5               F15              Console_17
  1716.           alt     keycode  63 = Console_5
  1717.           control alt     keycode  63 = Console_5
  1718.  
  1719.   keycode  64 = F6               F16              Console_18
  1720.           alt     keycode  64 = Console_6
  1721.           control alt     keycode  64 = Console_6
  1722.  
  1723.   keycode  65 = F7               F17              Console_19
  1724.           alt     keycode  65 = Console_7
  1725.           control alt     keycode  65 = Console_7
  1726.  
  1727.   keycode  66 = F8               F18              Console_20
  1728.           alt     keycode  66 = Console_8
  1729.           control alt     keycode  66 = Console_8
  1730.  
  1731.   keycode  67 = F9               F19              Console_21
  1732.           alt     keycode  67 = Console_9
  1733.           control alt     keycode  67 = Console_9
  1734.  
  1735.   keycode  68 = F10              F20              Console_22
  1736.           alt     keycode  68 = Console_10
  1737.           control alt     keycode  68 = Console_10
  1738.  
  1739.   keycode  69 = Num_Lock         Bare_Num_Lock
  1740.  
  1741.   keycode  70 = Scroll_Lock      Show_Memory      Show_Registers  Show_State
  1742.  
  1743.   keycode  71 = KP_7             Hex_7
  1744.           alt     keycode  71 = Ascii_7
  1745.  
  1746.   keycode  72 = KP_8             Hex_8
  1747.           alt     keycode  72 = Ascii_8
  1748.  
  1749.   keycode  73 = KP_9             Hex_9
  1750.           alt     keycode  73 = Ascii_9
  1751.  
  1752.   keycode  74 = KP_Subtract      Hex_B            Hex_E
  1753.           alt     keycode  74 = minus
  1754.  
  1755.   keycode  75 = KP_4             Hex_4
  1756.           alt     keycode  75 = Ascii_4
  1757.  
  1758.   keycode  76 = KP_5             Hex_5
  1759.           alt     keycode  76 = Ascii_5
  1760.  
  1761.   keycode  77 = KP_6             Hex_6
  1762.           alt     keycode  77 = Ascii_6
  1763.  
  1764.   keycode  78 = KP_Add           Hex_C            Hex_F
  1765.           alt     keycode  78 = plus
  1766.  
  1767.   keycode  79 = KP_1             Hex_1
  1768.           alt     keycode  79 = Ascii_1
  1769.  
  1770.   keycode  80 = KP_2             Hex_2
  1771.           alt     keycode  80 = Ascii_2
  1772.  
  1773.   keycode  81 = KP_3             Hex_3
  1774.           alt     keycode  81 = Ascii_3
  1775.  
  1776.   keycode  82 = KP_0             Hex_0
  1777.           alt     keycode  82 = Ascii_0
  1778.  
  1779.   keycode  83 = KP_Period         KP_Comma
  1780.           altgr   control keycode  83 = KeyboardSignal
  1781.           control alt     keycode  83 = Boot
  1782.  
  1783.   # SysReq = Alt+Print Screen = 84
  1784.   keycode  84 = Last_Console
  1785.  
  1786.   keycode  85 =
  1787.  
  1788.   keycode  86 = less             greater          bar             brokenbar
  1789.  
  1790.   keycode  87 = F11              F11              Console_23
  1791.           alt     keycode  87 = Console_11
  1792.           control alt     keycode  87 = Console_11
  1793.  
  1794.   keycode  88 = F12              F12              Console_24
  1795.           alt     keycode  88 = Console_12
  1796.           control alt     keycode  88 = Console_12
  1797.  
  1798.   keycode  89 =
  1799.  
  1800.   keycode  90 =
  1801.  
  1802.   keycode  91 =
  1803.  
  1804.   keycode  92 =
  1805.  
  1806.   keycode  93 =
  1807.  
  1808.   keycode  94 =
  1809.  
  1810.   keycode  95 =
  1811.  
  1812.   keycode  96 = KP_Enter
  1813.  
  1814.   keycode  97 = Control
  1815.  
  1816.   keycode  98 = KP_Divide
  1817.  
  1818.   # Print Screen
  1819.   keycode  99 = Control_backslash
  1820.           control keycode  99 = Control_backslash
  1821.           alt     keycode  99 = Control_backslash
  1822.  
  1823.   keycode 100 = AltGr
  1824.           alt     keycode 100 = Compose
  1825.  
  1826.   # Ctrl+Pause = Break = 101
  1827.   keycode 101 = Break
  1828.  
  1829.   keycode 102 = Home
  1830.  
  1831.   keycode 103 = Up
  1832.  
  1833.   keycode 104 = PageUp
  1834.           shift   keycode 104 = Scroll_Backward
  1835.  
  1836.   keycode 105 = Left
  1837.           alt     keycode 105 = Decr_Console
  1838.  
  1839.   keycode 106 = Right
  1840.           alt     keycode 106 = Incr_Console
  1841.  
  1842.   keycode 107 = End
  1843.  
  1844.   keycode 108 = Down
  1845.           alt     keycode 108 = Last_Console
  1846.  
  1847.   # PageDown == Next
  1848.   keycode 109 = PageDown
  1849.           shift   keycode 109 = Scroll_Forward
  1850.  
  1851.   keycode 110 = Insert
  1852.  
  1853.   keycode 111 = BackSpace       BackSpace      SAK
  1854.           alt     keycode 111 = Meta_backslash
  1855.           control keycode 111 = Control_backslash
  1856.  
  1857.   keycode 112 = Macro
  1858.  
  1859.   keycode 113 = F13
  1860.  
  1861.   keycode 114 = F14
  1862.  
  1863.   keycode 115 = Help
  1864.  
  1865.   keycode 116 = Do
  1866.  
  1867.   keycode 117 = F17
  1868.  
  1869.   keycode 118 = KP_MinPlus
  1870.  
  1871.   keycode 119 = Pause
  1872.  
  1873.   keycode 120 =
  1874.  
  1875.   keycode 121 =
  1876.  
  1877.   keycode 122 =
  1878.  
  1879.   keycode 123 =
  1880.  
  1881.   keycode 124 =
  1882.  
  1883.   # FenΩtre gauche = Alt puisque d'habitude c'est la position d'Alt !
  1884.   keycode 125 = Alt
  1885.  
  1886.   # FenΩtre droite = AltGr puisque d'habitude c'est la position d'AltGr !
  1887.   keycode 126 = AltGr
  1888.  
  1889.   # Menu = compose (mΘlanger des signes et des lettres ex : (compose) ' e = Θ
  1890.   keycode 127 = Compose
  1891.  
  1892.   string F1 = "\033[[A"
  1893.   string F2 = "\033[[B"
  1894.   string F3 = "\033[[C"
  1895.   string F4 = "\033[[D"
  1896.   string F5 = "\033[[E"
  1897.   string F6 = "\033[17~"
  1898.   string F7 = "\033[18~"
  1899.   string F8 = "\033[19~"
  1900.   string F9 = "\033[20~"
  1901.   string F10 = "\033[21~"
  1902.   string F11 = "\033[23~"
  1903.   string F12 = "\033[24~"
  1904.   string F13 = "\033[25~"
  1905.   string F14 = "\033[26~"
  1906.   string F15 = "\033[28~"
  1907.   string F16 = "\033[29~"
  1908.   string F17 = "\033[31~"
  1909.   string F18 = "\033[32~"
  1910.   string F19 = "\033[33~"
  1911.   string F20 = "\033[34~"
  1912.   string F21 = ""
  1913.   string F22 = ""
  1914.   string F23 = ""
  1915.   string F24 = ""
  1916.   string F25 = ""
  1917.   string F26 = ""
  1918.   string Home = "\033[1~"
  1919.   string Insert = "\033[2~"
  1920.   string Remove = "\033[3~"
  1921.   string End = "\033[4~"
  1922.   string PageUp = "\033[5~"
  1923.   string PageDown = "\033[6~"
  1924.   string Macro = "\033[M"
  1925.   string Pause = "\033[P"
  1926.  
  1927.   compose '`' 'A' to '└'
  1928.   compose '`' 'a' to 'α'
  1929.   compose '\'' 'A' to '┴'
  1930.   compose '\'' 'a' to 'ß'
  1931.   compose '^' 'A' to '┬'
  1932.   compose '^' 'a' to 'Γ'
  1933.   compose '~' 'A' to '├'
  1934.   compose '~' 'a' to 'π'
  1935.   compose '"' 'A' to '─'
  1936.   compose '"' 'a' to 'Σ'
  1937.   compose 'O' 'A' to '┼'
  1938.   compose 'o' 'a' to 'σ'
  1939.   compose '0' 'A' to '┼'
  1940.   compose '0' 'a' to 'σ'
  1941.   compose 'A' 'A' to '┼'
  1942.   compose 'a' 'a' to 'σ'
  1943.   compose 'A' 'E' to '╞'
  1944.   compose 'a' 'e' to 'µ'
  1945.   compose ',' 'C' to '╟'
  1946.   compose ',' 'c' to 'τ'
  1947.   compose '`' 'E' to '╚'
  1948.   compose '`' 'e' to 'Φ'
  1949.   compose '\'' 'E' to '╔'
  1950.   compose '\'' 'e' to 'Θ'
  1951.   compose '^' 'e' to 'Ω'
  1952.   compose '"' 'E' to '╦'
  1953.   compose '"' 'e' to 'δ'
  1954.   compose '`' 'I' to '╠'
  1955.   compose '`' 'i' to '∞'
  1956.   compose '\'' 'I' to '═'
  1957.   compose '\'' 'i' to 'φ'
  1958.   compose '^' 'I' to '╬'
  1959.   compose '^' 'i' to 'ε'
  1960.   compose '"' 'I' to '╧'
  1961.   compose '"' 'i' to '∩'
  1962.   compose '-' 'D' to '╨'
  1963.   compose '~' 'N' to '╤'
  1964.   compose '~' 'n' to '±'
  1965.   compose '`' 'O' to '╥'
  1966.   compose '`' 'o' to '≥'
  1967.   compose '\'' 'O' to '╙'
  1968.   compose '\'' 'o' to '≤'
  1969.   compose '^' 'O' to '╘'
  1970.   compose '^' 'o' to '⌠'
  1971.   compose '~' 'O' to '╒'
  1972.   compose '~' 'o' to '⌡'
  1973.   compose '"' 'O' to '╓'
  1974.   compose '"' 'o' to '÷'
  1975.   compose '/' 'O' to '╪'
  1976.   compose '/' 'o' to '°'
  1977.   compose '`' 'U' to '┘'
  1978.   compose '`' 'u' to '∙'
  1979.   compose '\'' 'U' to '┌'
  1980.   compose '\'' 'u' to '·'
  1981.   compose '^' 'u' to '√'
  1982.   compose '"' 'U' to '▄'
  1983.   compose '"' 'u' to 'ⁿ'
  1984.   compose '\'' 'Y' to '▌'
  1985.   compose '\'' 'y' to '²'
  1986.   compose 's' 's' to '▀'
  1987.   compose 's' 'z' to '▀'
  1988.   # si quelqu'un veut bien y inclure des ½compose╗ pour les autres caractΦres
  1989.   # latin1 comme les guillemets franτais, le copyright (...) qu'il me les envoie !
  1990.  
  1991.