1 // -*- indent-tabs-mode: nil -*-
2 // $XFree86: xc/programs/xkbcomp/geometry/ibm/thinkpad,v 1.3 2003/08/09 14:30:48 pascal Exp $
4 // Created by Alexander Pohoyda <alexander.pohoyda@gmx.net>
5 // Geometry specification for IBM ThinkPad keyboard.
6 // Compatible Models: THINKPAD 560Z 2640-90U, THINKPAD 560Z 2640-91U,
7 // THINKPAD 560Z 2640-B0U, THINKPAD 560Z 2640-B1U, THINKPAD 560Z 2640-RR3,
8 // THINKPAD 600 2645-31U, THINKPAD 600 2645-35U, THINKPAD 600 2645-41U,
9 // THINKPAD 600 2645-42U, THINKPAD 600 2645-45U, THINKPAD 600 2645-48U,
10 // THINKPAD 600 2645-51U, THINKPAD 600 2645-85U, THINKPAD 600 2645-A1U,
11 // THINKPAD 600 2645-RR1, THINKPAD 600 2645-RR2, THINKPAD 600E 2645-3AU,
12 // THINKPAD 600E 2645-4AU, THINKPAD 600E 2645-4BU, THINKPAD 600E 2645-55U,
13 // THINKPAD 600E 2645-5AU, THINKPAD 600E 2645-5BU, THINKPAD 600E 2645-5JU,
14 // THINKPAD 600E 2645-8AO, THINKPAD 600E 2645-8AU, THINKPAD 600E 2645-8BU,
15 // THINKPAD 600E 2645-AAU, THINKPAD 600E 2645-RRB, THINKPAD 600E 2645-RRD,
16 // THINKPAD 600E 2645-RRF, THINKPAD 600E 2645-RRS, THINKPAD A22E 2645-45U
18 xkb_geometry "common" {
24 shape "FN0" { cornerRadius = 1, { [17, 12] }, { [2, 0], [15, 10] } };
25 shape "NORM" { cornerRadius = 1, { [18, 18] }, { [2.5, 0], [15.5, 14] } };
26 shape "BKSP" { cornerRadius = 1, { [37, 18] }, { [2.5, 0], [34.5, 14] } };
27 shape "TABK" { cornerRadius = 1, { [27, 18] }, { [2.5, 0], [24.5, 14] } };
28 shape "CAPS" { cornerRadius = 1, { [31, 18] }, { [1, 0], [30, 16] },
30 { [2.5, 0], [24.5, 14] } };
31 shape "RTSH" { cornerRadius = 1, { [50, 18] }, { [2.5, 0], [46.5, 14] } };
32 shape "MODK" { cornerRadius = 1, { [27.5, 18] }, { [2.5, 0], [25, 14] } };
33 shape "SPCE" { cornerRadius = 1, { [100, 18] }, { [2.5, 0], [97.5, 14] } };
34 shape "ARRS" { cornerRadius = 1, { [16, 13] }, { [1.5, 0], [14.5, 11] } };
36 shape "LED" { cornerRadius = 2, { [3, 3] } };
38 shape "KEYS" { cornerRadius = 2,
39 { [0, 0], [19, 0], [19, 13], [172, 13],
40 [172, 0], [286, 0], [286, 138], [216, 138],
41 [216, 124], [0, 124] } };
50 shape "NULL1" { cornerRadius = 1,
51 { [0, 0], [50, 0], [50, 18], [34, 18], [34, 4],
52 [16, 4], [16, 18], [0, 18] } };
61 shape "NULL2" { cornerRadius = 1, { [17, 13] } };
70 shape "NULL3" { cornerRadius = 1,
72 [72, 26], [72, 13], [76, 13], [76, 26],
73 [149, 26], [149, 13], [153, 13], [153, 26],
74 [226, 26], [226, 0], [230, 0], [230, 26],
85 indicator.onColor = "green";
86 indicator.offColor = "grey10";
88 indicator.shape = "LED";
89 indicator "HDDActivity" { onColor = "red"; left = 100; };
90 indicator "Num Lock" { left = 108; };
91 indicator "Caps Lock" { left = 114; };
92 indicator "Scroll Lock" { left = 120; };
93 indicator "Power" { left = 128; };
104 keys { <ESC>, { <PRSC>, 155 }, <SCLK>, <PAUS> };
108 keys { <FK01>, <FK02>, <FK03>, <FK04>,
109 { <FK05>, 6 }, <FK06>, <FK07>, <FK08>,
110 { <FK09>, 6 }, <FK10>, <FK11>, <FK12>
113 }; // End of "Function" section
121 keys { { <FN>, "NORM" }, <LCTL>, <LALT>,
122 { <SPCE>, "SPCE" }, <RALT>, <RCTL>
125 }; // End of "Control" section
133 keys { <INS>, <HOME>, <PGUP> };
137 keys { <DELE>, <END>, <PGDN> };
139 }; // End of "Editing" section
141 section "Navigation" {
152 keys { <LEFT>, <DOWN>, <RGHT> };
154 }; // End of "Navigation" section
156 shape "STIK" { cornerRadius = 4, { [7, 7] } };
168 // US/English (FRU 02K4785).
170 include "thinkpad(common)"
171 description = "IBM ThinkPad 560Z/600/600E/A22E, US";
173 shape "RTRN" { cornerRadius = 1, { [43, 18] }, { [2.5, 0], [40.5, 14] } };
174 shape "LFSH" { cornerRadius = 1, { [43, 18] }, { [2.5, 0], [40.5, 14] } };
175 shape "BKSL" { cornerRadius = 1, { [28, 18] }, { [2.5, 0], [25.5, 14] } };
181 key.color = "grey60";
185 keys { <AE00>, <AE01>, <AE02>, <AE03>, <AE04>,
186 <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
187 <AE10>, <AE11>, <AE12>, { <BKSP>, "BKSP" }
192 keys { { <TAB>, "TABK" },
193 <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
194 <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
195 <AD11>, <AD12>, { <BKSL>, "BKSL" }
200 keys { { <CAPS>, "CAPS" },
201 <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
202 <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
203 <AC11>, { <RTRN>, "RTRN" }
208 keys { { <LFSH>, "LFSH" },
209 <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
210 <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
214 }; // End of "Alpha" section
218 // Tested on: DE/German, UK/English (FRU 02K4787).
219 xkb_geometry "intl" {
220 include "thinkpad(common)"
221 description = "IBM ThinkPad 560Z/600/600E/A22E, Intl";
223 shape "RTRN" { cornerRadius = 1, { [28, 0], [28, 37], [4, 37], [4, 18],
225 { [25.5, 0], [25.5, 33], [6.5, 33],
226 [6.5, 14], [2.5, 14], [2.5, 0] } };
227 shape "LFSH" { cornerRadius = 1, { [24, 18] }, { [2.5, 0], [21.5, 14] } };
233 key.color = "grey60";
237 keys { <AE00>, <AE01>, <AE02>, <AE03>, <AE04>,
238 <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
239 <AE10>, <AE11>, <AE12>, { <BKSP>, "BKSP" }
244 keys { { <TAB>, "TABK" },
245 <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
246 <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
247 <AD11>, <AD12>, { <RTRN>, "RTRN" }
252 keys { { <CAPS>, "CAPS" },
253 <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
254 <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
260 keys { { <LFSH>, "LFSH" }, <AB00>,
261 <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
262 <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
266 }; // End of "Alpha" section