Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
mini-howto: Keymaps for US Int. QWERTY / Dutch (Belgium)
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Other Things Gentoo
View previous topic :: View next topic  
Author Message
pjv
Guru
Guru


Joined: 02 Jul 2003
Posts: 353
Location: Belgium

PostPosted: Thu Jul 08, 2004 9:12 pm    Post subject: mini-howto: Keymaps for US Int. QWERTY / Dutch (Belgium) Reply with quote

Warning: This mini-howto has gotten a copy on the Dutch Gentoo Wiki. Since it is a wiki there, it might split off someday. So if you speak Dutch, please visit that page as well... However this still is the original and first hand page.

Intro
This thread is meant for Belgians who utilise a US International QWERTY keyboard. It gives you "selective" dead-keys (which means accents too), working alt-gr and window keys, and the euro sign. It might apply to other languages as well though, or at least be very useful :-).

I cloned the keymap of Windows XP, and added some extra functionality too. In Windows you would have these settings for this: Keyboardlayout: US International (QWERTY), language input: Dutch(Belgium).

I made an xmodmap and a solution for xkb. You'll probably only need the latter (it's better).\

I also finally found a solution to get the dead-keys to be "selective" just like in Windows.

Some things that are still imperfect:
- I made this on a laptop, so a limited keyboard. I don't know if the keypad and/or other parts will work correctly.
- <SOLVED> The dead-keys aren't selective. When you type an accent and an e, you will get an e with an accent on it. But when you type for instance an accent and then a t, you will get nothing (not seperately accent and t like in Windows). This makes typing the English word "don't" hard. I'll post another elaborate thread about this tomorrow, I guess.
- A similar keymap for console may come very soon. I've started it, but not yet finished it. When done, there will be support for everyone: console, plain X, KDE, and especially Gnome users.

xmodmap
Create this file below:

/usr/share/xmodmap/xmodmap.us_intl-be-deadkeys:
Code:

!Notes & description: Xmodmap keymap for US-international qwerty keyboards with language setting Dutch(Belgium). This keymap is designed to be as close as possible to the Windows XP keymap (for the same keyboard-layout/language combination). This doesn't always give a logic layout, but still... Also some empty spaces have been filled up with some extra functionality. Made by Pieter-Jan Vandormael (pjv at skynet dot be) on an Acer TravelMate 803LCiB laptop. I made this because of the lacking of a good keymap for Belgians with a US-int qwerty (why would you use azerty when you speak Dutch!??) and wanting about the same as in Windows. I made this mostly for myself, but I hope it can be of any use to other people as well.
!Tips: In Gnome you can couple the Windows key with showing the panel menu.
!Features:   -A copy of the keymap in Windows XP with these settings:
!         -Keyboardlayout: US (International), QWERTY
!         -Inputlanguage: Dutch (Belgium), Flemish
!      -... with some empty spaces filled up with some extra functionality
!      -... and ofcourse a few things needed to be unique for linux as well.
!      -For a limited laptop keyboard.
!      -Made by: pjv at skynet dot be.
!      -Made on: 04-07-2004.
!      -Tested on: Acer TravelMate 803LCiB, Gentoo Linux, gentoo-dev-sources-2.6.7-r7, gnome 2.6.
!      -There also is an Xkb symbols keymap available.
!

keycode 0x09 =   Escape
keycode 0x43 =   F1      F11      F21      F31
keycode 0x44 =   F2      F12      F22      F32
keycode 0x45 =   F3      F13      F23      F33
keycode 0x46 =   F4      F14      F24      F34
keycode 0x47 =   F5      F15      F25      F35
keycode 0x48 =   F6      F16      F26      
keycode 0x49 =   F7      F17      F27      
keycode 0x4A =   F8      F18      F28      
keycode 0x4B =   F9      F19      F29      
keycode 0x4C =   F10      F20      F30      
keycode 0x5F =   F11      
keycode 0x60 =   F12      
keycode 0x6F =   Print      Sys_Req
keycode 0x4E =   Scroll_Lock
keycode 0x6E =   Pause      Break      Find
keycode 0x31 =   dead_grave   dead_tilde   emopenrectangle   dead_breve
keycode 0x0A =   1      exclam      exclamdown   onesuperior
keycode 0x0B =   2      at      twosuperior   dead_horn
keycode 0x0C =   3      numbersign   threesuperior   asciicircum
keycode 0x0D =   4      dollar      currency   sterling
keycode 0x0E =   5      percent      EuroSign   dead_doubleacute
keycode 0x0F =   6      dead_circumflex   onequarter   dead_cedilla
keycode 0x10 =   7      ampersand   onehalf      dead_ogonek
keycode 0x11 =   8      asterisk   threequarters   dead_abovedot
keycode 0x12 =   9      parenleft   leftsinglequotemark   dead_hook
keycode 0x13 =   0      parenright   rightsinglequotemark   dead_macron
keycode 0x14 =   minus      underscore   yen      dead_abovering
keycode 0x15 =   equal      plus      multiply   division
keycode 0x16 =   BackSpace   
keycode 0x6A =   Insert      
keycode 0x61 =   Home      
keycode 0x63 =   Prior      
keycode 0x4D =   Num_Lock      
keycode 0x17 =   Tab      
keycode 0x18 =   q      Q      adiaeresis
keycode 0x19 =   w      W      aring      Aring
keycode 0x1A =   e      E      EuroSign   eacute
keycode 0x1B =   r      R      registered   Eacute
keycode 0x1C =   t      T      Thorn      thorn
keycode 0x1D =   y      Y      udiaeresis   
keycode 0x1E =   u      U      uacute      
keycode 0x1F =   i      I      iacute
keycode 0x20 =   o      O      oacute
keycode 0x21 =   p      P      odiaeresis
keycode 0x22 =   bracketleft   braceleft   guillemotleft   apostrophe
keycode 0x23 =   bracketright   braceright   guillemotright   quotedbl
keycode 0x24 =   Return      
keycode 0x6B =   Delete      Clear
keycode 0x67 =   End      
keycode 0x69 =   Next         
keycode 0x42 =   Caps_Lock   
keycode 0x26 =   a      A        aacute
keycode 0x27 =   s      S      ssharp      section
keycode 0x28 =   d      D      eth      Eth
keycode 0x29 =   f      F      
keycode 0x2A =   g      G
keycode 0x2B =   h      H
keycode 0x2C =   j      J
keycode 0x2D =   k      K
keycode 0x2E =   l      L      oslash      Ooblique
keycode 0x2F =   semicolon   colon      paragraph   degree
keycode 0x30 =   dead_acute   dead_diaeresis   acute       diaeresis
keycode 0x33 =   backslash   bar      notsign      brokenbar
keycode 0x32 =   Shift_L
keycode 0x34 =   z      Z      ae      AE
keycode 0x35 =   x      X      
keycode 0x36 =   c      C      copyright   cent
keycode 0x37 =   v      V      
keycode 0x38 =   b      B      
keycode 0x39 =   n      N      ntilde      Ntilde
keycode 0x3A =   m      M      mu      
keycode 0x3B =   comma      less      ccedilla   Ccedilla
keycode 0x3C =   period      greater         
keycode 0x3D =    slash      question   questiondown
keycode 0x3E =   Shift_R
keycode 0x62 =   Up
keycode 0x25 =   Control_L   Super_L      Hyper_L      Meta_L
keycode 0x40 =   Alt_L
keycode 0x41 =   space
keycode 0x71 =   Mode_switch   
keycode 0x6D =   Control_R   Super_R      Hyper_R      Meta_R
keycode 0x64 =   Left      Left      Home
keycode 0x68 =   Down
keycode 0x66 =   Right      Right      End
keycode 0x73 =    Multi_key   Multi_key   
keycode 0x74 =
keycode 0x75 =    Menu      ISO_Next_Group

clear Shift
clear Lock
clear Control
clear Mod1
clear Mod2
clear Mod3
clear Mod4
clear Mod5

add    Shift   = Shift_L Shift_R
add    Lock    = Caps_Lock
add    Control = Control_L Control_R
add    Mod1    = Alt_L Alt_R
add    Mod2    = Num_Lock
add    Mod3    = Mode_switch
add    Mod4    = Super_L Super_R
add    Mod5    = Scroll_Lock



One solution is then to create a symbolic link ~/.Xmodmap to it. The xmodmap will then be loaded when X starts.

Code:

ln -s /usr/share/xmodmap/xmodmap.us_intl-be-deadkeys ~/.Xmodmap


This only works if you turn off Xkb (so it doesn't override). Beware: in Gnome this means you lose some functionality, if I'm not mistaken. Insert the following line in /etc/X11/XF86Config, section ServerFlags:

Code:

Option "XkbDisable" "true"


Test with xmodmap -pk how your keymap looks.

KDE users shouldn't link at ~/.Xmodmap but place an .Xmodmap in /usr/kde/3.2/share/config/kdm/Xsetup/ or something like that.

You might get some errors in your XFree logs, because of some overlap in key definitions. But hey, it just works.

Xkb
Or use this way. It's better.
Create this file:

/usr/X11R6/lib/X11/xkb/symbols/pc/us-dutch:
Code:

//Notes & description: Xkb symbols keymap for US-international qwerty keyboards with language setting Dutch(Belgium). This keymap is designed to be as close as possible to the Windows XP keymap (for the same keyboard-layout/language combination). This doesn't always give a very logic layout, but still... Also some empty spaces have been filled up with some extra functionality. Made by Pieter-Jan Vandormael (pjv at skynet dot be) on an Acer TravelMate 803LCiB laptop. I made this because of the lacking of a good keymap for Belgians with a US-int qwerty (why would you use azerty when you speak Dutch!??) and wanting about the same as in Windows. I made this mostly for myself, but I hope it can be of any use to other people as well.
//Tips: In Gnome you can couple the Windows key with showing the panel menu.
//Features:   -A copy of the keymap in Windows XP with these settings:
//         -Keyboardlayout: US (International), QWERTY
//         -Inputlanguage: Dutch (Belgium), Flemish
//      -... with some empty spaces filled up with some extra functionality
//      -... and ofcourse a few things needed to be unique for linux as well.
//      -For a limited laptop keyboard.
//      -Made by: Pieter-Jan Vandormael (pjv at skynet dot be).
//      -Made on: 08-07-2004.
//      -Tested on: Acer TravelMate 803LCiB, Gentoo Linux, gentoo-dev-sources-2.6.7-r7, gnome 2.6.
//      -There also is an xmodmap available.
//

partial default hidden alphanumeric_keys modifier_keys

xkb_symbols "basic" {

    include "keypad(overlay)"
    //include "pc/latin"
    include "srvr_ctrl(xfree86)"
    name[Group1]="US (International) QWERTY (keyboardlayout) | Dutch (Belgium) (inputlanguage)";

    key <ESC>     { [    Escape ]                                           };

    // Alphanumeric section
    key <TLDE>  { [    dead_grave,       dead_tilde      ], [         emopenrectangle,    dead_breve ]       };
    key <AE01>   { [    1,          exclam         ], [          exclamdown,       onesuperior ]      };
    key <AE02>   { [    2,          at         ], [          twosuperior,       dead_horn ]      };
    key <AE03>   { [    3,          numbersign      ], [          threesuperior,       asciicircum ]      };
    key <AE04>   { [    4,          dollar         ], [          currency,       sterling ]      };
    key <AE05>   { [    5,          percent         ], [          EuroSign,       dead_doubleacute ]   };
    key <AE06>   { [    6,          dead_circumflex      ], [          onequarter,       dead_cedilla ]       };
    key <AE07>   { [    7,          ampersand      ], [          onehalf,       dead_ogonek ]       };
    key <AE08>   { [    8,          asterisk      ], [          threequarters,       dead_abovedot ]      };
    key <AE09>   { [    9,          parenleft      ], [          leftsinglequotemark,    dead_hook ]      };
    key <AE10>   { [    0,          parenright      ], [          rightsinglequotemark,    dead_macron ]      };
    key <AE11>   { [    minus,          underscore      ], [          yen,          dead_abovering ]    };
    key <AE12>   { [    equal,          plus         ], [          multiply,       division ]       };

    key <AD01>   { [    q,          Q         ], [          adiaeresis,      Adiaeresis ]       };
    key <AD02>   { [    w,          W         ], [          aring,          Aring ]       };
    key <AD03>   { [    e,          E         ], [          EuroSign,       eacute ]       };
    key <AD04>   { [    r,          R         ], [          registered,       Eacute ]       };
    key <AD05>   { [    t,          T         ], [          Thorn,          thorn ]         };
    key <AD06>   { [    y,          Y         ], [          udiaeresis,      Udiaeresis ]      };
    key <AD07>   { [    u,          U         ], [          uacute,         Uacute ]      };
    key <AD08>   { [    i,          I         ], [          iacute,         Iacute ]      };
    key <AD09>   { [    o,          O         ], [          oacute,         Oacute ]      };
    key <AD10>   { [    p,          P         ], [          odiaeresis,      Odiaeresis ]      };
    key <AD11>   { [    bracketleft,       braceleft      ], [          guillemotleft,       apostrophe ]      };
    key <AD12>   { [    bracketright,       braceright      ], [          guillemotright,    quotedbl ]      };

    key <AC01>   { [    a,          A         ], [          aacute,         Aacute ]      };
    key <AC02>   { [    s,          S         ], [          ssharp,       section ]      };
    key <AC03>   { [    d,          D         ], [          eth,          Eth ]         };
    key <AC04>   { [    f,          F ]                                    };
    key <AC05>   { [    g,          G ]                                    };
    key <AC06>   { [    h,          H ]                                    };
    key <AC07>   { [    j,          J ]                                    };
    key <AC08>   { [    k,          K ]                                    };
    key <AC09>   { [    l,          L         ], [          oslash,       Ooblique ]      };
    key <AC10>   { [    semicolon,       colon         ], [          paragraph,       degree ]      };
    key <AC11>   { [    dead_acute,       dead_diaeresis      ], [          acute,          diaeresis ]      };

    key <BKSL>   { [    backslash,       bar         ], [          notsign,       brokenbar ]      };
    key <AB01>   { [    z,          Z         ], [          ae,          AE ]         };
    key <AB02>   { [    x,          X ]                                    };
    key <AB03>   { [    c,          C         ], [          copyright,       cent ]         };
    key <AB04>   { [    v,          V ]                                    };
    key <AB05>   { [    b,          B ]                                     };
    key <AB06>   { [    n,          N         ], [          ntilde,       Ntilde ]      };
    key <AB07>   { [    m,          M         ], [          mu ]                  };
    key <AB08>   { [    comma,          less         ], [          ccedilla,       Ccedilla ]      };
    key <AB09>   { [    period,       greater ]                                 };
    key <AB10>   { [    slash,          question      ], [          questiondown ]                   };

    key <BKSP>    {
        type="CTRL+ALT",
        symbols[Group1]= [ BackSpace, Terminate_Server ]
    };

    key  <TAB>    { [     Tab,          ISO_Left_Tab ]                                 };
    key <RTRN>    { [     Return ]                                          };
    key <CAPS>    { [    Caps_Lock ]                                          };
    key <LFSH>    { [     Shift_L ]                                          };
    key <LCTL>  { [ Control_L ] };
//    key <LCTL>    { [     Control_L,       Super_L         ], [          Hyper_L,       Meta_L ]      }; //This unfortunately doesn't work. It prevents copy pasting with CTRL-C/V in mozilla due to gnome Keyboard dialog!?
    key <SPCE>    { [     space ]                                             };
    key <RTSH>    { [     Shift_R ]                                          };
    key <LALT>    { [     Alt_L ]                                             };
    key <RCTL>  { [ Control_R ] };
//    key <RCTL>    { [     Control_R,       Super_R         ], [          Hyper_R,       Meta_R ]      }; //This unfortunately doesn't work. It prevents copy pasting with CTRL-C/V in mozilla due to gnome Keyboard dialog!?
    key <RALT>    { [    Mode_switch ]                                          };

    // End alphanumeric section

    // Begin "Function" section
    key <FK01>    {
        type="CTRL+ALT",
        symbols[Group1]= [ F1,   XF86_Switch_VT_1 ]
    };
    key <FK02>    {
        type="CTRL+ALT",
        symbols[Group1]= [ F2,   XF86_Switch_VT_2 ]
    };
    key <FK03>    {
        type="CTRL+ALT",
        symbols[Group1]= [ F3,   XF86_Switch_VT_3 ]
    };
    key <FK04>    {
        type="CTRL+ALT",
        symbols[Group1]= [ F4,   XF86_Switch_VT_4 ]
    };
    key <FK05>    {
        type="CTRL+ALT",
        symbols[Group1]= [ F5,   XF86_Switch_VT_5 ]
    };
    key <FK06>    {
        type="CTRL+ALT",
        symbols[Group1]= [ F6,   XF86_Switch_VT_6 ]
    };
    key <FK07>    {
        type="CTRL+ALT",
        symbols[Group1]= [ F7,   XF86_Switch_VT_7 ]
    };
    key <FK08>    {
        type="CTRL+ALT",
        symbols[Group1]= [ F8,   XF86_Switch_VT_8 ]
    };
    key <FK09>    {
        type="CTRL+ALT",
        symbols[Group1]= [ F9,   XF86_Switch_VT_9 ]
    };
    key <FK10>    {
        type="CTRL+ALT",
        symbols[Group1]= [ F10,   XF86_Switch_VT_10 ]
    };
    key <FK11>    {
        type="CTRL+ALT",
        symbols[Group1]= [ F11,   XF86_Switch_VT_11 ]
    };
    key <FK12>    {
        type="CTRL+ALT",
        symbols[Group1]= [ F12,   XF86_Switch_VT_12 ]
    };
    // End "Function" section

    // Begin "Editing" section
    key <PRSC>    {
   type= "PC_SYSRQ",
   symbols[Group1]= [ Print, Sys_Req ]
    };
    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,       Clear ]                                    };
    key  <END>    { [    End ]                                             };
    key <PGDN>    { [    Next ]                                             };

    key   <UP>    { [    Up ]                                             };
    key <LEFT>    { [    Left,          Left         ], [          Home ]                  };
    key <DOWN>    { [    Down ]                                             };
    key <RGHT>    { [    Right,          Right         ], [          End ]                  };

    // End "Editing" section, begin "Keypad"
    key <NMLK>    { [    Num_Lock,       Pointer_EnableKeys ]                              };
    // End "Keypad" section


    // begin modifier mappings
    modifier_map Shift  { Shift_L,       Shift_R    };
    modifier_map Lock   { Caps_Lock,       ISO_Lock    };
    modifier_map Control { Control_L,       Control_R    };
    modifier_map Mod1   { Alt_L,       Alt_R       };
    modifier_map Mod2   { Num_Lock             };
    modifier_map Mod3   { Mode_switch             };
    modifier_map Mod4   { Super_L,       Super_R    };
    modifier_map Mod5   { Scroll_Lock             };

    key <LWIN>    { [    Multi_key,       Multi_key ]                                 };
    key <RWIN>    { []                                                };
    key <MENU>    { [    Menu,          ISO_Next_Group ]                              };
};




And I think it's best if you also create the following link to it: /usr/X11R6/lib/X11/xkb/symbols/us-dutch

Next, you'll have to edit /usr/X11R6/lib/X11/xkb/rules/xfree86. Add the two pieces text indicated:

Code:

// $Xorg: xfree86,v 1.3 2000/08/17 19:54:42 cpqbld Exp $

//
//  Rules for resolving XKB components for use with XFree86
//  Copyright 1996 by Joseph Moss
//
//  2002 Modifier: Ivan Pascal      The XFree86 Project
//  $XFree86: xc/programs/xkbcomp/rules/xfree86,v 3.61 2003/02/20 04:36:09 dawes Exp $
//

// Layouts that still need be composed by old rules
// all latin layouts with a third and fourth state accessibles trough AltGr
// are put back to old models, as the new model gives too much problems
// currently
! $oldlayouts = al az be br bs ca ca_enhanced cz cz_qwerty czsk\
   de de(nodeadkeys) de_CH dk dvorak dvorak(no) dvorak(se) en_US ee es\
   fi fr fr_CH gb hr hr_US hu hu_qwerty hu_US ie is iso9995-3 it\
   la lt lt_a lt_p lt_std lv mt mt_us nl no pl pl2 pt ro ro2\
   sapmi se se_FI se_NO se_SE si sk sk_qwerty tr tr_f\
   us_intl vn yu      jp mng tscii mn us-dutch << ADD THIS LAST WORD !!!!!!!!!!!!!!!!!!!!

// If you want non-latin layouts implicitly include the en_US layout
// uncomment lines below
//! $nonlatin = am ar ben bg by dev el ge_la ge_ru guj gur il il_phonetic\
//              ir iu kan lo mk mm ml ori ru sr syr syr_phonetic tel th\
//              tj tml ua

! $pcmodels = pc101 pc102 pc104 pc105
! $mac = macintosh macintosh_old

! model    =   keycodes
  macintosh_old   =   macintosh
  powerpcps2   =   powerpcps2
  pc98      =   xfree98(pc98)
  abnt2      =   xfree86(abnt2)
  *      =   xfree86

! $azerty = be fr fr-latin9
! $qwertz = al cz de hr pl2 si sk

! layout[1]   =   keycodes
  $azerty       =       +aliases(azerty)
  $qwertz       =       +aliases(qwertz)
  *             =       +aliases(qwerty)

! layout   =   keycodes
  $azerty       =       +aliases(azerty)
  $qwertz       =       +aliases(qwertz)
  *             =       +aliases(qwerty)

! model    =   geometry
  microsoft   =   microsoft(natural)
  microsoftpro   =   microsoft(natural)
  microsoftprose =   microsoft(natural)
  dell101   =   dell(dell101)
  flexpro   =   keytronic(FlexPro)
  omnikey101   =   northgate(omnikey101)
 $pcmodels   =   pc(%m)
  jp106      =   pc(jp106)
  everex   =   everex(STEPnote)
  winbook   =   winbook(XP5)
  pc98      =   nec(pc98)
  abnt2      =   pc
  macintosh   =   macintosh(macintosh)
  macintosh_old   =   macintosh(macintosh)
  *      =       pc(pc104)

! model      variant      layout   =   symbols
  macintosh   nodeadkeys   *   =   macintosh/us(extended)+macintosh/%l%(v)
 $pcmodels   nodeadkeys  $oldlayouts   =   en_US(%m%_v)+%l%(v)
  *      nodeadkeys  $oldlayouts   =   en_US(pc105%_v)+%l%(v)

! model      layout   =   symbols
  pc98      nec/jp   =   nec/jp(pc98)
  abnt2      br   =   us(pc101)+br
 $pcmodels   us_intl   =   us(%m)+us_intl
 $pcmodels      us-dutch=       pc/us-dutch <<<ADD THIS LINE !!!!!!!!!!!!!!!!!!!!!!!
 $mac      us   =   macintosh/us(extended)
 $mac      en_US   =   macintosh/us(extended)
 $mac      *   =   macintosh/us(extended)+macintosh/%l%(v)
 $pcmodels      intl    =       us(%mcompose)
  *      intl   =   us(pc104compose)
  *      jp   =   jp
 $pcmodels $oldlayouts  =       en_US(%m)+%l%(v)
 $pcmodels $nonlatin   =   pc/pc(%m)+pc/us+pc/%l%(v):2
 $pcmodels   *   =   pc/pc(%m)+pc/%l%(v)
  *      $oldlayouts  =       en_US(pc105)+%l%(v)
  *      $nonlatin   =   pc/pc(pc105)+pc/us+pc/%l%(v):2
  *      *   =   pc/pc(pc105)+pc/%l%(v)

! model       layout[1]   =   symbols
 $pcmodels   *   =   pc/pc(%m)+pc/%l[1]%(v[1])
  *      *   =   pc/pc(pc105)+pc/%l[1]%(v[1])
...


Finally, edit: /usr/X11R6/lib/X11/xkb/symbols.dir. Add the following two lines.

Code:

-dp----- a------- us-dutch(basic)
-dp----- a------- pc/us-dutch(basic)


Now your /etc/X11/XF86Config should have the following (and ofcourse not the disable for xkb):

Code:

    Option "XkbRules"   "xfree86"
    Option "XkbModel"   "pc104"
    Option "XkbLayout"  "us-dutch"


Set Gnome to the same. The best way to do this is via the GConf: desktop>gnome>peripherals>keyboard>xkb and click the option "overrideSettings" once (it will not remain true, but the other settings will be set the same as X). (Edit: Didn't notice that you could do it via the "Keyboard properties" dialog as well. Remove all entries and then press the "Return to default settings" button. Or something like this.)

That's it. I hope I haven't forgotten anything!

Selective dead-keys
First see my problem here: https://forums.gentoo.org/viewtopic.php?t=195852&highlight=!

If you want the solution for it too, then first figure out what your locale is. In my case it is nl_BE@euro. Normally all rational Flemish people will have this.

Code:

# locale
LANG=nl_BE@euro
LC_CTYPE="nl_BE@euro"
LC_NUMERIC="nl_BE@euro"
LC_TIME="nl_BE@euro"
LC_COLLATE="nl_BE@euro"
LC_MONETARY="nl_BE@euro"
LC_MESSAGES="nl_BE@euro"
LC_PAPER="nl_BE@euro"
LC_NAME="nl_BE@euro"
LC_ADDRESS="nl_BE@euro"
LC_TELEPHONE="nl_BE@euro"
LC_MEASUREMENT="nl_BE@euro"
LC_IDENTIFICATION="nl_BE@euro"
LC_ALL=nl_BE@euro


Now check to what ISO standard this conforms. Search /usr/X11R6/lib/X11/locale/locale.alias for your locale. In my case there is this in locale.alias:

Code:

nl:                                             nl_NL.ISO8859-15
nl_BE:                                          nl_BE.ISO8859-15
nl_BE.88591:                                    nl_BE.ISO8859-1
nl_BE.88591.en:                                 nl_BE.ISO8859-1
nl_BE.ISO-8859-1:                                       nl_BE.ISO8859-1
nl_BE.ISO_8859-1:                               nl_BE.ISO8859-1
nl_BE.ISO-8859-15:                              nl_BE.ISO8859-15
nl_BE@euro:                                     nl_BE.ISO8859-15 <<<MY CASE


So my locale matches to ISO8859-15. You will need to edit the Compose file/table in that subfolder (so: /usr/X11R6/lib/X11/locale/iso8859-15/Compose). Make of it the following:

<<Continued in next post because of limited texts...>>


Last edited by pjv on Fri May 20, 2011 2:48 pm; edited 2 times in total
Back to top
View user's profile Send private message
pjv
Guru
Guru


Joined: 02 Jul 2003
Posts: 353
Location: Belgium

PostPosted: Sat Jul 31, 2004 8:08 pm    Post subject: Reply with quote

... continued from previous post

Code:

# Made by Pieter-Jan Vandormael (pjv at skynet dot be). This custom compose table seeks to give (almost) the same working as in standard Windows, especially on the topic "selective" dead-keys. It gives "'t" instead of X's default " " (nothing). To use this with Gnome also do: export GTK_IM_MODULE="xim". This makes gtk use X's compose table (this) instead of it's own built in.

# $TOG: fcd8859-15 /main/2 1998/06/17 15:53:45 kaleb $
#
# ISO 8859-15 (Latin1) Compose Sequence
#
# $XFree86: xc/nls/Compose/iso8859-15,v 1.9 2002/12/17 04:58:42 dawes Exp $
#
# Sequence Definition
#
# <Multi_key> Means <Compose>
# Special Character
<Multi_key> <plus> <plus>      : "#"   numbersign
<Multi_key> <apostrophe> <space>   : "'"   apostrophe
<Multi_key> <space> <apostrophe>   : "'"   apostrophe
<Multi_key> <A> <T>         : "@"   at
<Multi_key> <parenleft> <parenleft>   : "["   bracketleft
<Multi_key> <slash> <slash>      : "\\"   backslash
<Multi_key> <slash> <less>      : "\\"   backslash
<Multi_key> <less> <slash>      : "\\"   backslash
<Multi_key> <parenright> <parenright>   : "]"   bracketright
<Multi_key> <asciicircum> <space>   : "^"   asciicircum
<Multi_key> <space> <asciicircum>   : "^"   asciicircum
<Multi_key> <greater> <space>      : "^"   asciicircum
<Multi_key> <space> <greater>      : "^"   asciicircum
<Multi_key> <grave> <space>      : "`"   grave
<Multi_key> <space> <grave>      : "`"   grave
<Multi_key> <parenleft> <minus>      : "{"   braceleft
<Multi_key> <minus> <parenleft>      : "{"   braceleft
<Multi_key> <slash> <asciicircum>   : "|"   bar
<Multi_key> <asciicircum> <slash>   : "|"   bar
<Multi_key> <V> <L>         : "|"   bar
<Multi_key> <L> <V>         : "|"   bar
<Multi_key> <v> <l>         : "|"   bar
<Multi_key> <l> <v>         : "|"   bar
<Multi_key> <parenright> <minus>   : "}"   braceright
<Multi_key> <minus> <parenright>   : "}"   braceright
<Multi_key> <asciitilde> <space>   : "~"   asciitilde
<Multi_key> <space> <asciitilde>   : "~"   asciitilde
<Multi_key> <minus> <space>      : "~"   asciitilde
<Multi_key> <space> <minus>      : "~"   asciitilde
<Multi_key> <exclam> <exclam>      : "\241"   exclamdown
<Multi_key> <c> <slash>         : "\242"   cent
<Multi_key> <slash> <c>         : "\242"   cent
<Multi_key> <C> <slash>         : "\242"   cent
<Multi_key> <slash> <C>         : "\242"   cent
<Multi_key> <C> <bar>         : "\242"   cent
<Multi_key> <bar> <C>         : "\242"   cent
<Multi_key> <c> <bar>         : "\242"   cent
<Multi_key> <bar> <c>         : "\242"   cent
<Multi_key> <l> <minus>         : "\243"   sterling
<Multi_key> <minus> <l>         : "\243"   sterling
<Multi_key> <L> <minus>         : "\243"   sterling
<Multi_key> <minus> <L>         : "\243"   sterling
<Multi_key> <l> <equal>         : "\243"   sterling
<Multi_key> <equal> <l>         : "\243"   sterling
<Multi_key> <L> <equal>         : "\243"   sterling
<Multi_key> <equal> <L>         : "\243"   sterling
<Multi_key> <C> <equal>         : "\244"   EuroSign
<Multi_key> <equal> <C>         : "\244"   EuroSign
<Multi_key> <E> <equal>         : "\244"   EuroSign
<Multi_key> <e> <equal>         : "\244"   EuroSign
<Multi_key> <y> <minus>         : "\245"   yen
<Multi_key> <minus> <y>         : "\245"   yen
<Multi_key> <Y> <minus>         : "\245"   yen
<Multi_key> <minus> <Y>         : "\245"   yen
<Multi_key> <y> <equal>         : "\245"   yen
<Multi_key> <equal> <y>         : "\245"   yen
<Multi_key> <Y> <equal>         : "\245"   yen
<Multi_key> <equal> <Y>         : "\245"   yen
<Multi_key> <s> <o>         : "\247"   section
<Multi_key> <o> <s>         : "\247"   section
<Multi_key> <S> <O>         : "\247"   section
<Multi_key> <O> <S>         : "\247"   section
<Multi_key> <S> <exclam>      : "\247"   section
<Multi_key> <exclam> <S>      : "\247"   section
<Multi_key> <s> <exclam>      : "\247"   section
<Multi_key> <exclam> <s>      : "\247"   section
<Multi_key> <S> <0>         : "\247"   section
<Multi_key> <0> <S>         : "\247"   section
<Multi_key> <s> <0>         : "\247"   section
<Multi_key> <0> <s>         : "\247"   section
<Multi_key> <c> <o>         : "\251"   copyright
<Multi_key> <o> <c>         : "\251"   copyright
<Multi_key> <C> <O>         : "\251"   copyright
<Multi_key> <O> <C>         : "\251"   copyright
<Multi_key> <c> <O>         : "\251"   copyright
<Multi_key> <O> <c>         : "\251"   copyright
<Multi_key> <C> <o>         : "\251"   copyright
<Multi_key> <o> <C>         : "\251"   copyright
<Multi_key> <c> <0>         : "\251"   copyright
<Multi_key> <0> <c>         : "\251"   copyright
<Multi_key> <C> <0>         : "\251"   copyright
<Multi_key> <0> <C>         : "\251"   copyright
<Multi_key> <parenleft> <c>      : "\251"   copyright
<Multi_key> <parenleft> <C>      : "\251"   copyright
<Multi_key> <a> <underscore>      : "\252"   ordfeminine
<Multi_key> <underscore> <a>      : "\252"   ordfeminine
<Multi_key> <A> <underscore>      : "\252"   ordfeminine
<Multi_key> <underscore> <A>      : "\252"   ordfeminine
<Multi_key> <o> <underscore>      : "\272"   masculine
<Multi_key> <underscore> <o>      : "\272"   masculine
<Multi_key> <O> <underscore>      : "\272"   masculine
<Multi_key> <underscore> <O>      : "\272"   masculine
<Multi_key> <less> <less>      : "\253"   guillemotleft
<Multi_key> <greater> <greater>      : "\273"   guillemotright
<Multi_key> <0> <asciicircum>      : "\260"   degree
<Multi_key> <asciicircum> <0>      : "\260"   degree
<Multi_key> <0> <asterisk>      : "\260"   degree
<Multi_key> <asterisk> <0>      : "\260"   degree
<Multi_key> <plus> <minus>      : "\261"   plusminus
<Multi_key> <minus> <plus>      : "\261"   plusminus
<Multi_key> <slash> <u>         : "\265"   mu
<Multi_key> <u> <slash>         : "\265"   mu
<Multi_key> <slash> <U>         : "\265"   mu
<Multi_key> <U> <slash>         : "\265"   mu
<Multi_key> <1> <asciicircum>      : "\271"   onesuperior
<Multi_key> <asciicircum> <1>      : "\271"   onesuperior
<Multi_key> <S> <1>         : "\271"   onesuperior
<Multi_key> <1> <S>         : "\271"   onesuperior
<Multi_key> <s> <1>         : "\271"   onesuperior
<Multi_key> <1> <s>         : "\271"   onesuperior
<Multi_key> <2> <asciicircum>      : "\262"   twosuperior
<Multi_key> <asciicircum> <2>      : "\262"   twosuperior
<Multi_key> <S> <2>         : "\262"   twosuperior
<Multi_key> <2> <S>         : "\262"   twosuperior
<Multi_key> <s> <2>         : "\262"   twosuperior
<Multi_key> <2> <s>         : "\262"   twosuperior
<Multi_key> <3> <asciicircum>      : "\263"   threesuperior
<Multi_key> <asciicircum> <3>      : "\263"   threesuperior
<Multi_key> <S> <3>         : "\263"   threesuperior
<Multi_key> <3> <S>         : "\263"   threesuperior
<Multi_key> <s> <3>         : "\263"   threesuperior
<Multi_key> <3> <s>         : "\263"   threesuperior
<Multi_key> <p> <exclam>      : "\266"   paragraph
<Multi_key> <exclam> <p>      : "\266"   paragraph
<Multi_key> <P> <exclam>      : "\266"   paragraph
<Multi_key> <exclam> <P>      : "\266"   paragraph
<Multi_key> <period> <asciicircum>   : "\267"   periodcentered
<Multi_key> <asciicircum> <period>   : "\267"   periodcentered
<Multi_key> <period> <period>      : "\267"   periodcentered
<Multi_key> <question> <question>   : "\277"   questiondown
<Multi_key> <space> <space>      : "\240"   nobreakspace
<Multi_key> <minus> <comma>      : "\254"   notsign
<Multi_key> <comma> <minus>      : "\254"   notsign
<Multi_key> <minus> <minus>      : "\255"   hyphen
<Multi_key> <R> <O>         : "\256"   registered
<Multi_key> <O> <R>         : "\256"   registered
<Multi_key> <parenleft> <r>      : "\256"   registered
<Multi_key> <minus> <asciicircum>   : "\257"   macron
<Multi_key> <asciicircum> <minus>   : "\257"   macron
<Multi_key> <underscore> <asciicircum>   : "\257"   macron
<Multi_key> <asciicircum> <underscore>   : "\257"   macron
<Multi_key> <underscore> <underscore>   : "\257"   macron
<Multi_key> <minus> <colon>      : "\367"   division
<Multi_key> <colon> <minus>      : "\367"   division
<Multi_key> <x> <x>         : "\327"   multiply
<Multi_key> <apostrophe> <apostrophe>   : "\264"   acute
<Multi_key> <comma> <comma>      : "\270"   cedilla
<Multi_key> <quotedbl> <quotedbl>   : "\""   quotedbl
# Accented Alphabet
<Multi_key> <A> <grave>         : "\300"   Agrave
<Multi_key> <grave> <A>         : "\300"   Agrave
<Multi_key> <A> <acute>         : "\301"   Aacute
<Multi_key> <acute> <A>         : "\301"   Aacute
<Multi_key> <A> <apostrophe>      : "\301"   Aacute
<Multi_key> <apostrophe> <A>      : "\301"   Aacute
<Multi_key> <A> <asciicircum>      : "\302"   Acircumflex
<Multi_key> <asciicircum> <A>      : "\302"   Acircumflex
<Multi_key> <A> <greater>      : "\302"   Acircumflex
<Multi_key> <greater> <A>      : "\302"   Acircumflex
<Multi_key> <A> <asciitilde>      : "\303"   Atilde
<Multi_key> <asciitilde> <A>      : "\303"   Atilde
<Multi_key> <A> <minus>         : "\303"   Atilde
<Multi_key> <minus> <A>         : "\303"   Atilde
<Multi_key> <A> <quotedbl>      : "\304"   Adiaeresis
<Multi_key> <quotedbl> <A>      : "\304"   Adiaeresis
<Multi_key> <A> <diaeresis>      : "\304"   Adiaeresis
<Multi_key> <diaeresis> <A>      : "\304"   Adiaeresis
<Multi_key> <A> <asterisk>      : "\305"   Aring
<Multi_key> <asterisk> <A>      : "\305"   Aring
<Multi_key> <A> <A>         : "\305"   Aring
<Multi_key> <A> <O>         : "\305"   Aring
<Multi_key> <A> <E>         : "\306"   AE
<Multi_key> <a> <grave>         : "\340"   agrave
<Multi_key> <grave> <a>         : "\340"   agrave
<Multi_key> <a> <acute>         : "\341"   aacute
<Multi_key> <acute> <a>         : "\341"   aacute
<Multi_key> <a> <apostrophe>      : "\341"   aacute
<Multi_key> <apostrophe> <a>      : "\341"   aacute
<Multi_key> <a> <asciicircum>      : "\342"   acircumflex
<Multi_key> <asciicircum> <a>      : "\342"   acircumflex
<Multi_key> <a> <greater>      : "\342"   acircumflex
<Multi_key> <greater> <a>      : "\342"   acircumflex
<Multi_key> <a> <asciitilde>      : "\343"   atilde
<Multi_key> <asciitilde> <a>      : "\343"   atilde
<Multi_key> <a> <minus>         : "\343"   atilde
<Multi_key> <minus> <a>         : "\343"   atilde
<Multi_key> <a> <quotedbl>      : "\344"   adiaeresis
<Multi_key> <quotedbl> <a>      : "\344"   adiaeresis
<Multi_key> <a> <diaeresis>      : "\344"   adiaeresis
<Multi_key> <diaeresis> <a>      : "\344"   adiaeresis
<Multi_key> <a> <asterisk>      : "\345"   aring
<Multi_key> <asterisk> <a>      : "\345"   aring
<Multi_key> <a> <a>         : "\345"   aring
<Multi_key> <a> <o>         : "\345"   aring
<Multi_key> <a> <e>         : "\346"   ae
<Multi_key> <acute> <C>         : "\307"   Ccedilla
<Multi_key> <acute> <c>         : "\347"   ccedilla
<Multi_key> <C> <comma>         : "\307"   Ccedilla
<Multi_key> <comma> <C>         : "\307"   Ccedilla
<Multi_key> <c> <comma>         : "\347"   ccedilla
<Multi_key> <comma> <c>         : "\347"   ccedilla
<Multi_key> <minus> <D>         : "\320"   ETH
<Multi_key> <D> <minus>         : "\320"   ETH
<Multi_key> <minus> <d>         : "\360"   eth
<Multi_key> <d> <minus>         : "\360"   eth
<Multi_key> <E> <grave>         : "\310"   Egrave
<Multi_key> <grave> <E>         : "\310"   Egrave
<Multi_key> <E> <acute>         : "\311"   Eacute
<Multi_key> <acute> <E>         : "\311"   Eacute
<Multi_key> <E> <apostrophe>      : "\311"   Eacute
<Multi_key> <apostrophe> <E>      : "\311"   Eacute
<Multi_key> <E> <asciicircum>      : "\312"   Ecircumflex
<Multi_key> <asciicircum> <E>      : "\312"   Ecircumflex
<Multi_key> <E> <greater>      : "\312"   Ecircumflex
<Multi_key> <greater> <E>      : "\312"   Ecircumflex
<Multi_key> <E> <quotedbl>      : "\313"   Ediaeresis
<Multi_key> <quotedbl> <E>      : "\313"   Ediaeresis
<Multi_key> <E> <diaeresis>      : "\313"   Ediaeresis
<Multi_key> <diaeresis> <E>      : "\313"   Ediaeresis
<Multi_key> <e> <grave>         : "\350"   egrave
<Multi_key> <grave> <e>         : "\350"   egrave
<Multi_key> <e> <acute>         : "\351"   eacute
<Multi_key> <acute> <e>         : "\351"   eacute
<Multi_key> <e> <apostrophe>      : "\351"   eacute
<Multi_key> <apostrophe> <e>      : "\351"   eacute
<Multi_key> <e> <asciicircum>      : "\352"   ecircumflex
<Multi_key> <asciicircum> <e>      : "\352"   ecircumflex
<Multi_key> <e> <greater>      : "\352"   ecircumflex
<Multi_key> <greater> <e>      : "\352"   ecircumflex
<Multi_key> <e> <quotedbl>      : "\353"   ediaeresis
<Multi_key> <quotedbl> <e>      : "\353"   ediaeresis
<Multi_key> <e> <diaeresis>      : "\353"   ediaeresis
<Multi_key> <diaeresis> <e>      : "\353"   ediaeresis
<Multi_key> <I> <grave>         : "\314"   Igrave
<Multi_key> <grave> <I>         : "\314"   Igrave
<Multi_key> <I> <acute>         : "\315"   Iacute
<Multi_key> <acute> <I>         : "\315"   Iacute
<Multi_key> <I> <apostrophe>      : "\315"   Iacute
<Multi_key> <apostrophe> <I>      : "\315"   Iacute
<Multi_key> <I> <asciicircum>      : "\316"   Icircumflex
<Multi_key> <asciicircum> <I>      : "\316"   Icircumflex
<Multi_key> <I> <greater>      : "\316"   Icircumflex
<Multi_key> <greater> <I>      : "\316"   Icircumflex
<Multi_key> <I> <quotedbl>      : "\317"   Idiaeresis
<Multi_key> <quotedbl> <I>      : "\317"   Idiaeresis
<Multi_key> <I> <diaeresis>      : "\317"   Idiaeresis
<Multi_key> <diaeresis> <I>      : "\317"   Idiaeresis
<Multi_key> <i> <grave>         : "\354"   igrave
<Multi_key> <grave> <i>         : "\354"   igrave
<Multi_key> <i> <acute>         : "\355"   iacute
<Multi_key> <acute> <i>         : "\355"   iacute
<Multi_key> <i> <apostrophe>      : "\355"   iacute
<Multi_key> <apostrophe> <i>      : "\355"   iacute
<Multi_key> <i> <asciicircum>      : "\356"   icircumflex
<Multi_key> <asciicircum> <i>      : "\356"   icircumflex
<Multi_key> <i> <greater>      : "\356"   icircumflex
<Multi_key> <greater> <i>      : "\356"   icircumflex
<Multi_key> <i> <quotedbl>      : "\357"   idiaeresis
<Multi_key> <quotedbl> <i>      : "\357"   idiaeresis
<Multi_key> <i> <diaeresis>      : "\357"   idiaeresis
<Multi_key> <diaeresis> <i>      : "\357"   idiaeresis
<Multi_key> <N> <asciitilde>      : "\321"   Ntilde
<Multi_key> <asciitilde> <N>      : "\321"   Ntilde
<Multi_key> <N> <minus>         : "\321"   Ntilde
<Multi_key> <minus> <N>         : "\321"   Ntilde
<Multi_key> <n> <asciitilde>      : "\361"   ntilde
<Multi_key> <asciitilde> <n>      : "\361"   ntilde
<Multi_key> <n> <minus>         : "\361"   ntilde
<Multi_key> <minus> <n>         : "\361"   ntilde
<Multi_key> <O> <grave>         : "\322"   Ograve
<Multi_key> <grave> <O>         : "\322"   Ograve
<Multi_key> <O> <acute>         : "\323"   Oacute
<Multi_key> <acute> <O>         : "\323"   Oacute
<Multi_key> <O> <apostrophe>      : "\323"   Oacute
<Multi_key> <apostrophe> <O>      : "\323"   Oacute
<Multi_key> <O> <asciicircum>      : "\324"   Ocircumflex
<Multi_key> <asciicircum> <O>      : "\324"   Ocircumflex
<Multi_key> <O> <greater>      : "\324"   Ocircumflex
<Multi_key> <greater> <O>      : "\324"   Ocircumflex
<Multi_key> <O> <asciitilde>      : "\325"   Otilde
<Multi_key> <asciitilde> <O>      : "\325"   Otilde
<Multi_key> <O> <minus>         : "\325"   Otilde
<Multi_key> <minus> <O>         : "\325"   Otilde
<Multi_key> <O> <quotedbl>      : "\326"   Odiaeresis
<Multi_key> <quotedbl> <O>      : "\326"   Odiaeresis
<Multi_key> <O> <diaeresis>      : "\326"   Odiaeresis
<Multi_key> <diaeresis> <O>      : "\326"   Odiaeresis
<Multi_key> <O> <slash>         : "\330"   Ooblique
<Multi_key> <slash> <O>         : "\330"   Ooblique
<Multi_key> <O> <E>         : "\274"   OE
<Multi_key> <o> <grave>         : "\362"   ograve
<Multi_key> <grave> <o>         : "\362"   ograve
<Multi_key> <o> <acute>         : "\363"   oacute
<Multi_key> <acute> <o>         : "\363"   oacute
<Multi_key> <o> <apostrophe>      : "\363"   oacute
<Multi_key> <apostrophe> <o>      : "\363"   oacute
<Multi_key> <o> <asciicircum>      : "\364"   ocircumflex
<Multi_key> <asciicircum> <o>      : "\364"   ocircumflex
<Multi_key> <o> <greater>      : "\364"   ocircumflex
<Multi_key> <greater> <o>      : "\364"   ocircumflex
<Multi_key> <o> <asciitilde>      : "\365"   otilde
<Multi_key> <asciitilde> <o>      : "\365"   otilde
<Multi_key> <o> <minus>         : "\365"   otilde
<Multi_key> <minus> <o>         : "\365"   otilde
<Multi_key> <o> <quotedbl>      : "\366"   odiaeresis
<Multi_key> <quotedbl> <o>      : "\366"   odiaeresis
<Multi_key> <o> <diaeresis>      : "\366"   odiaeresis
<Multi_key> <diaeresis> <o>      : "\366"   odiaeresis
<Multi_key> <o> <slash>         : "\370"   oslash
<Multi_key> <slash> <o>         : "\370"   oslash
<Multi_key> <o> <e>         : "\275"   oe
<Multi_key> <S> <less>         : "\246"   Scaron
<Multi_key> <less> <S>         : "\246"   Scaron
<Multi_key> <s> <less>         : "\250"   scaron
<Multi_key> <less> <s>         : "\250"   scaron
<Multi_key> <U> <grave>         : "\331"   Ugrave
<Multi_key> <grave> <U>         : "\331"   Ugrave
<Multi_key> <U> <acute>         : "\332"   Uacute
<Multi_key> <acute> <U>         : "\332"   Uacute
<Multi_key> <U> <apostrophe>      : "\332"   Uacute
<Multi_key> <apostrophe> <U>      : "\332"   Uacute
<Multi_key> <U> <asciicircum>      : "\333"   Ucircumflex
<Multi_key> <asciicircum> <U>      : "\333"   Ucircumflex
<Multi_key> <U> <greater>      : "\333"   Ucircumflex
<Multi_key> <greater> <U>      : "\333"   Ucircumflex
<Multi_key> <U> <quotedbl>      : "\334"   Udiaeresis
<Multi_key> <quotedbl> <U>      : "\334"   Udiaeresis
<Multi_key> <U> <diaeresis>      : "\334"   Udiaeresis
<Multi_key> <diaeresis> <U>      : "\334"   Udiaeresis
<Multi_key> <u> <grave>         : "\371"   ugrave
<Multi_key> <grave> <u>         : "\371"   ugrave
<Multi_key> <u> <acute>         : "\372"   uacute
<Multi_key> <acute> <u>         : "\372"   uacute
<Multi_key> <u> <apostrophe>      : "\372"   uacute
<Multi_key> <apostrophe> <u>      : "\372"   uacute
<Multi_key> <u> <asciicircum>      : "\373"   ucircumflex
<Multi_key> <asciicircum> <u>      : "\373"   ucircumflex
<Multi_key> <u> <greater>      : "\373"   ucircumflex
<Multi_key> <greater> <u>      : "\373"   ucircumflex
<Multi_key> <u> <quotedbl>      : "\374"   udiaeresis
<Multi_key> <quotedbl> <u>      : "\374"   udiaeresis
<Multi_key> <u> <diaeresis>      : "\374"   udiaeresis
<Multi_key> <diaeresis> <u>      : "\374"   udiaeresis
<Multi_key> <s> <s>         : "\337"   ssharp
<Multi_key> <T> <H>         : "\336"   THORN
<Multi_key> <t> <h>         : "\376"   thorn
<Multi_key> <Y> <acute>         : "\335"   Yacute
<Multi_key> <acute> <Y>         : "\335"   Yacute
<Multi_key> <Y> <apostrophe>      : "\335"   Yacute
<Multi_key> <apostrophe> <Y>      : "\335"   Yacute
<Multi_key> <Y> <quotedbl>      : "\276"   Ydiaeresis
<Multi_key> <quotedbl> <Y>      : "\276"   Ydiaeresis
<Multi_key> <Y> <diaeresis>      : "\276"   Ydiaeresis
<Multi_key> <diaeresis> <Y>      : "\276"   Ydiaeresis
<Multi_key> <y> <acute>         : "\375"   yacute
<Multi_key> <acute> <y>         : "\375"   yacute
<Multi_key> <y> <apostrophe>      : "\375"   yacute
<Multi_key> <apostrophe> <y>      : "\375"   yacute
<Multi_key> <y> <quotedbl>      : "\377"   ydiaeresis
<Multi_key> <quotedbl> <y>      : "\377"   ydiaeresis
<Multi_key> <y> <diaeresis>      : "\377"   ydiaeresis
<Multi_key> <diaeresis> <y>      : "\377"   ydiaeresis
<Multi_key> <Z> <less>         : "\264"   Zcaron
<Multi_key> <less> <Z>         : "\264"   Zcaron
<Multi_key> <z> <less>         : "\270"   zcaron
<Multi_key> <less> <z>         : "\270"   zcaron
#
# dead key accent keysyms
# Special Character
<dead_circumflex> <slash>      : "|"   bar
<dead_circumflex> <space>      : "^"   asciicircum
<dead_circumflex> <dead_circumflex>   : "^"   asciicircum
<dead_tilde> <space>         : "~"   asciitilde
<dead_tilde> <dead_tilde>      : "~"   asciitilde
<dead_grave> <space>         : "`"   grave
<dead_grave> <dead_grave>      : "`"   grave
# These are for us_intl, that does not have diaeresis, etc
<dead_acute> <space>          : "'" apostrophe
<dead_acute> <dead_acute>      : "'"   apostrophe
<dead_diaeresis> <space>       : "\"" quotedbl
<dead_diaeresis> <dead_diaeresis>   : "\""   quotedbl
<dead_doubleacute> <space>      : "\""   quotedbl

<dead_circumflex> <0>         : "\260"   degree
<dead_circumflex> <1>         : "\271"   onesuperior
<dead_circumflex> <2>         : "\262"   twosuperior
<dead_circumflex> <3>         : "\263"   threesuperior
<dead_circumflex> <period>      : "\267"   periodcentered
<dead_cedilla> <minus>         : "\254"   notsign
<dead_circumflex> <minus>      : "\257"   macron
<dead_circumflex> <underscore>      : "\257"   macron
<dead_acute> <apostrophe>      : "\264"   acute
<dead_cedilla> <comma>         : "\270"   cedilla
<dead_diaeresis> <quotedbl>      : "\""   quotedbl

# Accented Alphabet
<dead_abovering> <A>         : "\305"   Aring         #
<dead_grave> <A>         : "\300"   Agrave
<dead_acute> <A>         : "\301"   Aacute
<dead_circumflex> <A>         : "\302"   Acircumflex
<dead_tilde> <A>         : "\303"   Atilde
<dead_diaeresis> <A>         : "\304"   Adiaeresis
<dead_abovering> <a>         : "\345"   aring         #
<dead_grave> <a>         : "\340"   agrave
<dead_acute> <a>         : "\341"   aacute
<dead_circumflex> <a>         : "\342"   acircumflex
<dead_tilde> <a>         : "\343"   atilde
<dead_diaeresis> <a>         : "\344"   adiaeresis
<dead_cedilla> <C>         : "\307"   Ccedilla      #
<dead_cedilla> <c>         : "\347"   ccedilla      #
<dead_grave> <E>         : "\310"   Egrave
<dead_acute> <E>         : "\311"   Eacute
<dead_circumflex> <E>         : "\312"   Ecircumflex
<dead_diaeresis> <E>         : "\313"   Ediaeresis
<dead_grave> <e>         : "\350"   egrave
<dead_acute> <e>         : "\351"   eacute
<dead_circumflex> <e>         : "\352"   ecircumflex
<dead_diaeresis> <e>         : "\353"   ediaeresis
<dead_grave> <I>         : "\314"   Igrave
<dead_acute> <I>         : "\315"   Iacute
<dead_circumflex> <I>         : "\316"   Icircumflex
<dead_diaeresis> <I>         : "\317"   Idiaeresis
<dead_grave> <i>         : "\354"   igrave
<dead_acute> <i>         : "\355"   iacute
<dead_circumflex> <i>         : "\356"   icircumflex
<dead_diaeresis> <i>         : "\357"   idiaeresis
<dead_tilde> <N>         : "\321"   Ntilde
<dead_tilde> <n>         : "\361"   ntilde
<dead_grave> <O>         : "\322"   Ograve
<dead_acute> <O>         : "\323"   Oacute
<dead_circumflex> <O>         : "\324"   Ocircumflex
<dead_tilde> <O>         : "\325"   Otilde
<dead_diaeresis> <O>         : "\326"   Odiaeresis
<dead_grave> <o>         : "\362"   ograve
<dead_acute> <o>         : "\363"   oacute
<dead_circumflex> <o>         : "\364"   ocircumflex
<dead_tilde> <o>         : "\365"   otilde
<dead_diaeresis> <o>         : "\366"   odiaeresis
<dead_caron> <S>         : "\246"   Scaron         #
<dead_caron> <s>         : "\250"   scaron         #
<dead_circumflex> <S>         : "\246"   Scaron         #
<dead_circumflex> <s>         : "\250"   scaron         #
<dead_grave> <U>         : "\331"   Ugrave
<dead_acute> <U>         : "\332"   Uacute
<dead_circumflex> <U>         : "\333"   Ucircumflex
<dead_diaeresis> <U>         : "\334"   Udiaeresis
<dead_grave> <u>         : "\371"   ugrave
<dead_acute> <u>         : "\372"   uacute
<dead_circumflex> <u>         : "\373"   ucircumflex
<dead_diaeresis> <u>         : "\374"   udiaeresis
<dead_acute> <Y>         : "\335"   Yacute
<dead_diaeresis> <Y>         : "\276"   Ydiaeresis      #
<dead_acute> <y>         : "\375"   yacute
<dead_diaeresis> <y>         : "\377"   ydiaeresis      #
<dead_caron> <Z>         : "\264"   Zcaron         #
<dead_caron> <z>         : "\270"   zcaron         #
<dead_circumflex> <Z>         : "\264"   Zcaron         #
<dead_circumflex> <z>         : "\270"   zcaron         #
# Useful for portuguese language
<dead_acute> <C>         : "\307"   Ccedilla
<dead_acute> <c>         : "\347"   ccedilla
# End of Sequence Definition


#custom pjv:
#<comma> <C>            : "\307"   Ccedilla
#<comma> <c>            : "\347"   ccedilla


<dead_grave>       <Q>         : "\`Q"   
<dead_acute>       <Q>         : "\'Q"   
<dead_circumflex>    <Q>         : "\^Q"   
<dead_tilde>       <Q>         : "\~Q"   
<dead_diaeresis>    <Q>         : "\"Q"   
<dead_grave>       <q>         : "\`q"   
<dead_acute>       <q>         : "\'q"   
<dead_circumflex>    <q>         : "\^q"   
<dead_tilde>       <q>         : "\~q"   
<dead_diaeresis>    <q>         : "\"q"   

<dead_grave>       <W>         : "\`W"   
<dead_acute>       <W>         : "\'W"   
<dead_circumflex>    <W>         : "\^W"   
<dead_tilde>       <W>         : "\~W"   
<dead_diaeresis>    <W>         : "\"W"   
<dead_grave>       <w>         : "\`w"   
<dead_acute>       <w>         : "\'w"   
<dead_circumflex>    <w>         : "\^w"   
<dead_tilde>       <w>         : "\~w"   
<dead_diaeresis>    <w>         : "\"w"      
   
<dead_tilde>       <E>         : "\~E"   
<dead_tilde>       <e>         : "\~e"   

<dead_grave>       <R>         : "\`R"   
<dead_acute>       <R>         : "\'R"   
<dead_circumflex>    <R>         : "\^R"   
<dead_tilde>       <R>         : "\~R"   
<dead_diaeresis>    <R>         : "\"R"   
<dead_grave>       <r>         : "\`r"   
<dead_acute>       <r>         : "\'r"   
<dead_circumflex>    <r>         : "\^r"   
<dead_tilde>       <r>         : "\~r"   
<dead_diaeresis>    <r>         : "\"r"      

<dead_grave>       <T>         : "\`T"   
<dead_acute>       <T>         : "\'T"   
<dead_circumflex>    <T>         : "\^T"   
<dead_tilde>       <T>         : "\~T"   
<dead_diaeresis>    <T>         : "\"T"   
<dead_grave>       <t>         : "\`t"   
<dead_acute>       <t>         : "\'t"   
<dead_circumflex>    <t>         : "\^t"   
<dead_tilde>       <t>         : "\~t"   
<dead_diaeresis>    <t>         : "\"t"      

<dead_grave>       <Y>         : "\`Y"   
<dead_circumflex>    <Y>         : "\^Y"   
<dead_tilde>       <Y>         : "\~Y"   
#<dead_diaeresis>    <Y>         : "\"Y"   
<dead_grave>       <y>         : "\`y"
<dead_circumflex>    <y>         : "\^y"   
<dead_tilde>       <y>         : "\~y"   
#<dead_diaeresis>    <y>         : "\"y"      

<dead_tilde>       <U>         : "\~U"   
<dead_tilde>       <u>         : "\~u"   

<dead_tilde>       <I>         : "\~I"   
<dead_tilde>       <i>         : "\~i"      

<dead_grave>       <P>         : "\`P"   
<dead_acute>       <P>         : "\'P"   
<dead_circumflex>    <P>         : "\^P"   
<dead_tilde>       <P>         : "\~P"   
<dead_diaeresis>    <P>         : "\"P"   
<dead_grave>       <p>         : "\`p"   
<dead_acute>       <p>         : "\'p"   
<dead_circumflex>    <p>         : "\^p"   
<dead_tilde>       <p>         : "\~p"   
<dead_diaeresis>    <p>         : "\"p"      

<dead_grave>       <S>         : "\`S"   
<dead_acute>       <S>         : "\'S"   
#<dead_circumflex>    <S>         : "\^S"   
<dead_tilde>       <S>         : "\~S"   
<dead_diaeresis>    <S>         : "\"S"   
<dead_grave>       <s>         : "\`s"   
<dead_acute>       <s>         : "\'s"   
#<dead_circumflex>    <s>         : "\^s"   
<dead_tilde>       <s>         : "\~s"   
<dead_diaeresis>    <s>         : "\"s"      

<dead_grave>       <D>         : "\`D"   
<dead_acute>       <D>         : "\'D"   
<dead_circumflex>    <D>         : "\^D"   
<dead_tilde>       <D>         : "\~D"   
<dead_diaeresis>    <D>         : "\"D"   
<dead_grave>       <d>         : "\`d"   
<dead_acute>       <d>         : "\'d"   
<dead_circumflex>    <d>         : "\^d"   
<dead_tilde>       <d>         : "\~d"   
<dead_diaeresis>    <d>         : "\"d"      

<dead_grave>       <F>         : "\`F"   
<dead_acute>       <F>         : "\'F"   
<dead_circumflex>    <F>         : "\^F"   
<dead_tilde>       <F>         : "\~F"   
<dead_diaeresis>    <F>         : "\"F"   
<dead_grave>       <f>         : "\`f"   
<dead_acute>       <f>         : "\'f"   
<dead_circumflex>    <f>         : "\^f"   
<dead_tilde>       <f>         : "\~f"   
<dead_diaeresis>    <f>         : "\"f"      

<dead_grave>       <G>         : "\`G"   
<dead_acute>       <G>         : "\'G"   
<dead_circumflex>    <G>         : "\^G"   
<dead_tilde>       <G>         : "\~G"   
<dead_diaeresis>    <G>         : "\"G"   
<dead_grave>       <g>         : "\`g"   
<dead_acute>       <g>         : "\'g"   
<dead_circumflex>    <g>         : "\^g"   
<dead_tilde>       <g>         : "\~g"   
<dead_diaeresis>    <g>         : "\"g"      

<dead_grave>       <H>         : "\`H"   
<dead_acute>       <H>         : "\'H"   
<dead_circumflex>    <H>         : "\^H"   
<dead_tilde>       <H>         : "\~H"   
<dead_diaeresis>    <H>         : "\"H"   
<dead_grave>       <h>         : "\`h"   
<dead_acute>       <h>         : "\'h"   
<dead_circumflex>    <h>         : "\^h"   
<dead_tilde>       <h>         : "\~h"   
<dead_diaeresis>    <h>         : "\"h"      

<dead_grave>       <J>         : "\`J"   
<dead_acute>       <J>         : "\'J"   
<dead_circumflex>    <J>         : "\^J"   
<dead_tilde>       <J>         : "\~J"   
<dead_diaeresis>    <J>         : "\"J"   
<dead_grave>       <j>         : "\`j"   
<dead_acute>       <j>         : "\'j"   
<dead_circumflex>    <j>         : "\^j"   
<dead_tilde>       <j>         : "\~j"   
<dead_diaeresis>    <j>         : "\"j"      

<dead_grave>       <K>         : "\`K"   
<dead_acute>       <K>         : "\'K"   
<dead_circumflex>    <K>         : "\^K"   
<dead_tilde>       <K>         : "\~K"   
<dead_diaeresis>    <K>         : "\"K"   
<dead_grave>       <k>         : "\`k"   
<dead_acute>       <k>         : "\'k"   
<dead_circumflex>    <k>         : "\^k"   
<dead_tilde>       <k>         : "\~k"   
<dead_diaeresis>    <k>         : "\"k"      

<dead_grave>       <L>         : "\`L"   
<dead_acute>       <L>         : "\'L"   
<dead_circumflex>    <L>         : "\^L"   
<dead_tilde>       <L>         : "\~L"   
<dead_diaeresis>    <L>         : "\"L"   
<dead_grave>       <l>         : "\`l"   
<dead_acute>       <l>         : "\'l"   
<dead_circumflex>    <l>         : "\^l"   
<dead_tilde>       <l>         : "\~l"   
<dead_diaeresis>    <l>         : "\"l"      

<dead_grave>       <Z>         : "\`Z"   
<dead_acute>       <Z>         : "\'Z"   
#<dead_circumflex>    <Z>         : "\^Z"   
<dead_tilde>       <Z>         : "\~Z"   
<dead_diaeresis>    <Z>         : "\"Z"   
<dead_grave>       <z>         : "\`z"   
<dead_acute>       <z>         : "\'z"   
#<dead_circumflex>    <z>         : "\^z"   
<dead_tilde>       <z>         : "\~z"   
<dead_diaeresis>    <z>         : "\"z"      

<dead_grave>       <X>         : "\`X"   
<dead_acute>       <X>         : "\'X"   
<dead_circumflex>    <X>         : "\^X"   
<dead_tilde>       <X>         : "\~X"   
<dead_diaeresis>    <X>         : "\"X"   
<dead_grave>       <x>         : "\`x"   
<dead_acute>       <x>         : "\'x"   
<dead_circumflex>    <x>         : "\^x"   
<dead_tilde>       <x>         : "\~x"   
<dead_diaeresis>    <x>         : "\"x"      

<dead_grave>       <C>         : "\`C"      
<dead_circumflex>    <C>         : "\^C"   
<dead_tilde>       <C>         : "\~C"   
<dead_diaeresis>    <C>         : "\"C"   
<dead_grave>       <c>         : "\`c"   
<dead_circumflex>    <c>         : "\^c"   
<dead_tilde>       <c>         : "\~c"   
<dead_diaeresis>    <c>         : "\"c"      

<dead_grave>       <V>         : "\`V"   
<dead_acute>       <V>         : "\'V"   
<dead_circumflex>    <V>         : "\^V"   
<dead_tilde>       <V>         : "\~V"   
<dead_diaeresis>    <V>         : "\"V"   
<dead_grave>       <v>         : "\`v"   
<dead_acute>       <v>         : "\'v"   
<dead_circumflex>    <v>         : "\^v"   
<dead_tilde>       <v>         : "\~v"   
<dead_diaeresis>    <v>         : "\"v"      

<dead_grave>       <B>         : "\`B"   
<dead_acute>       <B>         : "\'B"   
<dead_circumflex>    <B>         : "\^B"   
<dead_tilde>       <B>         : "\~B"   
<dead_diaeresis>    <B>         : "\"B"   
<dead_grave>       <b>         : "\`b"   
<dead_acute>       <b>         : "\'b"   
<dead_circumflex>    <b>         : "\^b"   
<dead_tilde>       <b>         : "\~b"   
<dead_diaeresis>    <b>         : "\"b"      

<dead_grave>       <N>         : "\`N"   
<dead_acute>       <N>         : "\'N"   
<dead_circumflex>    <N>         : "\^N"   
<dead_diaeresis>    <N>         : "\"N"   
<dead_grave>       <n>         : "\`n"   
<dead_acute>       <n>         : "\'n"   
<dead_circumflex>    <n>         : "\^n"   
<dead_diaeresis>    <n>         : "\"n"      

<dead_grave>       <M>         : "\`M"   
<dead_acute>       <M>         : "\'M"   
<dead_circumflex>    <M>         : "\^M"   
<dead_tilde>       <M>         : "\~M"   
<dead_diaeresis>    <M>         : "\"M"   
<dead_grave>       <m>         : "\`m"   
<dead_acute>       <m>         : "\'m"   
<dead_circumflex>    <m>         : "\^m"   
<dead_tilde>       <m>         : "\~m"   
<dead_diaeresis>    <m>         : "\"m"      


Now this will give you the right behaviour in X (xterm for instance), but not under Gnome (don't know about KDE). Gtk has it's own compose table built in somewhere (if anyone knows where, tell me), but you can set it to use X's. Do:

Code:

export GTK_IM_MODULE="xim"


And make it permanently (add it to /etc/profile or so).

This should have given you almost the same dead-keys behaviour as in Windows. Some accents still are different because Windows tends to use quotemarks instead of apostrophe before letters automatically. I prefer apostrophe (the same for doubleacute). Also I've given some letters an additional combination with a dead-key (it just won't interfere). These are all my preferences ofcourse. A lot of behaviour can be easily changed now (so if you want it, write me and I'll make an adaption for you specially).

Note
I am totally NOT an expert in keyboards or keymaps. I made this for myself and hope it can be of any use to you as well!

You can't believe how complex these things are. Incredible! Someone who knows more of these things than me should really write one central Keyboard Controller! There are normal keymaps, then there are xmodmaps, and now also xkb settings. There are a dozen apps to handle keymaps. Even more settings (like locale things). Also distro config apps interfering. There are like 5 different tildes, can you imagine? Xmodmap is quite difficult to get right, but Xkb is even worse. It's plain hell! Sorry, about the expression. It's a mess, it scrambles: spoken and written languages, country's, physical layouts, regions, ISO standards and more. Now suddenly Windows' settings seem really easy. Besides that, some parts of Xkb are meaninglessly complicated. It claims to have nearly all keymaps one would need, but there is no simple solution for Belgians who type on a US int. QWERTY and want the same as in Windows. But ofcourse I'm no expert. I just needed to get rid of this :-).

I can also imagine my approach isn't welcomed by everyone too... So, hey ;-) Just use the keymaps as you please!

(See also: https://forums.gentoo.org/viewtopic.php?p=1328561#1328561)


[edit]31-07-2004 by pjv: added selective dead-keys[/edit]
[edit]23-08-2004 by pjv: added some KDE basic info and creation of the wiki.[/edit]


Last edited by pjv on Sun Aug 22, 2004 10:15 pm; edited 1 time in total
Back to top
View user's profile Send private message
pjv
Guru
Guru


Joined: 02 Jul 2003
Posts: 353
Location: Belgium

PostPosted: Sat Jul 31, 2004 8:13 pm    Post subject: Reply with quote

CHANGES By 2007 a lot of things have changed. Custom modmaps and keymaps might not even be necessary anymore. Gnome tries to make it possible to set these things (kbd, keytouch, ...) however there is now chaos because of the many ways of doing this (and still getting it to work everywhere).

These files are still certainly necessary (but they might have moved or changed syntax a little):

  • /usr/share/X11/xkb/symbols/us-dutch : The pc folder no longer exists and paths have changed from /usr/(X11R6/)lib/X11 to /usr/share/X11.

  • /usr/share/X11/xkb/rules/xorg.xml : Xfree86 has become xorg in general. Add this just before "</layoutList>" :
    Code:
    <layout>
    <configItem>
    <name> us-dutch </name>
    <shortDescription> us-dutch </shortDescription>
    <description> us-dutch US-QWERTY internationaal - Nederlands (België) </description>
    </configItem>
    </layout>

  • /usr/share/X11/xkb/rules/xorg.lst : Insert the following at the end of the "! layout" list:
    Code:
    us-dutch        us-dutch US-QWERTY internationaal - Nederlands (België)

  • /usr/share/X11/xkb/rules/xorg too maybe?? (same syntax as xfree86)

  • /etc/profile containing
    Code:
    GTK_IM_MODULE=xim


  • /usr/share/X11/locale/iso8859-15/Compose and possibly a copy in ~/.XCompose

Reference: http://people.uleth.ca/~daniel.odonnell/Blog/custom-keyboard-in-linuxx11

[edit]09-08-2007 by pjv: a lot of things have changed so this erratum was added (rather than changing the whole howto).[/edit]


Last edited by pjv on Thu Aug 09, 2007 2:20 pm; edited 1 time in total
Back to top
View user's profile Send private message
pjv
Guru
Guru


Joined: 02 Jul 2003
Posts: 353
Location: Belgium

PostPosted: Sat Jul 31, 2004 8:13 pm    Post subject: Reply with quote

CHANGES by 2012

You don't need to change /usr/share/X11/xkb/rules/xorg anymore, us-dutch will fall through the pcmodels wildcard. Also /usr/share/X11/xkb/symbols.dir ca be left alone because it is empty.



Most distros have switched to UTF-8 and have banned the ISO-8859-15 with localepurge, and so have I. You need to place your Compose map in en_US.UTF-8 then of course, but the biggest change is that you need an UTF-8 version of it (with some nice chars inside instead of the \0246 numbers):

Code:
# Made by Pieter-Jan Vandormael (pjv at skynet dot be). This custom compose table seeks to give (almost) the same working as in standard Windows, especially on the topic "selective" dead-keys. It gives "'t" instead of X's default " " (nothing). To use this with Gnome also do: export GTK_IM_MODULE="xim". This makes gtk use X's compose table (this) instead of it's own built in.

# $TOG: fcd8859-15 /main/2 1998/06/17 15:53:45 kaleb $
#
# ISO 8859-15 (Latin1) Compose Sequence
#
# $XFree86: xc/nls/Compose/iso8859-15,v 1.9 2002/12/17 04:58:42 dawes Exp $
#
# Sequence Definition
#
# <Multi_key> Means <Compose>
# Special Character
<Multi_key> <plus> <plus>      : "#"   numbersign
<Multi_key> <apostrophe> <space>   : "'"   apostrophe
<Multi_key> <space> <apostrophe>   : "'"   apostrophe
<Multi_key> <A> <T>         : "@"   at
<Multi_key> <parenleft> <parenleft>   : "["   bracketleft
<Multi_key> <slash> <slash>      : "\\"   backslash
<Multi_key> <slash> <less>      : "\\"   backslash
<Multi_key> <less> <slash>      : "\\"   backslash
<Multi_key> <parenright> <parenright>   : "]"   bracketright
<Multi_key> <asciicircum> <space>   : "^"   asciicircum
<Multi_key> <space> <asciicircum>   : "^"   asciicircum
<Multi_key> <greater> <space>      : "^"   asciicircum
<Multi_key> <space> <greater>      : "^"   asciicircum
<Multi_key> <grave> <space>      : "`"   grave
<Multi_key> <space> <grave>      : "`"   grave
<Multi_key> <parenleft> <minus>      : "{"   braceleft
<Multi_key> <minus> <parenleft>      : "{"   braceleft
<Multi_key> <slash> <asciicircum>   : "|"   bar
<Multi_key> <asciicircum> <slash>   : "|"   bar
<Multi_key> <V> <L>         : "|"   bar
<Multi_key> <L> <V>         : "|"   bar
<Multi_key> <v> <l>         : "|"   bar
<Multi_key> <l> <v>         : "|"   bar
<Multi_key> <parenright> <minus>   : "}"   braceright
<Multi_key> <minus> <parenright>   : "}"   braceright
<Multi_key> <asciitilde> <space>   : "~"   asciitilde
<Multi_key> <space> <asciitilde>   : "~"   asciitilde
<Multi_key> <minus> <space>      : "~"   asciitilde
<Multi_key> <space> <minus>      : "~"   asciitilde
<Multi_key> <exclam> <exclam>      : "¡"   exclamdown
<Multi_key> <c> <slash>         : "₵"   cent
<Multi_key> <slash> <c>         : "₵"   cent
<Multi_key> <C> <slash>         : "₵"   cent
<Multi_key> <slash> <C>         : "₵"   cent
<Multi_key> <C> <bar>         : "₵"   cent
<Multi_key> <bar> <C>         : "₵"   cent
<Multi_key> <c> <bar>         : "₵"   cent
<Multi_key> <bar> <c>         : "₵"   cent
<Multi_key> <l> <minus>         : "£"   sterling
<Multi_key> <minus> <l>         : "£"   sterling
<Multi_key> <L> <minus>         : "£"   sterling
<Multi_key> <minus> <L>         : "£"   sterling
<Multi_key> <l> <equal>         : "£"   sterling
<Multi_key> <equal> <l>         : "£"   sterling
<Multi_key> <L> <equal>         : "£"   sterling
<Multi_key> <equal> <L>         : "£"   sterling
<Multi_key> <C> <equal>         : "€"   EuroSign
<Multi_key> <equal> <C>         : "€"   EuroSign
<Multi_key> <E> <equal>         : "€"   EuroSign
<Multi_key> <e> <equal>         : "€"   EuroSign
<Multi_key> <y> <minus>         : "¥"   yen
<Multi_key> <minus> <y>         : "¥"   yen
<Multi_key> <Y> <minus>         : "¥"   yen
<Multi_key> <minus> <Y>         : "¥"   yen
<Multi_key> <y> <equal>         : "¥"   yen
<Multi_key> <equal> <y>         : "¥"   yen
<Multi_key> <Y> <equal>         : "¥"   yen
<Multi_key> <equal> <Y>         : "¥"   yen
<Multi_key> <s> <o>         : "§"   section
<Multi_key> <o> <s>         : "§"   section
<Multi_key> <S> <O>         : "§"   section
<Multi_key> <O> <S>         : "§"   section
<Multi_key> <S> <exclam>      : "§"   section
<Multi_key> <exclam> <S>      : "§"   section
<Multi_key> <s> <exclam>      : "§"   section
<Multi_key> <exclam> <s>      : "§"   section
<Multi_key> <S> <0>         : "§"   section
<Multi_key> <0> <S>         : "§"   section
<Multi_key> <s> <0>         : "§"   section
<Multi_key> <0> <s>         : "§"   section
<Multi_key> <c> <o>         : "©"   copyright
<Multi_key> <o> <c>         : "©"   copyright
<Multi_key> <C> <O>         : "©"   copyright
<Multi_key> <O> <C>         : "©"   copyright
<Multi_key> <c> <O>         : "©"   copyright
<Multi_key> <O> <c>         : "©"   copyright
<Multi_key> <C> <o>         : "©"   copyright
<Multi_key> <o> <C>         : "©"   copyright
<Multi_key> <c> <0>         : "©"   copyright
<Multi_key> <0> <c>         : "©"   copyright
<Multi_key> <C> <0>         : "©"   copyright
<Multi_key> <0> <C>         : "©"   copyright
<Multi_key> <parenleft> <c>      : "©"   copyright
<Multi_key> <parenleft> <C>      : "©"   copyright
<Multi_key> <a> <underscore>      : "ª"   ordfeminine
<Multi_key> <underscore> <a>      : "ª"   ordfeminine
<Multi_key> <A> <underscore>      : "ª"   ordfeminine
<Multi_key> <underscore> <A>      : "ª"   ordfeminine
<Multi_key> <o> <underscore>      : "º"   masculine
<Multi_key> <underscore> <o>      : "º"   masculine
<Multi_key> <O> <underscore>      : "º"   masculine
<Multi_key> <underscore> <O>      : "º"   masculine
<Multi_key> <less> <less>      : "«"   guillemotleft
<Multi_key> <greater> <greater>      : "»"   guillemotright
<Multi_key> <0> <asciicircum>      : "°"   degree
<Multi_key> <asciicircum> <0>      : "°"   degree
<Multi_key> <0> <asterisk>      : "°"   degree
<Multi_key> <asterisk> <0>      : "°"   degree
<Multi_key> <plus> <minus>      : "±"   plusminus
<Multi_key> <minus> <plus>      : "±"   plusminus
<Multi_key> <slash> <u>         : "µ"   mu
<Multi_key> <u> <slash>         : "µ"   mu
<Multi_key> <slash> <U>         : "µ"   mu
<Multi_key> <U> <slash>         : "µ"   mu
<Multi_key> <1> <asciicircum>      : "¹"   onesuperior
<Multi_key> <asciicircum> <1>      : "¹"   onesuperior
<Multi_key> <S> <1>         : "¹"   onesuperior
<Multi_key> <1> <S>         : "¹"   onesuperior
<Multi_key> <s> <1>         : "¹"   onesuperior
<Multi_key> <1> <s>         : "¹"   onesuperior
<Multi_key> <2> <asciicircum>      : "²"   twosuperior
<Multi_key> <asciicircum> <2>      : "²"   twosuperior
<Multi_key> <S> <2>         : "²"   twosuperior
<Multi_key> <2> <S>         : "²"   twosuperior
<Multi_key> <s> <2>         : "²"   twosuperior
<Multi_key> <2> <s>         : "²"   twosuperior
<Multi_key> <3> <asciicircum>      : "³"   threesuperior
<Multi_key> <asciicircum> <3>      : "³"   threesuperior
<Multi_key> <S> <3>         : "³"   threesuperior
<Multi_key> <3> <S>         : "³"   threesuperior
<Multi_key> <s> <3>         : "³"   threesuperior
<Multi_key> <3> <s>         : "³"   threesuperior
<Multi_key> <p> <exclam>      : "¶"   paragraph
<Multi_key> <exclam> <p>      : "¶"   paragraph
<Multi_key> <P> <exclam>      : "¶"   paragraph
<Multi_key> <exclam> <P>      : "¶"   paragraph
<Multi_key> <period> <asciicircum>   : "·"   periodcentered
<Multi_key> <asciicircum> <period>   : "·"   periodcentered
<Multi_key> <period> <period>      : "·"   periodcentered
<Multi_key> <question> <question>   : "¿"   questiondown
<Multi_key> <space> <space>      : " "   nobreakspace
<Multi_key> <minus> <comma>      : "¬"   notsign
<Multi_key> <comma> <minus>      : "¬"   notsign
<Multi_key> <minus> <minus>      : ""–"   hyphen
<Multi_key> <R> <O>         : "®"   registered
<Multi_key> <O> <R>         : "®"   registered
<Multi_key> <parenleft> <r>      : "®"   registered
<Multi_key> <minus> <asciicircum>   : "¯"   macron
<Multi_key> <asciicircum> <minus>   : "¯"   macron
<Multi_key> <underscore> <asciicircum>   : "¯"   macron
<Multi_key> <asciicircum> <underscore>   : "¯"   macron
<Multi_key> <underscore> <underscore>   : "¯"   macron
<Multi_key> <minus> <colon>      : "÷"   division
<Multi_key> <colon> <minus>      : "÷"   division
<Multi_key> <x> <x>         : "×"   multiply
<Multi_key> <apostrophe> <apostrophe>   : "´"   acute
<Multi_key> <comma> <comma>      : "¸"   cedilla
<Multi_key> <quotedbl> <quotedbl>   : "\""   quotedbl
# Accented Alphabet
<Multi_key> <A> <grave>         : "À"   Agrave
<Multi_key> <grave> <A>         : "À"   Agrave
<Multi_key> <A> <acute>         : "Á"   Aacute
<Multi_key> <acute> <A>         : "Á"   Aacute
<Multi_key> <A> <apostrophe>      : "Á"   Aacute
<Multi_key> <apostrophe> <A>      : "Á"   Aacute
<Multi_key> <A> <asciicircum>      : "Â"   Acircumflex
<Multi_key> <asciicircum> <A>      : "Â"   Acircumflex
<Multi_key> <A> <greater>      : "Â"   Acircumflex
<Multi_key> <greater> <A>      : "Â"   Acircumflex
<Multi_key> <A> <asciitilde>      : "Ã"   Atilde
<Multi_key> <asciitilde> <A>      : "Ã"   Atilde
<Multi_key> <A> <minus>         : "Ã"   Atilde
<Multi_key> <minus> <A>         : "Ã"   Atilde
<Multi_key> <A> <quotedbl>      : "Ä"   Adiaeresis
<Multi_key> <quotedbl> <A>      : "Ä"   Adiaeresis
<Multi_key> <A> <diaeresis>      : "Ä"   Adiaeresis
<Multi_key> <diaeresis> <A>      : "Ä"   Adiaeresis
<Multi_key> <A> <asterisk>      : "Å"   Aring
<Multi_key> <asterisk> <A>      : "Å"   Aring
<Multi_key> <A> <A>         : "Å"   Aring
<Multi_key> <A> <O>         : "Å"   Aring
<Multi_key> <A> <E>         : "Æ"   AE
<Multi_key> <a> <grave>         : "à"   agrave
<Multi_key> <grave> <a>         : "à"   agrave
<Multi_key> <a> <acute>         : "á"   aacute
<Multi_key> <acute> <a>         : "á"   aacute
<Multi_key> <a> <apostrophe>      : "á"   aacute
<Multi_key> <apostrophe> <a>      : "á"   aacute
<Multi_key> <a> <asciicircum>      : "å"   acircumflex
<Multi_key> <asciicircum> <a>      : "å"   acircumflex
<Multi_key> <a> <greater>      : "å"   acircumflex
<Multi_key> <greater> <a>      : "å"   acircumflex
<Multi_key> <a> <asciitilde>      : "ã"   atilde
<Multi_key> <asciitilde> <a>      : "ã"   atilde
<Multi_key> <a> <minus>         : "ã"   atilde
<Multi_key> <minus> <a>         : "ã"   atilde
<Multi_key> <a> <quotedbl>      : "ä"   adiaeresis
<Multi_key> <quotedbl> <a>      : "ä"   adiaeresis
<Multi_key> <a> <diaeresis>      : "ä"   adiaeresis
<Multi_key> <diaeresis> <a>      : "ä"   adiaeresis
<Multi_key> <a> <asterisk>      : "å"   aring
<Multi_key> <asterisk> <a>      : "å"   aring
<Multi_key> <a> <a>         : "å"   aring
<Multi_key> <a> <o>         : "å"   aring
<Multi_key> <a> <e>         : "æ"   ae
<Multi_key> <acute> <C>         : "Ç"   Ccedilla
<Multi_key> <acute> <c>         : "ç"   ccedilla
<Multi_key> <C> <comma>         : "Ç"   Ccedilla
<Multi_key> <comma> <C>         : "Ç"   Ccedilla
<Multi_key> <c> <comma>         : "ç"   ccedilla
<Multi_key> <comma> <c>         : "ç"   ccedilla
<Multi_key> <minus> <D>         : "Ð"   ETH
<Multi_key> <D> <minus>         : "Ð"   ETH
<Multi_key> <minus> <d>         : "ð"   eth
<Multi_key> <d> <minus>         : "ð"   eth
<Multi_key> <E> <grave>         : "È"   Egrave
<Multi_key> <grave> <E>         : "È"   Egrave
<Multi_key> <E> <acute>         : "É"   Eacute
<Multi_key> <acute> <E>         : "É"   Eacute
<Multi_key> <E> <apostrophe>      : "É"   Eacute
<Multi_key> <apostrophe> <E>      : "É"   Eacute
<Multi_key> <E> <asciicircum>      : "Ê"   Ecircumflex
<Multi_key> <asciicircum> <E>      : "Ê"   Ecircumflex
<Multi_key> <E> <greater>      : "Ê"   Ecircumflex
<Multi_key> <greater> <E>      : "Ê"   Ecircumflex
<Multi_key> <E> <quotedbl>      : "Ë"   Ediaeresis
<Multi_key> <quotedbl> <E>      : "Ë"   Ediaeresis
<Multi_key> <E> <diaeresis>      : "Ë"   Ediaeresis
<Multi_key> <diaeresis> <E>      : "Ë"   Ediaeresis
<Multi_key> <e> <grave>         : "è"   egrave
<Multi_key> <grave> <e>         : "è"   egrave
<Multi_key> <e> <acute>         : "é"   eacute
<Multi_key> <acute> <e>         : "é"   eacute
<Multi_key> <e> <apostrophe>      : "é"   eacute
<Multi_key> <apostrophe> <e>      : "é"   eacute
<Multi_key> <e> <asciicircum>      : "ê"   ecircumflex
<Multi_key> <asciicircum> <e>      : "ê"   ecircumflex
<Multi_key> <e> <greater>      : "ê"   ecircumflex
<Multi_key> <greater> <e>      : "ê"   ecircumflex
<Multi_key> <e> <quotedbl>      : "ë"   ediaeresis
<Multi_key> <quotedbl> <e>      : "ë"   ediaeresis
<Multi_key> <e> <diaeresis>      : "ë"   ediaeresis
<Multi_key> <diaeresis> <e>      : "ë"   ediaeresis
<Multi_key> <I> <grave>         : "Ì"   Igrave
<Multi_key> <grave> <I>         : "Ì"   Igrave
<Multi_key> <I> <acute>         : "Í"   Iacute
<Multi_key> <acute> <I>         : "Í"   Iacute
<Multi_key> <I> <apostrophe>      : "Í"   Iacute
<Multi_key> <apostrophe> <I>      : "Í"   Iacute
<Multi_key> <I> <asciicircum>      : "Î"   Icircumflex
<Multi_key> <asciicircum> <I>      : "Î"   Icircumflex
<Multi_key> <I> <greater>      : "Î"   Icircumflex
<Multi_key> <greater> <I>      : "Î"   Icircumflex
<Multi_key> <I> <quotedbl>      : "Ï"   Idiaeresis
<Multi_key> <quotedbl> <I>      : "Ï"   Idiaeresis
<Multi_key> <I> <diaeresis>      : "Ï"   Idiaeresis
<Multi_key> <diaeresis> <I>      : "Ï"   Idiaeresis
<Multi_key> <i> <grave>         : "ì"   igrave
<Multi_key> <grave> <i>         : "ì"   igrave
<Multi_key> <i> <acute>         : "í"   iacute
<Multi_key> <acute> <i>         : "í"   iacute
<Multi_key> <i> <apostrophe>      : "í"   iacute
<Multi_key> <apostrophe> <i>      : "í"   iacute
<Multi_key> <i> <asciicircum>      : "î"   icircumflex
<Multi_key> <asciicircum> <i>      : "î"   icircumflex
<Multi_key> <i> <greater>      : "î"   icircumflex
<Multi_key> <greater> <i>      : "î"   icircumflex
<Multi_key> <i> <quotedbl>      : "ï"   idiaeresis
<Multi_key> <quotedbl> <i>      : "ï"   idiaeresis
<Multi_key> <i> <diaeresis>      : "ï"   idiaeresis
<Multi_key> <diaeresis> <i>      : "ï"   idiaeresis
<Multi_key> <N> <asciitilde>      : "Ñ"   Ntilde
<Multi_key> <asciitilde> <N>      : "Ñ"   Ntilde
<Multi_key> <N> <minus>         : "Ñ"   Ntilde
<Multi_key> <minus> <N>         : "Ñ"   Ntilde
<Multi_key> <n> <asciitilde>      : "ñ"   ntilde
<Multi_key> <asciitilde> <n>      : "ñ"   ntilde
<Multi_key> <n> <minus>         : "ñ"   ntilde
<Multi_key> <minus> <n>         : "ñ"   ntilde
<Multi_key> <O> <grave>         : "Ò"   Ograve
<Multi_key> <grave> <O>         : "Ò"   Ograve
<Multi_key> <O> <acute>         : "Ó"   Oacute
<Multi_key> <acute> <O>         : "Ó"   Oacute
<Multi_key> <O> <apostrophe>      : "Ó"   Oacute
<Multi_key> <apostrophe> <O>      : "Ó"   Oacute
<Multi_key> <O> <asciicircum>      : "Ô"   Ocircumflex
<Multi_key> <asciicircum> <O>      : "Ô"   Ocircumflex
<Multi_key> <O> <greater>      : "Ô"   Ocircumflex
<Multi_key> <greater> <O>      : "Ô"   Ocircumflex
<Multi_key> <O> <asciitilde>      : "Õ"   Otilde
<Multi_key> <asciitilde> <O>      : "Õ"   Otilde
<Multi_key> <O> <minus>         : "Õ"   Otilde
<Multi_key> <minus> <O>         : "Õ"   Otilde
<Multi_key> <O> <quotedbl>      : "Ö"   Odiaeresis
<Multi_key> <quotedbl> <O>      : "Ö"   Odiaeresis
<Multi_key> <O> <diaeresis>      : "Ö"   Odiaeresis
<Multi_key> <diaeresis> <O>      : "Ö"   Odiaeresis
<Multi_key> <O> <slash>         : "Ø"   Ooblique
<Multi_key> <slash> <O>         : "Ø"   Ooblique
<Multi_key> <O> <E>         : "Œ"   OE
<Multi_key> <o> <grave>         : "ò"   ograve
<Multi_key> <grave> <o>         : "ò"   ograve
<Multi_key> <o> <acute>         : "ó"   oacute
<Multi_key> <acute> <o>         : "ó"   oacute
<Multi_key> <o> <apostrophe>      : "ó"   oacute
<Multi_key> <apostrophe> <o>      : "ó"   oacute
<Multi_key> <o> <asciicircum>      : "ô"   ocircumflex
<Multi_key> <asciicircum> <o>      : "ô"   ocircumflex
<Multi_key> <o> <greater>      : "ô"   ocircumflex
<Multi_key> <greater> <o>      : "ô"   ocircumflex
<Multi_key> <o> <asciitilde>      : "õ"   otilde
<Multi_key> <asciitilde> <o>      : "õ"   otilde
<Multi_key> <o> <minus>         : "õ"   otilde
<Multi_key> <minus> <o>         : "õ"   otilde
<Multi_key> <o> <quotedbl>      : "ö"   odiaeresis
<Multi_key> <quotedbl> <o>      : "ö"   odiaeresis
<Multi_key> <o> <diaeresis>      : "ö"   odiaeresis
<Multi_key> <diaeresis> <o>      : "ö"   odiaeresis
<Multi_key> <o> <slash>         : "ø"   oslash
<Multi_key> <slash> <o>         : "ø"   oslash
<Multi_key> <o> <e>         : "œ"   oe
<Multi_key> <S> <less>         : "Š"   Scaron
<Multi_key> <less> <S>         : "Š"   Scaron
<Multi_key> <s> <less>         : "š"   scaron
<Multi_key> <less> <s>         : "š"   scaron
<Multi_key> <U> <grave>         : "Ù"   Ugrave
<Multi_key> <grave> <U>         : "Ù"   Ugrave
<Multi_key> <U> <acute>         : "Ú"   Uacute
<Multi_key> <acute> <U>         : "Ú"   Uacute
<Multi_key> <U> <apostrophe>      : "Ú"   Uacute
<Multi_key> <apostrophe> <U>      : "Ú"   Uacute
<Multi_key> <U> <asciicircum>      : "Û"   Ucircumflex
<Multi_key> <asciicircum> <U>      : "Û"   Ucircumflex
<Multi_key> <U> <greater>      : "Û"   Ucircumflex
<Multi_key> <greater> <U>      : "Û"   Ucircumflex
<Multi_key> <U> <quotedbl>      : "Ü"   Udiaeresis
<Multi_key> <quotedbl> <U>      : "Ü"   Udiaeresis
<Multi_key> <U> <diaeresis>      : "Ü"   Udiaeresis
<Multi_key> <diaeresis> <U>      : "Ü"   Udiaeresis
<Multi_key> <u> <grave>         : "ù"   ugrave
<Multi_key> <grave> <u>         : "ù"   ugrave
<Multi_key> <u> <acute>         : "ú"   uacute
<Multi_key> <acute> <u>         : "ú"   uacute
<Multi_key> <u> <apostrophe>      : "ú"   uacute
<Multi_key> <apostrophe> <u>      : "ú"   uacute
<Multi_key> <u> <asciicircum>      : "û"   ucircumflex
<Multi_key> <asciicircum> <u>      : "û"   ucircumflex
<Multi_key> <u> <greater>      : "û"   ucircumflex
<Multi_key> <greater> <u>      : "û"   ucircumflex
<Multi_key> <u> <quotedbl>      : "ü"   udiaeresis
<Multi_key> <quotedbl> <u>      : "ü"   udiaeresis
<Multi_key> <u> <diaeresis>      : "ü"   udiaeresis
<Multi_key> <diaeresis> <u>      : "ü"   udiaeresis
<Multi_key> <s> <s>         : "ß"   ssharp
<Multi_key> <T> <H>         : "Þ"   THORN
<Multi_key> <t> <h>         : "þ"   thorn
<Multi_key> <Y> <acute>         : "Ý"   Yacute
<Multi_key> <acute> <Y>         : "Ý"   Yacute
<Multi_key> <Y> <apostrophe>      : "Ý"   Yacute
<Multi_key> <apostrophe> <Y>      : "Ý"   Yacute
<Multi_key> <Y> <quotedbl>      : "Ÿ"   Ydiaeresis
<Multi_key> <quotedbl> <Y>      : "Ÿ"   Ydiaeresis
<Multi_key> <Y> <diaeresis>      : "Ÿ"   Ydiaeresis
<Multi_key> <diaeresis> <Y>      : "Ÿ"   Ydiaeresis
<Multi_key> <y> <acute>         : "ý"   yacute
<Multi_key> <acute> <y>         : "ý"   yacute
<Multi_key> <y> <apostrophe>      : "ý"   yacute
<Multi_key> <apostrophe> <y>      : "ý"   yacute
<Multi_key> <y> <quotedbl>      : "ÿ"   ydiaeresis
<Multi_key> <quotedbl> <y>      : "ÿ"   ydiaeresis
<Multi_key> <y> <diaeresis>      : "ÿ"   ydiaeresis
<Multi_key> <diaeresis> <y>      : "ÿ"   ydiaeresis
<Multi_key> <Z> <less>         : "Ž"   Zcaron
<Multi_key> <less> <Z>         : "Ž"   Zcaron
<Multi_key> <z> <less>         : "ž"   zcaron
<Multi_key> <less> <z>         : "ž"   zcaron
#
# dead key accent keysyms
# Special Character
<dead_circumflex> <slash>      : "|"   bar
<dead_circumflex> <space>      : "^"   asciicircum
<dead_circumflex> <dead_circumflex>   : "^"   asciicircum
<dead_tilde> <space>         : "~"   asciitilde
<dead_tilde> <dead_tilde>      : "~"   asciitilde
<dead_grave> <space>         : "`"   grave
<dead_grave> <dead_grave>      : "`"   grave
# These are for us_intl, that does not have diaeresis, etc
<dead_acute> <space>          : "'" apostrophe
<dead_acute> <dead_acute>      : "'"   apostrophe
<dead_diaeresis> <space>       : "\"" quotedbl
<dead_diaeresis> <dead_diaeresis>   : "\""   quotedbl
<dead_doubleacute> <space>      : "\""   quotedbl

<dead_circumflex> <0>         : "°"   degree
<dead_circumflex> <1>         : "¹"   onesuperior
<dead_circumflex> <2>         : "²"   twosuperior
<dead_circumflex> <3>         : "³"   threesuperior
<dead_circumflex> <period>      : "·"   periodcentered
<dead_cedilla> <minus>         : "¬"   notsign
<dead_circumflex> <minus>      : "¯"   macron
<dead_circumflex> <underscore>      : "¯"   macron
<dead_acute> <apostrophe>      : "Ž"   acute
<dead_cedilla> <comma>         : "ž"   cedilla
<dead_diaeresis> <quotedbl>      : "\""   quotedbl

# Accented Alphabet
<dead_abovering> <A>         : "Å"   Aring         #
<dead_grave> <A>         : "À"   Agrave
<dead_acute> <A>         : "Á"   Aacute
<dead_circumflex> <A>         : "Â"   Acircumflex
<dead_tilde> <A>         : "Ã"   Atilde
<dead_diaeresis> <A>         : "Ä"   Adiaeresis
<dead_abovering> <a>         : "å"   aring         #
<dead_grave> <a>         : "à"   agrave
<dead_acute> <a>         : "á"   aacute
<dead_circumflex> <a>         : "å"   acircumflex
<dead_tilde> <a>         : "ã"   atilde
<dead_diaeresis> <a>         : "ä"   adiaeresis
<dead_cedilla> <C>         : "Ç"   Ccedilla      #
<dead_cedilla> <c>         : "ç"   ccedilla      #
<dead_grave> <E>         : "È"   Egrave
<dead_acute> <E>         : "É"   Eacute
<dead_circumflex> <E>         : "Ê"   Ecircumflex
<dead_diaeresis> <E>         : "Ë"   Ediaeresis
<dead_grave> <e>         : "è"   egrave
<dead_acute> <e>         : "é"   eacute
<dead_circumflex> <e>         : "ê"   ecircumflex
<dead_diaeresis> <e>         : "ë"   ediaeresis
<dead_grave> <I>         : "Ì"   Igrave
<dead_acute> <I>         : "Í"   Iacute
<dead_circumflex> <I>         : "Î"   Icircumflex
<dead_diaeresis> <I>         : "Ï"   Idiaeresis
<dead_grave> <i>         : "ì"   igrave
<dead_acute> <i>         : "í"   iacute
<dead_circumflex> <i>         : "î"   icircumflex
<dead_diaeresis> <i>         : "ï"   idiaeresis
<dead_tilde> <N>         : "Ñ"   Ntilde
<dead_tilde> <n>         : "ñ"   ntilde
<dead_grave> <O>         : "Ò"   Ograve
<dead_acute> <O>         : "Ó"   Oacute
<dead_circumflex> <O>         : "Ô"   Ocircumflex
<dead_tilde> <O>         : "Õ"   Otilde
<dead_diaeresis> <O>         : "Ö"   Odiaeresis
<dead_grave> <o>         : "ò"   ograve
<dead_acute> <o>         : "ó"   oacute
<dead_circumflex> <o>         : "ô"   ocircumflex
<dead_tilde> <o>         : "õ"   otilde
<dead_diaeresis> <o>         : "ö"   odiaeresis
<dead_caron> <S>         : "Š"   Scaron         #
<dead_caron> <s>         : "š"   scaron         #
<dead_circumflex> <S>         : "Š"   Scaron         #
<dead_circumflex> <s>         : "š"   scaron         #
<dead_grave> <U>         : "Ù"   Ugrave
<dead_acute> <U>         : "Ú"   Uacute
<dead_circumflex> <U>         : "Û"   Ucircumflex
<dead_diaeresis> <U>         : "Ü"   Udiaeresis
<dead_grave> <u>         : "ù"   ugrave
<dead_acute> <u>         : "ú"   uacute
<dead_circumflex> <u>         : "û"   ucircumflex
<dead_diaeresis> <u>         : "ü"   udiaeresis
<dead_acute> <Y>         : "Ý"   Yacute
<dead_diaeresis> <Y>         : "Ÿ"   Ydiaeresis      #
<dead_acute> <y>         : "ý"   yacute
<dead_diaeresis> <y>         : "ÿ"   ydiaeresis      #
<dead_caron> <Z>         : "Ž"   Zcaron         #
<dead_caron> <z>         : "ž"   zcaron         #
<dead_circumflex> <Z>         : "Ž"   Zcaron         #
<dead_circumflex> <z>         : "ž"   zcaron         #
# Useful for portuguese language
<dead_acute> <C>         : "Ç"   Ccedilla
<dead_acute> <c>         : "ç"   ccedilla
# End of Sequence Definition


#custom pjv:
#<comma> <C>            : "Ç"   Ccedilla
#<comma> <c>            : "ç"   ccedilla


<dead_grave>       <Q>         : "\`Q"   
<dead_acute>       <Q>         : "\'Q"   
<dead_circumflex>    <Q>         : "\^Q"   
<dead_tilde>       <Q>         : "\~Q"   
<dead_diaeresis>    <Q>         : "\"Q"   
<dead_grave>       <q>         : "\`q"   
<dead_acute>       <q>         : "\'q"   
<dead_circumflex>    <q>         : "\^q"   
<dead_tilde>       <q>         : "\~q"   
<dead_diaeresis>    <q>         : "\"q"   

<dead_grave>       <W>         : "\`W"   
<dead_acute>       <W>         : "\'W"   
<dead_circumflex>    <W>         : "\^W"   
<dead_tilde>       <W>         : "\~W"   
<dead_diaeresis>    <W>         : "\"W"   
<dead_grave>       <w>         : "\`w"   
<dead_acute>       <w>         : "\'w"   
<dead_circumflex>    <w>         : "\^w"   
<dead_tilde>       <w>         : "\~w"   
<dead_diaeresis>    <w>         : "\"w"       
   
<dead_tilde>       <E>         : "\~E"   
<dead_tilde>       <e>         : "\~e"   

<dead_grave>       <R>         : "\`R"   
<dead_acute>       <R>         : "\'R"   
<dead_circumflex>    <R>         : "\^R"   
<dead_tilde>       <R>         : "\~R"   
<dead_diaeresis>    <R>         : "\"R"   
<dead_grave>       <r>         : "\`r"   
<dead_acute>       <r>         : "\'r"   
<dead_circumflex>    <r>         : "\^r"   
<dead_tilde>       <r>         : "\~r"   
<dead_diaeresis>    <r>         : "\"r"       

<dead_grave>       <T>         : "\`T"   
<dead_acute>       <T>         : "\'T"   
<dead_circumflex>    <T>         : "\^T"   
<dead_tilde>       <T>         : "\~T"   
<dead_diaeresis>    <T>         : "\"T"   
<dead_grave>       <t>         : "\`t"   
<dead_acute>       <t>         : "\'t"   
<dead_circumflex>    <t>         : "\^t"   
<dead_tilde>       <t>         : "\~t"   
<dead_diaeresis>    <t>         : "\"t"       

<dead_grave>       <Y>         : "\`Y"   
<dead_circumflex>    <Y>         : "\^Y"   
<dead_tilde>       <Y>         : "\~Y"   
#<dead_diaeresis>    <Y>         : "\"Y"   
<dead_grave>       <y>         : "\`y"
<dead_circumflex>    <y>         : "\^y"   
<dead_tilde>       <y>         : "\~y"   
#<dead_diaeresis>    <y>         : "\"y"       

<dead_tilde>       <U>         : "\~U"   
<dead_tilde>       <u>         : "\~u"   

<dead_tilde>       <I>         : "\~I"   
<dead_tilde>       <i>         : "\~i"       

<dead_grave>       <P>         : "\`P"   
<dead_acute>       <P>         : "\'P"   
<dead_circumflex>    <P>         : "\^P"   
<dead_tilde>       <P>         : "\~P"   
<dead_diaeresis>    <P>         : "\"P"   
<dead_grave>       <p>         : "\`p"   
<dead_acute>       <p>         : "\'p"   
<dead_circumflex>    <p>         : "\^p"   
<dead_tilde>       <p>         : "\~p"   
<dead_diaeresis>    <p>         : "\"p"       

<dead_grave>       <S>         : "\`S"   
<dead_acute>       <S>         : "\'S"   
#<dead_circumflex>    <S>         : "\^S"   
<dead_tilde>       <S>         : "\~S"   
<dead_diaeresis>    <S>         : "\"S"   
<dead_grave>       <s>         : "\`s"   
<dead_acute>       <s>         : "\'s"   
#<dead_circumflex>    <s>         : "\^s"   
<dead_tilde>       <s>         : "\~s"   
<dead_diaeresis>    <s>         : "\"s"       

<dead_grave>       <D>         : "\`D"   
<dead_acute>       <D>         : "\'D"   
<dead_circumflex>    <D>         : "\^D"   
<dead_tilde>       <D>         : "\~D"   
<dead_diaeresis>    <D>         : "\"D"   
<dead_grave>       <d>         : "\`d"   
<dead_acute>       <d>         : "\'d"   
<dead_circumflex>    <d>         : "\^d"   
<dead_tilde>       <d>         : "\~d"   
<dead_diaeresis>    <d>         : "\"d"       

<dead_grave>       <F>         : "\`F"   
<dead_acute>       <F>         : "\'F"   
<dead_circumflex>    <F>         : "\^F"   
<dead_tilde>       <F>         : "\~F"   
<dead_diaeresis>    <F>         : "\"F"   
<dead_grave>       <f>         : "\`f"   
<dead_acute>       <f>         : "\'f"   
<dead_circumflex>    <f>         : "\^f"   
<dead_tilde>       <f>         : "\~f"   
<dead_diaeresis>    <f>         : "\"f"       

<dead_grave>       <G>         : "\`G"   
<dead_acute>       <G>         : "\'G"   
<dead_circumflex>    <G>         : "\^G"   
<dead_tilde>       <G>         : "\~G"   
<dead_diaeresis>    <G>         : "\"G"   
<dead_grave>       <g>         : "\`g"   
<dead_acute>       <g>         : "\'g"   
<dead_circumflex>    <g>         : "\^g"   
<dead_tilde>       <g>         : "\~g"   
<dead_diaeresis>    <g>         : "\"g"       

<dead_grave>       <H>         : "\`H"   
<dead_acute>       <H>         : "\'H"   
<dead_circumflex>    <H>         : "\^H"   
<dead_tilde>       <H>         : "\~H"   
<dead_diaeresis>    <H>         : "\"H"   
<dead_grave>       <h>         : "\`h"   
<dead_acute>       <h>         : "\'h"   
<dead_circumflex>    <h>         : "\^h"   
<dead_tilde>       <h>         : "\~h"   
<dead_diaeresis>    <h>         : "\"h"       

<dead_grave>       <J>         : "\`J"   
<dead_acute>       <J>         : "\'J"   
<dead_circumflex>    <J>         : "\^J"   
<dead_tilde>       <J>         : "\~J"   
<dead_diaeresis>    <J>         : "\"J"   
<dead_grave>       <j>         : "\`j"   
<dead_acute>       <j>         : "\'j"   
<dead_circumflex>    <j>         : "\^j"   
<dead_tilde>       <j>         : "\~j"   
<dead_diaeresis>    <j>         : "\"j"       

<dead_grave>       <K>         : "\`K"   
<dead_acute>       <K>         : "\'K"   
<dead_circumflex>    <K>         : "\^K"   
<dead_tilde>       <K>         : "\~K"   
<dead_diaeresis>    <K>         : "\"K"   
<dead_grave>       <k>         : "\`k"   
<dead_acute>       <k>         : "\'k"   
<dead_circumflex>    <k>         : "\^k"   
<dead_tilde>       <k>         : "\~k"   
<dead_diaeresis>    <k>         : "\"k"       

<dead_grave>       <L>         : "\`L"   
<dead_acute>       <L>         : "\'L"   
<dead_circumflex>    <L>         : "\^L"   
<dead_tilde>       <L>         : "\~L"   
<dead_diaeresis>    <L>         : "\"L"   
<dead_grave>       <l>         : "\`l"   
<dead_acute>       <l>         : "\'l"   
<dead_circumflex>    <l>         : "\^l"   
<dead_tilde>       <l>         : "\~l"   
<dead_diaeresis>    <l>         : "\"l"       

<dead_grave>       <Z>         : "\`Z"   
<dead_acute>       <Z>         : "\'Z"   
#<dead_circumflex>    <Z>         : "\^Z"   
<dead_tilde>       <Z>         : "\~Z"   
<dead_diaeresis>    <Z>         : "\"Z"   
<dead_grave>       <z>         : "\`z"   
<dead_acute>       <z>         : "\'z"   
#<dead_circumflex>    <z>         : "\^z"   
<dead_tilde>       <z>         : "\~z"   
<dead_diaeresis>    <z>         : "\"z"       

<dead_grave>       <X>         : "\`X"   
<dead_acute>       <X>         : "\'X"   
<dead_circumflex>    <X>         : "\^X"   
<dead_tilde>       <X>         : "\~X"   
<dead_diaeresis>    <X>         : "\"X"   
<dead_grave>       <x>         : "\`x"   
<dead_acute>       <x>         : "\'x"   
<dead_circumflex>    <x>         : "\^x"   
<dead_tilde>       <x>         : "\~x"   
<dead_diaeresis>    <x>         : "\"x"       

<dead_grave>       <C>         : "\`C"       
<dead_circumflex>    <C>         : "\^C"   
<dead_tilde>       <C>         : "\~C"   
<dead_diaeresis>    <C>         : "\"C"   
<dead_grave>       <c>         : "\`c"   
<dead_circumflex>    <c>         : "\^c"   
<dead_tilde>       <c>         : "\~c"   
<dead_diaeresis>    <c>         : "\"c"       

<dead_grave>       <V>         : "\`V"   
<dead_acute>       <V>         : "\'V"   
<dead_circumflex>    <V>         : "\^V"   
<dead_tilde>       <V>         : "\~V"   
<dead_diaeresis>    <V>         : "\"V"   
<dead_grave>       <v>         : "\`v"   
<dead_acute>       <v>         : "\'v"   
<dead_circumflex>    <v>         : "\^v"   
<dead_tilde>       <v>         : "\~v"   
<dead_diaeresis>    <v>         : "\"v"       

<dead_grave>       <B>         : "\`B"   
<dead_acute>       <B>         : "\'B"   
<dead_circumflex>    <B>         : "\^B"   
<dead_tilde>       <B>         : "\~B"   
<dead_diaeresis>    <B>         : "\"B"   
<dead_grave>       <b>         : "\`b"   
<dead_acute>       <b>         : "\'b"   
<dead_circumflex>    <b>         : "\^b"   
<dead_tilde>       <b>         : "\~b"   
<dead_diaeresis>    <b>         : "\"b"       

<dead_grave>       <N>         : "\`N"   
<dead_acute>       <N>         : "\'N"   
<dead_circumflex>    <N>         : "\^N"   
<dead_diaeresis>    <N>         : "\"N"   
<dead_grave>       <n>         : "\`n"   
<dead_acute>       <n>         : "\'n"   
<dead_circumflex>    <n>         : "\^n"   
<dead_diaeresis>    <n>         : "\"n"       

<dead_grave>       <M>         : "\`M"   
<dead_acute>       <M>         : "\'M"   
<dead_circumflex>    <M>         : "\^M"   
<dead_tilde>       <M>         : "\~M"   
<dead_diaeresis>    <M>         : "\"M"   
<dead_grave>       <m>         : "\`m"   
<dead_acute>       <m>         : "\'m"   
<dead_circumflex>    <m>         : "\^m"   
<dead_tilde>       <m>         : "\~m"   
<dead_diaeresis>    <m>         : "\"m"       


Last edited by pjv on Sun Aug 26, 2012 11:24 pm; edited 4 times in total
Back to top
View user's profile Send private message
pjv
Guru
Guru


Joined: 02 Jul 2003
Posts: 353
Location: Belgium

PostPosted: Sat Jul 31, 2004 8:13 pm    Post subject: Reply with quote

...Reserved...
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Other Things Gentoo All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum