| 1 |
// -*- indent-tabs-mode: nil -*-
|
| 2 |
// $XFree86: xc/programs/xkbcomp/geometry/ibm/thinkpad,v 1.3 2003/08/09 14:30:48 pascal Exp $
|
| 3 |
|
| 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
|
| 17 |
|
| 18 |
xkb_geometry "common" {
|
| 19 |
width = 290;
|
| 20 |
height = 150;
|
| 21 |
baseColor = "grey80";
|
| 22 |
labelColor = "white";
|
| 23 |
|
| 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] },
|
| 29 |
{ [1, 0], [26, 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] } };
|
| 35 |
|
| 36 |
shape "LED" { cornerRadius = 2, { [3, 3] } };
|
| 37 |
|
| 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] } };
|
| 42 |
|
| 43 |
solid "KeyPanel" {
|
| 44 |
shape = "KEYS";
|
| 45 |
left = 2;
|
| 46 |
top = 5;
|
| 47 |
color = "black";
|
| 48 |
};
|
| 49 |
|
| 50 |
shape "NULL1" { cornerRadius = 1,
|
| 51 |
{ [0, 0], [50, 0], [50, 18], [34, 18], [34, 4],
|
| 52 |
[16, 4], [16, 18], [0, 18] } };
|
| 53 |
|
| 54 |
solid "NullPanel1" {
|
| 55 |
shape = "NULL1";
|
| 56 |
left = 237;
|
| 57 |
top = 110;
|
| 58 |
color = "grey80";
|
| 59 |
};
|
| 60 |
|
| 61 |
shape "NULL2" { cornerRadius = 1, { [17, 13] } };
|
| 62 |
|
| 63 |
solid "NullPanel2" {
|
| 64 |
shape = "NULL2";
|
| 65 |
left = 219;
|
| 66 |
top = 129;
|
| 67 |
color = "grey80";
|
| 68 |
};
|
| 69 |
|
| 70 |
shape "NULL3" { cornerRadius = 1,
|
| 71 |
{ [0, 26],
|
| 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],
|
| 75 |
[284, 26], [285, 27],
|
| 76 |
[0, 27] } };
|
| 77 |
|
| 78 |
solid "NullPanel3" {
|
| 79 |
shape = "NULL3";
|
| 80 |
left = 3;
|
| 81 |
top = 6;
|
| 82 |
color = "grey80";
|
| 83 |
};
|
| 84 |
|
| 85 |
indicator.onColor = "green";
|
| 86 |
indicator.offColor = "grey10";
|
| 87 |
indicator.top = 4;
|
| 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; };
|
| 94 |
|
| 95 |
key.gap = 1;
|
| 96 |
key.color = "grey60";
|
| 97 |
|
| 98 |
section "Function" {
|
| 99 |
left = 2;
|
| 100 |
top = 5;
|
| 101 |
key.shape = "FN0";
|
| 102 |
row {
|
| 103 |
top = 1;
|
| 104 |
keys { <ESC>, { <PRSC>, 155 }, <SCLK>, <PAUS> };
|
| 105 |
};
|
| 106 |
row {
|
| 107 |
top = 14;
|
| 108 |
keys { <FK01>, <FK02>, <FK03>, <FK04>,
|
| 109 |
{ <FK05>, 6 }, <FK06>, <FK07>, <FK08>,
|
| 110 |
{ <FK09>, 6 }, <FK10>, <FK11>, <FK12>
|
| 111 |
};
|
| 112 |
};
|
| 113 |
}; // End of "Function" section
|
| 114 |
|
| 115 |
section "Control" {
|
| 116 |
left= 2;
|
| 117 |
top = 109;
|
| 118 |
key.shape = "MODK";
|
| 119 |
row {
|
| 120 |
top = 1;
|
| 121 |
keys { { <FN>, "NORM" }, <LCTL>, <LALT>,
|
| 122 |
{ <SPCE>, "SPCE" }, <RALT>, <RCTL>
|
| 123 |
};
|
| 124 |
};
|
| 125 |
}; // End of "Control" section
|
| 126 |
|
| 127 |
section "Editing" {
|
| 128 |
top = 5;
|
| 129 |
left = 233;
|
| 130 |
key.shape = "FN0";
|
| 131 |
row {
|
| 132 |
top = 1;
|
| 133 |
keys { <INS>, <HOME>, <PGUP> };
|
| 134 |
};
|
| 135 |
row {
|
| 136 |
top = 14;
|
| 137 |
keys { <DELE>, <END>, <PGDN> };
|
| 138 |
};
|
| 139 |
}; // End of "Editing" section
|
| 140 |
|
| 141 |
section "Navigation" {
|
| 142 |
top = 114;
|
| 143 |
left = 236;
|
| 144 |
key.shape = "ARRS";
|
| 145 |
row {
|
| 146 |
top = 1;
|
| 147 |
left = 17;
|
| 148 |
keys { <UP> };
|
| 149 |
};
|
| 150 |
row {
|
| 151 |
top = 15;
|
| 152 |
keys { <LEFT>, <DOWN>, <RGHT> };
|
| 153 |
};
|
| 154 |
}; // End of "Navigation" section
|
| 155 |
|
| 156 |
shape "STIK" { cornerRadius = 4, { [7, 7] } };
|
| 157 |
|
| 158 |
solid "STIK" {
|
| 159 |
priority = 255;
|
| 160 |
color = "red";
|
| 161 |
shape = "STIK";
|
| 162 |
top = 85;
|
| 163 |
left = 126;
|
| 164 |
};
|
| 165 |
};
|
| 166 |
|
| 167 |
// 85 keys
|
| 168 |
// US/English (FRU 02K4785).
|
| 169 |
xkb_geometry "us" {
|
| 170 |
include "thinkpad(common)"
|
| 171 |
description = "IBM ThinkPad 560Z/600/600E/A22E, US";
|
| 172 |
|
| 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] } };
|
| 176 |
|
| 177 |
section "Alpha" {
|
| 178 |
left = 2;
|
| 179 |
top = 33;
|
| 180 |
key.gap = 1;
|
| 181 |
key.color = "grey60";
|
| 182 |
key.shape = "NORM";
|
| 183 |
row {
|
| 184 |
top = 1;
|
| 185 |
keys { <AE00>, <AE01>, <AE02>, <AE03>, <AE04>,
|
| 186 |
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
|
| 187 |
<AE10>, <AE11>, <AE12>, { <BKSP>, "BKSP" }
|
| 188 |
};
|
| 189 |
};
|
| 190 |
row {
|
| 191 |
top = 20;
|
| 192 |
keys { { <TAB>, "TABK" },
|
| 193 |
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
|
| 194 |
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
|
| 195 |
<AD11>, <AD12>, { <BKSL>, "BKSL" }
|
| 196 |
};
|
| 197 |
};
|
| 198 |
row {
|
| 199 |
top = 39;
|
| 200 |
keys { { <CAPS>, "CAPS" },
|
| 201 |
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
|
| 202 |
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
|
| 203 |
<AC11>, { <RTRN>, "RTRN" }
|
| 204 |
};
|
| 205 |
};
|
| 206 |
row {
|
| 207 |
top = 58;
|
| 208 |
keys { { <LFSH>, "LFSH" },
|
| 209 |
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
|
| 210 |
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
|
| 211 |
{ <RTSH>, "RTSH" }
|
| 212 |
};
|
| 213 |
};
|
| 214 |
}; // End of "Alpha" section
|
| 215 |
};
|
| 216 |
|
| 217 |
// 86 keys
|
| 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";
|
| 222 |
|
| 223 |
shape "RTRN" { cornerRadius = 1, { [28, 0], [28, 37], [4, 37], [4, 18],
|
| 224 |
[0, 18], [0, 0] },
|
| 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] } };
|
| 228 |
|
| 229 |
section "Alpha" {
|
| 230 |
left = 2;
|
| 231 |
top = 33;
|
| 232 |
key.gap = 1;
|
| 233 |
key.color = "grey60";
|
| 234 |
key.shape = "NORM";
|
| 235 |
row {
|
| 236 |
top = 1;
|
| 237 |
keys { <AE00>, <AE01>, <AE02>, <AE03>, <AE04>,
|
| 238 |
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
|
| 239 |
<AE10>, <AE11>, <AE12>, { <BKSP>, "BKSP" }
|
| 240 |
};
|
| 241 |
};
|
| 242 |
row {
|
| 243 |
top = 20;
|
| 244 |
keys { { <TAB>, "TABK" },
|
| 245 |
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
|
| 246 |
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
|
| 247 |
<AD11>, <AD12>, { <RTRN>, "RTRN" }
|
| 248 |
};
|
| 249 |
};
|
| 250 |
row {
|
| 251 |
top = 39;
|
| 252 |
keys { { <CAPS>, "CAPS" },
|
| 253 |
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
|
| 254 |
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
|
| 255 |
<AC11>, <AC12>
|
| 256 |
};
|
| 257 |
};
|
| 258 |
row {
|
| 259 |
top = 58;
|
| 260 |
keys { { <LFSH>, "LFSH" }, <AB00>,
|
| 261 |
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
|
| 262 |
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
|
| 263 |
{ <RTSH>, "RTSH" }
|
| 264 |
};
|
| 265 |
};
|
| 266 |
}; // End of "Alpha" section
|
| 267 |
};
|