(re-send after actually finishing subscribing to the list, sorry about this)

Hi,

        For years the fr keyboard in xfree86 was broken and painful to use (I
can elaborate a *lot* more if anyone's interested). It even sparked the
creation of a very complete howto detailling how anyone needing to work
in X everyday could replace it with a version that actually worked ( ie
the francophones-howto aka the french-howto)

        This layout was merged in kbd.

        Unfortunately it has also been broken by recent changes in xfree cvs (I
use the redhat rawhide version). I'd be interested to
1. fix it
2. merge it in xfree proper (or change the default fr keyboard to match
it)

        I'm ready to invest some time on this. Right now I am reduced to using
the layout provided by X and I don't know if I'll be able to stand it
much longer (lack of extended keys, impossible to select very basic
characters like @ and >, qwertyisms everywhere). However I've got zip
interest on working on something that won't be merged.

        Attached is the layout version that used to work for previous x
versions. The original author (Guylhem Aznar) can be reached at
[EMAIL PROTECTED]

        Note this is not a simple custom mod, as far as I know this layout has
been in wide use since it was first published.

        Is anyone with the proper xfree86 commit access interested by this (f*,
can't even use the question mark on the fr X layout)

Regards,

-- 
Nicolas Mailhot <[EMAIL PROTECTED]>
// Copyright (c) 1997, 1998 Guylhem Aznar <guylhem @ oeil.qc.ca> : GPL
//
// Les accents circonflexes des principales voyelles sont obtenus avec
// la touche Alt_Gr, les trémas sont obtenus par Alt_Gr + Shift.
//
//  ____                                     _________ _____________ _______
// | S A| S = Shift,  A = AltGr + Shift     | Imprime | Arrêt défil | Pause |
// | s a| s = normal, a = AltGr             |  Exec   |             | Halte |
//  ¯¯¯¯                                     ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯
//  ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______
// | ½ «| 1 ·| 2 É| 3 ¸| 4 ´| 5 ¨| 6 ¦| 7 È| 8 ¯| 9 Ç| 0 À| ° ÿ| + ¾| <--   |
// | ¼ »| & '| é ~| " #| ' {| ( [| - || è `| _ \| ç ^| à @| ) ]| = }|       |
//  ========================================================================
// | |<-  | A ä| Z Å| E ë| R Ç| T Þ| Y Ý| U ü| I ï| O ö| P '| " `| $ ê|   , |
// |  ->| | a â| z å| e ¤| r ç| t þ| y ý| u û| i î| o ô| p ¶| ^ ~| £ ¢| <-' |
//  ===================================================================¬    |
// |       | Q Ä| S Ø| D Ë| F ª| G Æ| H Ð| J Ü| K Ï| L Ö| M º| % Ù| µ ¥|    |
// | MAJ   | q Â| s ø| d Ê| f ±| g æ| h ð| j Û| k Î| l Ô| m ¹| ù ²| * ³|    |
//  ========================================================================
// | ^   | >  | W  | X  | C  | V  | B  | N  | ?  | .  | /  | §  |     ^     |
// | |   | < || w «| x »| c ©| v ®| b ß| n ¬| , ¿| ; ×| : ÷| ! ¡|     |     |
//  ========================================================================
// |      |      |      |                       |       |      |     |      |
// | Ctrl | Meta | Alt  | Space    Nobreakspace | AltGr | Multi|Menu | Ctrl |
//  ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯ ¯¯¯¯¯¯
//
// 1. Control & Alt
//
// Les définitions de Alt & Control (touche) sont implicites ; n'ont donc
// été redéfinis qu'Alt (nombre) & Alt + Shift (nombre) pour inverser le
// comportement par défaut :
//
//              touche = signe
//              touche + Shift = nombre
//
// La correspondance devient donc :
//
//              Alt touche = Meta_nombre
//              Alt + Shift touche = Meta_signe
//
// 2. Hexadécimal : PAS SOUS X11
//
// Shift (touche du pavé numérique) permet de taper de l'héxadécimal.
//
// 3. Fonctions :   PAS SOUS X11
//
// Redémarrer ou arrêter l'ordinateur, sont disponibles directement au clavier
//
//              Control Alt Delete/Backspace : redémarrer
//              Control AltGr Delete/Backspace : arrêter
//
// Ajouter pour ces deux fonctions les lignes suivantes à /etc/inittab :
//
//              ca:12345:ctrlaltdel:/sbin/shutdown -t1 -r now
//              kb:12345:kbrequest:/sbin/halt
//
// 4. Accentuations :
//
// Les touches é, è, ç, à & ù, présentes en mode minuscule (i.e. sans shift)
// ne sont pas disponibles en mode majuscule : elles sont respectivement
// remplacées par 2, 7, 9, 0 & % ; donc pour obtenir les majuscules
// accentuées É, È, Ç, À & Ù:
//
//              * Si les dead_keys ne fonctionnaient pas (certains programmes
//              les refusent), vous pouvez toujours utiliser AltGr + Shift
//              (minuscule accentuée) pour obtenir la majuscule ; pour
//              l'accent circonflexe & le 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
//
// Seule exception : AltGr (e) donnant l'euro ¤, AltGr + Shift ($) donne ê 
//
//              * Si les dead_keys fonctionnent, utiliser les accents dits
//              «morts», i.e. fonctionnant comme l'accent circonflexe & le
//              tréma des machines à écrire ; sont disponibles :
//
// (^) : accent circonflexe,
// Shift+(^) : tréma,
// Shift+AltGr (^) : tilde,
// AltGr (1) : accent aigu,
// AltGr (7) : accent grave
//
// Pour s'en servir, procéder comme avec l'accent circonflexe & le tréma
// sur les vielles machines à écrire :
//
// AltGr (1) puis e : é
// Shift+AltGr (1) puis e : É ...

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 personnalisable ...

    name[Group1]= "fr-latin9";

    key <ESC>   {       [          Escape                       ]       };

    key <TLDE>  {       [              oe,              OE      ],
                        [   guillemotleft,  guillemotright      ]       };
    key <AE01>  {       [       ampersand,               1      ],
                        [      dead_acute,  periodcentered      ]       };
    key <AE02>  {       [          eacute,               2      ],
                        [      asciitilde,          Eacute      ]       };
    key <AE03>  {       [        quotedbl,               3      ], 
                        [      numbersign,         cedilla      ]       };
    key <AE04>  {       [      apostrophe,               4      ],
                        [       braceleft,           acute      ]       };
    key <AE05>  {       [       parenleft,               5      ],
                        [     bracketleft,       diaeresis      ]       };
    key <AE06>  {       [           minus,               6      ],
                        [             bar,       brokenbar      ]       };
    key <AE07>  {       [          egrave,               7      ],
                        [      dead_grave,          Egrave      ]       };
    key <AE08>  {       [      underscore,               8      ],
                        [       backslash,          macron      ]       };
    key <AE09>  {       [        ccedilla,               9      ],
                        [     asciicircum,        Ccedilla      ]       };
    key <AE10>  {       [          agrave,               0      ],
                        [              at,          Agrave      ]       };
    key <AE11>  {       [      parenright,          degree      ],
                        [    bracketright,      ydiaeresis      ]       };
    key <AE12>  {       [           equal,            plus      ],
                        [      braceright,   threequarters      ]       };
    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      ],
                        [        EuroSign,      ediaeresis      ]       };
    key <AD04>  {       [               r,               R      ],
                        [        ccedilla,        Ccedilla      ]       };
    key <AD05>  {       [               t,               T      ],
                        [           thorn,           THORN      ]       };
    key <AD06>  {       [               y,               Y      ],
                        [          yacute,          Yacute      ]       };
    key <AD07>  {       [               u,               U      ],
                        [     ucircumflex,      udiaeresis      ]       };
    key <AD08>  {       [               i,               I      ],
                        [     icircumflex,      idiaeresis      ]       };
    key <AD09>  {       [               o,               O      ],
                        [     ocircumflex,      odiaeresis      ]       };
    key <AD10>  {       [               p,               P      ],
                        [       paragraph,       quoteleft      ]       };
    key <AD11>  {       [ dead_circumflex,  dead_diaeresis      ],
                        [      dead_tilde,      quoteright      ]       };
    key <AD12>  {       [          dollar,        sterling      ],
                        [            cent,     ecircumflex      ]       };
    key <RTRN>  {       [          Return                       ]       };

    key <CAPS>  {       [       Caps_Lock                       ]       };

    key <AC01>  {       [               q,               Q      ],
                        [     Acircumflex,      Adiaeresis      ]       };
    key <AC02>  {       [               s,               S      ],
                        [          oslash,        Ooblique      ]       };
    key <AC03>  {       [               d,               D      ],
                        [     Ecircumflex,      Ediaeresis      ]       };
    key <AC04>  {       [               f,               F      ],
                        [       plusminus,     ordfeminine      ]       };
    key <AC05>  {       [               g,               G      ],
                        [              ae,              AE      ]       };
    key <AC06>  {       [               h,               H      ],
                        [             eth,             ETH      ]       };
    key <AC07>  {       [               j,               J      ],
                        [     Ucircumflex,      Udiaeresis      ]       };
    key <AC08>  {       [               k,               K      ],
                        [     Icircumflex,      Idiaeresis      ]       };
    key <AC09>  {       [               l,               L      ],
                        [     Ocircumflex,      Odiaeresis      ]       };
    key <AC10>  {       [               m,               M      ],
                        [     onesuperior,       masculine      ]       };
    key <AC11>  {       [          ugrave,         percent      ],
                        [     twosuperior,          Ugrave      ]       };
    key <LFSH>  {       [          Shift_L                      ]       };

    key <LSGT>  {       [           less,          greater      ],
                        [             bar                       ]       };
    key <AB01>  {       [               w,               W      ],
                        [   guillemotleft                       ]       };
    key <AB02>  {       [               x,               X      ],
                        [  guillemotright                       ]       };
    key <AB03>  {       [               c,               C      ],
                        [       copyright                       ]       };
    key <AB04>  {       [               v,               V      ],
                        [      registered                       ]       };
    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 <BKSL>  {       [        asterisk,              mu      ],
                        [   threesuperior,             yen      ]       };
    key <LCTL>  {       [       Control_L                       ]       };
    key <SPCE>  {       [           space                       ]       };
//    key <RALT> {        [       Alt_R,  Meta_R                ]       };
    key <RALT> {        [ Mode_switch,  Multi_key               ]       };

    modifier_map Shift  { Shift_L };
    modifier_map Lock   { Caps_Lock };
    modifier_map Control{ Control_L };
    modifier_map Mod3   { Mode_switch };
};

default
xkb_symbols "pc102" {
    include "fr-latin9(basic)"
    key <RTSH> {        [        Shift_R             ]       };
    key <LALT> {        [       Alt_L,  Meta_L       ]       };
    key <RCTL> {        [        Control_R           ]       };

    key <FK01> {        [        F1, F11             ]       };
    key <FK02> {        [        F2, F12             ]       };
    key <FK03> {        [        F3, F13             ]       };
    key <FK04> {        [        F4, F14             ]       };
    key <FK05> {        [        F5, F15             ]       };
    key <FK06> {        [        F6, F16             ]       };
    key <FK07> {        [        F7, F17             ]       };
    key <FK08> {        [        F8, F18             ]       };
    key <FK09> {        [        F9, F19             ]       };
    key <FK10> {        [       F10, F20             ]       };
    key <FK11> {        [       F11, F21             ]       };
    key <FK12> {        [       F12, F22             ]       };

    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> {  [  slash            ]       };
    key <KPMU> {  [  asterisk         ]       };
    key <KPSU> {  [  minus            ]       };

    key  <KP7> {  [  7                ]       };
    key  <KP8> {  [  8                ]       };
    key  <KP9> {  [  9                ]       };
    key <KPAD> {  [  plus             ]       };
    key  <KP4> {  [  4                ]       };
    key  <KP5> {  [  5                ]       };
    key  <KP6> {  [  6                ]       };
    key  <KP1> {  [  1                ]       };
    key  <KP2> {  [  2                ]       };
    key  <KP3> {  [  3                ]       };
    key <KPEN> {  [  Return           ]       };
    key  <KP0> {  [  0                ]       };
    key <KPDL> {  [  period           ]       };

    modifier_map Shift  { Shift_R };
    modifier_map Control{ Control_R };
    modifier_map Mod1   { Alt_L, Alt_R };
    modifier_map Mod2   { Num_Lock };
    modifier_map Mod5   { Scroll_Lock };
};

xkb_symbols "pc105" {
include "fr-latin9(pc102)"
    key <LWIN> {        [       Meta_L, Meta_R  ]       };
    key <RWIN> {        [       Multi_key       ]       };
    key <MENU> {        [       Menu            ]       };

    modifier_map Mod1   { Alt_L, Alt_R };
    modifier_map Mod4   { Meta_L, Meta_R };
};

partial alphanumeric_keys 
xkb_symbols "nodeadkeys" {
    include "fr-latin9(basic)"
    key <AE01>  {       [       ampersand,               1      ],
                        [      apostrophe,  periodcentered      ]       };
    key <AE07>  {       [          egrave,               7      ],
                        [           grave,          Egrave      ]       };
    key <AD11>  {       [     asciicircum,       diaeresis      ],
                        [      asciitilde,      quoteright      ]       };
};

Attachment: signature.asc
Description: PGP signature

Reply via email to