1default xkb_geometry "natural" { 2 3 // Approximate layout for a Microsoft Natural 4 description= "Microsoft Natural"; 5 width= 550; 6 height= 190; 7 8 shape.cornerRadius= 1; 9 shape "LDEF" { { [ 18,18] }, { [2,1], [15,15] } }; 10 shape "TABK" { { [ 26,18] }, { [2,1], [23,15] } }; 11 shape "CAPS" { { [ 30,18] }, { [2,1], [23,15] } }; 12 shape "LFSH" { { [ 41,18] }, { [2,1], [38,15] } }; 13 shape "KEY6" { { [ 22,18] }, { [2,1], [15,15] } }; 14 shape "KEYT" { { [ 33,18] }, { [2,1], [15,15] } }; 15 shape "KEYG" { { [ 29,18] }, { [2,1], [15,15] } }; 16 shape "LCTL" { 17 approx= { [ 32, 22 ] }, 18 { [ 0, 0], [ 32, 0 ], [ 32, 23 ], [ 0, 22 ] }, 19 { [ 2, 1], [ 29, 1 ], [ 29, 17 ], [ 2, 15 ] } 20 }; 21 shape "LWIN" { 22 approx= { [ 32, 23 ] }, 23 { [ 0, 0], [ 32, 0 ], [ 32, 24 ], [ 0, 23 ] }, 24 { [ 2, 1], [ 29, 1 ], [ 29, 18 ], [ 2, 17 ] } 25 }; 26 shape "LALT" { 27 approx= { [ 32, 24 ] }, 28 { [ 0, 0], [ 32, 0 ], [ 32, 25 ], [ 0, 24 ] }, 29 { [ 2, 1], [ 29, 1 ], [ 29, 20 ], [ 2, 19 ] } 30 }; 31 shape "RDEF" { { [ 18,18] }, { [3,1], [15,15] } }; 32 shape "KEY7" { { [ 28, 18 ] }, { [ 14, 1], [26, 15] } }; 33 shape "KEYH" { { [ 24, 18 ] }, { [ 10, 1], [22, 15] } }; 34 shape "KEYN" { { [ 32, 18 ] }, { [ 18, 1], [30, 15] } }; 35 shape "BKSP" { { [ 41, 18 ] }, { [ 3, 1], [39, 15] } }; 36 shape "BKSL" { { [ 24, 18 ] }, { [ 3, 1], [22, 15] } }; 37 shape "RTRN" { { [ 37, 18 ] }, { [ 3, 1], [35, 15] } }; 38 shape "RTSH" { { [ 43, 18 ] }, { [ 3, 1], [41, 15] } }; 39 shape "RALT" { 40 approx= { [ 27, 24 ] }, 41 { [ 0, 0], [ 27, 0 ], [ 27, 24 ], [ 0, 25 ] }, 42 { [ 3, 1], [ 25, 1 ], [ 25, 19 ], [ 3, 20 ] } 43 }; 44 shape "RWIN" { 45 approx= { [ 27, 23 ] }, 46 { [ 0, 0], [ 27, 0 ], [ 27, 23 ], [ 0, 24 ] }, 47 { [ 3, 1], [ 25, 1 ], [ 25, 18 ], [ 3, 19 ] } 48 }; 49 shape "MENU" { 50 approx= { [ 27, 21 ] }, 51 { [ 0, 0], [ 27, 0 ], [ 27, 21 ], [ 0, 23 ] }, 52 { [ 3, 1], [ 25, 1 ], [ 25, 16 ], [ 3, 17 ] } 53 }; 54 shape "RCTL" { 55 approx= { [ 27, 19 ] }, 56 { [ 0, 0], [ 27, 0 ], [ 27, 19 ], [ 0, 21 ] }, 57 { [ 3, 1], [ 25, 1 ], [ 25, 14 ], [ 3, 15 ] } 58 }; 59 shape "KPAD" { { [ 18, 37 ] }, { [ 3, 1 ], [ 16, 34 ] } }; 60 shape "KP0" { { [ 37, 18 ] }, { [ 3, 1 ], [ 35, 15 ] } }; 61 shape "SPCE" { 62 { [ 4, 3], [42,10], [44, 0], [88, 0], [90,10], [130, 3], 63 [134,26], [99,30], [67,33], [33,30], [ 0,26] }, 64 { [ 6, 4.5], [43,11], [45, 1], [87, 1], [89,11], [128, 4.5], 65 [131,23], [99,28], [67,32], [33,28], [ 3,23] } 66 }; 67 68 shape "EDGE" { 69 cornerRadius= 2, 70 { [ 25, 0 ], [ 177, 17 ], [ 329, 0 ], [ 542, 0 ], 71 [ 542, 150 ], [ 354, 150 ], [ 177, 185 ], [ 0, 150 ] } 72 }; 73 outline "Edges" { 74 top= 0; 75 left= 0; 76 shape= "EDGE"; 77 }; 78 79 row.left= 1; 80 key.shape= "LDEF"; 81 key.gap= 1; 82 section "LeftFunction" { 83 top= 10; 84 left= 40; 85 angle= 10; 86 row { 87 top= 1; 88 keys { <ESC>, { <FK01>, 12 }, <FK02>, <FK03>, <FK04>, <FK05> }; 89 }; 90 }; // End of "LeftFunction" section 91 92 section "LeftAlpha" { 93 top= 47; 94 left= 30; 95 angle= 10; 96 row { 97 top= 1; 98 keys { <AE00>, <AE01>, <AE02>, <AE03>, <AE04>, 99 <AE05>, { <AE06>, "KEY6" } 100 }; 101 }; 102 row { 103 top= 20; 104 keys { { <TAB>, "TABK" }, 105 <AD01>, <AD02>, <AD03>, <AD04>, { <AD05>, "KEYT" } 106 }; 107 }; 108 row { 109 top= 39; 110 keys { { <CAPS>, "CAPS" }, 111 <AC01>, <AC02>, <AC03>, <AC04>, { <AC05>, "KEYG" } 112 }; 113 }; 114 row { 115 top= 58; 116 keys { { <LFSH>, "LFSH" }, 117 <AB01>, <AB02>, <AB03>, <AB04>, <AB05> 118 }; 119 }; 120 row { 121 top= 77; 122 keys { { <LCTL>, "LCTL" }, { <LWIN>, "LWIN" }, { <LALT>, "LALT" } }; 123 }; 124 }; // End of "LeftAlpha" section 125 126 key.shape= "RDEF"; 127 section "RightFunction" { 128 top= 32; 129 left= 195; 130 angle= -10; 131 row { 132 top= 1; 133 left= 1; 134 keys { <FK06>, <FK07>, <FK08>, <FK09>, <FK10>, <FK11>, <FK12> }; 135 }; 136 }; // End of "RightFunction" section 137 138 section "RightAlpha" { 139 top= 71; 140 left= 190; 141 angle= -10; 142 row.left= 1; 143 row { 144 top= 1; 145 keys { { <AE07>, "KEY7" }, 146 <AE08>, <AE09>, <AE10>, <AE11>, <AE12>, 147 { <BKSP>, "BKSP" } 148 }; 149 }; 150 row { 151 top= 20; 152 keys { 153 <AD06>, <AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>, 154 { <BKSL>, "BKSL" } 155 }; 156 }; 157 row { 158 top= 39; 159 keys { { <AC06>, "KEYH" }, 160 <AC07>, <AC08>, <AC09>, <AC10>, <AC11>, 161 { <RTRN>, "RTRN" } 162 }; 163 }; 164 row { 165 top= 58; 166 keys { { <AB06>, "KEYN" }, 167 <AB07>, <AB08>, <AB09>, <AB10>, 168 { <RTSH>, "RTSH" } 169 }; 170 }; 171 row { 172 top= 77; 173 left= 40; 174 keys { { <RALT>, "RALT" }, { <RWIN>, "RWIN" }, 175 { <MENU>, "MENU" }, { <RCTL>, "RCTL" } 176 }; 177 }; 178 }; // End of "RightAlpha" section 179 180 section "SpaceBar" { 181 top= 139; 182 left= 111; 183 key.shape= "SPCE"; 184 row { keys { <SPCE> }; }; 185 }; 186 187 section "Editing" { 188 top= 15; 189 left= 385; 190 row { 191 top= 1; 192 keys { <PRSC>, <SCLK>, <PAUS> }; 193 }; 194 row { 195 top= 33; 196 keys { <INS>, <HOME>, <PGUP> }; 197 }; 198 row { 199 top= 53; 200 keys { <DELE>, <END>, <PGDN> }; 201 }; 202 row { 203 top= 91; 204 left= 20; 205 keys { <UP> }; 206 }; 207 row { 208 top= 109; 209 keys { <LEFT>, <DOWN>, <RGHT> }; 210 }; 211 }; // End of "Editing" section 212 213 shape "LED" { 214 cornerRadius= 0, 215 { [ 3, 1 ] } 216 }; 217 indicator.onColor= "green"; 218 indicator.offColor= "green30"; 219 indicator.left= 177; 220 indicator.shape= "LED"; 221 indicator "Num Lock" { top= 90; }; 222 indicator "Caps Lock" { top= 107; }; 223 indicator "Scroll Lock" { top= 127; }; 224 225 section "Keypad" { 226 top= 47; 227 left= 456; 228 row { 229 top= 1; 230 keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> }; 231 }; 232 row { 233 top= 20; 234 keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD" } }; 235 }; 236 row { 237 top= 39; 238 keys { <KP4>, <KP5>, <KP6> }; 239 }; 240 row { 241 top= 58; 242 keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD" } }; 243 }; 244 row { 245 top= 77; 246 keys { { <KP0>, "KP0" }, <KPDL> }; 247 }; 248 }; // End of "Keypad" section 249 250 alias <AC00> = <CAPS>; 251 alias <AA00> = <LCTL>; 252}; 253 254// Approximate layout for a Microsoft Natural(R) Keyboard Elite 255// 256// Modified by Pavel Kurashov <pavell@mail.ru> Mon Oct 8 22:08:20 NOVST 2007 257// 258// * Function, editing and navigation keys are reduced in height 259// * Navigation keys are repositioned in two columns 260// * Leds are enlarged for better look 261// * "BKSP" is aligned with "BKSL" and "RTRN" 262// * Outline edges are slightly modified 263// 264xkb_geometry "elite" { 265 266 // Approximate layout for a Microsoft Natural(R) Keyboard Elite 267 description= "Microsoft Natural(r) Keyboard Elite"; 268 width= 495; 269 height= 190; 270 271 shape.cornerRadius= 1; 272 shape "LDEF" { { [ 18,18] }, { [2,1], [15,15] } }; 273 shape "FKEY" { { [ 18,13] }, { [2,1], [15,10] } }; 274 shape "TABK" { { [ 26,18] }, { [2,1], [23,15] } }; 275 shape "CAPS" { { [ 30,18] }, { [2,1], [23,15] } }; 276 shape "LFSH" { { [ 41,18] }, { [2,1], [38,15] } }; 277 shape "KEY6" { { [ 22,18] }, { [2,1], [15,15] } }; 278 shape "KEYT" { { [ 33,18] }, { [2,1], [15,15] } }; 279 shape "KEYG" { { [ 29,18] }, { [2,1], [15,15] } }; 280 shape "LCTL" { 281 approx= { [ 32, 22 ] }, 282 { [ 0, 0], [ 32, 0 ], [ 32, 23 ], [ 0, 22 ] }, 283 { [ 2, 1], [ 29, 1 ], [ 29, 17 ], [ 2, 15 ] } 284 }; 285 shape "LWIN" { 286 approx= { [ 32, 23 ] }, 287 { [ 0, 0], [ 32, 0 ], [ 32, 24 ], [ 0, 23 ] }, 288 { [ 2, 1], [ 29, 1 ], [ 29, 18 ], [ 2, 17 ] } 289 }; 290 shape "LALT" { 291 approx= { [ 32, 24 ] }, 292 { [ 0, 0], [ 32, 0 ], [ 32, 25 ], [ 0, 24 ] }, 293 { [ 2, 1], [ 29, 1 ], [ 29, 20 ], [ 2, 19 ] } 294 }; 295 shape "RDEF" { { [ 18,18 ] }, { [ 2, 1], [15, 15] } }; 296 shape "KEY7" { { [ 28, 18 ] }, { [ 14, 1], [26, 15] } }; 297 shape "KEYH" { { [ 24, 18 ] }, { [ 10, 1], [22, 15] } }; 298 shape "KEYN" { { [ 32, 18 ] }, { [ 18, 1], [30, 15] } }; 299 shape "BKSP" { { [ 32, 18 ] }, { [ 2, 1], [30, 15] } }; 300 shape "BKSL" { { [ 24, 18 ] }, { [ 2, 1], [22, 15] } }; 301 shape "RTRN" { { [ 37, 18 ] }, { [ 2, 1], [35, 15] } }; 302 shape "RTSH" { { [ 43, 18 ] }, { [ 2, 1], [41, 15] } }; 303 shape "RALT" { 304 approx= { [ 27, 24 ] }, 305 { [ 0, 0], [ 27, 0 ], [ 27, 24 ], [ 0, 25 ] }, 306 { [ 3, 1], [ 25, 1 ], [ 25, 19 ], [ 3, 20 ] } 307 }; 308 shape "RWIN" { 309 approx= { [ 27, 23 ] }, 310 { [ 0, 0], [ 27, 0 ], [ 27, 23 ], [ 0, 24 ] }, 311 { [ 3, 1], [ 25, 1 ], [ 25, 18 ], [ 3, 19 ] } 312 }; 313 shape "MENU" { 314 approx= { [ 27, 21 ] }, 315 { [ 0, 0], [ 27, 0 ], [ 27, 21 ], [ 0, 23 ] }, 316 { [ 3, 1], [ 25, 1 ], [ 25, 16 ], [ 3, 17 ] } 317 }; 318 shape "RCTL" { 319 approx= { [ 27, 19 ] }, 320 { [ 0, 0], [ 27, 0 ], [ 27, 19 ], [ 0, 21 ] }, 321 { [ 3, 1], [ 25, 1 ], [ 25, 14 ], [ 3, 15 ] } 322 }; 323 shape "KPAD" { { [ 18, 37 ] }, { [ 3, 1 ], [ 16, 34 ] } }; 324 shape "KP0" { { [ 37, 18 ] }, { [ 3, 1 ], [ 35, 15 ] } }; 325 shape "SPCE" { 326 { [ 4, 3], [42,10], [44, 0], [88, 0], [90,10], [130, 3], 327 [134,26], [99,30], [67,33], [33,30], [ 0,26] }, 328 { [ 6, 4.5], [43,11], [45, 1], [87, 1], [89,11], [128, 4.5], 329 [131,23], [99,28], [67,32], [33,28], [ 3,23] } 330 }; 331 332 shape "EDGE" { 333 cornerRadius= 3, 334 { [ 32, 15 ], [140, 33],[ 220, 33 ], [ 329, 15 ], [ 493, 15 ], 335 [ 493, 150 ], [ 354, 150 ], [200, 180], [ 153, 180 ], [ 7, 150 ] } 336 }; 337 outline "Edges" { 338 top= 0; 339 left= 0; 340 shape= "EDGE"; 341 }; 342 343 row.left= 1; 344 key.shape= "FKEY"; 345 key.gap= 1; 346 section "LeftFunction" { 347 top= 26; 348 left= 40; 349 angle= 10; 350 row { 351 top= 1; 352 keys { <ESC>, { <FK01>, 12 }, <FK02>, <FK03>, <FK04>, <FK05> }; 353 }; 354 }; // End of "LeftFunction" section 355 356 key.shape= "LDEF"; 357 section "LeftAlpha" { 358 top= 47; 359 left= 30; 360 angle= 10; 361 row { 362 top= 1; 363 keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>, 364 <AE05>, { <AE06>, "KEY6" } 365 }; 366 }; 367 row { 368 top= 20; 369 keys { { <TAB>, "TABK" }, 370 <AD01>, <AD02>, <AD03>, <AD04>, { <AD05>, "KEYT" } 371 }; 372 }; 373 row { 374 top= 39; 375 keys { { <CAPS>, "CAPS" }, 376 <AC01>, <AC02>, <AC03>, <AC04>, { <AC05>, "KEYG" } 377 }; 378 }; 379 row { 380 top= 58; 381 keys { { <LFSH>, "LFSH" }, 382 <AB01>, <AB02>, <AB03>, <AB04>, <AB05> 383 }; 384 }; 385 row { 386 top= 77; 387 keys { { <LCTL>, "LCTL" }, { <LWIN>, "LWIN" }, { <LALT>, "LALT" } }; 388 }; 389 }; // End of "LeftAlpha" section 390 391 key.shape= "FKEY"; 392 section "RightFunction" { 393 top= 48; 394 left= 195; 395 angle= -10; 396 row { 397 top= 1; 398 left= 1; 399 keys { <FK06>, <FK07>, <FK08>, <FK09>, <FK10>, <FK11>, <FK12> }; 400 }; 401 }; // End of "RightFunction" section 402 403 key.shape= "RDEF"; 404 section "RightAlpha" { 405 top= 71; 406 left= 190; 407 angle= -10; 408 row.left= 1; 409 row { 410 top= 1; 411 keys { { <AE07>, "KEY7" }, 412 <AE08>, <AE09>, <AE10>, <AE11>, <AE12>, 413 { <BKSP>, "BKSP" } 414 }; 415 }; 416 row { 417 top= 20; 418 keys { 419 <AD06>, <AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>, 420 { <BKSL>, "BKSL" } 421 }; 422 }; 423 row { 424 top= 39; 425 keys { { <AC06>, "KEYH" }, 426 <AC07>, <AC08>, <AC09>, <AC10>, <AC11>, 427 { <RTRN>, "RTRN" } 428 }; 429 }; 430 row { 431 top= 58; 432 keys { { <AB06>, "KEYN" }, 433 <AB07>, <AB08>, <AB09>, <AB10>, 434 { <RTSH>, "RTSH" } 435 }; 436 }; 437 row { 438 top= 77; 439 left= 40; 440 keys { { <RALT>, "RALT" }, { <RWIN>, "RWIN" }, 441 { <MENU>, "MENU" }, { <RCTL>, "RCTL" } 442 }; 443 }; 444 }; // End of "RightAlpha" section 445 446 section "SpaceBar" { 447 top= 139; 448 left= 111; 449 key.shape= "SPCE"; 450 row { keys { <SPCE> }; }; 451 }; 452 453 section "Editing" { 454 key.shape="FKEY"; 455 top= 23; 456 left= 348; 457 row { 458 top= 0; 459 keys { <PRSC>, <SCLK>, <PAUS> }; 460 }; 461 row { 462 top= 22; 463 left=20; 464 keys { <HOME>, <PGUP> }; 465 }; 466 row { 467 top= 36; 468 left=20; 469 keys { <END>, <PGDN> }; 470 }; 471 row { 472 top= 50; 473 left=20; 474 keys { <DELE>, <INS> }; 475 }; 476 row { 477 top= 75; 478 left= 29; 479 keys { <UP> }; 480 }; 481 row { 482 top= 89; 483 left=20; 484 keys { <LEFT>, <RGHT> }; 485 }; 486 row { 487 top= 103; 488 left=29; 489 keys { <DOWN> }; 490 }; 491 }; // End of "Editing" section 492 493 shape "LED" { 494 cornerRadius= 1, 495 { [ 7, 2 ] } 496 }; 497 indicator.onColor= "green"; 498 indicator.offColor= "green30"; 499 indicator.left= 177; 500 indicator.shape= "LED"; 501 indicator "Num Lock" { top= 90; }; 502 indicator "Caps Lock" { top= 107; }; 503 indicator "Scroll Lock" { top= 127; }; 504 505 section "Keypad" { 506 top= 44; 507 left= 412; 508 row { 509 top= 1; 510 keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> }; 511 }; 512 row { 513 top= 20; 514 keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD" } }; 515 }; 516 row { 517 top= 39; 518 keys { <KP4>, <KP5>, <KP6> }; 519 }; 520 row { 521 top= 58; 522 keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD" } }; 523 }; 524 row { 525 top= 77; 526 keys { { <KP0>, "KP0" }, <KPDL> }; 527 }; 528 }; // End of "Keypad" section 529 530 alias <AC00> = <CAPS>; 531 alias <AA00> = <LCTL>; 532}; 533