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