thinkpad revision 154daed1
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 18xkb_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). 169xkb_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). 219xkb_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}; 268 269xkb_geometry "60" { 270 width = 290; 271 height = 140; 272 baseColor = "grey80"; 273 labelColor = "white"; 274 275 shape "NORM" { cornerRadius = 1, { [18, 18] }, { [2, 0], [16, 16] } }; 276 277 shape "ESC" { cornerRadius = 1, { [17, 13] }, { [1.5, 0], [15.5, 12] } }; 278 shape "FN0" { cornerRadius = 1, { [17, 11] }, { [1.5, 0], [15.5, 10] } }; 279 280 shape "BKSP" { cornerRadius = 1, { [37, 18] }, { [2, 0], [35, 16] } }; 281 282 shape "TABK" { cornerRadius = 1, { [27.5, 18] }, { [2, 0], [25.5, 16] } }; 283 shape "BKSL" { cornerRadius = 1, { [27.5, 18] }, { [2, 0], [25.5, 16] } }; 284 285 shape "CAPS" { cornerRadius = 1, { [30.5, 18] }, { [2, 0], [28.5, 16] } }; 286 shape "RTRN" { cornerRadius = 1, { [43.5, 18] }, { [2, 0], [41.5, 16] } }; 287 288 shape "LFSH" { cornerRadius = 1, { [40, 18] }, { [2, 0], [38, 16] } }; 289 shape "RTSH" { cornerRadius = 1, { [53, 18] }, { [2, 0], [51, 16] } }; 290 291 shape "LCTL" { cornerRadius = 1, { [21, 18] }, { [2, 0], [19, 16] } }; 292 shape "LWIN" { cornerRadius = 1, { [15, 18] }, { [1.5, 0], [13.5, 16] } }; 293 294 shape "SPCE" { cornerRadius = 1, { [97, 18] }, { [2, 0], [95, 16] } }; 295 296 shape "ARR1" { cornerRadius = 1, { [17, 13] }, { [1.5, 0], [15.5, 12] } }; 297 shape "ARR2" { cornerRadius = 1, { [17, 11] }, { [1.5, 0], [15.5, 10] } }; 298 299 shape "VOL" { cornerRadius = 2.5, { [5, 5] } }; 300 shape "TVTG" { cornerRadius = 0.5, { [0, 1], [17, 1], [17, 4], [0, 4] } }; 301 302 shape "KEYS" { cornerRadius = 2, 303 { [0, 0], [19, 0], [19, 16], [172, 16], 304 [172, 4], [286, 4], [286, 133], [231, 133], 305 [231, 126], [0, 126] } }; 306 307 solid "KeyPanel" { 308 shape = "KEYS"; 309 left = 2; 310 top = 3; 311 color = "black"; 312 }; 313 314 shape "NULL0" { cornerRadius = 0.5, 315 { [0, 26], 316 [72, 26], [72, 14], [76, 14], [76, 26], 317 [149, 26], [149, 14], [153, 14], [153, 26], 318 [226, 26], [226, 2], [230, 2], [230, 26], 319 [284, 26], [284, 27], 320 [0, 27] } }; 321 322 solid "NullPanel0" { 323 shape = "NULL0"; 324 left = 3; 325 top = 6; 326 color = "grey80"; 327 }; 328 329 shape "NULL1" { cornerRadius = 0.5, { [0, 12], [17, 12], [17, 13], [0, 13] } }; 330 331 solid "NullPanel1" { 332 shape = "NULL1"; 333 left = 3; 334 top = 6; 335 color = "grey80"; 336 }; 337 338 shape "MEDIA" { cornerRadius = 0.5, { [0, 0], [55, 0], [55, 10], [0, 10] } }; 339 340 solid "MediaPanel" { 341 shape = "MEDIA"; 342 left = 25.5; 343 top = 6; 344 color = "black"; 345 }; 346 347 section "Volume" { 348 left = 22; 349 top = 8.5; 350 key.shape = "VOL"; 351 key.gap = 6; 352 key.color = "grey20"; 353 354 row { 355 keys { <MUTE>, <VOL->, <VOL+>, {<I1F>, "TVTG", color = "blue"} }; 356 }; 357 }; 358 359 key.gap = 1; 360 key.color = "grey60"; 361 362 section "Function" { 363 left = 2; 364 top = 3; 365 key.shape = "FN0"; 366 row { 367 key.shape = "ESC"; 368 top = 1; 369 keys { <ESC> }; 370 }; 371 row { 372 top = 5; 373 keys { { <PRSC>, 173 }, <SCLK>, <PAUS> }; 374 }; 375 row { 376 top = 17; 377 keys { <FK01>, <FK02>, <FK03>, <FK04>, 378 { <FK05>, 6 }, <FK06>, <FK07>, <FK08>, 379 { <FK09>, 6 }, <FK10>, <FK11>, <FK12> 380 }; 381 }; 382 }; // End of "Function" section 383 384 section "Control" { 385 left = 2; 386 top = 109; 387 key.shape = "NORM"; 388 row { 389 top = 1; 390 keys { <FN>, { <LCTL>, "LCTL" }, { <LWIN>, "LWIN" }, <LALT>, 391 { <SPCE>, "SPCE" }, <RALT>, <MENU>, <RCTL> 392 }; 393 }; 394 }; // End of "Control" section 395 396 section "Editing" { 397 top = 7; 398 left = 233; 399 key.shape = "FN0"; 400 row { 401 top = 1; 402 keys { <INS>, <HOME>, <PGUP> }; 403 }; 404 row { 405 top = 13; 406 keys { <DELE>, <END>, <PGDN> }; 407 }; 408 }; // End of "Editing" section 409 410 section "Navigation" { 411 top = 109; 412 left = 233; 413 row { 414 key.shape = "ARR1"; 415 top = 1; 416 keys { <I6A>, <UP>, <I69> }; 417 }; 418 row { 419 key.shape = "ARR2"; 420 top = 15; 421 keys { <LEFT>, <DOWN>, <RGHT> }; 422 }; 423 }; // End of "Navigation" section 424 425 shape "STIK" { cornerRadius = 3.5, { [7, 7] } }; 426 427 solid "STIK" { 428 priority = 255; 429 color = "red"; 430 shape = "STIK"; 431 top = 85.5; 432 left = 125.5; 433 }; 434 435 section "Alpha" { 436 left = 2; 437 top = 33; 438 key.shape = "NORM"; 439 row { 440 top = 1; 441 keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>, 442 <AE05>, <AE06>, <AE07>, <AE08>, <AE09>, 443 <AE10>, <AE11>, <AE12>, { <BKSP>, "BKSP" } 444 }; 445 }; 446 row { 447 top = 20; 448 keys { { <TAB>, "TABK" }, 449 <AD01>, <AD02>, <AD03>, <AD04>, <AD05>, 450 <AD06>, <AD07>, <AD08>, <AD09>, <AD10>, 451 <AD11>, <AD12>, { <BKSL>, "BKSL" } 452 }; 453 }; 454 row { 455 top = 39; 456 keys { { <CAPS>, "CAPS" }, 457 <AC01>, <AC02>, <AC03>, <AC04>, <AC05>, 458 <AC06>, <AC07>, <AC08>, <AC09>, <AC10>, 459 <AC11>, { <RTRN>, "RTRN", color = "blue" } 460 }; 461 }; 462 row { 463 top = 58; 464 keys { { <LFSH>, "LFSH" }, 465 <AB01>, <AB02>, <AB03>, <AB04>, <AB05>, 466 <AB06>, <AB07>, <AB08>, <AB09>, <AB10>, 467 { <RTSH>, "RTSH" } 468 }; 469 }; 470 }; // End of "Alpha" section 471}; 472