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