All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@git.madduck.net.
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
2 xkb_keycodes "xfree86+aliases(qwerty)" {
252 indicator 1 = "Caps Lock";
253 indicator 2 = "Num Lock";
254 indicator 3 = "Scroll Lock";
255 virtual indicator 4 = "Shift Lock";
256 virtual indicator 5 = "Group 2";
257 virtual indicator 6 = "Mouse Keys";
258 alias <AE00> = <TLDE>;
259 alias <HZTG> = <TLDE>;
260 alias <HNGL> = <FK16>;
261 alias <HJCV> = <FK17>;
262 alias <I01> = <XFER>;
263 alias <I03> = <NFER>;
264 alias <I05> = <AE13>;
265 alias <K5C> = <KPEQ>;
266 alias <K70> = <HKTG>;
267 alias <K71> = <KANA>;
268 alias <K72> = <EISU>;
269 alias <K73> = <AB11>;
270 alias <LMTA> = <LWIN>;
271 alias <RMTA> = <RWIN>;
272 alias <COMP> = <MENU>;
273 alias <POWR> = <I0C>;
274 alias <MUTE> = <I0D>;
275 alias <VOL-> = <I0E>;
276 alias <VOL+> = <I0F>;
277 alias <HELP> = <I10>;
278 alias <STOP> = <I11>;
279 alias <AGAI> = <I12>;
280 alias <PROP> = <I13>;
281 alias <UNDO> = <I14>;
282 alias <FRNT> = <I15>;
283 alias <COPY> = <I16>;
284 alias <OPEN> = <I17>;
285 alias <PAST> = <I18>;
286 alias <FIND> = <I19>;
288 alias <ALGR> = <RALT>;
289 alias <LatQ> = <AD01>;
290 alias <LatW> = <AD02>;
291 alias <LatE> = <AD03>;
292 alias <LatR> = <AD04>;
293 alias <LatT> = <AD05>;
294 alias <LatY> = <AD06>;
295 alias <LatU> = <AD07>;
296 alias <LatI> = <AD08>;
297 alias <LatO> = <AD09>;
298 alias <LatP> = <AD10>;
299 alias <LatA> = <AC01>;
300 alias <LatS> = <AC02>;
301 alias <LatD> = <AC03>;
302 alias <LatF> = <AC04>;
303 alias <LatG> = <AC05>;
304 alias <LatH> = <AC06>;
305 alias <LatJ> = <AC07>;
306 alias <LatK> = <AC08>;
307 alias <LatL> = <AC09>;
308 alias <LatZ> = <AB01>;
309 alias <LatX> = <AB02>;
310 alias <LatC> = <AB03>;
311 alias <LatV> = <AB04>;
312 alias <LatB> = <AB05>;
313 alias <LatN> = <AB06>;
314 alias <LatM> = <AB07>;
317 xkb_types "complete" {
319 virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
323 level_name[Level1]= "Any";
328 level_name[Level1]= "Base";
329 level_name[Level2]= "Shift";
332 modifiers= Shift+Lock;
335 level_name[Level1]= "Base";
336 level_name[Level2]= "Caps";
339 modifiers= Shift+NumLock;
341 map[NumLock]= Level2;
342 level_name[Level1]= "Base";
343 level_name[Level2]= "Number";
346 modifiers= Shift+Alt;
347 map[Shift+Alt]= Level2;
348 level_name[Level1]= "Base";
349 level_name[Level2]= "Shift+Alt";
351 type "PC_CONTROL_LEVEL2" {
353 map[Control]= Level2;
354 level_name[Level1]= "Base";
355 level_name[Level2]= "Control";
357 type "PC_LCONTROL_LEVEL2" {
359 map[LControl]= Level2;
360 level_name[Level1]= "Base";
361 level_name[Level2]= "LControl";
363 type "PC_RCONTROL_LEVEL2" {
365 map[RControl]= Level2;
366 level_name[Level1]= "Base";
367 level_name[Level2]= "RControl";
369 type "PC_ALT_LEVEL2" {
372 level_name[Level1]= "Base";
373 level_name[Level2]= "Alt";
375 type "PC_LALT_LEVEL2" {
378 level_name[Level1]= "Base";
379 level_name[Level2]= "LAlt";
381 type "PC_RALT_LEVEL2" {
384 level_name[Level1]= "Base";
385 level_name[Level2]= "RAlt";
388 modifiers= Control+Alt;
389 map[Control+Alt]= Level2;
390 level_name[Level1]= "Base";
391 level_name[Level2]= "Ctrl+Alt";
393 type "LOCAL_EIGHT_LEVEL" {
394 modifiers= Shift+Lock+Control+LevelThree;
395 map[Shift+Lock]= Level1;
398 map[LevelThree]= Level3;
399 map[Shift+Lock+LevelThree]= Level3;
400 map[Shift+LevelThree]= Level4;
401 map[Lock+LevelThree]= Level4;
402 map[Control]= Level5;
403 map[Shift+Lock+Control]= Level5;
404 map[Shift+Control]= Level6;
405 map[Lock+Control]= Level6;
406 map[Control+LevelThree]= Level7;
407 map[Shift+Lock+Control+LevelThree]= Level7;
408 map[Shift+Control+LevelThree]= Level8;
409 map[Lock+Control+LevelThree]= Level8;
410 level_name[Level1]= "Base";
411 level_name[Level2]= "Shift";
412 level_name[Level3]= "Level3";
413 level_name[Level4]= "Shift Level3";
414 level_name[Level5]= "Ctrl";
415 level_name[Level6]= "Shift Ctrl";
416 level_name[Level7]= "Level3 Ctrl";
417 level_name[Level8]= "Shift Level3 Ctrl";
420 modifiers= Shift+LevelThree;
422 map[LevelThree]= Level3;
423 map[Shift+LevelThree]= Level3;
424 level_name[Level1]= "Base";
425 level_name[Level2]= "Shift";
426 level_name[Level3]= "Level3";
429 modifiers= Shift+LevelThree+LevelFive;
431 map[LevelThree]= Level3;
432 map[Shift+LevelThree]= Level4;
433 map[LevelFive]= Level5;
434 map[Shift+LevelFive]= Level6;
435 map[LevelThree+LevelFive]= Level7;
436 map[Shift+LevelThree+LevelFive]= Level8;
437 level_name[Level1]= "Base";
438 level_name[Level2]= "Shift";
439 level_name[Level3]= "Alt Base";
440 level_name[Level4]= "Shift Alt";
441 level_name[Level5]= "X";
442 level_name[Level6]= "X Shift";
443 level_name[Level7]= "X Alt Base";
444 level_name[Level8]= "X Shift Alt";
446 type "EIGHT_LEVEL_ALPHABETIC" {
447 modifiers= Shift+Lock+LevelThree+LevelFive;
450 map[LevelThree]= Level3;
451 map[Shift+LevelThree]= Level4;
452 map[Lock+LevelThree]= Level4;
453 map[Shift+Lock+LevelThree]= Level3;
454 map[LevelFive]= Level5;
455 map[Shift+LevelFive]= Level6;
456 map[Lock+LevelFive]= Level6;
457 map[LevelThree+LevelFive]= Level7;
458 map[Shift+LevelThree+LevelFive]= Level8;
459 map[Lock+LevelThree+LevelFive]= Level8;
460 map[Shift+Lock+LevelThree+LevelFive]= Level7;
461 level_name[Level1]= "Base";
462 level_name[Level2]= "Shift";
463 level_name[Level3]= "Alt Base";
464 level_name[Level4]= "Shift Alt";
465 level_name[Level5]= "X";
466 level_name[Level6]= "X Shift";
467 level_name[Level7]= "X Alt Base";
468 level_name[Level8]= "X Shift Alt";
470 type "EIGHT_LEVEL_SEMIALPHABETIC" {
471 modifiers= Shift+Lock+LevelThree+LevelFive;
474 map[LevelThree]= Level3;
475 map[Shift+LevelThree]= Level4;
476 map[Lock+LevelThree]= Level3;
477 preserve[Lock+LevelThree]= Lock;
478 map[Shift+Lock+LevelThree]= Level4;
479 preserve[Shift+Lock+LevelThree]= Lock;
480 map[LevelFive]= Level5;
481 map[Shift+LevelFive]= Level6;
482 map[Lock+LevelFive]= Level6;
483 preserve[Lock+LevelFive]= Lock;
484 map[LevelThree+LevelFive]= Level7;
485 map[Shift+LevelThree+LevelFive]= Level8;
486 map[Lock+LevelThree+LevelFive]= Level7;
487 preserve[Lock+LevelThree+LevelFive]= Lock;
488 map[Shift+Lock+LevelThree+LevelFive]= Level8;
489 preserve[Shift+Lock+LevelThree+LevelFive]= Lock;
490 map[Shift+Lock+LevelFive]= Level1;
491 preserve[Shift+Lock+LevelFive]= Lock;
492 level_name[Level1]= "Base";
493 level_name[Level2]= "Shift";
494 level_name[Level3]= "Alt Base";
495 level_name[Level4]= "Shift Alt";
496 level_name[Level5]= "X";
497 level_name[Level6]= "X Shift";
498 level_name[Level7]= "X Alt Base";
499 level_name[Level8]= "X Shift Alt";
502 modifiers= Shift+LevelThree;
504 map[LevelThree]= Level3;
505 map[Shift+LevelThree]= Level4;
506 level_name[Level1]= "Base";
507 level_name[Level2]= "Shift";
508 level_name[Level3]= "Alt Base";
509 level_name[Level4]= "Shift Alt";
511 type "FOUR_LEVEL_ALPHABETIC" {
512 modifiers= Shift+Lock+LevelThree;
515 map[LevelThree]= Level3;
516 map[Shift+LevelThree]= Level4;
517 map[Lock+LevelThree]= Level4;
518 map[Shift+Lock+LevelThree]= Level3;
519 level_name[Level1]= "Base";
520 level_name[Level2]= "Shift";
521 level_name[Level3]= "Alt Base";
522 level_name[Level4]= "Shift Alt";
524 type "FOUR_LEVEL_SEMIALPHABETIC" {
525 modifiers= Shift+Lock+LevelThree;
528 map[LevelThree]= Level3;
529 map[Shift+LevelThree]= Level4;
530 map[Lock+LevelThree]= Level3;
531 preserve[Lock+LevelThree]= Lock;
532 map[Shift+Lock+LevelThree]= Level4;
533 preserve[Shift+Lock+LevelThree]= Lock;
534 level_name[Level1]= "Base";
535 level_name[Level2]= "Shift";
536 level_name[Level3]= "Alt Base";
537 level_name[Level4]= "Shift Alt";
539 type "FOUR_LEVEL_MIXED_KEYPAD" {
540 modifiers= Shift+NumLock+LevelThree;
541 map[Shift+NumLock]= Level1;
542 map[NumLock]= Level2;
544 map[LevelThree]= Level3;
545 map[NumLock+LevelThree]= Level3;
546 map[Shift+LevelThree]= Level4;
547 map[Shift+NumLock+LevelThree]= Level4;
548 level_name[Level1]= "Base";
549 level_name[Level2]= "Number";
550 level_name[Level3]= "Alt Base";
551 level_name[Level4]= "Shift Alt";
553 type "FOUR_LEVEL_X" {
554 modifiers= Shift+Control+Alt+LevelThree;
555 map[LevelThree]= Level2;
556 map[Shift+LevelThree]= Level3;
557 map[Control+Alt]= Level4;
558 level_name[Level1]= "Base";
559 level_name[Level2]= "Alt Base";
560 level_name[Level3]= "Shift Alt";
561 level_name[Level4]= "Ctrl+Alt";
563 type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" {
564 modifiers= Shift+Lock+LevelThree;
567 preserve[Lock]= Lock;
568 map[LevelThree]= Level3;
569 map[Shift+LevelThree]= Level4;
570 map[Lock+LevelThree]= Level3;
571 preserve[Lock+LevelThree]= Lock;
572 map[Shift+Lock+LevelThree]= Level3;
573 level_name[Level1]= "Base";
574 level_name[Level2]= "Shift";
575 level_name[Level3]= "AltGr Base";
576 level_name[Level4]= "Shift AltGr";
578 type "FOUR_LEVEL_PLUS_LOCK" {
579 modifiers= Shift+Lock+LevelThree;
581 map[LevelThree]= Level3;
582 map[Shift+LevelThree]= Level4;
584 map[Shift+Lock]= Level2;
585 map[Lock+LevelThree]= Level3;
586 map[Shift+Lock+LevelThree]= Level4;
587 level_name[Level1]= "Base";
588 level_name[Level2]= "Shift";
589 level_name[Level3]= "Alt Base";
590 level_name[Level4]= "Shift Alt";
591 level_name[Level5]= "Lock";
593 type "FOUR_LEVEL_KEYPAD" {
594 modifiers= Shift+NumLock+LevelThree;
596 map[NumLock]= Level2;
597 map[LevelThree]= Level3;
598 map[Shift+LevelThree]= Level4;
599 map[NumLock+LevelThree]= Level4;
600 map[Shift+NumLock+LevelThree]= Level3;
601 level_name[Level1]= "Base";
602 level_name[Level2]= "Number";
603 level_name[Level3]= "Alt Base";
604 level_name[Level4]= "Alt Number";
608 xkb_compatibility "complete" {
610 virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
612 interpret.useModMapMods= AnyLevel;
613 interpret.repeat= False;
614 interpret.locking= False;
615 interpret ISO_Level2_Latch+Exactly(Shift) {
616 useModMapMods=level1;
617 action= LatchMods(modifiers=Shift,clearLocks,latchToLock);
619 interpret Shift_Lock+AnyOf(Shift+Lock) {
620 action= LockMods(modifiers=Shift);
622 interpret Num_Lock+AnyOf(all) {
623 virtualModifier= NumLock;
624 action= LockMods(modifiers=NumLock);
626 interpret ISO_Lock+AnyOf(all) {
627 action= ISOLock(modifiers=modMapMods,affect=all);
629 interpret ISO_Level3_Shift+AnyOf(all) {
630 virtualModifier= LevelThree;
631 useModMapMods=level1;
632 action= SetMods(modifiers=LevelThree,clearLocks);
634 interpret ISO_Level3_Latch+AnyOf(all) {
635 virtualModifier= LevelThree;
636 useModMapMods=level1;
637 action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
639 interpret ISO_Level3_Lock+AnyOf(all) {
640 virtualModifier= LevelThree;
641 useModMapMods=level1;
642 action= LockMods(modifiers=LevelThree);
644 interpret Alt_L+AnyOf(all) {
645 virtualModifier= Alt;
646 action= SetMods(modifiers=modMapMods,clearLocks);
648 interpret Alt_R+AnyOf(all) {
649 virtualModifier= Alt;
650 action= SetMods(modifiers=modMapMods,clearLocks);
652 interpret Meta_L+AnyOf(all) {
653 virtualModifier= Meta;
654 action= SetMods(modifiers=modMapMods,clearLocks);
656 interpret Meta_R+AnyOf(all) {
657 virtualModifier= Meta;
658 action= SetMods(modifiers=modMapMods,clearLocks);
660 interpret Super_L+AnyOf(all) {
661 virtualModifier= Super;
662 action= SetMods(modifiers=modMapMods,clearLocks);
664 interpret Super_R+AnyOf(all) {
665 virtualModifier= Super;
666 action= SetMods(modifiers=modMapMods,clearLocks);
668 interpret Hyper_L+AnyOf(all) {
669 virtualModifier= Hyper;
670 action= SetMods(modifiers=modMapMods,clearLocks);
672 interpret Hyper_R+AnyOf(all) {
673 virtualModifier= Hyper;
674 action= SetMods(modifiers=modMapMods,clearLocks);
676 interpret Scroll_Lock+AnyOf(all) {
677 virtualModifier= ScrollLock;
678 action= LockMods(modifiers=modMapMods);
680 interpret ISO_Level5_Shift+AnyOf(all) {
681 virtualModifier= LevelFive;
682 useModMapMods=level1;
683 action= SetMods(modifiers=LevelFive,clearLocks);
685 interpret ISO_Level5_Latch+AnyOf(all) {
686 virtualModifier= LevelFive;
687 action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
689 interpret ISO_Level5_Lock+AnyOf(all) {
690 virtualModifier= LevelFive;
691 action= LockMods(modifiers=LevelFive);
693 interpret Mode_switch+AnyOfOrNone(all) {
694 virtualModifier= AltGr;
695 useModMapMods=level1;
696 action= SetGroup(group=+1);
698 interpret ISO_Level3_Shift+AnyOfOrNone(all) {
699 action= SetMods(modifiers=LevelThree,clearLocks);
701 interpret ISO_Level3_Latch+AnyOfOrNone(all) {
702 action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
704 interpret ISO_Level3_Lock+AnyOfOrNone(all) {
705 action= LockMods(modifiers=LevelThree);
707 interpret ISO_Group_Latch+AnyOfOrNone(all) {
708 virtualModifier= AltGr;
709 useModMapMods=level1;
710 action= LatchGroup(group=2);
712 interpret ISO_Next_Group+AnyOfOrNone(all) {
713 virtualModifier= AltGr;
714 useModMapMods=level1;
715 action= LockGroup(group=+1);
717 interpret ISO_Prev_Group+AnyOfOrNone(all) {
718 virtualModifier= AltGr;
719 useModMapMods=level1;
720 action= LockGroup(group=-1);
722 interpret ISO_First_Group+AnyOfOrNone(all) {
723 action= LockGroup(group=1);
725 interpret ISO_Last_Group+AnyOfOrNone(all) {
726 action= LockGroup(group=2);
728 interpret KP_1+AnyOfOrNone(all) {
730 action= MovePtr(x=-1,y=+1);
732 interpret KP_End+AnyOfOrNone(all) {
734 action= MovePtr(x=-1,y=+1);
736 interpret KP_2+AnyOfOrNone(all) {
738 action= MovePtr(x=+0,y=+1);
740 interpret KP_Down+AnyOfOrNone(all) {
742 action= MovePtr(x=+0,y=+1);
744 interpret KP_3+AnyOfOrNone(all) {
746 action= MovePtr(x=+1,y=+1);
748 interpret KP_Next+AnyOfOrNone(all) {
750 action= MovePtr(x=+1,y=+1);
752 interpret KP_4+AnyOfOrNone(all) {
754 action= MovePtr(x=-1,y=+0);
756 interpret KP_Left+AnyOfOrNone(all) {
758 action= MovePtr(x=-1,y=+0);
760 interpret KP_6+AnyOfOrNone(all) {
762 action= MovePtr(x=+1,y=+0);
764 interpret KP_Right+AnyOfOrNone(all) {
766 action= MovePtr(x=+1,y=+0);
768 interpret KP_7+AnyOfOrNone(all) {
770 action= MovePtr(x=-1,y=-1);
772 interpret KP_Home+AnyOfOrNone(all) {
774 action= MovePtr(x=-1,y=-1);
776 interpret KP_8+AnyOfOrNone(all) {
778 action= MovePtr(x=+0,y=-1);
780 interpret KP_Up+AnyOfOrNone(all) {
782 action= MovePtr(x=+0,y=-1);
784 interpret KP_9+AnyOfOrNone(all) {
786 action= MovePtr(x=+1,y=-1);
788 interpret KP_Prior+AnyOfOrNone(all) {
790 action= MovePtr(x=+1,y=-1);
792 interpret KP_5+AnyOfOrNone(all) {
794 action= PtrBtn(button=default);
796 interpret KP_Begin+AnyOfOrNone(all) {
798 action= PtrBtn(button=default);
800 interpret KP_F2+AnyOfOrNone(all) {
802 action= SetPtrDflt(affect=button,button=1);
804 interpret KP_Divide+AnyOfOrNone(all) {
806 action= SetPtrDflt(affect=button,button=1);
808 interpret KP_F3+AnyOfOrNone(all) {
810 action= SetPtrDflt(affect=button,button=2);
812 interpret KP_Multiply+AnyOfOrNone(all) {
814 action= SetPtrDflt(affect=button,button=2);
816 interpret KP_F4+AnyOfOrNone(all) {
818 action= SetPtrDflt(affect=button,button=3);
820 interpret KP_Subtract+AnyOfOrNone(all) {
822 action= SetPtrDflt(affect=button,button=3);
824 interpret KP_Separator+AnyOfOrNone(all) {
826 action= PtrBtn(button=default,count=2);
828 interpret KP_Add+AnyOfOrNone(all) {
830 action= PtrBtn(button=default,count=2);
832 interpret KP_0+AnyOfOrNone(all) {
834 action= LockPtrBtn(button=default,affect=lock);
836 interpret KP_Insert+AnyOfOrNone(all) {
838 action= LockPtrBtn(button=default,affect=lock);
840 interpret KP_Decimal+AnyOfOrNone(all) {
842 action= LockPtrBtn(button=default,affect=unlock);
844 interpret KP_Delete+AnyOfOrNone(all) {
846 action= LockPtrBtn(button=default,affect=unlock);
848 interpret F25+AnyOfOrNone(all) {
850 action= SetPtrDflt(affect=button,button=1);
852 interpret F26+AnyOfOrNone(all) {
854 action= SetPtrDflt(affect=button,button=2);
856 interpret F27+AnyOfOrNone(all) {
858 action= MovePtr(x=-1,y=-1);
860 interpret F29+AnyOfOrNone(all) {
862 action= MovePtr(x=+1,y=-1);
864 interpret F31+AnyOfOrNone(all) {
866 action= PtrBtn(button=default);
868 interpret F33+AnyOfOrNone(all) {
870 action= MovePtr(x=-1,y=+1);
872 interpret F35+AnyOfOrNone(all) {
874 action= MovePtr(x=+1,y=+1);
876 interpret Pointer_Button_Dflt+AnyOfOrNone(all) {
877 action= PtrBtn(button=default);
879 interpret Pointer_Button1+AnyOfOrNone(all) {
880 action= PtrBtn(button=1);
882 interpret Pointer_Button2+AnyOfOrNone(all) {
883 action= PtrBtn(button=2);
885 interpret Pointer_Button3+AnyOfOrNone(all) {
886 action= PtrBtn(button=3);
888 interpret Pointer_DblClick_Dflt+AnyOfOrNone(all) {
889 action= PtrBtn(button=default,count=2);
891 interpret Pointer_DblClick1+AnyOfOrNone(all) {
892 action= PtrBtn(button=1,count=2);
894 interpret Pointer_DblClick2+AnyOfOrNone(all) {
895 action= PtrBtn(button=2,count=2);
897 interpret Pointer_DblClick3+AnyOfOrNone(all) {
898 action= PtrBtn(button=3,count=2);
900 interpret Pointer_Drag_Dflt+AnyOfOrNone(all) {
901 action= LockPtrBtn(button=default,affect=both);
903 interpret Pointer_Drag1+AnyOfOrNone(all) {
904 action= LockPtrBtn(button=1,affect=both);
906 interpret Pointer_Drag2+AnyOfOrNone(all) {
907 action= LockPtrBtn(button=2,affect=both);
909 interpret Pointer_Drag3+AnyOfOrNone(all) {
910 action= LockPtrBtn(button=3,affect=both);
912 interpret Pointer_EnableKeys+AnyOfOrNone(all) {
913 action= LockControls(controls=MouseKeys);
915 interpret Pointer_Accelerate+AnyOfOrNone(all) {
916 action= LockControls(controls=MouseKeysAccel);
918 interpret Pointer_DfltBtnNext+AnyOfOrNone(all) {
919 action= SetPtrDflt(affect=button,button=+1);
921 interpret Pointer_DfltBtnPrev+AnyOfOrNone(all) {
922 action= SetPtrDflt(affect=button,button=-1);
924 interpret AccessX_Enable+AnyOfOrNone(all) {
925 action= LockControls(controls=AccessXKeys);
927 interpret AccessX_Feedback_Enable+AnyOfOrNone(all) {
928 action= LockControls(controls=AccessXFeedback);
930 interpret RepeatKeys_Enable+AnyOfOrNone(all) {
931 action= LockControls(controls=RepeatKeys);
933 interpret SlowKeys_Enable+AnyOfOrNone(all) {
934 action= LockControls(controls=SlowKeys);
936 interpret BounceKeys_Enable+AnyOfOrNone(all) {
937 action= LockControls(controls=BounceKeys);
939 interpret StickyKeys_Enable+AnyOfOrNone(all) {
940 action= LockControls(controls=StickyKeys);
942 interpret MouseKeys_Enable+AnyOfOrNone(all) {
943 action= LockControls(controls=MouseKeys);
945 interpret MouseKeys_Accel_Enable+AnyOfOrNone(all) {
946 action= LockControls(controls=MouseKeysAccel);
948 interpret Overlay1_Enable+AnyOfOrNone(all) {
949 action= LockControls(controls=Overlay1);
951 interpret Overlay2_Enable+AnyOfOrNone(all) {
952 action= LockControls(controls=Overlay2);
954 interpret AudibleBell_Enable+AnyOfOrNone(all) {
955 action= LockControls(controls=AudibleBell);
957 interpret Terminate_Server+AnyOfOrNone(all) {
960 interpret Alt_L+AnyOfOrNone(all) {
961 action= SetMods(modifiers=Alt,clearLocks);
963 interpret Alt_R+AnyOfOrNone(all) {
964 action= SetMods(modifiers=Alt,clearLocks);
966 interpret Meta_L+AnyOfOrNone(all) {
967 action= SetMods(modifiers=Meta,clearLocks);
969 interpret Meta_R+AnyOfOrNone(all) {
970 action= SetMods(modifiers=Meta,clearLocks);
972 interpret Super_L+AnyOfOrNone(all) {
973 action= SetMods(modifiers=Super,clearLocks);
975 interpret Super_R+AnyOfOrNone(all) {
976 action= SetMods(modifiers=Super,clearLocks);
978 interpret Hyper_L+AnyOfOrNone(all) {
979 action= SetMods(modifiers=Hyper,clearLocks);
981 interpret Hyper_R+AnyOfOrNone(all) {
982 action= SetMods(modifiers=Hyper,clearLocks);
984 interpret XF86_Switch_VT_1+AnyOfOrNone(all) {
986 action= SwitchScreen(screen=1,!same);
988 interpret XF86_Switch_VT_2+AnyOfOrNone(all) {
990 action= SwitchScreen(screen=2,!same);
992 interpret XF86_Switch_VT_3+AnyOfOrNone(all) {
994 action= SwitchScreen(screen=3,!same);
996 interpret XF86_Switch_VT_4+AnyOfOrNone(all) {
998 action= SwitchScreen(screen=4,!same);
1000 interpret XF86_Switch_VT_5+AnyOfOrNone(all) {
1002 action= SwitchScreen(screen=5,!same);
1004 interpret XF86_Switch_VT_6+AnyOfOrNone(all) {
1006 action= SwitchScreen(screen=6,!same);
1008 interpret XF86_Switch_VT_7+AnyOfOrNone(all) {
1010 action= SwitchScreen(screen=7,!same);
1012 interpret XF86_Switch_VT_8+AnyOfOrNone(all) {
1014 action= SwitchScreen(screen=8,!same);
1016 interpret XF86_Switch_VT_9+AnyOfOrNone(all) {
1018 action= SwitchScreen(screen=9,!same);
1020 interpret XF86_Switch_VT_10+AnyOfOrNone(all) {
1022 action= SwitchScreen(screen=10,!same);
1024 interpret XF86_Switch_VT_11+AnyOfOrNone(all) {
1026 action= SwitchScreen(screen=11,!same);
1028 interpret XF86_Switch_VT_12+AnyOfOrNone(all) {
1030 action= SwitchScreen(screen=12,!same);
1032 interpret XF86_Ungrab+AnyOfOrNone(all) {
1034 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);
1036 interpret XF86_ClearGrab+AnyOfOrNone(all) {
1038 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);
1040 interpret XF86_Next_VMode+AnyOfOrNone(all) {
1042 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);
1044 interpret XF86_Prev_VMode+AnyOfOrNone(all) {
1046 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);
1048 interpret ISO_Level5_Shift+AnyOfOrNone(all) {
1049 action= SetMods(modifiers=LevelFive,clearLocks);
1051 interpret ISO_Level5_Latch+AnyOfOrNone(all) {
1052 action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
1054 interpret ISO_Level5_Lock+AnyOfOrNone(all) {
1055 action= LockMods(modifiers=LevelFive);
1057 interpret Any+Exactly(Lock) {
1058 action= LockMods(modifiers=Lock);
1060 interpret Any+AnyOf(all) {
1061 action= SetMods(modifiers=modMapMods,clearLocks);
1063 indicator "Caps Lock" {
1065 whichModState= locked;
1068 indicator "Num Lock" {
1070 whichModState= locked;
1073 indicator "Scroll Lock" {
1074 whichModState= locked;
1075 modifiers= ScrollLock;
1077 indicator "Shift Lock" {
1079 whichModState= locked;
1082 indicator "Group 2" {
1086 indicator "Mouse Keys" {
1087 indicatorDrivesKeyboard;
1088 controls= mouseKeys;
1092 xkb_symbols "pc+us+ctrl(nocaps)" {
1096 key <ESC> { [ Escape ] };
1097 key <AE01> { [ 1, exclam ] };
1098 key <AE02> { [ 2, at ] };
1099 key <AE03> { [ 3, numbersign ] };
1100 key <AE04> { [ 4, dollar ] };
1101 key <AE05> { [ 5, percent ] };
1102 key <AE06> { [ 6, asciicircum ] };
1103 key <AE07> { [ 7, ampersand ] };
1104 key <AE08> { [ 8, asterisk ] };
1105 key <AE09> { [ 9, parenleft ] };
1106 key <AE10> { [ 0, parenright ] };
1107 key <AE11> { [ minus, underscore ] };
1108 key <AE12> { [ equal, plus ] };
1111 symbols[Group1]= [ BackSpace, Terminate_Server ]
1113 key <TAB> { [ Tab, ISO_Left_Tab ] };
1116 symbols[Group1]= [ q, Q ]
1120 symbols[Group1]= [ w, W ]
1124 symbols[Group1]= [ e, E ]
1128 symbols[Group1]= [ r, R ]
1132 symbols[Group1]= [ t, T ]
1136 symbols[Group1]= [ y, Y ]
1140 symbols[Group1]= [ u, U ]
1144 symbols[Group1]= [ i, I ]
1148 symbols[Group1]= [ o, O ]
1152 symbols[Group1]= [ p, P ]
1154 key <AD11> { [ bracketleft, braceleft ] };
1155 key <AD12> { [ bracketright, braceright ] };
1156 key <RTRN> { [ Return ] };
1157 key <LCTL> { [ Control_L ] };
1160 symbols[Group1]= [ a, A ]
1164 symbols[Group1]= [ s, S ]
1168 symbols[Group1]= [ d, D ]
1172 symbols[Group1]= [ f, F ]
1176 symbols[Group1]= [ g, G ]
1180 symbols[Group1]= [ h, H ]
1184 symbols[Group1]= [ j, J ]
1188 symbols[Group1]= [ k, K ]
1192 symbols[Group1]= [ l, L ]
1194 key <AC10> { [ semicolon, colon ] };
1195 key <AC11> { [ apostrophe, quotedbl ] };
1196 key <TLDE> { [ grave, asciitilde ] };
1197 key <LFSH> { [ Shift_L ] };
1198 key <BKSL> { [ backslash, bar ] };
1201 symbols[Group1]= [ z, Z ]
1205 symbols[Group1]= [ x, X ]
1209 symbols[Group1]= [ c, C ]
1213 symbols[Group1]= [ v, V ]
1217 symbols[Group1]= [ b, B ]
1221 symbols[Group1]= [ n, N ]
1225 symbols[Group1]= [ m, M ]
1227 key <AB08> { [ comma, less ] };
1228 key <AB09> { [ period, greater ] };
1229 key <AB10> { [ slash, question ] };
1230 key <RTSH> { [ Shift_R ] };
1233 symbols[Group1]= [ KP_Multiply, XF86_ClearGrab ]
1235 key <LALT> { [ Alt_L, Meta_L ] };
1236 key <SPCE> { [ space ] };
1237 key <CAPS> { [ Control_L, Control_L ] };
1240 symbols[Group1]= [ F1, XF86_Switch_VT_1 ]
1244 symbols[Group1]= [ F2, XF86_Switch_VT_2 ]
1248 symbols[Group1]= [ F3, XF86_Switch_VT_3 ]
1252 symbols[Group1]= [ F4, XF86_Switch_VT_4 ]
1256 symbols[Group1]= [ F5, XF86_Switch_VT_5 ]
1260 symbols[Group1]= [ F6, XF86_Switch_VT_6 ]
1264 symbols[Group1]= [ F7, XF86_Switch_VT_7 ]
1268 symbols[Group1]= [ F8, XF86_Switch_VT_8 ]
1272 symbols[Group1]= [ F9, XF86_Switch_VT_9 ]
1276 symbols[Group1]= [ F10, XF86_Switch_VT_10 ]
1278 key <NMLK> { [ Num_Lock, Pointer_EnableKeys ] };
1279 key <SCLK> { [ Scroll_Lock ] };
1280 key <KP7> { [ KP_Home, KP_7 ] };
1281 key <KP8> { [ KP_Up, KP_8 ] };
1282 key <KP9> { [ KP_Prior, KP_9 ] };
1285 symbols[Group1]= [ KP_Subtract, XF86_Prev_VMode ]
1287 key <KP4> { [ KP_Left, KP_4 ] };
1288 key <KP5> { [ KP_Begin, KP_5 ] };
1289 key <KP6> { [ KP_Right, KP_6 ] };
1292 symbols[Group1]= [ KP_Add, XF86_Next_VMode ]
1294 key <KP1> { [ KP_End, KP_1 ] };
1295 key <KP2> { [ KP_Down, KP_2 ] };
1296 key <KP3> { [ KP_Next, KP_3 ] };
1297 key <KP0> { [ KP_Insert, KP_0 ] };
1298 key <KPDL> { [ KP_Delete, KP_Decimal ] };
1299 key <MDSW> { [ Mode_switch ] };
1302 symbols[Group1]= [ less, greater, bar, brokenbar ]
1306 symbols[Group1]= [ F11, XF86_Switch_VT_11 ]
1310 symbols[Group1]= [ F12, XF86_Switch_VT_12 ]
1312 key <HOME> { [ Home ] };
1313 key <UP> { [ Up ] };
1314 key <PGUP> { [ Prior ] };
1315 key <LEFT> { [ Left ] };
1316 key <RGHT> { [ Right ] };
1317 key <END> { [ End ] };
1318 key <DOWN> { [ Down ] };
1319 key <PGDN> { [ Next ] };
1320 key <INS> { [ Insert ] };
1321 key <DELE> { [ Delete ] };
1322 key <KPEN> { [ KP_Enter ] };
1323 key <RCTL> { [ Control_R ] };
1325 type= "PC_CONTROL_LEVEL2",
1326 symbols[Group1]= [ Pause, Break ]
1329 type= "PC_ALT_LEVEL2",
1330 symbols[Group1]= [ Print, Sys_Req ]
1334 symbols[Group1]= [ KP_Divide, XF86_Ungrab ]
1336 key <RALT> { [ Alt_R, Meta_R ] };
1337 key <LWIN> { [ Super_L ] };
1338 key <RWIN> { [ Super_R ] };
1339 key <MENU> { [ Menu ] };
1340 key <LVL3> { [ ISO_Level3_Shift ] };
1341 key <ALT> { [ NoSymbol, Alt_L ] };
1342 key <KPEQ> { [ KP_Equal ] };
1343 key <SUPR> { [ NoSymbol, Super_L ] };
1344 key <HYPR> { [ NoSymbol, Hyper_L ] };
1345 key <META> { [ NoSymbol, Meta_L ] };
1346 key <OUTP> { [ XF86Display ] };
1347 key <KITG> { [ XF86KbdLightOnOff ] };
1348 key <KIDN> { [ XF86KbdBrightnessDown ] };
1349 key <KIUP> { [ XF86KbdBrightnessUp ] };
1350 modifier_map Control { <LCTL> };
1351 modifier_map Shift { <LFSH> };
1352 modifier_map Shift { <RTSH> };
1353 modifier_map Mod1 { <LALT> };
1354 modifier_map Mod4 { <CAPS> };
1355 modifier_map Mod2 { <NMLK> };
1356 modifier_map Mod5 { <MDSW> };
1357 modifier_map Control { <RCTL> };
1358 modifier_map Mod1 { <RALT> };
1359 modifier_map Mod5 { <LVL3> };
1360 modifier_map Mod4 { <SUPR> };
1361 modifier_map Mod4 { <HYPR> };
1362 modifier_map Mod1 { <META> };
1365 xkb_geometry "pc(pc104)" {
1370 alias <AC00> = <CAPS>;
1371 alias <AA00> = <LCTL>;
1374 labelColor= "black";
1375 xfont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
1376 description= "Generic 104";
1381 { [ 2, 1 ], [ 16, 16 ] }
1386 { [ 2, 1 ], [ 36, 16 ] }
1391 { [ 2, 1 ], [ 26, 16 ] }
1396 { [ 2, 1 ], [ 26, 16 ] }
1401 { [ 2, 1 ], [ 40, 16 ] }
1406 { [ 2, 1 ], [ 31, 16 ] }
1411 { [ 2, 1 ], [ 40, 16 ] }
1416 { [ 2, 1 ], [ 50, 16 ] }
1421 { [ 2, 1 ], [ 25, 16 ] }
1426 { [ 2, 1 ], [ 21, 16 ] }
1431 { [ 2, 1 ], [ 111, 16 ] }
1436 { [ 2, 1 ], [ 35, 16 ] }
1441 { [ 2, 1 ], [ 16, 35 ] }
1443 shape "LEDS" { { [ 75, 20 ] } };
1444 shape "LED" { { [ 5, 1 ] } };
1445 section "Function" {
1446 key.color= "grey20";
1456 { <ESC>, "NORM", 1 },
1457 { <FK01>, "NORM", 20, color="white" },
1458 { <FK02>, "NORM", 1, color="white" },
1459 { <FK03>, "NORM", 1, color="white" },
1460 { <FK04>, "NORM", 1, color="white" },
1461 { <FK05>, "NORM", 11, color="white" },
1462 { <FK06>, "NORM", 1, color="white" },
1463 { <FK07>, "NORM", 1, color="white" },
1464 { <FK08>, "NORM", 1, color="white" },
1465 { <FK09>, "NORM", 11, color="white" },
1466 { <FK10>, "NORM", 1, color="white" },
1467 { <FK11>, "NORM", 1, color="white" },
1468 { <FK12>, "NORM", 1, color="white" },
1469 { <PRSC>, "NORM", 8, color="white" },
1470 { <SCLK>, "NORM", 1, color="white" },
1471 { <PAUS>, "NORM", 1, color="white" }
1474 }; // End of "Function" section
1487 { <TLDE>, "NORM", 1 }, { <AE01>, "NORM", 1 },
1488 { <AE02>, "NORM", 1 }, { <AE03>, "NORM", 1 },
1489 { <AE04>, "NORM", 1 }, { <AE05>, "NORM", 1 },
1490 { <AE06>, "NORM", 1 }, { <AE07>, "NORM", 1 },
1491 { <AE08>, "NORM", 1 }, { <AE09>, "NORM", 1 },
1492 { <AE10>, "NORM", 1 }, { <AE11>, "NORM", 1 },
1493 { <AE12>, "NORM", 1 },
1494 { <BKSP>, "BKSP", 1, color="grey20" }
1501 { <TAB>, "TABK", 1, color="grey20" },
1502 { <AD01>, "NORM", 1 }, { <AD02>, "NORM", 1 },
1503 { <AD03>, "NORM", 1 }, { <AD04>, "NORM", 1 },
1504 { <AD05>, "NORM", 1 }, { <AD06>, "NORM", 1 },
1505 { <AD07>, "NORM", 1 }, { <AD08>, "NORM", 1 },
1506 { <AD09>, "NORM", 1 }, { <AD10>, "NORM", 1 },
1507 { <AD11>, "NORM", 1 }, { <AD12>, "NORM", 1 },
1508 { <BKSL>, "BKSL", 1 }
1515 { <CAPS>, "CAPS", 1, color="grey20" },
1516 { <AC01>, "NORM", 1 }, { <AC02>, "NORM", 1 },
1517 { <AC03>, "NORM", 1 }, { <AC04>, "NORM", 1 },
1518 { <AC05>, "NORM", 1 }, { <AC06>, "NORM", 1 },
1519 { <AC07>, "NORM", 1 }, { <AC08>, "NORM", 1 },
1520 { <AC09>, "NORM", 1 }, { <AC10>, "NORM", 1 },
1521 { <AC11>, "NORM", 1 },
1522 { <RTRN>, "RTRN", 1, color="grey20" }
1529 { <LFSH>, "LFSH", 1, color="grey20" },
1530 { <AB01>, "NORM", 1 }, { <AB02>, "NORM", 1 },
1531 { <AB03>, "NORM", 1 }, { <AB04>, "NORM", 1 },
1532 { <AB05>, "NORM", 1 }, { <AB06>, "NORM", 1 },
1533 { <AB07>, "NORM", 1 }, { <AB08>, "NORM", 1 },
1534 { <AB09>, "NORM", 1 }, { <AB10>, "NORM", 1 },
1535 { <RTSH>, "RTSH", 1, color="grey20" }
1542 { <LCTL>, "MODK", 1, color="grey20" },
1543 { <LWIN>, "SMOD", 1, color="grey20" },
1544 { <LALT>, "SMOD", 1, color="grey20" },
1545 { <SPCE>, "SPCE", 1 },
1546 { <RALT>, "SMOD", 1, color="grey20" },
1547 { <RWIN>, "SMOD", 1, color="grey20" },
1548 { <MENU>, "SMOD", 1, color="grey20" },
1549 { <RCTL>, "SMOD", 1, color="grey20" }
1552 }; // End of "Alpha" section
1555 key.color= "grey20";
1565 { <INS>, "NORM", 1 }, { <HOME>, "NORM", 1 },
1566 { <PGUP>, "NORM", 1 }
1573 { <DELE>, "NORM", 1 }, { <END>, "NORM", 1 },
1574 { <PGDN>, "NORM", 1 }
1588 { <LEFT>, "NORM", 1 }, { <DOWN>, "NORM", 1 },
1589 { <RGHT>, "NORM", 1 }
1592 }; // End of "Editing" section
1595 key.color= "grey20";
1605 { <NMLK>, "NORM", 1 }, { <KPDV>, "NORM", 1 },
1606 { <KPMU>, "NORM", 1 }, { <KPSU>, "NORM", 1 }
1613 { <KP7>, "NORM", 1, color="white" },
1614 { <KP8>, "NORM", 1, color="white" },
1615 { <KP9>, "NORM", 1, color="white" },
1616 { <KPAD>, "KPAD", 1 }
1623 { <KP4>, "NORM", 1, color="white" },
1624 { <KP5>, "NORM", 1, color="white" },
1625 { <KP6>, "NORM", 1, color="white" }
1632 { <KP1>, "NORM", 1, color="white" },
1633 { <KP2>, "NORM", 1, color="white" },
1634 { <KP3>, "NORM", 1, color="white" },
1635 { <KPEN>, "KPAD", 1 }
1642 { <KP0>, "KP0", 1, color="white" },
1643 { <KPDL>, "NORM", 1, color="white" }
1646 }; // End of "Keypad" section
1655 indicator "Num Lock" {
1660 offColor= "green30";
1663 indicator "Caps Lock" {
1668 offColor= "green30";
1671 indicator "Scroll Lock" {
1676 offColor= "green30";
1679 text "NumLockLabel" {
1685 XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
1688 text "CapsLockLabel" {
1694 XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
1697 text "ScrollLockLabel" {
1703 XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
1704 text= "Scroll\nLock";