aboutsummaryrefslogtreecommitdiff
path: root/.xkb/symbols/icd
blob: cd449b6ee3dc1963750c687e4d812b34052eec0b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
// International Coder Dvorak
// By: Ryan Kavanagh <ryanakca@kubuntu.org> , 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˝  ¡   d˚  BCKSP
// SFT-AG:     ¢   Ø   £   ¤                                   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  â   ô   è   ù   ï   å   ê   w   v   z   SHIFT
//      SHIFT  Â   Ô   È   Ù   Ï   Å   Ê   W   V   Z
//
// 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,     dead_tilde,      cent       ] };
    key <AE01> { [ ampersand,       percent,        oslash,          Ooblique   ] };
    key <AE02> { [ bracketleft,     7,              EuroSign,        sterling   ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
    key <AE03> { [ braceleft,       5,              yen,             currency   ], 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,              odiaeresis,      Odiaeresis ] };
    key <AD05> { [ y,               Y,              ediaeresis,      Ediaeresis ] };

    // upper row, right side
    key <AD06> { [ f,               F,              udiaeresis,      Udiaeresis ] };
    key <AD07> { [ g,               G,              idiaeresis,      Idiaeresis ] };
    key <AD08> { [ c,               C,              ccedilla,        Ccedilla   ] };
    key <AD09> { [ r,               R,              oe,              OE         ] };
    key <AD10> { [ l,               L,              ae,              AE         ] };
    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,              ugrave,          Ugrave     ] };
    key <AC05> { [ i,               I,              icircumflex,     Icircumflex] };

    // home row, right side
    key <AC06> { [ d,               D,              eth,             ETH        ] };
    key <AC07> { [ h,               H,              paragraph,       section    ] };
    key <AC08> { [ t,               T,              thorn,           THORN      ] };
    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 <AB05> { [ x,               X,              idiaeresis,      Idiaeresis ] };

    // lower row, right side
    key <AB06> { [ b,               B,              acircumflex,     Acircumflex] };
    key <AB07> { [ m,               M,              ecircumflex,     Ecircumflex] };
    key <AB11> { [ Shift_R,         Shift_R,        Shift_R,         Shift_R    ] };

};