(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