Hide ClearGrab/CloseGrabs actions behind an option
[xorg/xkeyboard-config] / geometry / typematrix
1 // -*- indent-tabs-mode: nil -*-
2
3 // Created by Frédéric Boiteux <fboiteux (at) free (dot) fr>
4 // and Gildas Cotomale <gildas (dot) cotomale (at) gmail (dot) com>
5
6 // Note : the special/multimedia keys (Calc, WWW, Desktop…) have a keycode
7 // <I[XX]>, found in definition file /usr/share/X11/xkb/keycodes/evdev.
8 // Fn           = <I120>;
9 // Calc         = <I148>;
10 // WWW          = <I158>;
11 // CycleWindows = <I162>;
12 // Mail         = <I163>;
13 // PlayPause    = <I172>;
14 // Desktop      = <I243>;
15
16
17 xkb_geometry "tm2020" {
18     description = "TypeMatrix EZ-Reach 2020";
19
20     // Keyboard total size :
21     width  = 308;
22     height = 152;
23     // background / foreground colours :
24     baseColor  = "white";
25     labelColor = "black";
26
27     // Key shapes : base key = 16 mm each side
28     shape "NORM" { cornerRadius=1, { [16,    16]   }, { [1,   1], [15,   15] }};
29     shape "ALPL" { cornerRadius=1, { [24.25, 16]   }, { [1,   1], [23,   15] }};
30     shape "DHAL" { cornerRadius=1, { [24.25, 32.5] }, { [1,   1], [23, 31.5] }};
31     shape "FUNC" { cornerRadius=1, { [16,    12]   }, { [2.5, 0], [13.5, 10] }};
32     shape "FUNL" { cornerRadius=1, { [24.25, 12]   }, { [2.5, 0], [21.5, 10] }};
33     shape "SPCE" { cornerRadius=1, { [57,    26]   }, { [2.5, 1], [54.5, 24] }};
34     shape "DBLA" { cornerRadius=1, { [32.5,  16]   }, { [1,   1], [31,   15] }};
35     shape "LED"  { cornerRadius=2, { [4,      4]   }};
36     shape "DECO" { cornerRadius=1, { [3,     18]   }};
37
38     // Function keys row
39     section "Function" {
40         left = 4;
41         top  = 24;
42         key.gap = 0.5;
43         key.color = "grey10";
44         key.shape = "FUNC";
45         row {
46             keys { { <ESC>,  "FUNL" },
47                    <FK01>, <FK02>, <FK03>, <FK04>, <FK05> };
48             key.color = "grey20";
49             keys { { <NMLK>, "FUNL" } };
50         };
51         row {
52             left = 150;
53             key.color = "red";
54             keys { { <DELE>, "FUNL" } };
55             key.color = "grey10";
56             keys { <FK06>, <FK07>, <FK08>, <FK09>, <FK10>, <FK11>,
57                    { <FK12>, "FUNL" } };
58         };
59     };
60
61     // Alpha-numeric keys rows
62     section "Alpha" {
63         left = 4;
64         top  = 36.5;
65         key.gap = 0.5;
66         key.color = "grey10";
67         key.shape = "NORM";
68         row {
69             top  = 0;
70             keys { { <TLDE>, "ALPL" },
71                    <AE01>, <AE02>, <AE03>, <AE04>, <AE05>,
72                    { <BKSP>, "DHAL" } };
73         };
74         row {
75             top  = 16.5;
76             keys { { <TAB>, "ALPL" },
77                    <AD01>, <AD02>, <AD03>, <AD04>, <AD05> };
78         };
79         row {
80             top  = 33;
81             keys { { <LFSH>, "DHAL" },
82                    <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
83                    { <TAB>,  "DHAL" } };
84         };
85         row {
86             top  = 49.5;
87             left = 24.5;
88             keys { <AB01>, <AB02>, <AB03>, <AB04>, <AB05> };
89         };
90         row {
91             top  = 0;
92             left = 150;
93             keys { { <BKSP>, "DHAL" },
94                    <AE06>, <AE07>, <AE08> };
95             key.color = "grey20";
96             keys { <AE09>, <AE10>, <AE11>, { <AE12>, "ALPL" } };
97         };
98         row {
99             top  = 16.5;
100             left = 174.5;
101             keys { <AD06>, <AD07>, <AD08> };
102             key.color = "grey20";
103             keys { <AD09>, <AD10>, <AD11>, { <AD12>, "ALPL" } };
104         };
105         row {
106             top  = 33;
107             left = 150;
108             keys { { <RTRN>, "DHAL" },
109                    <AC06>, <AC07>, <AC08> };
110             key.color = "grey20";
111             keys { <AC09>, <AC10>, <AC11>, { <RTSH>, "DHAL" } };
112         };
113         row {
114             top  = 49.5;
115             left = 174.5;
116             keys { <AB06>, <AB07>, <AB08> };
117             key.color = "grey20";
118             keys { <AB09>, <AB10>, <BKSL> };
119         };
120     };
121
122     // Control keys rows
123     section "Control" {
124         left = 4;
125         top  = 102.5;
126         key.gap = 0.5;
127         key.color = "grey10";
128         key.shape = "ALPL";
129         row {
130             top  = 0;
131             keys { <LCTL>, <LALT>, <CAPS> };
132             keys { { <SPCE>, "SPCE"} };
133         };
134         row {
135             top  = 16.5;
136             keys { <I120>, <LWIN>, <MENU> };
137         };
138         row {
139             top  = 0;
140             left = 150;
141             key.shape = "NORM";
142             keys { { <SPCE>, "SPCE"}, <RALT> };
143             key.color = "grey20";
144             keys { <RCTL>, <UP>, <I162>, { <KPEN>, "DHAL" } };
145         };
146         row {
147             top  = 16.5;
148             left = 207.5;
149             key.shape = "NORM";
150             key.color = "grey20";
151             keys { { <LEFT>, "DBLA" }, <DOWN>, <RGHT> };
152         };
153     };
154
155     // Diods
156     indicator.top      = 12;
157     indicator.onColor  = "green";
158     indicator.offColor = "grey10";
159     indicator.shape    = "LED";
160     indicator "Num Lock"   { left = 252; };
161     indicator "Caps Lock"  { left = 266; };
162     indicator "Misc"       { left = 280; };
163     text.top= 5;
164     text.color= "black";
165     text "NumLockLabel"         { left= 252; text="1"; };
166     text "CapsLockLabel"        { left= 266; text="A"; };
167     text "MiscLabel"            { left= 280; text="D"; };
168
169     text "Logo" { left = 29; top = 10; text="TypeMatrix™"; };
170
171     // other decorations : drawings
172     solid "rainure1"  { shape = "DECO"; top = 1; left = 110; color = "grey10";};
173     solid "rainure2"  { shape = "DECO"; top = 1; left = 115; color = "grey10";};
174     solid "rainure3"  { shape = "DECO"; top = 1; left = 120; color = "grey10";};
175     solid "rainure4"  { shape = "DECO"; top = 1; left = 125; color = "grey10";};
176     solid "rainure5"  { shape = "DECO"; top = 1; left = 130; color = "grey10";};
177     solid "rainure6"  { shape = "DECO"; top = 1; left = 135; color = "grey10";};
178     solid "rainure7"  { shape = "DECO"; top = 1; left = 140; color = "grey10";};
179     solid "rainure8"  { shape = "DECO"; top = 1; left = 145; color = "grey10";};
180     solid "rainure9"  { shape = "DECO"; top = 1; left = 150; color = "grey10";};
181     solid "rainure10" { shape = "DECO"; top = 1; left = 155; color = "grey10";};
182     solid "rainure11" { shape = "DECO"; top = 1; left = 160; color = "grey10";};
183     solid "rainure12" { shape = "DECO"; top = 1; left = 165; color = "grey10";};
184     solid "rainure13" { shape = "DECO"; top = 1; left = 170; color = "grey10";};
185 }; // geometry tm2020
186
187
188 xkb_geometry "tm2030_shape" {
189     // Keyboard total size
190     width  = 320;
191     height = 130;
192     // background / foreground colours :
193     baseColor  = "white";
194     labelColor = "black";
195
196     // Key shapes : base key = 20 mm each side
197     shape "NORM" { cornerRadius=1, { [18,   18] }, { [1.5, 1.5], [16.5, 14] } };
198     shape "FUNC" { cornerRadius=1, { [18,   12] }, { [2.5,   0], [15.5, 10] } };
199     shape "LFSH" { cornerRadius=1, { [18, 36.5] }, { [2.5,   0], [15.5, 30] } };
200     shape "ALT1" { cornerRadius=1, { [27.5, 18] }, { [2.5,   0], [23.5, 14] } };
201     shape "BKSP" { cornerRadius=1, { [18, 30.5] }, { [1.5, 1.5], [16.5, 29] } };
202     shape "SPCE" { cornerRadius=1, { [92,   25] }, { [1.5, 1.5], [90.5, 22] } };
203     shape "LED"  { cornerRadius=2, { [4,     4] } };
204     shape "PAN1" { cornerRadius=1, { [27, 126.5] } };
205     shape "PAN2" { cornerRadius=1, { [92,   13] } };
206
207     // other decorations : panels
208     solid "panneau1" {
209         shape = "PAN1";
210         left  = 0;
211         top   = 0;
212         color = "grey40";
213     };
214     solid "panneau2" {
215         shape = "PAN2";
216         left = 101.5;
217         top = 113.5;
218         color = "grey40";
219     };
220
221     // Diods (Indicators) : they have to be put after panels, either the panels
222     // overwrites them.
223     indicator.left     = 6;
224     indicator.onColor  = "green";
225     indicator.offColor = "grey10";
226     indicator.shape    = "LED";
227
228     indicator "Num Lock"     { top = 11  ; };
229     indicator "Caps Lock"    { top = 27.5; };
230     indicator "Scroll Lock"  { top = 44  ; };
231
232     text.left          = 12;
233     text.color         = "black";
234     text "NumLockLabel"         { top = 11;   text="num";           };
235     text "CapsLockLabel"        { top = 27.5; text="caps";          };
236     text "SrollLockLabel"       { top = 44;   text="scroll";        };
237 }; // geometry tm2030_shape
238
239 xkb_geometry "tm2030_MiscDiod_dvk" {
240     text "ModeLabel" { left = 12; top = 58; color = "black";  text="Dvorak"; };
241 }; // geometry tm2030_MiscDiod_dvk
242
243 xkb_geometry "tm2030_MiscDiod_102" {
244     text "ModeLabel" { left = 12; top = 58; color = "black";  text="102"; };
245 }; // geometry tm2030_MiscDiod_102
246
247 xkb_geometry "tm2030_MiscDiod_106" {
248     text "ModeLabel" { left = 12; top = 58; color = "black";  text="106"; };
249 }; // geometry tm2030_MiscDiod_106
250
251 xkb_geometry "tm2030_MiscDiod_off" {
252     indicator "Misc" { left = 6; top = 60.5; shape = "LED";
253                        offColor = "grey10"; onColor = "grey10"; };
254 }; // geometry tm2030_MiscDiod_off
255
256 xkb_geometry "tm2030_MiscDiod_on" {
257     indicator "Misc" { left = 6; top = 60.5; shape = "LED";
258                        offColor = "green"; onColor = "green"; };
259 }; // geometry tm2030_MiscDiod_on
260
261
262 xkb_geometry "tm2030USB_func" {
263     // Function keys rows
264     section "Function" {
265         left      = 27;
266         top       = 1.5;
267         key.gap   = 0.5;
268         key.color = "grey30";
269         key.shape = "FUNC";
270         row {
271             keys { <ESC>,  <FK01>, <FK02>, <FK03>, <FK04>, <FK05> };
272         };
273         row {
274             left = 129.5;
275             keys { <FK06>, <FK07>, <FK08>, <FK09>, <FK10>, <FK11>,
276                    <FK12>, <NMLK> };
277         };
278     };
279 }; // geometry tm2030USB_func
280
281
282 xkb_geometry "tm2030USB_alpha" {
283     // Alpha-numeric keys rows
284     section "Alpha" {
285         left = 27;
286         top  = 14;
287         key.gap = 0.5;
288         key.color = "grey10";
289         key.shape = "NORM";
290         row {
291             top  = 0;
292             keys { <TLDE>,             <AE01>, <AE02>, <AE03>, <AE04>, <AE05> };
293         };
294         row {
295             top  = 18.5;
296             keys { <TAB>,              <AD01>, <AD02>, <AD03>, <AD04>, <AD05> };
297         };
298         row {
299             top  = 37;
300             keys { { <LFSH>, "LFSH" }, <AC01>, <AC02>, <AC03>, <AC04>, <AC05> };
301         };
302         row {
303             top  = 55.5;
304             left = 18.5;
305             keys {                     <AB01>, <AB02>, <AB03>, <AB04>, <AB05> };
306         };
307
308         row {
309             top  = 0;
310             left = 129.5;
311             keys { <AE06>, <AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>, <I148> };
312         };
313         row {
314             top  = 18.5;
315             left = 129.5;
316             keys { <AD06>, <AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>, <I163> };
317         };
318         row {
319             top  = 37;
320             left = 129.5;
321             keys { <AC06>, <AC07>, <AC08>, <AC09>, <AC10>, <AC11>, { <RTSH>, "LFSH" }, <CAPS> };
322         };
323         row {
324             top  = 55.5;
325             left = 129.5;
326             keys { <AB06>, <AB07>, <AB08>, <AB09>, <AB10>, <BKSL> };
327         };
328         row {
329             top  = 55.5;
330             left = 259;
331             keys { <I158> };
332         };
333         row {
334             top  = 74;
335             left = 74;
336             keys { { <SPCE>, "SPCE" } };
337         };
338     };
339 }; // geometry tm2030USB_alpha
340
341
342 xkb_geometry "tm2030USB_ctrl" {
343     // Control keys rows
344     section "Control" {
345         left = 27;
346         top  = 0;
347         key.gap = 0.5;
348         key.color = "grey30";
349         key.shape = "NORM";
350         row {
351             top  = 88;
352             keys { <LCTL>, <I172>, <MENU>, <I162> };
353         };
354         row {
355             top = 106.5;
356             keys { <I120>, { <LWIN>, "ALT1" }, { <LALT>, "ALT1" } };
357         };
358         row {
359             top  = 88;
360             left = 166.5;
361             keys { <I243>, <HOME>, <UP>, <END>, { <RCTL>, "LFSH"}, <PGUP> };
362         };
363         row {
364             top = 106.5;
365             left = 166.5;
366             keys { <RALT>, <LEFT>, <DOWN>, <RGHT> };
367         };
368         row {
369             top = 106.5;
370             left = 259;
371             keys { <PGDN> };
372         };
373         row {
374             top  = 1;
375             left = 111.5;
376             vertical = true;
377             keys { <DELE>, { <BKSP>, "BKSP" }, { <RTRN>, "LFSH" } };
378         };
379     };
380 }; // geometry tm2030USB_ctrl
381
382
383 xkb_geometry "tm2030PS2" {
384     include "typematrix(tm2030_shape)"
385     include "typematrix(tm2030_MiscDiod_dvk)"
386     include "typematrix(tm2030_MiscDiod_off)"
387
388     description = "TypeMatrix EZ-Reach 2030 PS2";
389
390     // Function keys row
391     section "Function" {
392         left = 27;
393         top  = 1.5;
394         key.gap = 0.5;
395         key.color = "grey10";
396         key.shape = "FUNC";
397         row {
398             key.color = "grey30";
399             keys { <ESC> };
400         };
401         row {
402             left = 18.5;
403             keys { <FK01>, <FK02>, <FK03>, <FK04> };
404         };
405         row {
406             left = 92.5;
407             key.color = "grey30";
408             keys { <FK05> };
409         };
410         row {
411             left = 129.5;
412             key.color = "grey30";
413             keys { <FK06>, <FK07>, <FK08> };
414         };
415         row {
416             left = 185;
417             keys { <FK09>, <FK10>, <FK11>, <FK12> };
418         };
419         row {
420             left = 259;
421             key.color = "grey30";
422             keys { <NMLK> };
423         };
424     };
425
426     // Alpha-numeric keys rows
427     section "Alpha" {
428         left = 27;
429         top  = 14;
430         key.gap = 0.5;
431         key.color = "grey10";
432         key.shape = "NORM";
433         row {
434             top  = 0;
435             keys { <TLDE>,             <AE01>, <AE02>, <AE03>, <AE04>, <AE05> };
436         };
437         row {
438             top  = 18.5;
439             keys { <TAB>,              <AD01>, <AD02>, <AD03>, <AD04>, <AD05> };
440         };
441         row {
442             top  = 37;
443             keys { { <LFSH>, "LFSH" }, <AC01>, <AC02>, <AC03>, <AC04>, <AC05> };
444         };
445         row {
446             top  = 55.5;
447             left = 18.5;
448             keys {                     <AB01>, <AB02>, <AB03>, <AB04>, <AB05> };
449         };
450
451         row {
452             top  = 0;
453             left = 129.5;
454             keys { <AE06>, <AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>, <I120> };
455         };
456         row {
457             top  = 18.5;
458             left = 129.5;
459             keys { <AD06>, <AD07>, <AD08> };
460         };
461         row {
462             top  = 18.5;
463             left = 185;
464             key.color = "grey30";
465             keys { <AD09>, <AD10>, <AD11>, <AD12>};
466         };
467         row {
468             top  = 18.5;
469             left = 259;
470             keys { <BKSP> };
471         };
472         row {
473             top  = 37;
474             left = 129.5;
475             keys { <AC06>, <AC07>, <AC08> };
476         };
477         row {
478             top  = 37;
479             left = 185;
480             key.color = "grey30";
481             keys { <AC09>, <AC10>, <AC11>, { <RTSH>, "LFSH" },
482                    {<DELE>, key.color="red"} };
483         };
484         row {
485             top  = 55.5;
486             left = 129.5;
487             keys { <AB06>, <AB07>, <AB08> };
488         };
489         row {
490             top  = 55.5;
491             left = 185;
492             key.color = "grey30";
493             keys { <AB09>, <AB10>, <BKSL> };
494         };
495         row {
496             top  = 55.5;
497             left = 259;
498             keys { <INS> };
499         };
500         row {
501             top  = 74;
502             left = 74;
503             keys { { <SPCE>, "SPCE" } };
504         };
505     }; // end section "Alpha"
506
507     // Control keys rows
508     section "Control" {
509         left = 27;
510         top  = 0;
511         key.gap = 0.5;
512         key.color = "grey10";
513         key.shape = "NORM";
514         row {
515             top  = 88;
516             keys { <I120>, <LWIN>, <MENU>, <I162> };
517         };
518         row {
519             top = 106.5;
520             keys { <LCTL>, { <LALT>, "ALT1" }, { <LTSH>, "ALT1" } };
521         };
522         row {
523             top  = 88;
524             left = 166.5;
525             keys { <PGUP> };
526         };
527         row {
528             top  = 88;
529             left = 185;
530             key.color = "grey30";
531             keys { <HOME>, <UP>, <END>, { <KPEN>, "LFSH"} };
532         };
533         row {
534             top  = 88;
535             left = 259;
536             keys { <RCTL> };
537         };
538         row {
539             top = 106.5;
540             left = 166.5;
541             keys { <PGDN> };
542         };
543         row {
544             top = 106.5;
545             left = 185;
546             key.color = "grey30";
547             keys { <LEFT>, <DOWN>, <RGHT> };
548         };
549         row {
550             top = 106.5;
551             left = 259;
552             keys { <RALT> };
553         };
554         row {
555             top  = 1;
556             left = 111.5;
557             key.color = "grey10";
558             vertical = true;
559             keys { <CAPS>, { <BKSP>, "BKSP" }, { <RTRN>, "LFSH" } };
560         };
561     }; // end section "Control"
562 }; // geometry tm2030PS2
563
564
565 xkb_geometry "tm2030USB" {
566     include "typematrix(tm2030_shape)"
567     include "typematrix(tm2030_MiscDiod_102)"
568     include "typematrix(tm2030_MiscDiod_off)"
569
570     description = "TypeMatrix EZ-Reach 2030 USB";
571
572     include "typematrix(tm2030USB_func)"
573     include "typematrix(tm2030USB_alpha)"
574     include "typematrix(tm2030USB_ctrl)"
575 }; // geometry tm2030USB
576
577
578 // European 102/105 keys mode :
579 // Same as the standard keyboard, except for one key, Play becomes LSGT
580 xkb_geometry "tm2030USB-102" {
581     include "typematrix(tm2030_shape)"
582     include "typematrix(tm2030_MiscDiod_102)"
583     include "typematrix(tm2030_MiscDiod_on)"
584
585     description = "TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)";
586
587     include "typematrix(tm2030USB_func)"
588     include "typematrix(tm2030USB_alpha)"
589
590     // Control keys rows
591     section "Control" {
592         left = 27;
593         top  = 0;
594         key.gap = 0.5;
595         key.color = "grey30";
596         key.shape = "NORM";
597         row {
598             top  = 88;
599             keys { <LCTL>, <LSGT>, <MENU>, <I162> };
600         };
601         row {
602             top = 106.5;
603             keys { <I120>, { <LWIN>, "ALT1" }, { <LALT>, "ALT1" } };
604         };
605         row {
606             top  = 88;
607             left = 166.5;
608             keys { <I243>, <HOME>, <UP>, <END>, { <RCTL>, "LFSH"}, <PGUP> };
609         };
610         row {
611             top = 106.5;
612             left = 166.5;
613             keys { <RALT>, <LEFT>, <DOWN>, <RGHT> };
614         };
615         row {
616             top = 106.5;
617             left = 259;
618             keys { <PGDN> };
619         };
620         row {
621             top  = 1;
622             left = 111.5;
623             vertical = true;
624             keys { <DELE>, { <BKSP>, "BKSP" }, { <RTRN>, "LFSH" } };
625         };
626     };
627 }; // geometry tm2030USB-102
628
629
630 // Japan / Korean 106 keys mode :
631 // Same as the standard keyboard, except for following keys :
632 // – <TLDE> is replaced by <HZTG>
633 // – WWW key becomes <HKTG>
634 // — Calc key becomes <AE13>
635 // — Mail key becomes <BKSL>, and <BKSL> key becomes <AB11>
636
637 // about Controls:
638 // NFER/MEHU and XFER/KANJ : TMx keeps LWIN (and RWIN if it happend to exist)
639 // HKTG/HIRA : TMx keeps MENU/COMP, but locates this key in alpha section
640 // (see upper).
641
642 xkb_geometry "tm2030USB-106" {
643     include "typematrix(tm2030_shape)"
644     include "typematrix(tm2030_MiscDiod_106)"
645     include "typematrix(tm2030_MiscDiod_on)"
646
647     description = "TypeMatrix EZ-Reach 2030 USB (106:JP mode)";
648
649     include "typematrix(tm2030USB_func)"
650
651     // Alpha-numeric keys rows
652     section "Alpha" {
653         left = 27;
654         top  = 14;
655         key.gap = 0.5;
656         key.color = "grey10";
657         key.shape = "NORM";
658         row {
659             top  = 0;
660             keys { <HZTG>,             <AE01>, <AE02>, <AE03>, <AE04>, <AE05> };
661         };
662         row {
663             top  = 18.5;
664             keys { <TAB>,              <AD01>, <AD02>, <AD03>, <AD04>, <AD05> };
665         };
666         row {
667             top  = 37;
668             keys { { <LFSH>, "LFSH" }, <AC01>, <AC02>, <AC03>, <AC04>, <AC05> };
669         };
670         row {
671             top  = 55.5;
672             left = 18.5;
673             keys {                     <AB01>, <AB02>, <AB03>, <AB04>, <AB05> };
674         };
675
676         row {
677             top  = 0;
678             left = 129.5;
679             keys { <AE06>, <AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>, <AE13> };
680         };
681         row {
682             top  = 18.5;
683             left = 129.5;
684             keys { <AD06>, <AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>, <BKSL> };
685         };
686         row {
687             top  = 37;
688             left = 129.5;
689             keys { <AC06>, <AC07>, <AC08>, <AC09>, <AC10>, <AC11>, { <RTSH>, "LFSH" }, <CAPS> };
690         };
691         row {
692             top  = 55.5;
693             left = 129.5;
694             keys { <AB06>, <AB07>, <AB08>, <AB09>, <AB10>, <AB11> };
695         };
696         row {
697             top  = 55.5;
698             left = 259;
699             keys { <HKTG> };
700         };
701         row {
702             top  = 74;
703             left = 74;
704             keys { { <SPCE>, "SPCE" } };
705         };
706     };
707
708     // Control keys rows
709     section "Control" {
710         left = 27;
711         top  = 0;
712         key.gap = 0.5;
713         key.color = "grey30";
714         key.shape = "NORM";
715         row {
716             top  = 88;
717             keys { <LCTL>, <I172>, <MENU>, <I162> };
718         };
719         row {
720             top = 106.5;
721             keys { <I120>, { <LWIN>, "ALT1" }, { <LALT>, "ALT1" } };
722         };
723         row {
724             top  = 88;
725             left = 166.5;
726             keys { <I243>, <HOME>, <UP>, <END>, { <RCTL>, "LFSH"}, <PGUP> };
727         };
728         row {
729             top = 106.5;
730             left = 166.5;
731             keys { <RALT>, <LEFT>, <DOWN>, <RGHT> };
732         };
733         row {
734             top = 106.5;
735             left = 259;
736             keys { <PGDN> };
737         };
738         row {
739             top  = 1;
740             left = 111.5;
741             vertical = true;
742             keys { <DELE>, { <BKSP>, "BKSP" }, { <RTRN>, "LFSH" } };
743         };
744     };
745 }; // geometry tm2030USB-106