1 // -*- indent-tabs-mode: nil -*-
3 // Created by Alexander Pohoyda <alexander.pohoyda@gmx.net>
4 // Geometry specification for IBM ThinkPad keyboard.
5 // Compatible Models: THINKPAD 560Z 2640-90U, THINKPAD 560Z 2640-91U,
6 // THINKPAD 560Z 2640-B0U, THINKPAD 560Z 2640-B1U, THINKPAD 560Z 2640-RR3,
7 // THINKPAD 600 2645-31U, THINKPAD 600 2645-35U, THINKPAD 600 2645-41U,
8 // THINKPAD 600 2645-42U, THINKPAD 600 2645-45U, THINKPAD 600 2645-48U,
9 // THINKPAD 600 2645-51U, THINKPAD 600 2645-85U, THINKPAD 600 2645-A1U,
10 // THINKPAD 600 2645-RR1, THINKPAD 600 2645-RR2, THINKPAD 600E 2645-3AU,
11 // THINKPAD 600E 2645-4AU, THINKPAD 600E 2645-4BU, THINKPAD 600E 2645-55U,
12 // THINKPAD 600E 2645-5AU, THINKPAD 600E 2645-5BU, THINKPAD 600E 2645-5JU,
13 // THINKPAD 600E 2645-8AO, THINKPAD 600E 2645-8AU, THINKPAD 600E 2645-8BU,
14 // THINKPAD 600E 2645-AAU, THINKPAD 600E 2645-RRB, THINKPAD 600E 2645-RRD,
15 // THINKPAD 600E 2645-RRF, THINKPAD 600E 2645-RRS, THINKPAD A22E 2645-45U
17 xkb_geometry "common" {
23 shape "FN0" { cornerRadius = 1, { [17, 12] }, { [2, 0], [15, 10] } };
24 shape "NORM" { cornerRadius = 1, { [18, 18] }, { [2.5, 0], [15.5, 14] } };
25 shape "BKSP" { cornerRadius = 1, { [37, 18] }, { [2.5, 0], [34.5, 14] } };
26 shape "TABK" { cornerRadius = 1, { [27, 18] }, { [2.5, 0], [24.5, 14] } };
27 shape "CAPS" { cornerRadius = 1, { [31, 18] }, { [1, 0], [30, 16] },
29 { [2.5, 0], [24.5, 14] } };
30 shape "RTSH" { cornerRadius = 1, { [50, 18] }, { [2.5, 0], [46.5, 14] } };
31 shape "MODK" { cornerRadius = 1, { [27.5, 18] }, { [2.5, 0], [25, 14] } };
32 shape "SPCE" { cornerRadius = 1, { [100, 18] }, { [2.5, 0], [97.5, 14] } };
33 shape "ARRS" { cornerRadius = 1, { [16, 13] }, { [1.5, 0], [14.5, 11] } };
35 shape "LED" { cornerRadius = 2, { [3, 3] } };
37 shape "KEYS" { cornerRadius = 2,
38 { [0, 0], [19, 0], [19, 13], [172, 13],
39 [172, 0], [286, 0], [286, 138], [216, 138],
40 [216, 124], [0, 124] } };
49 shape "NULL1" { cornerRadius = 1,
50 { [0, 0], [50, 0], [50, 18], [34, 18], [34, 4],
51 [16, 4], [16, 18], [0, 18] } };
60 shape "NULL2" { cornerRadius = 1, { [17, 13] } };
69 shape "NULL3" { cornerRadius = 1,
71 [72, 26], [72, 13], [76, 13], [76, 26],
72 [149, 26], [149, 13], [153, 13], [153, 26],
73 [226, 26], [226, 0], [230, 0], [230, 26],
84 indicator.onColor = "green";
85 indicator.offColor = "grey10";
87 indicator.shape = "LED";
88 indicator "HDDActivity" { onColor = "red"; left = 100; };
89 indicator "Num Lock" { left = 108; };
90 indicator "Caps Lock" { left = 114; };
91 indicator "Scroll Lock" { left = 120; };
92 indicator "Power" { left = 128; };
103 keys { <ESC>, { <PRSC>, 155 }, <SCLK>, <PAUS> };
107 keys { <FK01>, <FK02>, <FK03>, <FK04>,
108 { <FK05>, 6 }, <FK06>, <FK07>, <FK08>,
109 { <FK09>, 6 }, <FK10>, <FK11>, <FK12>
112 }; // End of "Function" section
120 keys { { <FN>, "NORM" }, <LCTL>, <LALT>,
121 { <SPCE>, "SPCE" }, <RALT>, <RCTL>
124 }; // End of "Control" section
132 keys { <INS>, <HOME>, <PGUP> };
136 keys { <DELE>, <END>, <PGDN> };
138 }; // End of "Editing" section
140 section "Navigation" {
151 keys { <LEFT>, <DOWN>, <RGHT> };
153 }; // End of "Navigation" section
155 shape "STIK" { cornerRadius = 4, { [7, 7] } };
167 // US/English (FRU 02K4785).
169 include "thinkpad(common)"
170 description = "IBM ThinkPad 560Z/600/600E/A22E, US";
172 shape "RTRN" { cornerRadius = 1, { [43, 18] }, { [2.5, 0], [40.5, 14] } };
173 shape "LFSH" { cornerRadius = 1, { [43, 18] }, { [2.5, 0], [40.5, 14] } };
174 shape "BKSL" { cornerRadius = 1, { [28, 18] }, { [2.5, 0], [25.5, 14] } };
180 key.color = "grey60";
184 keys { <AE00>, <AE01>, <AE02>, <AE03>, <AE04>,
185 <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
186 <AE10>, <AE11>, <AE12>, { <BKSP>, "BKSP" }
191 keys { { <TAB>, "TABK" },
192 <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
193 <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
194 <AD11>, <AD12>, { <BKSL>, "BKSL" }
199 keys { { <CAPS>, "CAPS" },
200 <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
201 <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
202 <AC11>, { <RTRN>, "RTRN" }
207 keys { { <LFSH>, "LFSH" },
208 <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
209 <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
213 }; // End of "Alpha" section
217 // Tested on: DE/German, UK/English (FRU 02K4787).
218 xkb_geometry "intl" {
219 include "thinkpad(common)"
220 description = "IBM ThinkPad 560Z/600/600E/A22E, Intl";
222 shape "RTRN" { cornerRadius = 1, { [28, 0], [28, 37], [4, 37], [4, 18],
224 { [25.5, 0], [25.5, 33], [6.5, 33],
225 [6.5, 14], [2.5, 14], [2.5, 0] } };
226 shape "LFSH" { cornerRadius = 1, { [24, 18] }, { [2.5, 0], [21.5, 14] } };
232 key.color = "grey60";
236 keys { <AE00>, <AE01>, <AE02>, <AE03>, <AE04>,
237 <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
238 <AE10>, <AE11>, <AE12>, { <BKSP>, "BKSP" }
243 keys { { <TAB>, "TABK" },
244 <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
245 <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
246 <AD11>, <AD12>, { <RTRN>, "RTRN" }
251 keys { { <CAPS>, "CAPS" },
252 <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
253 <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
259 keys { { <LFSH>, "LFSH" }, <AB00>,
260 <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
261 <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
265 }; // End of "Alpha" section
271 baseColor = "grey80";
272 labelColor = "white";
274 shape "NORM" { cornerRadius = 1, { [18, 18] }, { [2, 0], [16, 16] } };
276 shape "ESC" { cornerRadius = 1, { [17, 13] }, { [1.5, 0], [15.5, 12] } };
277 shape "FN0" { cornerRadius = 1, { [17, 11] }, { [1.5, 0], [15.5, 10] } };
279 shape "BKSP" { cornerRadius = 1, { [37, 18] }, { [2, 0], [35, 16] } };
281 shape "TABK" { cornerRadius = 1, { [27.5, 18] }, { [2, 0], [25.5, 16] } };
282 shape "BKSL" { cornerRadius = 1, { [27.5, 18] }, { [2, 0], [25.5, 16] } };
284 shape "CAPS" { cornerRadius = 1, { [30.5, 18] }, { [2, 0], [28.5, 16] } };
285 shape "RTRN" { cornerRadius = 1, { [43.5, 18] }, { [2, 0], [41.5, 16] } };
287 shape "LFSH" { cornerRadius = 1, { [40, 18] }, { [2, 0], [38, 16] } };
288 shape "RTSH" { cornerRadius = 1, { [53, 18] }, { [2, 0], [51, 16] } };
290 shape "LCTL" { cornerRadius = 1, { [21, 18] }, { [2, 0], [19, 16] } };
291 shape "LWIN" { cornerRadius = 1, { [15, 18] }, { [1.5, 0], [13.5, 16] } };
293 shape "SPCE" { cornerRadius = 1, { [97, 18] }, { [2, 0], [95, 16] } };
295 shape "ARR1" { cornerRadius = 1, { [17, 13] }, { [1.5, 0], [15.5, 12] } };
296 shape "ARR2" { cornerRadius = 1, { [17, 11] }, { [1.5, 0], [15.5, 10] } };
298 shape "VOL" { cornerRadius = 2.5, { [5, 5] } };
299 shape "TVTG" { cornerRadius = 0.5, { [0, 1], [17, 1], [17, 4], [0, 4] } };
301 shape "KEYS" { cornerRadius = 2,
302 { [0, 0], [19, 0], [19, 16], [172, 16],
303 [172, 4], [286, 4], [286, 133], [231, 133],
304 [231, 126], [0, 126] } };
313 shape "NULL0" { cornerRadius = 0.5,
315 [72, 26], [72, 14], [76, 14], [76, 26],
316 [149, 26], [149, 14], [153, 14], [153, 26],
317 [226, 26], [226, 2], [230, 2], [230, 26],
318 [284, 26], [284, 27],
328 shape "NULL1" { cornerRadius = 0.5, { [0, 12], [17, 12], [17, 13], [0, 13] } };
337 shape "MEDIA" { cornerRadius = 0.5, { [0, 0], [55, 0], [55, 10], [0, 10] } };
351 key.color = "grey20";
354 keys { <MUTE>, <VOL->, <VOL+>, {<I1F>, "TVTG", color = "blue"} };
359 key.color = "grey60";
372 keys { { <PRSC>, 173 }, <SCLK>, <PAUS> };
376 keys { <FK01>, <FK02>, <FK03>, <FK04>,
377 { <FK05>, 6 }, <FK06>, <FK07>, <FK08>,
378 { <FK09>, 6 }, <FK10>, <FK11>, <FK12>
381 }; // End of "Function" section
389 keys { <FN>, { <LCTL>, "LCTL" }, { <LWIN>, "LWIN" }, <LALT>,
390 { <SPCE>, "SPCE" }, <RALT>, <MENU>, <RCTL>
393 }; // End of "Control" section
401 keys { <INS>, <HOME>, <PGUP> };
405 keys { <DELE>, <END>, <PGDN> };
407 }; // End of "Editing" section
409 section "Navigation" {
415 keys { <I6A>, <UP>, <I69> };
420 keys { <LEFT>, <DOWN>, <RGHT> };
422 }; // End of "Navigation" section
424 shape "STIK" { cornerRadius = 3.5, { [7, 7] } };
440 keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
441 <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
442 <AE10>, <AE11>, <AE12>, { <BKSP>, "BKSP" }
447 keys { { <TAB>, "TABK" },
448 <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
449 <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
450 <AD11>, <AD12>, { <BKSL>, "BKSL" }
455 keys { { <CAPS>, "CAPS" },
456 <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
457 <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
458 <AC11>, { <RTRN>, "RTRN", color = "blue" }
463 keys { { <LFSH>, "LFSH" },
464 <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
465 <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
469 }; // End of "Alpha" section