aboutsummaryrefslogblamecommitdiff
path: root/.xkb/symbols/icd
blob: 9ace6b7b30c37cb1ebb209ba91db71ec81e43851 (plain) (tree)
1
2
3
4
5
                             
                                                        
  

                                                       








                                                                                      

                                                                                    


                                                                

                                                                          


                                                                

                                                                             


                                                            

                                                                   










                                          
                     




                                                                                

                                                                                    
                                                                                                                            
                                                                                                                            
















                                                                                                                            

                                                                                    


                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    





                                                                                       
                                                                                    
                                                                                    
                                                                                    



                                                                                    

                                                                                    
                                                                                    
                                                                                    



                                                                                                                            
                                                                                    
                                                                                    
                                                                                    


                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    

  
// International Coder Dvorak
// By: Ryan Kavanagh <rak@ryanak.ca> , http://ryanak.ca/
//
// Optimised for typing in English, French and Spanish.
//
// Based on the Dvorak International (dvorak-intl) layout:
//      Stephane Magnenat (stephane at magnenat dot net, http://stephane.magnenat.net)
//      Based on information from http://www.poupinou.org/dvorak/index.html
// Based on the Programmer Dvorak (dvp) layout:
//      Programmer Dvorak, by Roland Kaufmann <rlndkfmn at gmail dot com>
//      License: BSD, available at <http://www.kaufmann.no/roland/dvorak/license.html>
//
//  SHIFT:     ~   %   7   5   3   1   9   0   2   4   6   8   `   BCKSP
// NORMAL:     $   &   [   {   }   (   =   *   )   +   ]   !   #   BCKSP
//  AltGr:     ¢   ¤   €   £   d˘  d¨  d¸  d`` d`  d´  d˝  ¡   d˚  BCKSP
// SFT-AG:     d~  ₽   ¥                                       d˳  BCKSP
//
//        TAB  :   <   >   P   Y   F   G   C   R   L   ?   ^   |
//        TAB  ;   ,   .   p   y   f   g   c   r   l   /   @   \
//        TAB  ä   «   »   ü   í           ç       þ   ¿   dˆ  d'
//        TAB  Ä   °   ·   Ü   Í           Ç       Þ       dˇ  d.
//
//       CAPL  A   O   E   U   I   D   H   T   N   S   _   ENTER
//       CAPL  a   o   e   u   i   d   h   t   n   s   -   ENTER
//       CAPL  à   ó   é   û   î   ð   œ   æ   ñ   ß   –   ENTER
//       CAPL  À   Ó   É   Û   Î   Ð   Œ   Æ   Ñ   ‾   —   ENTER
//
//      SHIFT  "   Q   J   K   X   B   M   W   V   Z   SHIFT
//      SHIFT  '   q   j   k   x   b   m   w   v   z   SHIFT
//      SHIFT  â   ô   è   ù   ï       ê   ¶           SHIFT
//      SHIFT  Â   Ô   È   Ù   Ï       Ê   §
//
// Legend: dX -> dead_X
//
// en dash: AltGr-hyphen_minus
// em dash: Shift-AltGr-hyphen_minus
// dead_doublegrave: AltGr-asterisk
// dead_abovedot: on AltGr-backslash
// dead_belowdot: on Shift-AltGr-backslash

partial alphanumeric_keys
xkb_symbols "icd" {
    include "us(dvp)"

    name[Group1] = "USA - International Coder Dvorak";

    //             Unmodified       Shift           AltGr            Shift+AltGr
    // symbols row, left side
    key <TLDE> { [ dollar,          asciitilde,     cent,            dead_tilde ] };
    key <AE01> { [ ampersand,       percent,        currency,        U20BD      ] };
    key <AE02> { [ bracketleft,     7,              EuroSign,        yen        ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
    key <AE03> { [ braceleft,       5,              sterling                    ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
    key <AE04> { [ braceright,      3,              dead_hook                   ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
    key <AE05> { [ parenleft,       1,              dead_diaeresis              ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
    key <AE06> { [ equal,           9,              dead_cedilla                ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };

    // symbols row, right side
    key <AE07> { [ asterisk,        0,              dead_doublegrave            ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
    key <AE08> { [ parenright,      2,              dead_grave                  ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
    key <AE09> { [ plus,            4,              dead_acute                  ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
    key <AE10> { [ bracketright,    6,              dead_doubleacute            ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
    key <AE11> { [ exclam,          8,              exclamdown                  ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
    key <AE12> { [ numbersign,      grave,          dead_abovering, dead_belowring ] };
    key <BKSP> { [ BackSpace                                                    ] };

    // upper row, left side
    key <AD01> { [ semicolon,       colon,          adiaeresis,      Adiaeresis ] };
    key <AD02> { [ comma,           less,           guillemotleft,   degree     ] };
    key <AD03> { [ period,          greater,        guillemotright,  periodcentered ] };
    key <AD04> { [ p,               P,              udiaeresis,      Udiaeresis ] };
    key <AD05> { [ y,               Y,              iacute,          Iacute     ] };

    // upper row, right side
    key <AD06> { [ f,               F,              udiaeresis,      Udiaeresis ] };
    key <AD07> { [ g,               G                                           ] };
    key <AD08> { [ c,               C,              ccedilla,        Ccedilla   ] };
    key <AD09> { [ r,               R                                           ] };
    key <AD10> { [ l,               L,              thorn,           THORN      ] };
    key <AD11> { [ slash,           question,       questiondown                ] };
    key <AD12> { [ at,              asciicircum,    dead_circumflex, dead_caron ] };
    key <BKSL> { [ backslash,       bar,            dead_abovedot,   dead_belowdot ] };

    // home row, left side
    key <AC01> { [ a,               A,              agrave,          Agrave     ] };
    key <AC02> { [ o,               O,              oacute,          Oacute     ] };
    key <AC03> { [ e,               E,              eacute,          Eacute     ] };
    key <AC04> { [ u,               U,              ucircumflex,     Ucircumflex] };
    key <AC05> { [ i,               I,              icircumflex,     Icircumflex] };

    // home row, right side
    key <AC06> { [ d,               D,              eth,             ETH        ] };
    key <AC07> { [ h,               H,              oe,              OE         ] };
    key <AC08> { [ t,               T,              ae,              AE         ] };
    key <AC09> { [ n,               N,              ntilde,          Ntilde     ] };
    key <AC10> { [ s,               S,              ssharp,          overline   ] };
    key <AC11> { [ minus,           underscore,     endash,          emdash     ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };

    // lower row, left side
    key <AB01> { [ apostrophe,      quotedbl,       acircumflex,     Acircumflex] };
    key <AB02> { [ q,               Q,              ocircumflex,     Ocircumflex] };
    key <AB03> { [ j,               J,              egrave,          Egrave     ] };
    key <AB04> { [ k,               K,              ugrave,          Ugrave     ] };
    key <AB05> { [ x,               X,              idiaeresis,      Idiaeresis ] };

    // lower row, right side
    key <AB06> { [ b,               B                                           ] };
    key <AB07> { [ m,               M,              ecircumflex,     Ecircumflex] };
    key <AB08> { [ w,               W,              paragraph,       section    ] };
    key <AB11> { [ Shift_R,         Shift_R,        Shift_R,         Shift_R    ] };

};