1xkb_keymap { 2xkb_keycodes "empty_aliases(qwerty)" { 3 minimum = 8; 4 maximum = 255; 5 virtual indicator 1 = "Caps Lock"; 6 virtual indicator 2 = "Num Lock"; 7 virtual indicator 3 = "Shift Lock"; 8 virtual indicator 4 = "Group 2"; 9 virtual indicator 5 = "Mouse Keys"; 10 virtual indicator 6 = "Scroll Lock"; 11}; 12 13xkb_types "complete" { 14 15 virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper; 16 17 type "ONE_LEVEL" { 18 modifiers= none; 19 level_name[Level1]= "Any"; 20 }; 21 type "TWO_LEVEL" { 22 modifiers= Shift; 23 map[Shift]= Level2; 24 level_name[Level1]= "Base"; 25 level_name[Level2]= "Shift"; 26 }; 27 type "ALPHABETIC" { 28 modifiers= Shift+Lock; 29 map[Shift]= Level2; 30 map[Lock]= Level2; 31 level_name[Level1]= "Base"; 32 level_name[Level2]= "Caps"; 33 }; 34 type "KEYPAD" { 35 modifiers= Shift+NumLock; 36 map[Shift]= Level2; 37 map[NumLock]= Level2; 38 level_name[Level1]= "Base"; 39 level_name[Level2]= "Number"; 40 }; 41 type "SHIFT+ALT" { 42 modifiers= Shift+Alt; 43 map[Shift+Alt]= Level2; 44 level_name[Level1]= "Base"; 45 level_name[Level2]= "Shift+Alt"; 46 }; 47 type "PC_CONTROL_LEVEL2" { 48 modifiers= Control; 49 map[Control]= Level2; 50 level_name[Level1]= "Base"; 51 level_name[Level2]= "Control"; 52 }; 53 type "PC_LCONTROL_LEVEL2" { 54 modifiers= LControl; 55 map[LControl]= Level2; 56 level_name[Level1]= "Base"; 57 level_name[Level2]= "LControl"; 58 }; 59 type "PC_RCONTROL_LEVEL2" { 60 modifiers= RControl; 61 map[RControl]= Level2; 62 level_name[Level1]= "Base"; 63 level_name[Level2]= "RControl"; 64 }; 65 type "PC_ALT_LEVEL2" { 66 modifiers= Alt; 67 map[Alt]= Level2; 68 level_name[Level1]= "Base"; 69 level_name[Level2]= "Alt"; 70 }; 71 type "PC_LALT_LEVEL2" { 72 modifiers= LAlt; 73 map[LAlt]= Level2; 74 level_name[Level1]= "Base"; 75 level_name[Level2]= "LAlt"; 76 }; 77 type "PC_RALT_LEVEL2" { 78 modifiers= RAlt; 79 map[RAlt]= Level2; 80 level_name[Level1]= "Base"; 81 level_name[Level2]= "RAlt"; 82 }; 83 type "CTRL+ALT" { 84 modifiers= Control+Alt; 85 map[Control+Alt]= Level2; 86 level_name[Level1]= "Base"; 87 level_name[Level2]= "Ctrl+Alt"; 88 }; 89 type "LOCAL_EIGHT_LEVEL" { 90 modifiers= Shift+Lock+Control+LevelThree; 91 map[Shift]= Level2; 92 map[Lock]= Level2; 93 map[LevelThree]= Level3; 94 map[Shift+Lock+LevelThree]= Level3; 95 map[Shift+LevelThree]= Level4; 96 map[Lock+LevelThree]= Level4; 97 map[Control]= Level5; 98 map[Shift+Lock+Control]= Level5; 99 map[Shift+Control]= Level6; 100 map[Lock+Control]= Level6; 101 map[Control+LevelThree]= Level7; 102 map[Shift+Lock+Control+LevelThree]= Level7; 103 map[Shift+Control+LevelThree]= Level8; 104 map[Lock+Control+LevelThree]= Level8; 105 level_name[Level1]= "Base"; 106 level_name[Level2]= "Shift"; 107 level_name[Level3]= "Level3"; 108 level_name[Level4]= "Shift Level3"; 109 level_name[Level5]= "Ctrl"; 110 level_name[Level6]= "Shift Ctrl"; 111 level_name[Level7]= "Level3 Ctrl"; 112 level_name[Level8]= "Shift Level3 Ctrl"; 113 }; 114 type "THREE_LEVEL" { 115 modifiers= Shift+LevelThree; 116 map[Shift]= Level2; 117 map[LevelThree]= Level3; 118 map[Shift+LevelThree]= Level3; 119 level_name[Level1]= "Base"; 120 level_name[Level2]= "Shift"; 121 level_name[Level3]= "Level3"; 122 }; 123 type "EIGHT_LEVEL" { 124 modifiers= Shift+LevelThree+LevelFive; 125 map[Shift]= Level2; 126 map[LevelThree]= Level3; 127 map[Shift+LevelThree]= Level4; 128 map[LevelFive]= Level5; 129 map[Shift+LevelFive]= Level6; 130 map[LevelThree+LevelFive]= Level7; 131 map[Shift+LevelThree+LevelFive]= Level8; 132 level_name[Level1]= "Base"; 133 level_name[Level2]= "Shift"; 134 level_name[Level3]= "Alt Base"; 135 level_name[Level4]= "Shift Alt"; 136 level_name[Level5]= "X"; 137 level_name[Level6]= "X Shift"; 138 level_name[Level7]= "X Alt Base"; 139 level_name[Level8]= "X Shift Alt"; 140 }; 141 type "EIGHT_LEVEL_ALPHABETIC" { 142 modifiers= Shift+Lock+LevelThree+LevelFive; 143 map[Shift]= Level2; 144 map[Lock]= Level2; 145 map[LevelThree]= Level3; 146 map[Shift+LevelThree]= Level4; 147 map[Lock+LevelThree]= Level4; 148 map[Shift+Lock+LevelThree]= Level3; 149 map[LevelFive]= Level5; 150 map[Shift+LevelFive]= Level6; 151 map[Lock+LevelFive]= Level6; 152 map[LevelThree+LevelFive]= Level7; 153 map[Shift+LevelThree+LevelFive]= Level8; 154 map[Lock+LevelThree+LevelFive]= Level8; 155 map[Shift+Lock+LevelThree+LevelFive]= Level7; 156 level_name[Level1]= "Base"; 157 level_name[Level2]= "Shift"; 158 level_name[Level3]= "Alt Base"; 159 level_name[Level4]= "Shift Alt"; 160 level_name[Level5]= "X"; 161 level_name[Level6]= "X Shift"; 162 level_name[Level7]= "X Alt Base"; 163 level_name[Level8]= "X Shift Alt"; 164 }; 165 type "EIGHT_LEVEL_SEMIALPHABETIC" { 166 modifiers= Shift+Lock+LevelThree+LevelFive; 167 map[Shift]= Level2; 168 map[Lock]= Level2; 169 map[LevelThree]= Level3; 170 map[Shift+LevelThree]= Level4; 171 map[Lock+LevelThree]= Level3; 172 preserve[Lock+LevelThree]= Lock; 173 map[Shift+Lock+LevelThree]= Level4; 174 preserve[Shift+Lock+LevelThree]= Lock; 175 map[LevelFive]= Level5; 176 map[Shift+LevelFive]= Level6; 177 map[Lock+LevelFive]= Level6; 178 preserve[Lock+LevelFive]= Lock; 179 map[LevelThree+LevelFive]= Level7; 180 map[Shift+LevelThree+LevelFive]= Level8; 181 map[Lock+LevelThree+LevelFive]= Level7; 182 preserve[Lock+LevelThree+LevelFive]= Lock; 183 map[Shift+Lock+LevelThree+LevelFive]= Level8; 184 preserve[Shift+Lock+LevelThree+LevelFive]= Lock; 185 map[Shift+Lock+LevelFive]= Level1; 186 preserve[Shift+Lock+LevelFive]= Lock; 187 level_name[Level1]= "Base"; 188 level_name[Level2]= "Shift"; 189 level_name[Level3]= "Alt Base"; 190 level_name[Level4]= "Shift Alt"; 191 level_name[Level5]= "X"; 192 level_name[Level6]= "X Shift"; 193 level_name[Level7]= "X Alt Base"; 194 level_name[Level8]= "X Shift Alt"; 195 }; 196 type "FOUR_LEVEL" { 197 modifiers= Shift+LevelThree; 198 map[Shift]= Level2; 199 map[LevelThree]= Level3; 200 map[Shift+LevelThree]= Level4; 201 level_name[Level1]= "Base"; 202 level_name[Level2]= "Shift"; 203 level_name[Level3]= "Alt Base"; 204 level_name[Level4]= "Shift Alt"; 205 }; 206 type "FOUR_LEVEL_ALPHABETIC" { 207 modifiers= Shift+Lock+LevelThree; 208 map[Shift]= Level2; 209 map[Lock]= Level2; 210 map[LevelThree]= Level3; 211 map[Shift+LevelThree]= Level4; 212 map[Lock+LevelThree]= Level4; 213 map[Shift+Lock+LevelThree]= Level3; 214 level_name[Level1]= "Base"; 215 level_name[Level2]= "Shift"; 216 level_name[Level3]= "Alt Base"; 217 level_name[Level4]= "Shift Alt"; 218 }; 219 type "FOUR_LEVEL_SEMIALPHABETIC" { 220 modifiers= Shift+Lock+LevelThree; 221 map[Shift]= Level2; 222 map[Lock]= Level2; 223 map[LevelThree]= Level3; 224 map[Shift+LevelThree]= Level4; 225 map[Lock+LevelThree]= Level3; 226 preserve[Lock+LevelThree]= Lock; 227 map[Shift+Lock+LevelThree]= Level4; 228 preserve[Shift+Lock+LevelThree]= Lock; 229 level_name[Level1]= "Base"; 230 level_name[Level2]= "Shift"; 231 level_name[Level3]= "Alt Base"; 232 level_name[Level4]= "Shift Alt"; 233 }; 234 type "FOUR_LEVEL_MIXED_KEYPAD" { 235 modifiers= Shift+NumLock+LevelThree; 236 map[NumLock]= Level2; 237 map[Shift]= Level2; 238 map[LevelThree]= Level3; 239 map[NumLock+LevelThree]= Level3; 240 map[Shift+LevelThree]= Level4; 241 map[Shift+NumLock+LevelThree]= Level4; 242 level_name[Level1]= "Base"; 243 level_name[Level2]= "Number"; 244 level_name[Level3]= "Alt Base"; 245 level_name[Level4]= "Shift Alt"; 246 }; 247 type "FOUR_LEVEL_X" { 248 modifiers= Shift+Control+Alt+LevelThree; 249 map[LevelThree]= Level2; 250 map[Shift+LevelThree]= Level3; 251 map[Control+Alt]= Level4; 252 level_name[Level1]= "Base"; 253 level_name[Level2]= "Alt Base"; 254 level_name[Level3]= "Shift Alt"; 255 level_name[Level4]= "Ctrl+Alt"; 256 }; 257 type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" { 258 modifiers= Shift+Lock+LevelThree; 259 map[Shift]= Level2; 260 map[Lock]= Level4; 261 preserve[Lock]= Lock; 262 map[LevelThree]= Level3; 263 map[Shift+LevelThree]= Level4; 264 map[Lock+LevelThree]= Level3; 265 preserve[Lock+LevelThree]= Lock; 266 map[Shift+Lock+LevelThree]= Level3; 267 level_name[Level1]= "Base"; 268 level_name[Level2]= "Shift"; 269 level_name[Level3]= "AltGr Base"; 270 level_name[Level4]= "Shift AltGr"; 271 }; 272 type "FOUR_LEVEL_PLUS_LOCK" { 273 modifiers= Shift+Lock+LevelThree; 274 map[Shift]= Level2; 275 map[LevelThree]= Level3; 276 map[Shift+LevelThree]= Level4; 277 map[Lock]= Level5; 278 map[Shift+Lock]= Level2; 279 map[Lock+LevelThree]= Level3; 280 map[Shift+Lock+LevelThree]= Level4; 281 level_name[Level1]= "Base"; 282 level_name[Level2]= "Shift"; 283 level_name[Level3]= "Alt Base"; 284 level_name[Level4]= "Shift Alt"; 285 level_name[Level5]= "Lock"; 286 }; 287 type "FOUR_LEVEL_KEYPAD" { 288 modifiers= Shift+NumLock+LevelThree; 289 map[Shift]= Level2; 290 map[NumLock]= Level2; 291 map[LevelThree]= Level3; 292 map[Shift+LevelThree]= Level4; 293 map[NumLock+LevelThree]= Level4; 294 map[Shift+NumLock+LevelThree]= Level3; 295 level_name[Level1]= "Base"; 296 level_name[Level2]= "Number"; 297 level_name[Level3]= "Alt Base"; 298 level_name[Level4]= "Alt Number"; 299 }; 300}; 301 302xkb_compatibility "complete" { 303 304 virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper; 305 306 interpret.useModMapMods= AnyLevel; 307 interpret.repeat= False; 308 interpret.locking= False; 309 interpret ISO_Level2_Latch+Exactly(Shift) { 310 useModMapMods=level1; 311 action= LatchMods(modifiers=Shift,clearLocks,latchToLock); 312 }; 313 interpret Shift_Lock+AnyOf(Shift+Lock) { 314 action= LockMods(modifiers=Shift); 315 }; 316 interpret Num_Lock+AnyOf(all) { 317 virtualModifier= NumLock; 318 action= LockMods(modifiers=NumLock); 319 }; 320 interpret ISO_Lock+AnyOf(all) { 321 action= ISOLock(modifiers=modMapMods,affect=all); 322 }; 323 interpret ISO_Level3_Shift+AnyOf(all) { 324 virtualModifier= LevelThree; 325 useModMapMods=level1; 326 action= SetMods(modifiers=LevelThree,clearLocks); 327 }; 328 interpret ISO_Level3_Latch+AnyOf(all) { 329 virtualModifier= LevelThree; 330 useModMapMods=level1; 331 action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock); 332 }; 333 interpret ISO_Level3_Lock+AnyOf(all) { 334 virtualModifier= LevelThree; 335 useModMapMods=level1; 336 action= LockMods(modifiers=LevelThree); 337 }; 338 interpret Alt_L+AnyOf(all) { 339 virtualModifier= Alt; 340 action= SetMods(modifiers=modMapMods,clearLocks); 341 }; 342 interpret Alt_R+AnyOf(all) { 343 virtualModifier= Alt; 344 action= SetMods(modifiers=modMapMods,clearLocks); 345 }; 346 interpret Meta_L+AnyOf(all) { 347 virtualModifier= Meta; 348 action= SetMods(modifiers=modMapMods,clearLocks); 349 }; 350 interpret Meta_R+AnyOf(all) { 351 virtualModifier= Meta; 352 action= SetMods(modifiers=modMapMods,clearLocks); 353 }; 354 interpret Super_L+AnyOf(all) { 355 virtualModifier= Super; 356 action= SetMods(modifiers=modMapMods,clearLocks); 357 }; 358 interpret Super_R+AnyOf(all) { 359 virtualModifier= Super; 360 action= SetMods(modifiers=modMapMods,clearLocks); 361 }; 362 interpret Hyper_L+AnyOf(all) { 363 virtualModifier= Hyper; 364 action= SetMods(modifiers=modMapMods,clearLocks); 365 }; 366 interpret Hyper_R+AnyOf(all) { 367 virtualModifier= Hyper; 368 action= SetMods(modifiers=modMapMods,clearLocks); 369 }; 370 interpret Scroll_Lock+AnyOf(all) { 371 virtualModifier= ScrollLock; 372 action= LockMods(modifiers=modMapMods); 373 }; 374 interpret ISO_Level5_Shift+AnyOf(all) { 375 virtualModifier= LevelFive; 376 useModMapMods=level1; 377 action= SetMods(modifiers=LevelFive,clearLocks); 378 }; 379 interpret ISO_Level5_Latch+AnyOf(all) { 380 virtualModifier= LevelFive; 381 action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock); 382 }; 383 interpret ISO_Level5_Lock+AnyOf(all) { 384 virtualModifier= LevelFive; 385 action= LockMods(modifiers=LevelFive); 386 }; 387 interpret Mode_switch+AnyOfOrNone(all) { 388 virtualModifier= AltGr; 389 useModMapMods=level1; 390 action= SetGroup(group=+1); 391 }; 392 interpret ISO_Level3_Shift+AnyOfOrNone(all) { 393 action= SetMods(modifiers=LevelThree,clearLocks); 394 }; 395 interpret ISO_Level3_Latch+AnyOfOrNone(all) { 396 action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock); 397 }; 398 interpret ISO_Level3_Lock+AnyOfOrNone(all) { 399 action= LockMods(modifiers=LevelThree); 400 }; 401 interpret ISO_Group_Latch+AnyOfOrNone(all) { 402 virtualModifier= AltGr; 403 useModMapMods=level1; 404 action= LatchGroup(group=2); 405 }; 406 interpret ISO_Next_Group+AnyOfOrNone(all) { 407 virtualModifier= AltGr; 408 useModMapMods=level1; 409 action= LockGroup(group=+1); 410 }; 411 interpret ISO_Prev_Group+AnyOfOrNone(all) { 412 virtualModifier= AltGr; 413 useModMapMods=level1; 414 action= LockGroup(group=-1); 415 }; 416 interpret ISO_First_Group+AnyOfOrNone(all) { 417 action= LockGroup(group=1); 418 }; 419 interpret ISO_Last_Group+AnyOfOrNone(all) { 420 action= LockGroup(group=2); 421 }; 422 interpret KP_1+AnyOfOrNone(all) { 423 repeat= True; 424 action= MovePtr(x=-1,y=+1); 425 }; 426 interpret KP_End+AnyOfOrNone(all) { 427 repeat= True; 428 action= MovePtr(x=-1,y=+1); 429 }; 430 interpret KP_2+AnyOfOrNone(all) { 431 repeat= True; 432 action= MovePtr(x=+0,y=+1); 433 }; 434 interpret KP_Down+AnyOfOrNone(all) { 435 repeat= True; 436 action= MovePtr(x=+0,y=+1); 437 }; 438 interpret KP_3+AnyOfOrNone(all) { 439 repeat= True; 440 action= MovePtr(x=+1,y=+1); 441 }; 442 interpret KP_Next+AnyOfOrNone(all) { 443 repeat= True; 444 action= MovePtr(x=+1,y=+1); 445 }; 446 interpret KP_4+AnyOfOrNone(all) { 447 repeat= True; 448 action= MovePtr(x=-1,y=+0); 449 }; 450 interpret KP_Left+AnyOfOrNone(all) { 451 repeat= True; 452 action= MovePtr(x=-1,y=+0); 453 }; 454 interpret KP_6+AnyOfOrNone(all) { 455 repeat= True; 456 action= MovePtr(x=+1,y=+0); 457 }; 458 interpret KP_Right+AnyOfOrNone(all) { 459 repeat= True; 460 action= MovePtr(x=+1,y=+0); 461 }; 462 interpret KP_7+AnyOfOrNone(all) { 463 repeat= True; 464 action= MovePtr(x=-1,y=-1); 465 }; 466 interpret KP_Home+AnyOfOrNone(all) { 467 repeat= True; 468 action= MovePtr(x=-1,y=-1); 469 }; 470 interpret KP_8+AnyOfOrNone(all) { 471 repeat= True; 472 action= MovePtr(x=+0,y=-1); 473 }; 474 interpret KP_Up+AnyOfOrNone(all) { 475 repeat= True; 476 action= MovePtr(x=+0,y=-1); 477 }; 478 interpret KP_9+AnyOfOrNone(all) { 479 repeat= True; 480 action= MovePtr(x=+1,y=-1); 481 }; 482 interpret KP_Prior+AnyOfOrNone(all) { 483 repeat= True; 484 action= MovePtr(x=+1,y=-1); 485 }; 486 interpret KP_5+AnyOfOrNone(all) { 487 repeat= True; 488 action= PtrBtn(button=default); 489 }; 490 interpret KP_Begin+AnyOfOrNone(all) { 491 repeat= True; 492 action= PtrBtn(button=default); 493 }; 494 interpret KP_F2+AnyOfOrNone(all) { 495 repeat= True; 496 action= SetPtrDflt(affect=button,button=1); 497 }; 498 interpret KP_Divide+AnyOfOrNone(all) { 499 repeat= True; 500 action= SetPtrDflt(affect=button,button=1); 501 }; 502 interpret KP_F3+AnyOfOrNone(all) { 503 repeat= True; 504 action= SetPtrDflt(affect=button,button=2); 505 }; 506 interpret KP_Multiply+AnyOfOrNone(all) { 507 repeat= True; 508 action= SetPtrDflt(affect=button,button=2); 509 }; 510 interpret KP_F4+AnyOfOrNone(all) { 511 repeat= True; 512 action= SetPtrDflt(affect=button,button=3); 513 }; 514 interpret KP_Subtract+AnyOfOrNone(all) { 515 repeat= True; 516 action= SetPtrDflt(affect=button,button=3); 517 }; 518 interpret KP_Separator+AnyOfOrNone(all) { 519 repeat= True; 520 action= PtrBtn(button=default,count=2); 521 }; 522 interpret KP_Add+AnyOfOrNone(all) { 523 repeat= True; 524 action= PtrBtn(button=default,count=2); 525 }; 526 interpret KP_0+AnyOfOrNone(all) { 527 repeat= True; 528 action= LockPtrBtn(button=default,affect=lock); 529 }; 530 interpret KP_Insert+AnyOfOrNone(all) { 531 repeat= True; 532 action= LockPtrBtn(button=default,affect=lock); 533 }; 534 interpret KP_Decimal+AnyOfOrNone(all) { 535 repeat= True; 536 action= LockPtrBtn(button=default,affect=unlock); 537 }; 538 interpret KP_Delete+AnyOfOrNone(all) { 539 repeat= True; 540 action= LockPtrBtn(button=default,affect=unlock); 541 }; 542 interpret F25+AnyOfOrNone(all) { 543 repeat= True; 544 action= SetPtrDflt(affect=button,button=1); 545 }; 546 interpret F26+AnyOfOrNone(all) { 547 repeat= True; 548 action= SetPtrDflt(affect=button,button=2); 549 }; 550 interpret F27+AnyOfOrNone(all) { 551 repeat= True; 552 action= MovePtr(x=-1,y=-1); 553 }; 554 interpret F29+AnyOfOrNone(all) { 555 repeat= True; 556 action= MovePtr(x=+1,y=-1); 557 }; 558 interpret F31+AnyOfOrNone(all) { 559 repeat= True; 560 action= PtrBtn(button=default); 561 }; 562 interpret F33+AnyOfOrNone(all) { 563 repeat= True; 564 action= MovePtr(x=-1,y=+1); 565 }; 566 interpret F35+AnyOfOrNone(all) { 567 repeat= True; 568 action= MovePtr(x=+1,y=+1); 569 }; 570 interpret Pointer_Button_Dflt+AnyOfOrNone(all) { 571 action= PtrBtn(button=default); 572 }; 573 interpret Pointer_Button1+AnyOfOrNone(all) { 574 action= PtrBtn(button=1); 575 }; 576 interpret Pointer_Button2+AnyOfOrNone(all) { 577 action= PtrBtn(button=2); 578 }; 579 interpret Pointer_Button3+AnyOfOrNone(all) { 580 action= PtrBtn(button=3); 581 }; 582 interpret Pointer_DblClick_Dflt+AnyOfOrNone(all) { 583 action= PtrBtn(button=default,count=2); 584 }; 585 interpret Pointer_DblClick1+AnyOfOrNone(all) { 586 action= PtrBtn(button=1,count=2); 587 }; 588 interpret Pointer_DblClick2+AnyOfOrNone(all) { 589 action= PtrBtn(button=2,count=2); 590 }; 591 interpret Pointer_DblClick3+AnyOfOrNone(all) { 592 action= PtrBtn(button=3,count=2); 593 }; 594 interpret Pointer_Drag_Dflt+AnyOfOrNone(all) { 595 action= LockPtrBtn(button=default,affect=both); 596 }; 597 interpret Pointer_Drag1+AnyOfOrNone(all) { 598 action= LockPtrBtn(button=1,affect=both); 599 }; 600 interpret Pointer_Drag2+AnyOfOrNone(all) { 601 action= LockPtrBtn(button=2,affect=both); 602 }; 603 interpret Pointer_Drag3+AnyOfOrNone(all) { 604 action= LockPtrBtn(button=3,affect=both); 605 }; 606 interpret Pointer_EnableKeys+AnyOfOrNone(all) { 607 action= LockControls(controls=MouseKeys); 608 }; 609 interpret Pointer_Accelerate+AnyOfOrNone(all) { 610 action= LockControls(controls=MouseKeysAccel); 611 }; 612 interpret Pointer_DfltBtnNext+AnyOfOrNone(all) { 613 action= SetPtrDflt(affect=button,button=+1); 614 }; 615 interpret Pointer_DfltBtnPrev+AnyOfOrNone(all) { 616 action= SetPtrDflt(affect=button,button=-1); 617 }; 618 interpret AccessX_Enable+AnyOfOrNone(all) { 619 action= LockControls(controls=AccessXKeys); 620 }; 621 interpret AccessX_Feedback_Enable+AnyOfOrNone(all) { 622 action= LockControls(controls=AccessXFeedback); 623 }; 624 interpret RepeatKeys_Enable+AnyOfOrNone(all) { 625 action= LockControls(controls=RepeatKeys); 626 }; 627 interpret SlowKeys_Enable+AnyOfOrNone(all) { 628 action= LockControls(controls=SlowKeys); 629 }; 630 interpret BounceKeys_Enable+AnyOfOrNone(all) { 631 action= LockControls(controls=BounceKeys); 632 }; 633 interpret StickyKeys_Enable+AnyOfOrNone(all) { 634 action= LockControls(controls=StickyKeys); 635 }; 636 interpret MouseKeys_Enable+AnyOfOrNone(all) { 637 action= LockControls(controls=MouseKeys); 638 }; 639 interpret MouseKeys_Accel_Enable+AnyOfOrNone(all) { 640 action= LockControls(controls=MouseKeysAccel); 641 }; 642 interpret Overlay1_Enable+AnyOfOrNone(all) { 643 action= LockControls(controls=Overlay1); 644 }; 645 interpret Overlay2_Enable+AnyOfOrNone(all) { 646 action= LockControls(controls=Overlay2); 647 }; 648 interpret AudibleBell_Enable+AnyOfOrNone(all) { 649 action= LockControls(controls=AudibleBell); 650 }; 651 interpret Terminate_Server+AnyOfOrNone(all) { 652 action= Terminate(); 653 }; 654 interpret Alt_L+AnyOfOrNone(all) { 655 action= SetMods(modifiers=Alt,clearLocks); 656 }; 657 interpret Alt_R+AnyOfOrNone(all) { 658 action= SetMods(modifiers=Alt,clearLocks); 659 }; 660 interpret Meta_L+AnyOfOrNone(all) { 661 action= SetMods(modifiers=Meta,clearLocks); 662 }; 663 interpret Meta_R+AnyOfOrNone(all) { 664 action= SetMods(modifiers=Meta,clearLocks); 665 }; 666 interpret Super_L+AnyOfOrNone(all) { 667 action= SetMods(modifiers=Super,clearLocks); 668 }; 669 interpret Super_R+AnyOfOrNone(all) { 670 action= SetMods(modifiers=Super,clearLocks); 671 }; 672 interpret Hyper_L+AnyOfOrNone(all) { 673 action= SetMods(modifiers=Hyper,clearLocks); 674 }; 675 interpret Hyper_R+AnyOfOrNone(all) { 676 action= SetMods(modifiers=Hyper,clearLocks); 677 }; 678 interpret XF86Switch_VT_1+AnyOfOrNone(all) { 679 repeat= True; 680 action= SwitchScreen(screen=1,!same); 681 }; 682 interpret XF86Switch_VT_2+AnyOfOrNone(all) { 683 repeat= True; 684 action= SwitchScreen(screen=2,!same); 685 }; 686 interpret XF86Switch_VT_3+AnyOfOrNone(all) { 687 repeat= True; 688 action= SwitchScreen(screen=3,!same); 689 }; 690 interpret XF86Switch_VT_4+AnyOfOrNone(all) { 691 repeat= True; 692 action= SwitchScreen(screen=4,!same); 693 }; 694 interpret XF86Switch_VT_5+AnyOfOrNone(all) { 695 repeat= True; 696 action= SwitchScreen(screen=5,!same); 697 }; 698 interpret XF86Switch_VT_6+AnyOfOrNone(all) { 699 repeat= True; 700 action= SwitchScreen(screen=6,!same); 701 }; 702 interpret XF86Switch_VT_7+AnyOfOrNone(all) { 703 repeat= True; 704 action= SwitchScreen(screen=7,!same); 705 }; 706 interpret XF86Switch_VT_8+AnyOfOrNone(all) { 707 repeat= True; 708 action= SwitchScreen(screen=8,!same); 709 }; 710 interpret XF86Switch_VT_9+AnyOfOrNone(all) { 711 repeat= True; 712 action= SwitchScreen(screen=9,!same); 713 }; 714 interpret XF86Switch_VT_10+AnyOfOrNone(all) { 715 repeat= True; 716 action= SwitchScreen(screen=10,!same); 717 }; 718 interpret XF86Switch_VT_11+AnyOfOrNone(all) { 719 repeat= True; 720 action= SwitchScreen(screen=11,!same); 721 }; 722 interpret XF86Switch_VT_12+AnyOfOrNone(all) { 723 repeat= True; 724 action= SwitchScreen(screen=12,!same); 725 }; 726 interpret XF86Ungrab+AnyOfOrNone(all) { 727 repeat= True; 728 action= Private(type=0x86,data[0]=0x55,data[1]=0x6e,data[2]=0x67,data[3]=0x72,data[4]=0x61,data[5]=0x62,data[6]=0x00); 729 }; 730 interpret XF86ClearGrab+AnyOfOrNone(all) { 731 repeat= True; 732 action= Private(type=0x86,data[0]=0x43,data[1]=0x6c,data[2]=0x73,data[3]=0x47,data[4]=0x72,data[5]=0x62,data[6]=0x00); 733 }; 734 interpret XF86Next_VMode+AnyOfOrNone(all) { 735 repeat= True; 736 action= Private(type=0x86,data[0]=0x2b,data[1]=0x56,data[2]=0x4d,data[3]=0x6f,data[4]=0x64,data[5]=0x65,data[6]=0x00); 737 }; 738 interpret XF86Prev_VMode+AnyOfOrNone(all) { 739 repeat= True; 740 action= Private(type=0x86,data[0]=0x2d,data[1]=0x56,data[2]=0x4d,data[3]=0x6f,data[4]=0x64,data[5]=0x65,data[6]=0x00); 741 }; 742 interpret ISO_Level5_Shift+AnyOfOrNone(all) { 743 action= SetMods(modifiers=LevelFive,clearLocks); 744 }; 745 interpret ISO_Level5_Latch+AnyOfOrNone(all) { 746 action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock); 747 }; 748 interpret ISO_Level5_Lock+AnyOfOrNone(all) { 749 action= LockMods(modifiers=LevelFive); 750 }; 751 interpret Any+Exactly(Lock) { 752 action= LockMods(modifiers=Lock); 753 }; 754 interpret Any+AnyOf(all) { 755 action= SetMods(modifiers=modMapMods,clearLocks); 756 }; 757 group 2 = AltGr; 758 group 3 = AltGr; 759 group 4 = AltGr; 760 indicator "Caps Lock" { 761 !allowExplicit; 762 whichModState= locked; 763 modifiers= Lock; 764 }; 765 indicator "Num Lock" { 766 !allowExplicit; 767 whichModState= locked; 768 modifiers= NumLock; 769 }; 770 indicator "Shift Lock" { 771 !allowExplicit; 772 whichModState= locked; 773 modifiers= Shift; 774 }; 775 indicator "Group 2" { 776 !allowExplicit; 777 groups= 0xfe; 778 }; 779 indicator "Mouse Keys" { 780 indicatorDrivesKeyboard; 781 controls= mouseKeys; 782 }; 783 indicator "Scroll Lock" { 784 whichModState= locked; 785 modifiers= ScrollLock; 786 }; 787}; 788 789xkb_symbols "unknown" { 790 791 key <> { 792 type= "ALPHABETIC", 793 symbols[Group1]= [ a, A ], 794 symbols[Group2]= [ aring, Aring ] 795 }; 796 modifier_map Mod2 { <> }; 797}; 798 799xkb_geometry "pc(pc104)" { 800 801 width= 470; 802 height= 180; 803 804 baseColor= "white"; 805 labelColor= "black"; 806 xfont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1"; 807 description= "Generic 104"; 808 809 shape "NORM" { 810 corner= 1, 811 { [ 18, 18 ] }, 812 { [ 2, 1 ], [ 16, 16 ] } 813 }; 814 shape "BKSP" { 815 corner= 1, 816 { [ 38, 18 ] }, 817 { [ 2, 1 ], [ 36, 16 ] } 818 }; 819 shape "TABK" { 820 corner= 1, 821 { [ 28, 18 ] }, 822 { [ 2, 1 ], [ 26, 16 ] } 823 }; 824 shape "BKSL" { 825 corner= 1, 826 { [ 28, 18 ] }, 827 { [ 2, 1 ], [ 26, 16 ] } 828 }; 829 shape "RTRN" { 830 corner= 1, 831 { [ 42, 18 ] }, 832 { [ 2, 1 ], [ 40, 16 ] } 833 }; 834 shape "CAPS" { 835 corner= 1, 836 { [ 33, 18 ] }, 837 { [ 2, 1 ], [ 31, 16 ] } 838 }; 839 shape "LFSH" { 840 corner= 1, 841 { [ 42, 18 ] }, 842 { [ 2, 1 ], [ 40, 16 ] } 843 }; 844 shape "RTSH" { 845 corner= 1, 846 { [ 52, 18 ] }, 847 { [ 2, 1 ], [ 50, 16 ] } 848 }; 849 shape "MODK" { 850 corner= 1, 851 { [ 27, 18 ] }, 852 { [ 2, 1 ], [ 25, 16 ] } 853 }; 854 shape "SMOD" { 855 corner= 1, 856 { [ 23, 18 ] }, 857 { [ 2, 1 ], [ 21, 16 ] } 858 }; 859 shape "SPCE" { 860 corner= 1, 861 { [ 113, 18 ] }, 862 { [ 2, 1 ], [ 111, 16 ] } 863 }; 864 shape "KP0" { 865 corner= 1, 866 { [ 37, 18 ] }, 867 { [ 2, 1 ], [ 35, 16 ] } 868 }; 869 shape "KPAD" { 870 corner= 1, 871 { [ 18, 37 ] }, 872 { [ 2, 1 ], [ 16, 35 ] } 873 }; 874 shape "LEDS" { { [ 75, 20 ] } }; 875 shape "LED" { { [ 5, 1 ] } }; 876 section "Function" { 877 key.color= "grey20"; 878 priority= 7; 879 top= 22; 880 left= 19; 881 width= 351; 882 height= 19; 883 row { 884 top= 1; 885 left= 1; 886 keys { 887 { <ESC>, "NORM", 1 }, 888 { <FK01>, "NORM", 20, color="white" }, 889 { <FK02>, "NORM", 1, color="white" }, 890 { <FK03>, "NORM", 1, color="white" }, 891 { <FK04>, "NORM", 1, color="white" }, 892 { <FK05>, "NORM", 11, color="white" }, 893 { <FK06>, "NORM", 1, color="white" }, 894 { <FK07>, "NORM", 1, color="white" }, 895 { <FK08>, "NORM", 1, color="white" }, 896 { <FK09>, "NORM", 11, color="white" }, 897 { <FK10>, "NORM", 1, color="white" }, 898 { <FK11>, "NORM", 1, color="white" }, 899 { <FK12>, "NORM", 1, color="white" }, 900 { <PRSC>, "NORM", 8, color="white" }, 901 { <SCLK>, "NORM", 1, color="white" }, 902 { <PAUS>, "NORM", 1, color="white" } 903 }; 904 }; 905 }; // End of "Function" section 906 907 section "Alpha" { 908 key.color= "white"; 909 priority= 8; 910 top= 61; 911 left= 19; 912 width= 287; 913 height= 95; 914 row { 915 top= 1; 916 left= 1; 917 keys { 918 { <TLDE>, "NORM", 1 }, { <AE01>, "NORM", 1 }, 919 { <AE02>, "NORM", 1 }, { <AE03>, "NORM", 1 }, 920 { <AE04>, "NORM", 1 }, { <AE05>, "NORM", 1 }, 921 { <AE06>, "NORM", 1 }, { <AE07>, "NORM", 1 }, 922 { <AE08>, "NORM", 1 }, { <AE09>, "NORM", 1 }, 923 { <AE10>, "NORM", 1 }, { <AE11>, "NORM", 1 }, 924 { <AE12>, "NORM", 1 }, 925 { <BKSP>, "BKSP", 1, color="grey20" } 926 }; 927 }; 928 row { 929 top= 20; 930 left= 1; 931 keys { 932 { <TAB>, "TABK", 1, color="grey20" }, 933 { <AD01>, "NORM", 1 }, { <AD02>, "NORM", 1 }, 934 { <AD03>, "NORM", 1 }, { <AD04>, "NORM", 1 }, 935 { <AD05>, "NORM", 1 }, { <AD06>, "NORM", 1 }, 936 { <AD07>, "NORM", 1 }, { <AD08>, "NORM", 1 }, 937 { <AD09>, "NORM", 1 }, { <AD10>, "NORM", 1 }, 938 { <AD11>, "NORM", 1 }, { <AD12>, "NORM", 1 }, 939 { <BKSL>, "BKSL", 1 } 940 }; 941 }; 942 row { 943 top= 39; 944 left= 1; 945 keys { 946 { <CAPS>, "CAPS", 1, color="grey20" }, 947 { <AC01>, "NORM", 1 }, { <AC02>, "NORM", 1 }, 948 { <AC03>, "NORM", 1 }, { <AC04>, "NORM", 1 }, 949 { <AC05>, "NORM", 1 }, { <AC06>, "NORM", 1 }, 950 { <AC07>, "NORM", 1 }, { <AC08>, "NORM", 1 }, 951 { <AC09>, "NORM", 1 }, { <AC10>, "NORM", 1 }, 952 { <AC11>, "NORM", 1 }, 953 { <RTRN>, "RTRN", 1, color="grey20" } 954 }; 955 }; 956 row { 957 top= 58; 958 left= 1; 959 keys { 960 { <LFSH>, "LFSH", 1, color="grey20" }, 961 { <AB01>, "NORM", 1 }, { <AB02>, "NORM", 1 }, 962 { <AB03>, "NORM", 1 }, { <AB04>, "NORM", 1 }, 963 { <AB05>, "NORM", 1 }, { <AB06>, "NORM", 1 }, 964 { <AB07>, "NORM", 1 }, { <AB08>, "NORM", 1 }, 965 { <AB09>, "NORM", 1 }, { <AB10>, "NORM", 1 }, 966 { <RTSH>, "RTSH", 1, color="grey20" } 967 }; 968 }; 969 row { 970 top= 77; 971 left= 1; 972 keys { 973 { <LCTL>, "MODK", 1, color="grey20" }, 974 { <LWIN>, "SMOD", 1, color="grey20" }, 975 { <LALT>, "SMOD", 1, color="grey20" }, 976 { <SPCE>, "SPCE", 1 }, 977 { <RALT>, "SMOD", 1, color="grey20" }, 978 { <RWIN>, "SMOD", 1, color="grey20" }, 979 { <MENU>, "SMOD", 1, color="grey20" }, 980 { <RCTL>, "SMOD", 1, color="grey20" } 981 }; 982 }; 983 }; // End of "Alpha" section 984 985 section "Editing" { 986 key.color= "grey20"; 987 priority= 9; 988 top= 61; 989 left= 312; 990 width= 58; 991 height= 95; 992 row { 993 top= 1; 994 left= 1; 995 keys { 996 { <INS>, "NORM", 1 }, { <HOME>, "NORM", 1 }, 997 { <PGUP>, "NORM", 1 } 998 }; 999 }; 1000 row { 1001 top= 20; 1002 left= 1; 1003 keys { 1004 { <DELE>, "NORM", 1 }, { <END>, "NORM", 1 }, 1005 { <PGDN>, "NORM", 1 } 1006 }; 1007 }; 1008 row { 1009 top= 58; 1010 left= 20; 1011 keys { 1012 { <UP>, "NORM", 1 } 1013 }; 1014 }; 1015 row { 1016 top= 77; 1017 left= 1; 1018 keys { 1019 { <LEFT>, "NORM", 1 }, { <DOWN>, "NORM", 1 }, 1020 { <RGHT>, "NORM", 1 } 1021 }; 1022 }; 1023 }; // End of "Editing" section 1024 1025 section "Keypad" { 1026 key.color= "grey20"; 1027 priority= 10; 1028 top= 61; 1029 left= 376; 1030 width= 77; 1031 height= 95; 1032 row { 1033 top= 1; 1034 left= 1; 1035 keys { 1036 { <NMLK>, "NORM", 1 }, { <KPDV>, "NORM", 1 }, 1037 { <KPMU>, "NORM", 1 }, { <KPSU>, "NORM", 1 } 1038 }; 1039 }; 1040 row { 1041 top= 20; 1042 left= 1; 1043 keys { 1044 { <KP7>, "NORM", 1, color="white" }, 1045 { <KP8>, "NORM", 1, color="white" }, 1046 { <KP9>, "NORM", 1, color="white" }, 1047 { <KPAD>, "KPAD", 1 } 1048 }; 1049 }; 1050 row { 1051 top= 39; 1052 left= 1; 1053 keys { 1054 { <KP4>, "NORM", 1, color="white" }, 1055 { <KP5>, "NORM", 1, color="white" }, 1056 { <KP6>, "NORM", 1, color="white" } 1057 }; 1058 }; 1059 row { 1060 top= 58; 1061 left= 1; 1062 keys { 1063 { <KP1>, "NORM", 1, color="white" }, 1064 { <KP2>, "NORM", 1, color="white" }, 1065 { <KP3>, "NORM", 1, color="white" }, 1066 { <KPEN>, "KPAD", 1 } 1067 }; 1068 }; 1069 row { 1070 top= 77; 1071 left= 1; 1072 keys { 1073 { <KP0>, "KP0", 1, color="white" }, 1074 { <KPDL>, "NORM", 1, color="white" } 1075 }; 1076 }; 1077 }; // End of "Keypad" section 1078 1079 solid "LedPanel" { 1080 top= 22; 1081 left= 377; 1082 priority= 0; 1083 color= "grey10"; 1084 shape= "LEDS"; 1085 }; 1086 indicator "Num Lock" { 1087 top= 37; 1088 left= 382; 1089 priority= 1; 1090 onColor= "green"; 1091 offColor= "green30"; 1092 shape= "LED"; 1093 }; 1094 indicator "Caps Lock" { 1095 top= 37; 1096 left= 407; 1097 priority= 2; 1098 onColor= "green"; 1099 offColor= "green30"; 1100 shape= "LED"; 1101 }; 1102 indicator "Scroll Lock" { 1103 top= 37; 1104 left= 433; 1105 priority= 3; 1106 onColor= "green"; 1107 offColor= "green30"; 1108 shape= "LED"; 1109 }; 1110 text "NumLockLabel" { 1111 top= 25; 1112 left= 378; 1113 priority= 4; 1114 width= 19.8; 1115 height= 10; 1116 XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1"; 1117 text= "Num\nLock"; 1118 }; 1119 text "CapsLockLabel" { 1120 top= 25; 1121 left= 403; 1122 priority= 5; 1123 width= 26.4; 1124 height= 10; 1125 XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1"; 1126 text= "Caps\nLock"; 1127 }; 1128 text "ScrollLockLabel" { 1129 top= 25; 1130 left= 428; 1131 priority= 6; 1132 width= 39.6; 1133 height= 10; 1134 XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1"; 1135 text= "Scroll\nLock"; 1136 }; 1137}; 1138 1139}; 1140