|
1 // -*- indent-tabs-mode: nil -*- |
|
2 |
|
3 // Created by Fabien Ninoles <fabien (at) tzone (dot) org> |
|
4 |
|
5 // Note : the special/multimedia keys (Calc, WWW, Desktop…) have a keycode |
|
6 // <I[XX]>, found in definition file /usr/share/X11/xkb/keycodes/evdev. |
|
7 // Fn = <I120>; |
|
8 // Calc = <I148>; |
|
9 // WWW = <I158>; |
|
10 // CycleWindows = <I162>; |
|
11 // Mail = <I163>; |
|
12 // PlayPause = <I172>; |
|
13 // Desktop = <I243>; |
|
14 |
|
15 xkb_geometry "teckD209" { |
|
16 description = "Truly Ergonomic D209"; |
|
17 |
|
18 // Keyboard total size : |
|
19 width = 308; |
|
20 height = 150; |
|
21 // Background / foreground colours |
|
22 baseColor = "white"; |
|
23 labelColor = "black"; |
|
24 |
|
25 // Key shapes: base key = 16 mm each side |
|
26 shape "NORM" { cornerRadius=1, { [17, 17] }, { [2, 2], [15, 15] }}; |
|
27 shape "DBLA" { cornerRadius=1, { [35, 17] }, { [2, 2], [33, 15] }}; |
|
28 |
|
29 section "Function" { |
|
30 left = 5; |
|
31 top = 5; |
|
32 key.gap = 0.5; |
|
33 key.color = "grey10"; |
|
34 key.shape = "NORM"; |
|
35 row { |
|
36 keys { <ESC> }; |
|
37 }; |
|
38 row { |
|
39 left = 25; |
|
40 keys { <FK01>, <FK02>, <FK03>, <FK04> }; |
|
41 }; |
|
42 row { |
|
43 left = 105; |
|
44 keys { <FK05>, <FK06>, <FK07>, <FK08> }; |
|
45 }; |
|
46 row { |
|
47 left = 185; |
|
48 keys { <FK09>, <FK10>, <FK11>, <FK12> }; |
|
49 }; |
|
50 row { |
|
51 left = 265; |
|
52 keys { <DELE> }; |
|
53 }; |
|
54 row { |
|
55 top = 17.5; |
|
56 left = 115; |
|
57 keys { <CAPS>, |
|
58 <DELE>, // modified from <I120> |
|
59 <NMLK> }; |
|
60 }; |
|
61 }; |
|
62 |
|
63 section "LeftColumn" { |
|
64 left = 4; |
|
65 top = 80; |
|
66 key.gap = 0.5; |
|
67 key.color = "grey20"; |
|
68 key.shape = "DBLA"; |
|
69 row { keys { <LFSH> }; }; |
|
70 row { |
|
71 top = 17.5; |
|
72 keys { <LCTL> }; |
|
73 }; |
|
74 row { |
|
75 top = 35; |
|
76 keys { |
|
77 { <I120>, "NORM" }, |
|
78 { <LALT>, "NORM" } |
|
79 }; |
|
80 }; |
|
81 }; |
|
82 |
|
83 section "LeftAlpha" { |
|
84 left = 39; |
|
85 top = 45; |
|
86 key.gap = 0.5; |
|
87 key.color = "grey10"; |
|
88 key.shape = "NORM"; |
|
89 row { |
|
90 top = 0; |
|
91 left = -35; |
|
92 keys { |
|
93 <AD12>, // modified from ? |
|
94 <TLDE>, |
|
95 <AE01>, <AE02>, <AE03>, <AE04>, <AE05> |
|
96 }; |
|
97 }; |
|
98 row { |
|
99 left = -35; |
|
100 top = 17.5; |
|
101 keys { |
|
102 <ESC>, // modified from <BKSL> |
|
103 <BKSL>, // modified from <AB10> |
|
104 <AD01>, <AD02>, <AD03>, <AD04>, <AD05> |
|
105 }; |
|
106 }; |
|
107 row { |
|
108 top = 35; |
|
109 keys { <AC01>, <AC02>, <AC03>, <AC04>, <AC05> }; |
|
110 }; |
|
111 row { |
|
112 top = 52.5; |
|
113 keys { <AB01>, <AB02>, <AB03>, <AC04>, <AC05> }; |
|
114 }; |
|
115 }; |
|
116 section "RightAlpha" { |
|
117 left = 161.5; |
|
118 top = 45; |
|
119 key.gap = 0.5; |
|
120 key.color = "grey10"; |
|
121 key.shape = "NORM"; |
|
122 row { |
|
123 top = 0; |
|
124 keys { |
|
125 <AE06>, <AE07>, <AE08>, <AE09>, <AE10>, |
|
126 <AE11>, <AE12> |
|
127 }; |
|
128 }; |
|
129 row { |
|
130 top = 17.5; |
|
131 keys { |
|
132 <AD06>, <AD07>, <AD08>, <AD09>, <AD10>, |
|
133 <AC11>, // modified from <AD11> |
|
134 <AD11> // modified from <AD12> |
|
135 }; |
|
136 }; |
|
137 row { |
|
138 top = 35; |
|
139 keys { <AC06>, <AC07>, <AC08>, <AC09>, <AC10> }; |
|
140 }; |
|
141 row { |
|
142 top = 52.5; |
|
143 keys { <AB06>, <AB07>, <AB08>, <AB09>, <AB10> }; |
|
144 }; |
|
145 }; |
|
146 section "CentralColumn" { |
|
147 top = 45; |
|
148 left = 126.5; |
|
149 key.shape = "DBLA"; |
|
150 key.color = "grey20"; |
|
151 // Central section |
|
152 row { |
|
153 keys { <LWIN> }; |
|
154 }; |
|
155 row { |
|
156 top = 17.5; |
|
157 keys { <RALT> }; // modified from <DELE> |
|
158 }; |
|
159 row { |
|
160 top = 35; |
|
161 keys { <TAB> }; |
|
162 }; |
|
163 row { |
|
164 top = 52.5; |
|
165 keys { <BKSP> }; |
|
166 }; |
|
167 row { |
|
168 top = 70; |
|
169 left = -35; |
|
170 keys { <SPCE>, <RTRN>, <SPCE> }; |
|
171 }; |
|
172 }; |
|
173 section "LeftCross" { |
|
174 left = 39; |
|
175 top = 115; |
|
176 key.gap = 0.5; |
|
177 key.color = "grey20"; |
|
178 key.shape = "NORM"; |
|
179 // Cross section |
|
180 row { |
|
181 top = 8; |
|
182 left = 0; |
|
183 keys { <AB03> }; // modified from <HOME> |
|
184 }; |
|
185 row { |
|
186 top = 0; |
|
187 left = 17.5; |
|
188 keys { <AC06> }; // modified from <PGUP> |
|
189 }; |
|
190 row { |
|
191 top = 17.5; |
|
192 left = 17.5; |
|
193 keys { <AD11> }; // modified from <PGDN> |
|
194 }; |
|
195 row { |
|
196 top = 8; |
|
197 left = 35; |
|
198 keys { <AD07> }; // modified from <END> |
|
199 }; |
|
200 }; |
|
201 section "RightCross" { |
|
202 left = 196.5; |
|
203 top = 115; |
|
204 key.gap = 0.5; |
|
205 key.color = "grey20"; |
|
206 key.shape = "NORM"; |
|
207 // Cross section |
|
208 row { |
|
209 top = 8; |
|
210 left = 0; |
|
211 keys { <LEFT> }; // modified from <HOME> |
|
212 }; |
|
213 row { |
|
214 top = 0; |
|
215 left = 17.5; |
|
216 keys { <UP> }; // modified from <PGUP> |
|
217 }; |
|
218 row { |
|
219 top = 17.5; |
|
220 left = 17.5; |
|
221 keys { <DOWN> }; // modified from <PGDN> |
|
222 }; |
|
223 row { |
|
224 top = 8; |
|
225 left = 35; |
|
226 keys { <RGHT> }; // modified from <END> |
|
227 }; |
|
228 }; |
|
229 section "RightColumn" { |
|
230 left = 250; |
|
231 top = 80; |
|
232 key.gap = 0.5; |
|
233 key.color = "grey20"; |
|
234 key.shape = "DBLA"; |
|
235 row { keys { <RTSH> }; }; |
|
236 row { |
|
237 top = 17.5; |
|
238 keys { <RCTL> }; |
|
239 }; |
|
240 row { |
|
241 top = 35; |
|
242 keys { |
|
243 { <RALT>, "NORM" }, |
|
244 { <I120>, "NORM" } |
|
245 }; |
|
246 }; |
|
247 }; |
|
248 |
|
249 }; // geometry teckD209 |