1// 2// Copyright (c) 1996 by Silicon Graphics Computer Systems, Inc. 3// 4// Permission to use, copy, modify, and distribute this 5// software and its documentation for any purpose and without 6// fee is hereby granted, provided that the above copyright 7// notice appear in all copies and that both that copyright 8// notice and this permission notice appear in supporting 9// documentation, and that the name of Silicon Graphics not be 10// used in advertising or publicity pertaining to distribution 11// of the software without specific prior written permission. 12// Silicon Graphics makes no representation about the suitability 13// of this software for any purpose. It is provided "as is" 14// without any express or implied warranty. 15// 16// SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS 17// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 18// AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON 19// GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL 20// DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 21// DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 22// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH 23// THE USE OR PERFORMANCE OF THIS SOFTWARE. 24// 25default xkb_geometry "pc101" { 26 27 // This is an approximate layout for a 101-key (US/ASCII) SGI 28 // keyboard. I just took a similar layout (101 key PC keyboard) 29 // and adjusted the sizes of a few keys by eye. I didn't actually 30 // *measure* a real keyboard. 31 32 description= "Silicon Graphics 101-key keyboard"; 33 34 width= 472; 35 height= 193; 36 37 shape "EDGE" { cornerRadius= 2, { [ 472, 193 ] } }; 38 shape.cornerRadius= 1; 39 shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } }; 40 shape "BKSP" { { [ 37,18] }, { [2,1], [35,17] } }; 41 shape "TABK" { { [ 28,18] }, { [2,1], [26,17] } }; 42 shape "BKSL" { { [ 27,18] }, { [2,1], [25,17] } }; 43 shape "RTRN" { { [ 40,18] }, { [2,1], [37,17] } }; 44 shape "CAPS" { { [ 34,18] }, { [2,1], [29,17] } }; 45 shape "RTSH" { { [ 49,18] }, { [2,1], [47,17] } }; 46 shape "LFSH" { { [ 44,18] }, { [2,1], [42,17] } }; 47 shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } }; 48 shape "SPCE" { { [130,18] }, { [2,1], [128,17] } }; 49 shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } }; 50 shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } }; 51 shape "LOGO" { { [ 16,16] } }; 52 53 outline "Edges" { 54 top= 0; 55 left= 0; 56 shape= "EDGE"; 57 }; 58 59 section.left= 19; 60 row.left= 1; 61 key.shape= "NORM"; 62 key.gap= 1; 63 section "Function" { 64 top= 50; 65 row { 66 top= 1; 67 keys { { <ESC>, color="grey20" }, 68 { <FK01>, 19}, <FK02>, <FK03>, <FK04>, 69 { <FK05>, 11}, <FK06>, <FK07>, <FK08>, 70 { <FK09>, 11}, <FK10>, <FK11>, <FK12> 71 }; 72 }; 73 }; // End of "Function" section 74 75 section "Alpha" { 76 top= 83; 77 row { 78 top= 1; 79 keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>, 80 <AE05>, <AE06>, <AE07>, <AE08>, <AE09>, 81 <AE10>, <AE11>, <AE12>, 82 { <BKSP>, "BKSP", color="grey20" } 83 }; 84 }; 85 row { 86 top= 20; 87 keys { { <TAB>, "TABK", color= "grey20" }, 88 <AD01>, <AD02>, <AD03>, <AD04>, <AD05>, 89 <AD06>, <AD07>, <AD08>, <AD09>, <AD10>, 90 <AD11>, <AD12>, 91 { <BKSL>, "BKSL" } 92 }; 93 }; 94 row { 95 top= 39; 96 keys { { <CAPS>, "CAPS", color="grey20" }, 97 <AC01>, <AC02>, <AC03>, <AC04>, <AC05>, 98 <AC06>, <AC07>, <AC08>, <AC09>, <AC10>, 99 <AC11>, { <RTRN>, "RTRN", color="grey20" } 100 }; 101 }; 102 row { 103 top= 58; 104 keys { { <LFSH>, "LFSH", color="grey20" }, 105 <AB01>, <AB02>, <AB03>, <AB04>, <AB05>, 106 <AB06>, <AB07>, <AB08>, <AB09>, <AB10>, 107 { <RTSH>, "RTSH", color="grey20" } 108 }; 109 }; 110 row { 111 top= 77; 112 key.shape= "MODK"; 113 key.color= "grey20"; 114 keys { <LCTL>, { <LALT>, 20 }, 115 { <SPCE>, "SPCE",color="white" }, 116 <RALT>, { <RCTL>, 20 } 117 }; 118 }; 119 }; // End of "Alpha" section 120 121 section "Editing" { 122 top= 50; 123 left= 312; 124 key.color= "grey20"; 125 row { 126 top= 1; 127 keys { <PRSC>, <SCLK>, <PAUS> }; 128 }; 129 row { 130 top= 33; 131 keys { <INS>, <HOME>, <PGUP> }; 132 }; 133 row { 134 top= 53; 135 keys { <DELE>, <END>, <PGDN> }; 136 }; 137 row { 138 top= 91; 139 left= 20; 140 keys { <UP> }; 141 }; 142 row { 143 top= 110; 144 keys { <LEFT>, <DOWN>, <RGHT> }; 145 }; 146 }; // End of "Editing" section 147 148 shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } }; 149 shape "LED" { cornerRadius= 0, { [ 1, 3 ] } }; 150 solid "LedPanel" { 151 shape= "LEDS"; 152 top= 50; 153 left= 377; 154 color= "grey10"; 155 }; 156 indicator.onColor= "green"; 157 indicator.offColor= "green30"; 158 indicator.top= 64.5; 159 indicator.shape= "LED"; 160 indicator "Num Lock" { left= 386; }; 161 indicator "Caps Lock" { left= 411; }; 162 indicator "Scroll Lock" { left= 436; }; 163 text.top= 52; 164 text.color= "black"; 165 text "NumLockLabel" { left= 382.5; text="Num\nLock"; }; 166 text "CapsLockLabel" { left= 407; text="Caps\nLock"; }; 167 text "ScrollLockLabel" { left= 432; text="Scroll\nLock"; }; 168 169 logo "SGILogoImage" { 170 top= 17; 171 left= 22; 172 name= "SGI"; 173 shape= "LOGO"; 174 }; 175 text "SGILogoText" { 176 top= 21; 177 left= 40; 178 width= 50; 179 text= "SiliconGraphics"; 180 font= "helvetica"; 181 slant= "o"; 182 weight= "bold"; 183 fontWidth= "narrow"; 184 fontSize= 24; 185 }; 186 187 section "Keypad" { 188 top= 83; 189 left= 376; 190 row { 191 top= 1; 192 key.color= "grey20"; 193 keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> }; 194 }; 195 row { 196 top= 20; 197 keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color= "grey20" } }; 198 }; 199 row { 200 top= 39; 201 keys { <KP4>, <KP5>, <KP6> }; 202 }; 203 row { 204 top= 58; 205 keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color= "grey20" } }; 206 }; 207 row { 208 top= 77; 209 keys { { <KP0>, "KP0" }, <KPDL> }; 210 }; 211 }; // End of "Keypad" section 212 alias <AC00> = <CAPS>; 213 alias <AA00> = <LCTL>; 214}; 215 216xkb_geometry "pc102" { 217 218 // This is an approximate layout for 102-key SGI international 219 // keyboards. I just took a similar layout (101 key PC keyboard) 220 // and adjusted the sizes of a few keys by eye. I didn't actually 221 // *measure* a real keyboard. 222 223 description= "Silicon Graphics 102-key Keyboard"; 224 width= 470; 225 height= 193; 226 227 shape.cornerRadius= 1; 228 shape "EDGE" { cornerRadius=2, { [ 470, 193 ] } }; 229 shape "NORM" { { [18,18] }, { [2,1], [16,17] } }; 230 shape "BKSP" { { [35,18] }, { [2,1], [33,17] } }; 231 shape "TABK" { { [27,18] }, { [2,1], [25,17] } }; 232 shape "RTRN" { 233 approx = { [ 0, 0], [26,37] }, 234 { [ 0, 0], [26, 0], [26,37], 235 [ 5,37], [ 5,18], [ 0,18] }, 236 { [ 1, 1], [24, 1], [24,36], 237 [ 7,36], [ 7,17], [ 1,17] } 238 }; 239 shape "CAPS" { { [ 32,18] }, { [2,1], [25,17] } }; 240 shape "RTSH" { { [ 50,18] }, { [2,1], [48,17] } }; 241 shape "LFSH" { { [ 22,18] }, { [2,1], [20,17] } }; 242 shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } }; 243 shape "SPCE" { { [130,18] }, { [2,1], [128,17] } }; 244 shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } }; 245 shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } }; 246 shape "LOGO" { { [ 16,16] } }; 247 248 outline "Edges" { 249 top= 0; 250 left= 0; 251 shape= "EDGE"; 252 }; 253 254 section.left= 19; 255 row.left= 1; 256 key.shape= "NORM"; 257 key.gap= 1; 258 section "Function" { 259 top= 50; 260 row { 261 top= 1; 262 keys { { <ESC>, color="grey20" }, 263 { <FK01>, 18}, <FK02>, <FK03>, <FK04>, 264 { <FK05>, 10}, <FK06>, <FK07>, <FK08>, 265 { <FK09>, 10}, <FK10>, <FK11>, <FK12> 266 }; 267 }; 268 }; // End of "Function" section 269 270 section "Alpha" { 271 top= 83; 272 row { 273 top= 1; 274 keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>, 275 <AE05>, <AE06>, <AE07>, <AE08>, <AE09>, 276 <AE10>, <AE11>, <AE12>, 277 { <BKSP>, "BKSP", color= "grey20" } 278 }; 279 }; 280 row { 281 top= 20; 282 keys { { <TAB>, "TABK", color= "grey20" }, 283 <AD01>, <AD02>, <AD03>, <AD04>, <AD05>, 284 <AD06>, <AD07>, <AD08>, <AD09>, <AD10>, 285 <AD11>, <AD12>, 286 { <RTRN>, "RTRN", color= "grey20" } 287 }; 288 }; 289 row { 290 top= 39; 291 keys { { <CAPS>, "CAPS", color= "grey20" }, 292 <AC01>, <AC02>, <AC03>, <AC04>, <AC05>, 293 <AC06>, <AC07>, <AC08>, <AC09>, <AC10>, 294 <AC11>, <BKSL> 295 }; 296 }; 297 row { 298 top= 58; 299 keys { { <LFSH>, "LFSH", color= "grey20" }, <LSGT>, 300 <AB01>, <AB02>, <AB03>, <AB04>, <AB05>, 301 <AB06>, <AB07>, <AB08>, <AB09>, <AB10>, 302 { <RTSH>, "RTSH", color= "grey20" } 303 }; 304 }; 305 row { 306 top= 77; 307 key.shape= "MODK"; 308 key.color= "grey20"; 309 keys { <LCTL>, 310 { <LALT>, 19 }, 311 { <SPCE>, "SPCE", color="white" }, 312 <RALT>, 313 { <RCTL>, 19 } 314 }; 315 }; 316 }; // End of "Alpha" section 317 318 section "Editing" { 319 top= 50; 320 left= 308; 321 key.color= "grey20"; 322 row { 323 top= 1; 324 keys { <PRSC>, <SCLK>, <PAUS> }; 325 }; 326 row { 327 top= 33; 328 keys { <INS>, <HOME>, <PGUP> }; 329 }; 330 row { 331 top= 53; 332 keys { <DELE>, <END>, <PGDN> }; 333 }; 334 row { 335 top= 91; 336 left= 20; 337 keys { <UP> }; 338 }; 339 row { 340 top= 110; 341 keys { <LEFT>, <DOWN>, <RGHT> }; 342 }; 343 }; // End of "Editing" section 344 345 shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } }; 346 shape "LED" { cornerRadius= 0, { [ 1, 3 ] } }; 347 solid "LedPanel" { 348 shape= "LEDS"; 349 top= 50; 350 left= 375; 351 color= "grey10"; 352 }; 353 indicator.onColor= "green"; 354 indicator.offColor= "green30"; 355 indicator.top= 64.5; 356 indicator.shape= "LED"; 357 indicator "Num Lock" { left= 384; }; 358 indicator "Caps Lock" { left= 409; }; 359 indicator "Scroll Lock" { left= 434; }; 360 text.top= 52; 361 text.color= "black"; 362 text "NumLockLabel" { left= 380.5; text="Num\nLock"; }; 363 text "CapsLockLabel" { left= 405; text="Caps\nLock"; }; 364 text "ScrollLockLabel" { left= 430; text="Scroll\nLock"; }; 365 366 logo "SGILogoImage" { 367 top= 17; 368 left= 22; 369 name= "SGI"; 370 shape= "LOGO"; 371 }; 372 text "SGILogoText" { 373 top= 21; 374 left= 40; 375 width= 50; 376 text= "SiliconGraphics"; 377 font= "helvetica"; 378 slant= "o"; 379 weight= "bold"; 380 setWidth= "narrow"; 381 fontSize= 24; 382 }; 383 384 section "Keypad" { 385 top= 83; 386 left= 374; 387 row { 388 top= 1; 389 key.color= "grey20"; 390 keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> }; 391 }; 392 row { 393 top= 20; 394 keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } }; 395 }; 396 row { 397 top= 39; 398 keys { <KP4>, <KP5>, <KP6> }; 399 }; 400 row { 401 top= 58; 402 keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } }; 403 }; 404 row { 405 top= 77; 406 keys { { <KP0>, "KP0" }, <KPDL> }; 407 }; 408 }; // End of "Keypad" section 409 alias <AC00> = <CAPS>; 410 alias <AA00> = <LCTL>; 411}; 412 413xkb_geometry "jp106" { 414 description= "Silicon Graphics 106-key Japanese keyboard"; 415 width= 442; 416 height= 167; 417 418 shape "EDGE" { cornerRadius= 2, { [ 442, 167 ] } }; 419 shape.cornerRadius= 1; 420 shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } }; 421 shape "BKSP" { { [ 18,18] }, { [2,1], [ 16,17] } }; 422 shape "TABK" { { [ 28,18] }, { [2,1], [ 26,17] } }; 423 shape "BKSL" { { [ 27,18] }, { [2,1], [ 25,17] } }; 424 shape "RTRN" { 425 { [0,0],[ 27,0],[27,37],[4,37],[4,18],[0,18] } , 426 { [2,1],[ 25,1],[25,36],[5,36],[5,17],[2,17] } }; 427 shape "CAPS" { { [ 32,18] }, { [2,1], [ 30,17] } }; 428 shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,17] } }; 429 shape "RTSH" { { [ 32,18] }, { [2,1], [ 30,17] } }; 430 shape "MODK" { { [ 28,18] }, { [2,1], [ 26,17] } }; 431 shape "SPCE" { { [ 46,18] }, { [2,1], [ 44,17] } }; 432 shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } }; 433 shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,36] } }; 434 shape "LOGO" { { [ 16,16] } }; 435 436 outline "Edges" { 437 top= 0; 438 left= 0; 439 shape= "EDGE"; 440 }; 441 442 logo "SGILogoImage" { 443 top= 5; 444 left= 6; 445 name= "SGI"; 446 shape= "LOGO"; 447 }; 448 449 text "SGILogoText" { 450 top= 9; 451 left= 25; 452 width= 50; 453 text= "SiliconGraphics"; 454 font= "helvetica"; 455 slant= "o"; 456 weight= "bold"; 457 fontWidth= "narrow"; 458 fontSize= 24; 459 }; 460 461 shape "LEDS" { cornerRadius= 0.1, { [ 76 ,20 ] } }; 462 shape "LED" { cornerRadius= 0, { [ 5, 1 ] } }; 463 solid "LedPanel" { 464 shape= "LEDS"; 465 top= 25; 466 left= 362; 467 color= "grey10"; 468 }; 469 470 indicator.onColor= "green"; 471 indicator.offColor= "green30"; 472 indicator.top= 40; 473 indicator.shape= "LED"; 474 indicator "Num Lock" { left= 366; }; 475 indicator "Caps Lock" { left= 391; }; 476 indicator "Scroll Lock" { left= 416; }; 477 text.top= 28; 478 text.color= "black"; 479 text "NumLockLabel" { left= 366; text="Num\nLock"; }; 480 text "CapsLockLabel" { left= 391; text="Caps\nLock"; }; 481 text "ScrollLockLabel" { left= 416; text="Scroll\nLock"; }; 482 483 section.left= 5; 484 row.left= 1; 485 key.shape= "NORM"; 486 key.gap= 1; 487 section "Function" { 488 top= 25; 489 row { 490 top= 1; 491 keys { { <ESC>, color="grey20" }, 492 { <FK01>, 18 }, <FK02>, <FK03>, <FK04>, 493 { <FK05>, 11 ,color="grey20"}, {<FK06>,color="grey20"}, 494 { <FK07>, color="grey20"}, {<FK08>,color="grey20"}, 495 { <FK09>, 11 }, <FK10>, <FK11>, <FK12>, 496 { <PRSC>, 8 }, <SCLK>, <PAUS> 497 }; 498 }; 499 }; // End of "Function" section 500 501 section "Alpha" { 502 top= 61; 503 row { 504 top= 1; 505 keys { {<HZTG>,color="grey20"}, <AE01>, <AE02>, 506 <AE03>, <AE04>, <AE05>, <AE06>, <AE07>, 507 <AE08>, <AE09>, <AE10>, <AE11>, <AE12>, 508 <AE13>, { <BKSP>, "BKSP", color="grey20" } 509 }; 510 }; 511 row { 512 top= 20; 513 keys { { <TAB>, "TABK", color="grey20" }, 514 <AD01>, <AD02>, <AD03>, <AD04>, <AD05>, 515 <AD06>, <AD07>, <AD08>, <AD09>, <AD10>, 516 <AD11>, <AD12>, { <RTRN>, 1 ,"RTRN",color="grey20" } 517 }; 518 }; 519 row { 520 top= 39; 521 keys { { <CAPS>, "CAPS", color="grey20" }, 522 <AC01>, <AC02>, <AC03>, <AC04>, <AC05>, 523 <AC06>, <AC07>, <AC08>, <AC09>, <AC10>, 524 <AC11>, <AC12> 525 }; 526 }; 527 row { 528 top= 58; 529 keys { { <LFSH>, "LFSH", color="grey20" }, 530 <AB01>, <AB02>, <AB03>, <AB04>, <AB05>, 531 <AB06>, <AB07>, <AB08>, <AB09>, <AB10>, 532 <AB11>, { <RTSH>, "RTSH", color="grey20" } 533 }; 534 }; 535 row { 536 top= 77; 537 key.shape= "MODK"; 538 key.color= "grey20"; 539 keys { <LCTL>, { <LALT>, 20 },<NFER>, 540 { <SPCE>, "SPCE", color="white" }, 541 <XFER>,<HKTG>,<RALT>, { <RCTL>, 17 } 542 }; 543 }; 544 }; // End of "Alpha" section 545 546 section "Editing" { 547 top= 61; 548 left= 296; 549 key.color= "grey20"; 550 row { 551 top= 1; 552 keys { <INS>, <HOME>, <PGUP> }; 553 }; 554 row { 555 top= 20; 556 keys { <DELE>, <END>, <PGDN> }; 557 }; 558 row { 559 top= 58; 560 left= 20; 561 keys { <UP> }; 562 }; 563 row { 564 top= 77; 565 keys { <LEFT>, <DOWN>, <RGHT> }; 566 }; 567 }; // End of "Editing" section 568 569 section "Keypad" { 570 top= 61; 571 left= 361; 572 row { 573 top= 1; 574 key.color= "grey20"; 575 keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> }; 576 }; 577 row { 578 top= 20; 579 keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } }; 580 }; 581 row { 582 top= 39; 583 keys { <KP4>, <KP5>, <KP6> }; 584 }; 585 row { 586 top= 58; 587 keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } }; 588 }; 589 row { 590 top= 77; 591 keys { { <KP0>, "KP0" }, <KPDL> }; 592 }; 593 }; // End of "Keypad" section 594 595 alias <AC00> = <CAPS>; 596 alias <AA00> = <LCTL>; 597 598}; // End of "jp106" geometry 599