2 xkb_keycodes "evdev+aliases(qwertz)" {
249 indicator 1 = "Caps Lock";
250 indicator 2 = "Num Lock";
251 indicator 3 = "Scroll Lock";
252 indicator 4 = "Compose";
253 indicator 5 = "Kana";
254 indicator 6 = "Sleep";
255 indicator 7 = "Suspend";
256 indicator 8 = "Mute";
257 indicator 9 = "Misc";
258 indicator 10 = "Mail";
259 indicator 11 = "Charging";
260 virtual indicator 12 = "Shift Lock";
261 virtual indicator 13 = "Group 2";
262 virtual indicator 14 = "Mouse Keys";
263 alias <AC12> = <BKSL>;
264 alias <MENU> = <COMP>;
265 alias <HZTG> = <TLDE>;
266 alias <LMTA> = <LWIN>;
267 alias <RMTA> = <RWIN>;
268 alias <ALGR> = <RALT>;
269 alias <KPPT> = <I129>;
270 alias <LatQ> = <AD01>;
271 alias <LatW> = <AD02>;
272 alias <LatE> = <AD03>;
273 alias <LatR> = <AD04>;
274 alias <LatT> = <AD05>;
275 alias <LatZ> = <AD06>;
276 alias <LatU> = <AD07>;
277 alias <LatI> = <AD08>;
278 alias <LatO> = <AD09>;
279 alias <LatP> = <AD10>;
280 alias <LatA> = <AC01>;
281 alias <LatS> = <AC02>;
282 alias <LatD> = <AC03>;
283 alias <LatF> = <AC04>;
284 alias <LatG> = <AC05>;
285 alias <LatH> = <AC06>;
286 alias <LatJ> = <AC07>;
287 alias <LatK> = <AC08>;
288 alias <LatL> = <AC09>;
289 alias <LatY> = <AB01>;
290 alias <LatX> = <AB02>;
291 alias <LatC> = <AB03>;
292 alias <LatV> = <AB04>;
293 alias <LatB> = <AB05>;
294 alias <LatN> = <AB06>;
295 alias <LatM> = <AB07>;
298 xkb_types "complete" {
300 virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
304 level_name[Level1]= "Any";
309 level_name[Level1]= "Base";
310 level_name[Level2]= "Shift";
313 modifiers= Shift+Lock;
316 level_name[Level1]= "Base";
317 level_name[Level2]= "Caps";
320 modifiers= Shift+NumLock;
322 map[NumLock]= Level2;
323 level_name[Level1]= "Base";
324 level_name[Level2]= "Number";
327 modifiers= Shift+Alt;
328 map[Shift+Alt]= Level2;
329 level_name[Level1]= "Base";
330 level_name[Level2]= "Shift+Alt";
332 type "PC_CONTROL_LEVEL2" {
334 map[Control]= Level2;
335 level_name[Level1]= "Base";
336 level_name[Level2]= "Control";
338 type "PC_LCONTROL_LEVEL2" {
340 map[LControl]= Level2;
341 level_name[Level1]= "Base";
342 level_name[Level2]= "LControl";
344 type "PC_RCONTROL_LEVEL2" {
346 map[RControl]= Level2;
347 level_name[Level1]= "Base";
348 level_name[Level2]= "RControl";
350 type "PC_ALT_LEVEL2" {
353 level_name[Level1]= "Base";
354 level_name[Level2]= "Alt";
356 type "PC_LALT_LEVEL2" {
359 level_name[Level1]= "Base";
360 level_name[Level2]= "LAlt";
362 type "PC_RALT_LEVEL2" {
365 level_name[Level1]= "Base";
366 level_name[Level2]= "RAlt";
369 modifiers= Shift+Control+Alt+LevelThree;
371 preserve[Shift]= Shift;
372 map[LevelThree]= Level3;
373 map[Shift+LevelThree]= Level4;
374 preserve[Shift+LevelThree]= Shift;
375 map[Control+Alt]= Level5;
376 level_name[Level1]= "Base";
377 level_name[Level2]= "Shift";
378 level_name[Level3]= "Alt Base";
379 level_name[Level4]= "Shift Alt";
380 level_name[Level5]= "Ctrl+Alt";
382 type "LOCAL_EIGHT_LEVEL" {
383 modifiers= Shift+Lock+Control+LevelThree;
384 map[Shift+Lock]= Level1;
387 map[LevelThree]= Level3;
388 map[Shift+Lock+LevelThree]= Level3;
389 map[Shift+LevelThree]= Level4;
390 map[Lock+LevelThree]= Level4;
391 map[Control]= Level5;
392 map[Shift+Lock+Control]= Level5;
393 map[Shift+Control]= Level6;
394 map[Lock+Control]= Level6;
395 map[Control+LevelThree]= Level7;
396 map[Shift+Lock+Control+LevelThree]= Level7;
397 map[Shift+Control+LevelThree]= Level8;
398 map[Lock+Control+LevelThree]= Level8;
399 level_name[Level1]= "Base";
400 level_name[Level2]= "Shift";
401 level_name[Level3]= "Level3";
402 level_name[Level4]= "Shift Level3";
403 level_name[Level5]= "Ctrl";
404 level_name[Level6]= "Shift Ctrl";
405 level_name[Level7]= "Level3 Ctrl";
406 level_name[Level8]= "Shift Level3 Ctrl";
409 modifiers= Shift+LevelThree;
411 map[LevelThree]= Level3;
412 map[Shift+LevelThree]= Level3;
413 level_name[Level1]= "Base";
414 level_name[Level2]= "Shift";
415 level_name[Level3]= "Level3";
418 modifiers= Shift+LevelThree+LevelFive;
420 map[LevelThree]= Level3;
421 map[Shift+LevelThree]= Level4;
422 map[LevelFive]= Level5;
423 map[Shift+LevelFive]= Level6;
424 map[LevelThree+LevelFive]= Level7;
425 map[Shift+LevelThree+LevelFive]= Level8;
426 level_name[Level1]= "Base";
427 level_name[Level2]= "Shift";
428 level_name[Level3]= "Alt Base";
429 level_name[Level4]= "Shift Alt";
430 level_name[Level5]= "X";
431 level_name[Level6]= "X Shift";
432 level_name[Level7]= "X Alt Base";
433 level_name[Level8]= "X Shift Alt";
435 type "EIGHT_LEVEL_ALPHABETIC" {
436 modifiers= Shift+Lock+LevelThree+LevelFive;
439 map[LevelThree]= Level3;
440 map[Shift+LevelThree]= Level4;
441 map[Lock+LevelThree]= Level4;
442 map[Shift+Lock+LevelThree]= Level3;
443 map[LevelFive]= Level5;
444 map[Shift+LevelFive]= Level6;
445 map[Lock+LevelFive]= Level6;
446 map[LevelThree+LevelFive]= Level7;
447 map[Shift+LevelThree+LevelFive]= Level8;
448 map[Lock+LevelThree+LevelFive]= Level8;
449 map[Shift+Lock+LevelThree+LevelFive]= Level7;
450 level_name[Level1]= "Base";
451 level_name[Level2]= "Shift";
452 level_name[Level3]= "Alt Base";
453 level_name[Level4]= "Shift Alt";
454 level_name[Level5]= "X";
455 level_name[Level6]= "X Shift";
456 level_name[Level7]= "X Alt Base";
457 level_name[Level8]= "X Shift Alt";
459 type "EIGHT_LEVEL_SEMIALPHABETIC" {
460 modifiers= Shift+Lock+LevelThree+LevelFive;
463 map[LevelThree]= Level3;
464 map[Shift+LevelThree]= Level4;
465 map[Lock+LevelThree]= Level3;
466 preserve[Lock+LevelThree]= Lock;
467 map[Shift+Lock+LevelThree]= Level4;
468 preserve[Shift+Lock+LevelThree]= Lock;
469 map[LevelFive]= Level5;
470 map[Shift+LevelFive]= Level6;
471 map[Lock+LevelFive]= Level6;
472 preserve[Lock+LevelFive]= Lock;
473 map[Shift+Lock+LevelFive]= Level6;
474 preserve[Shift+Lock+LevelFive]= Lock;
475 map[LevelThree+LevelFive]= Level7;
476 map[Shift+LevelThree+LevelFive]= Level8;
477 map[Lock+LevelThree+LevelFive]= Level7;
478 preserve[Lock+LevelThree+LevelFive]= Lock;
479 map[Shift+Lock+LevelThree+LevelFive]= Level8;
480 preserve[Shift+Lock+LevelThree+LevelFive]= Lock;
481 level_name[Level1]= "Base";
482 level_name[Level2]= "Shift";
483 level_name[Level3]= "Alt Base";
484 level_name[Level4]= "Shift Alt";
485 level_name[Level5]= "X";
486 level_name[Level6]= "X Shift";
487 level_name[Level7]= "X Alt Base";
488 level_name[Level8]= "X Shift Alt";
491 modifiers= Shift+LevelThree;
493 map[LevelThree]= Level3;
494 map[Shift+LevelThree]= Level4;
495 level_name[Level1]= "Base";
496 level_name[Level2]= "Shift";
497 level_name[Level3]= "Alt Base";
498 level_name[Level4]= "Shift Alt";
500 type "FOUR_LEVEL_ALPHABETIC" {
501 modifiers= Shift+Lock+LevelThree;
504 map[LevelThree]= Level3;
505 map[Shift+LevelThree]= Level4;
506 map[Lock+LevelThree]= Level4;
507 map[Shift+Lock+LevelThree]= Level3;
508 level_name[Level1]= "Base";
509 level_name[Level2]= "Shift";
510 level_name[Level3]= "Alt Base";
511 level_name[Level4]= "Shift Alt";
513 type "FOUR_LEVEL_SEMIALPHABETIC" {
514 modifiers= Shift+Lock+LevelThree;
517 map[LevelThree]= Level3;
518 map[Shift+LevelThree]= Level4;
519 map[Lock+LevelThree]= Level3;
520 preserve[Lock+LevelThree]= Lock;
521 map[Shift+Lock+LevelThree]= Level4;
522 preserve[Shift+Lock+LevelThree]= Lock;
523 level_name[Level1]= "Base";
524 level_name[Level2]= "Shift";
525 level_name[Level3]= "Alt Base";
526 level_name[Level4]= "Shift Alt";
528 type "FOUR_LEVEL_MIXED_KEYPAD" {
529 modifiers= Shift+NumLock+LevelThree;
530 map[Shift+NumLock]= Level1;
531 map[NumLock]= Level2;
533 map[LevelThree]= Level3;
534 map[NumLock+LevelThree]= Level3;
535 map[Shift+LevelThree]= Level4;
536 map[Shift+NumLock+LevelThree]= Level4;
537 level_name[Level1]= "Base";
538 level_name[Level2]= "Number";
539 level_name[Level3]= "Alt Base";
540 level_name[Level4]= "Shift Alt";
542 type "FOUR_LEVEL_X" {
543 modifiers= Shift+Control+Alt+LevelThree;
544 map[LevelThree]= Level2;
545 map[Shift+LevelThree]= Level3;
546 map[Control+Alt]= Level4;
547 level_name[Level1]= "Base";
548 level_name[Level2]= "Alt Base";
549 level_name[Level3]= "Shift Alt";
550 level_name[Level4]= "Ctrl+Alt";
552 type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" {
553 modifiers= Shift+Lock+LevelThree;
556 preserve[Lock]= Lock;
557 map[LevelThree]= Level3;
558 map[Shift+LevelThree]= Level4;
559 map[Lock+LevelThree]= Level3;
560 preserve[Lock+LevelThree]= Lock;
561 map[Shift+Lock+LevelThree]= Level3;
562 level_name[Level1]= "Base";
563 level_name[Level2]= "Shift";
564 level_name[Level3]= "AltGr Base";
565 level_name[Level4]= "Shift AltGr";
567 type "FOUR_LEVEL_PLUS_LOCK" {
568 modifiers= Shift+Lock+LevelThree;
570 map[LevelThree]= Level3;
571 map[Shift+LevelThree]= Level4;
573 map[Shift+Lock]= Level2;
574 map[Lock+LevelThree]= Level3;
575 map[Shift+Lock+LevelThree]= Level4;
576 level_name[Level1]= "Base";
577 level_name[Level2]= "Shift";
578 level_name[Level3]= "Alt Base";
579 level_name[Level4]= "Shift Alt";
580 level_name[Level5]= "Lock";
582 type "FOUR_LEVEL_KEYPAD" {
583 modifiers= Shift+NumLock+LevelThree;
585 map[NumLock]= Level2;
586 map[LevelThree]= Level3;
587 map[Shift+LevelThree]= Level4;
588 map[NumLock+LevelThree]= Level4;
589 map[Shift+NumLock+LevelThree]= Level3;
590 level_name[Level1]= "Base";
591 level_name[Level2]= "Number";
592 level_name[Level3]= "Alt Base";
593 level_name[Level4]= "Alt Number";
597 xkb_compatibility "complete" {
599 virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
601 interpret.useModMapMods= AnyLevel;
602 interpret.repeat= False;
603 interpret.locking= False;
604 interpret ISO_Level2_Latch+Exactly(Shift) {
605 useModMapMods=level1;
606 action= LatchMods(modifiers=Shift,clearLocks,latchToLock);
608 interpret Shift_Lock+AnyOf(Shift+Lock) {
609 action= LockMods(modifiers=Shift);
611 interpret Num_Lock+AnyOf(all) {
612 virtualModifier= NumLock;
613 action= LockMods(modifiers=NumLock);
615 interpret ISO_Level3_Shift+AnyOf(all) {
616 virtualModifier= LevelThree;
617 useModMapMods=level1;
618 action= SetMods(modifiers=LevelThree,clearLocks);
620 interpret ISO_Level3_Latch+AnyOf(all) {
621 virtualModifier= LevelThree;
622 useModMapMods=level1;
623 action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
625 interpret ISO_Level3_Lock+AnyOf(all) {
626 virtualModifier= LevelThree;
627 useModMapMods=level1;
628 action= LockMods(modifiers=LevelThree);
630 interpret Alt_L+AnyOf(all) {
631 virtualModifier= Alt;
632 action= SetMods(modifiers=modMapMods,clearLocks);
634 interpret Alt_R+AnyOf(all) {
635 virtualModifier= Alt;
636 action= SetMods(modifiers=modMapMods,clearLocks);
638 interpret Meta_L+AnyOf(all) {
639 virtualModifier= Meta;
640 action= SetMods(modifiers=modMapMods,clearLocks);
642 interpret Meta_R+AnyOf(all) {
643 virtualModifier= Meta;
644 action= SetMods(modifiers=modMapMods,clearLocks);
646 interpret Super_L+AnyOf(all) {
647 virtualModifier= Super;
648 action= SetMods(modifiers=modMapMods,clearLocks);
650 interpret Super_R+AnyOf(all) {
651 virtualModifier= Super;
652 action= SetMods(modifiers=modMapMods,clearLocks);
654 interpret Hyper_L+AnyOf(all) {
655 virtualModifier= Hyper;
656 action= SetMods(modifiers=modMapMods,clearLocks);
658 interpret Hyper_R+AnyOf(all) {
659 virtualModifier= Hyper;
660 action= SetMods(modifiers=modMapMods,clearLocks);
662 interpret Scroll_Lock+AnyOf(all) {
663 virtualModifier= ScrollLock;
664 action= LockMods(modifiers=modMapMods);
666 interpret ISO_Level5_Shift+AnyOf(all) {
667 virtualModifier= LevelFive;
668 useModMapMods=level1;
669 action= SetMods(modifiers=LevelFive,clearLocks);
671 interpret ISO_Level5_Latch+AnyOf(all) {
672 virtualModifier= LevelFive;
673 action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
675 interpret ISO_Level5_Lock+AnyOf(all) {
676 virtualModifier= LevelFive;
677 action= LockMods(modifiers=LevelFive);
679 interpret Mode_switch+AnyOfOrNone(all) {
680 virtualModifier= AltGr;
681 useModMapMods=level1;
682 action= SetGroup(group=+1);
684 interpret ISO_Level3_Shift+AnyOfOrNone(all) {
685 action= SetMods(modifiers=LevelThree,clearLocks);
687 interpret ISO_Level3_Latch+AnyOfOrNone(all) {
688 action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
690 interpret ISO_Level3_Lock+AnyOfOrNone(all) {
691 action= LockMods(modifiers=LevelThree);
693 interpret ISO_Group_Latch+AnyOfOrNone(all) {
694 virtualModifier= AltGr;
695 useModMapMods=level1;
696 action= LatchGroup(group=2);
698 interpret ISO_Next_Group+AnyOfOrNone(all) {
699 virtualModifier= AltGr;
700 useModMapMods=level1;
701 action= LockGroup(group=+1);
703 interpret ISO_Prev_Group+AnyOfOrNone(all) {
704 virtualModifier= AltGr;
705 useModMapMods=level1;
706 action= LockGroup(group=-1);
708 interpret ISO_First_Group+AnyOfOrNone(all) {
709 action= LockGroup(group=1);
711 interpret ISO_Last_Group+AnyOfOrNone(all) {
712 action= LockGroup(group=2);
714 interpret KP_1+AnyOfOrNone(all) {
716 action= MovePtr(x=-1,y=+1);
718 interpret KP_End+AnyOfOrNone(all) {
720 action= MovePtr(x=-1,y=+1);
722 interpret KP_2+AnyOfOrNone(all) {
724 action= MovePtr(x=+0,y=+1);
726 interpret KP_Down+AnyOfOrNone(all) {
728 action= MovePtr(x=+0,y=+1);
730 interpret KP_3+AnyOfOrNone(all) {
732 action= MovePtr(x=+1,y=+1);
734 interpret KP_Next+AnyOfOrNone(all) {
736 action= MovePtr(x=+1,y=+1);
738 interpret KP_4+AnyOfOrNone(all) {
740 action= MovePtr(x=-1,y=+0);
742 interpret KP_Left+AnyOfOrNone(all) {
744 action= MovePtr(x=-1,y=+0);
746 interpret KP_6+AnyOfOrNone(all) {
748 action= MovePtr(x=+1,y=+0);
750 interpret KP_Right+AnyOfOrNone(all) {
752 action= MovePtr(x=+1,y=+0);
754 interpret KP_7+AnyOfOrNone(all) {
756 action= MovePtr(x=-1,y=-1);
758 interpret KP_Home+AnyOfOrNone(all) {
760 action= MovePtr(x=-1,y=-1);
762 interpret KP_8+AnyOfOrNone(all) {
764 action= MovePtr(x=+0,y=-1);
766 interpret KP_Up+AnyOfOrNone(all) {
768 action= MovePtr(x=+0,y=-1);
770 interpret KP_9+AnyOfOrNone(all) {
772 action= MovePtr(x=+1,y=-1);
774 interpret KP_Prior+AnyOfOrNone(all) {
776 action= MovePtr(x=+1,y=-1);
778 interpret KP_5+AnyOfOrNone(all) {
780 action= PtrBtn(button=default);
782 interpret KP_Begin+AnyOfOrNone(all) {
784 action= PtrBtn(button=default);
786 interpret KP_F2+AnyOfOrNone(all) {
788 action= SetPtrDflt(affect=button,button=1);
790 interpret KP_Divide+AnyOfOrNone(all) {
792 action= SetPtrDflt(affect=button,button=1);
794 interpret KP_F3+AnyOfOrNone(all) {
796 action= SetPtrDflt(affect=button,button=2);
798 interpret KP_Multiply+AnyOfOrNone(all) {
800 action= SetPtrDflt(affect=button,button=2);
802 interpret KP_F4+AnyOfOrNone(all) {
804 action= SetPtrDflt(affect=button,button=3);
806 interpret KP_Subtract+AnyOfOrNone(all) {
808 action= SetPtrDflt(affect=button,button=3);
810 interpret KP_Separator+AnyOfOrNone(all) {
812 action= PtrBtn(button=default,count=2);
814 interpret KP_Add+AnyOfOrNone(all) {
816 action= PtrBtn(button=default,count=2);
818 interpret KP_0+AnyOfOrNone(all) {
820 action= LockPtrBtn(button=default,affect=lock);
822 interpret KP_Insert+AnyOfOrNone(all) {
824 action= LockPtrBtn(button=default,affect=lock);
826 interpret KP_Decimal+AnyOfOrNone(all) {
828 action= LockPtrBtn(button=default,affect=unlock);
830 interpret KP_Delete+AnyOfOrNone(all) {
832 action= LockPtrBtn(button=default,affect=unlock);
834 interpret F25+AnyOfOrNone(all) {
836 action= SetPtrDflt(affect=button,button=1);
838 interpret F26+AnyOfOrNone(all) {
840 action= SetPtrDflt(affect=button,button=2);
842 interpret F27+AnyOfOrNone(all) {
844 action= MovePtr(x=-1,y=-1);
846 interpret F29+AnyOfOrNone(all) {
848 action= MovePtr(x=+1,y=-1);
850 interpret F31+AnyOfOrNone(all) {
852 action= PtrBtn(button=default);
854 interpret F33+AnyOfOrNone(all) {
856 action= MovePtr(x=-1,y=+1);
858 interpret F35+AnyOfOrNone(all) {
860 action= MovePtr(x=+1,y=+1);
862 interpret Pointer_Button_Dflt+AnyOfOrNone(all) {
863 action= PtrBtn(button=default);
865 interpret Pointer_Button1+AnyOfOrNone(all) {
866 action= PtrBtn(button=1);
868 interpret Pointer_Button2+AnyOfOrNone(all) {
869 action= PtrBtn(button=2);
871 interpret Pointer_Button3+AnyOfOrNone(all) {
872 action= PtrBtn(button=3);
874 interpret Pointer_DblClick_Dflt+AnyOfOrNone(all) {
875 action= PtrBtn(button=default,count=2);
877 interpret Pointer_DblClick1+AnyOfOrNone(all) {
878 action= PtrBtn(button=1,count=2);
880 interpret Pointer_DblClick2+AnyOfOrNone(all) {
881 action= PtrBtn(button=2,count=2);
883 interpret Pointer_DblClick3+AnyOfOrNone(all) {
884 action= PtrBtn(button=3,count=2);
886 interpret Pointer_Drag_Dflt+AnyOfOrNone(all) {
887 action= LockPtrBtn(button=default,affect=both);
889 interpret Pointer_Drag1+AnyOfOrNone(all) {
890 action= LockPtrBtn(button=1,affect=both);
892 interpret Pointer_Drag2+AnyOfOrNone(all) {
893 action= LockPtrBtn(button=2,affect=both);
895 interpret Pointer_Drag3+AnyOfOrNone(all) {
896 action= LockPtrBtn(button=3,affect=both);
898 interpret Pointer_EnableKeys+AnyOfOrNone(all) {
899 action= LockControls(controls=MouseKeys);
901 interpret Pointer_Accelerate+AnyOfOrNone(all) {
902 action= LockControls(controls=MouseKeysAccel);
904 interpret Pointer_DfltBtnNext+AnyOfOrNone(all) {
905 action= SetPtrDflt(affect=button,button=+1);
907 interpret Pointer_DfltBtnPrev+AnyOfOrNone(all) {
908 action= SetPtrDflt(affect=button,button=-1);
910 interpret AccessX_Enable+AnyOfOrNone(all) {
911 action= LockControls(controls=AccessXKeys);
913 interpret AccessX_Feedback_Enable+AnyOfOrNone(all) {
914 action= LockControls(controls=AccessXFeedback);
916 interpret RepeatKeys_Enable+AnyOfOrNone(all) {
917 action= LockControls(controls=RepeatKeys);
919 interpret SlowKeys_Enable+AnyOfOrNone(all) {
920 action= LockControls(controls=SlowKeys);
922 interpret BounceKeys_Enable+AnyOfOrNone(all) {
923 action= LockControls(controls=BounceKeys);
925 interpret StickyKeys_Enable+AnyOfOrNone(all) {
926 action= LockControls(controls=StickyKeys);
928 interpret MouseKeys_Enable+AnyOfOrNone(all) {
929 action= LockControls(controls=MouseKeys);
931 interpret MouseKeys_Accel_Enable+AnyOfOrNone(all) {
932 action= LockControls(controls=MouseKeysAccel);
934 interpret Overlay1_Enable+AnyOfOrNone(all) {
935 action= LockControls(controls=Overlay1);
937 interpret Overlay2_Enable+AnyOfOrNone(all) {
938 action= LockControls(controls=Overlay2);
940 interpret AudibleBell_Enable+AnyOfOrNone(all) {
941 action= LockControls(controls=AudibleBell);
943 interpret Terminate_Server+AnyOfOrNone(all) {
946 interpret Alt_L+AnyOfOrNone(all) {
947 action= SetMods(modifiers=Alt,clearLocks);
949 interpret Alt_R+AnyOfOrNone(all) {
950 action= SetMods(modifiers=Alt,clearLocks);
952 interpret Meta_L+AnyOfOrNone(all) {
953 action= SetMods(modifiers=Meta,clearLocks);
955 interpret Meta_R+AnyOfOrNone(all) {
956 action= SetMods(modifiers=Meta,clearLocks);
958 interpret Super_L+AnyOfOrNone(all) {
959 action= SetMods(modifiers=Super,clearLocks);
961 interpret Super_R+AnyOfOrNone(all) {
962 action= SetMods(modifiers=Super,clearLocks);
964 interpret Hyper_L+AnyOfOrNone(all) {
965 action= SetMods(modifiers=Hyper,clearLocks);
967 interpret Hyper_R+AnyOfOrNone(all) {
968 action= SetMods(modifiers=Hyper,clearLocks);
970 interpret Shift_L+AnyOfOrNone(all) {
971 action= SetMods(modifiers=Shift,clearLocks);
973 interpret XF86Switch_VT_1+AnyOfOrNone(all) {
975 action= SwitchScreen(screen=1,!same);
977 interpret XF86Switch_VT_2+AnyOfOrNone(all) {
979 action= SwitchScreen(screen=2,!same);
981 interpret XF86Switch_VT_3+AnyOfOrNone(all) {
983 action= SwitchScreen(screen=3,!same);
985 interpret XF86Switch_VT_4+AnyOfOrNone(all) {
987 action= SwitchScreen(screen=4,!same);
989 interpret XF86Switch_VT_5+AnyOfOrNone(all) {
991 action= SwitchScreen(screen=5,!same);
993 interpret XF86Switch_VT_6+AnyOfOrNone(all) {
995 action= SwitchScreen(screen=6,!same);
997 interpret XF86Switch_VT_7+AnyOfOrNone(all) {
999 action= SwitchScreen(screen=7,!same);
1001 interpret XF86Switch_VT_8+AnyOfOrNone(all) {
1003 action= SwitchScreen(screen=8,!same);
1005 interpret XF86Switch_VT_9+AnyOfOrNone(all) {
1007 action= SwitchScreen(screen=9,!same);
1009 interpret XF86Switch_VT_10+AnyOfOrNone(all) {
1011 action= SwitchScreen(screen=10,!same);
1013 interpret XF86Switch_VT_11+AnyOfOrNone(all) {
1015 action= SwitchScreen(screen=11,!same);
1017 interpret XF86Switch_VT_12+AnyOfOrNone(all) {
1019 action= SwitchScreen(screen=12,!same);
1021 interpret XF86LogGrabInfo+AnyOfOrNone(all) {
1023 action= Private(type=0x86,data[0]=0x50,data[1]=0x72,data[2]=0x47,data[3]=0x72,data[4]=0x62,data[5]=0x73,data[6]=0x00);
1025 interpret XF86LogWindowTree+AnyOfOrNone(all) {
1027 action= Private(type=0x86,data[0]=0x50,data[1]=0x72,data[2]=0x57,data[3]=0x69,data[4]=0x6e,data[5]=0x73,data[6]=0x00);
1029 interpret XF86Next_VMode+AnyOfOrNone(all) {
1031 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);
1033 interpret XF86Prev_VMode+AnyOfOrNone(all) {
1035 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);
1037 interpret ISO_Level5_Shift+AnyOfOrNone(all) {
1038 action= SetMods(modifiers=LevelFive,clearLocks);
1040 interpret ISO_Level5_Latch+AnyOfOrNone(all) {
1041 action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
1043 interpret ISO_Level5_Lock+AnyOfOrNone(all) {
1044 action= LockMods(modifiers=LevelFive);
1046 interpret Caps_Lock+AnyOfOrNone(all) {
1047 action= LockMods(modifiers=Lock);
1049 interpret Any+Exactly(Lock) {
1050 action= LockMods(modifiers=Lock);
1052 interpret Any+AnyOf(all) {
1053 action= SetMods(modifiers=modMapMods,clearLocks);
1058 indicator "Caps Lock" {
1060 whichModState= locked;
1063 indicator "Num Lock" {
1065 whichModState= locked;
1068 indicator "Scroll Lock" {
1069 whichModState= locked;
1070 modifiers= ScrollLock;
1072 indicator "Shift Lock" {
1074 whichModState= locked;
1077 indicator "Group 2" {
1081 indicator "Mouse Keys" {
1082 indicatorDrivesKeyboard;
1083 controls= mouseKeys;
1087 xkb_symbols "pc+de+inet(evdev)+group(menu_toggle)+ctrl(nocaps)" {
1089 name[group1]="German";
1091 key <ESC> { [ Escape ] };
1094 symbols[Group1]= [ 1, exclam, onesuperior, exclamdown ]
1098 symbols[Group1]= [ 2, quotedbl, twosuperior, oneeighth ]
1102 symbols[Group1]= [ 3, section, threesuperior, sterling ]
1106 symbols[Group1]= [ 4, dollar, onequarter, currency ]
1110 symbols[Group1]= [ 5, percent, onehalf, threeeighths ]
1114 symbols[Group1]= [ 6, ampersand, notsign, fiveeighths ]
1118 symbols[Group1]= [ 7, slash, braceleft, seveneighths ]
1122 symbols[Group1]= [ 8, parenleft, bracketleft, trademark ]
1126 symbols[Group1]= [ 9, parenright, bracketright, plusminus ]
1130 symbols[Group1]= [ 0, equal, braceright, degree ]
1133 type= "FOUR_LEVEL_PLUS_LOCK",
1134 symbols[Group1]= [ ssharp, question, backslash, questiondown, U1E9E ]
1138 symbols[Group1]= [ dead_acute, dead_grave, dead_cedilla, dead_ogonek ]
1140 key <BKSP> { [ BackSpace, BackSpace ] };
1141 key <TAB> { [ Tab, ISO_Left_Tab ] };
1143 type= "FOUR_LEVEL_SEMIALPHABETIC",
1144 symbols[Group1]= [ q, Q, at, Greek_OMEGA ]
1147 type= "FOUR_LEVEL_ALPHABETIC",
1148 symbols[Group1]= [ w, W, lstroke, Lstroke ]
1151 type= "FOUR_LEVEL_SEMIALPHABETIC",
1152 symbols[Group1]= [ e, E, EuroSign, EuroSign ]
1155 type= "FOUR_LEVEL_SEMIALPHABETIC",
1156 symbols[Group1]= [ r, R, paragraph, registered ]
1159 type= "FOUR_LEVEL_ALPHABETIC",
1160 symbols[Group1]= [ t, T, tslash, Tslash ]
1163 type= "FOUR_LEVEL_SEMIALPHABETIC",
1164 symbols[Group1]= [ z, Z, leftarrow, yen ]
1167 type= "FOUR_LEVEL_SEMIALPHABETIC",
1168 symbols[Group1]= [ u, U, downarrow, uparrow ]
1171 type= "FOUR_LEVEL_SEMIALPHABETIC",
1172 symbols[Group1]= [ i, I, rightarrow, idotless ]
1175 type= "FOUR_LEVEL_ALPHABETIC",
1176 symbols[Group1]= [ o, O, oslash, Oslash ]
1179 type= "FOUR_LEVEL_ALPHABETIC",
1180 symbols[Group1]= [ p, P, thorn, THORN ]
1183 type= "FOUR_LEVEL_SEMIALPHABETIC",
1184 symbols[Group1]= [ udiaeresis, Udiaeresis, dead_diaeresis, dead_abovering ]
1188 symbols[Group1]= [ plus, asterisk, asciitilde, macron ]
1190 key <RTRN> { [ Return ] };
1191 key <LCTL> { [ Control_L ] };
1193 type= "FOUR_LEVEL_ALPHABETIC",
1194 symbols[Group1]= [ a, A, ae, AE ]
1197 type= "FOUR_LEVEL_SEMIALPHABETIC",
1198 symbols[Group1]= [ s, S, U017F, U1E9E ]
1201 type= "FOUR_LEVEL_ALPHABETIC",
1202 symbols[Group1]= [ d, D, eth, ETH ]
1205 type= "FOUR_LEVEL_SEMIALPHABETIC",
1206 symbols[Group1]= [ f, F, dstroke, ordfeminine ]
1209 type= "FOUR_LEVEL_ALPHABETIC",
1210 symbols[Group1]= [ g, G, eng, ENG ]
1213 type= "FOUR_LEVEL_ALPHABETIC",
1214 symbols[Group1]= [ h, H, hstroke, Hstroke ]
1217 type= "FOUR_LEVEL_SEMIALPHABETIC",
1218 symbols[Group1]= [ j, J, dead_belowdot, dead_abovedot ]
1221 type= "FOUR_LEVEL_SEMIALPHABETIC",
1222 symbols[Group1]= [ k, K, kra, ampersand ]
1225 type= "FOUR_LEVEL_ALPHABETIC",
1226 symbols[Group1]= [ l, L, lstroke, Lstroke ]
1229 type= "FOUR_LEVEL_SEMIALPHABETIC",
1230 symbols[Group1]= [ odiaeresis, Odiaeresis, dead_doubleacute, dead_belowdot ]
1233 type= "FOUR_LEVEL_SEMIALPHABETIC",
1234 symbols[Group1]= [ adiaeresis, Adiaeresis, dead_circumflex, dead_caron ]
1238 symbols[Group1]= [ dead_circumflex, degree, U2032, U2033 ]
1240 key <LFSH> { [ Shift_L ] };
1243 symbols[Group1]= [ numbersign, apostrophe, rightsinglequotemark, dead_breve ]
1246 type= "FOUR_LEVEL_SEMIALPHABETIC",
1247 symbols[Group1]= [ y, Y, guillemotright, U203A ]
1250 type= "FOUR_LEVEL_SEMIALPHABETIC",
1251 symbols[Group1]= [ x, X, guillemotleft, U2039 ]
1254 type= "FOUR_LEVEL_SEMIALPHABETIC",
1255 symbols[Group1]= [ c, C, cent, copyright ]
1258 type= "FOUR_LEVEL_SEMIALPHABETIC",
1259 symbols[Group1]= [ v, V, doublelowquotemark, singlelowquotemark ]
1262 type= "FOUR_LEVEL_SEMIALPHABETIC",
1263 symbols[Group1]= [ b, B, leftdoublequotemark, leftsinglequotemark ]
1266 type= "FOUR_LEVEL_SEMIALPHABETIC",
1267 symbols[Group1]= [ n, N, rightdoublequotemark, rightsinglequotemark ]
1270 type= "FOUR_LEVEL_SEMIALPHABETIC",
1271 symbols[Group1]= [ m, M, mu, masculine ]
1275 symbols[Group1]= [ comma, semicolon, periodcentered, multiply ]
1279 symbols[Group1]= [ period, colon, U2026, division ]
1283 symbols[Group1]= [ minus, underscore, endash, emdash ]
1285 key <RTSH> { [ Shift_R ] };
1288 symbols[Group1]= [ KP_Multiply, KP_Multiply, KP_Multiply, KP_Multiply, XF86ClearGrab ]
1290 key <LALT> { [ Alt_L, Meta_L ] };
1291 key <SPCE> { [ space ] };
1292 key <CAPS> { [ Control_L, Control_L ] };
1295 symbols[Group1]= [ F1, F1, F1, F1, XF86Switch_VT_1 ]
1299 symbols[Group1]= [ F2, F2, F2, F2, XF86Switch_VT_2 ]
1303 symbols[Group1]= [ F3, F3, F3, F3, XF86Switch_VT_3 ]
1307 symbols[Group1]= [ F4, F4, F4, F4, XF86Switch_VT_4 ]
1311 symbols[Group1]= [ F5, F5, F5, F5, XF86Switch_VT_5 ]
1315 symbols[Group1]= [ F6, F6, F6, F6, XF86Switch_VT_6 ]
1319 symbols[Group1]= [ F7, F7, F7, F7, XF86Switch_VT_7 ]
1323 symbols[Group1]= [ F8, F8, F8, F8, XF86Switch_VT_8 ]
1327 symbols[Group1]= [ F9, F9, F9, F9, XF86Switch_VT_9 ]
1331 symbols[Group1]= [ F10, F10, F10, F10, XF86Switch_VT_10 ]
1333 key <NMLK> { [ Num_Lock ] };
1334 key <SCLK> { [ Scroll_Lock ] };
1335 key <KP7> { [ KP_Home, KP_7 ] };
1336 key <KP8> { [ KP_Up, KP_8 ] };
1337 key <KP9> { [ KP_Prior, KP_9 ] };
1340 symbols[Group1]= [ KP_Subtract, KP_Subtract, KP_Subtract, KP_Subtract, XF86Prev_VMode ]
1342 key <KP4> { [ KP_Left, KP_4 ] };
1343 key <KP5> { [ KP_Begin, KP_5 ] };
1344 key <KP6> { [ KP_Right, KP_6 ] };
1347 symbols[Group1]= [ KP_Add, KP_Add, KP_Add, KP_Add, XF86Next_VMode ]
1349 key <KP1> { [ KP_End, KP_1 ] };
1350 key <KP2> { [ KP_Down, KP_2 ] };
1351 key <KP3> { [ KP_Next, KP_3 ] };
1352 key <KP0> { [ KP_Insert, KP_0 ] };
1355 symbols[Group1]= [ KP_Delete, KP_Separator ]
1359 symbols[Group1]= [ ISO_Level3_Shift ],
1360 actions[Group1]= [ SetMods(modifiers=LevelThree) ]
1364 symbols[Group1]= [ less, greater, bar, brokenbar ]
1368 symbols[Group1]= [ F11, F11, F11, F11, XF86Switch_VT_11 ]
1372 symbols[Group1]= [ F12, F12, F12, F12, XF86Switch_VT_12 ]
1374 key <KATA> { [ Katakana ] };
1375 key <HIRA> { [ Hiragana ] };
1376 key <HENK> { [ Henkan_Mode ] };
1377 key <HKTG> { [ Hiragana_Katakana ] };
1378 key <MUHE> { [ Muhenkan ] };
1379 key <KPEN> { [ KP_Enter ] };
1380 key <RCTL> { [ Control_R ] };
1383 symbols[Group1]= [ KP_Divide, KP_Divide, KP_Divide, KP_Divide, XF86Ungrab ]
1386 type= "PC_ALT_LEVEL2",
1387 symbols[Group1]= [ Print, Sys_Req ]
1391 symbols[Group1]= [ ISO_Level3_Shift ]
1393 key <LNFD> { [ Linefeed ] };
1394 key <HOME> { [ Home ] };
1395 key <UP> { [ Up ] };
1396 key <PGUP> { [ Prior ] };
1397 key <LEFT> { [ Left ] };
1398 key <RGHT> { [ Right ] };
1399 key <END> { [ End ] };
1400 key <DOWN> { [ Down ] };
1401 key <PGDN> { [ Next ] };
1402 key <INS> { [ Insert ] };
1403 key <DELE> { [ Delete ] };
1404 key <MUTE> { [ XF86AudioMute ] };
1405 key <VOL-> { [ XF86AudioLowerVolume ] };
1406 key <VOL+> { [ XF86AudioRaiseVolume ] };
1407 key <POWR> { [ XF86PowerOff ] };
1408 key <KPEQ> { [ KP_Equal ] };
1409 key <I126> { [ plusminus ] };
1411 type= "PC_CONTROL_LEVEL2",
1412 symbols[Group1]= [ Pause, Break ]
1414 key <I128> { [ XF86LaunchA ] };
1415 key <I129> { [ KP_Decimal, KP_Decimal ] };
1416 key <HNGL> { [ Hangul ] };
1417 key <HJCV> { [ Hangul_Hanja ] };
1418 key <LWIN> { [ Super_L ] };
1419 key <RWIN> { [ Super_R ] };
1420 key <COMP> { [ ISO_Next_Group, Menu ] };
1421 key <STOP> { [ Cancel ] };
1422 key <AGAI> { [ Redo ] };
1423 key <PROP> { [ SunProps ] };
1424 key <UNDO> { [ Undo ] };
1425 key <FRNT> { [ SunFront ] };
1426 key <COPY> { [ XF86Copy ] };
1427 key <OPEN> { [ XF86Open ] };
1428 key <PAST> { [ XF86Paste ] };
1429 key <FIND> { [ Find ] };
1430 key <CUT> { [ XF86Cut ] };
1431 key <HELP> { [ Help ] };
1432 key <I147> { [ XF86MenuKB ] };
1433 key <I148> { [ XF86Calculator ] };
1434 key <I150> { [ XF86Sleep ] };
1435 key <I151> { [ XF86WakeUp ] };
1436 key <I152> { [ XF86Explorer ] };
1437 key <I153> { [ XF86Send ] };
1438 key <I155> { [ XF86Xfer ] };
1439 key <I156> { [ XF86Launch1 ] };
1440 key <I157> { [ XF86Launch2 ] };
1441 key <I158> { [ XF86WWW ] };
1442 key <I159> { [ XF86DOS ] };
1443 key <I160> { [ XF86ScreenSaver ] };
1444 key <I162> { [ XF86RotateWindows ] };
1445 key <I163> { [ XF86Mail ] };
1446 key <I164> { [ XF86Favorites ] };
1447 key <I165> { [ XF86MyComputer ] };
1448 key <I166> { [ XF86Back ] };
1449 key <I167> { [ XF86Forward ] };
1450 key <I169> { [ XF86Eject ] };
1451 key <I170> { [ XF86Eject, XF86Eject ] };
1452 key <I171> { [ XF86AudioNext ] };
1453 key <I172> { [ XF86AudioPlay, XF86AudioPause ] };
1454 key <I173> { [ XF86AudioPrev ] };
1455 key <I174> { [ XF86AudioStop, XF86Eject ] };
1456 key <I175> { [ XF86AudioRecord ] };
1457 key <I176> { [ XF86AudioRewind ] };
1458 key <I177> { [ XF86Phone ] };
1459 key <I179> { [ XF86Tools ] };
1460 key <I180> { [ XF86HomePage ] };
1461 key <I181> { [ XF86Reload ] };
1462 key <I182> { [ XF86Close ] };
1463 key <I185> { [ XF86ScrollUp ] };
1464 key <I186> { [ XF86ScrollDown ] };
1465 key <I187> { [ parenleft ] };
1466 key <I188> { [ parenright ] };
1467 key <I189> { [ XF86New ] };
1468 key <I190> { [ Redo ] };
1469 key <FK13> { [ XF86Tools ] };
1470 key <FK14> { [ XF86Launch5 ] };
1471 key <FK15> { [ XF86Launch6 ] };
1472 key <FK16> { [ XF86Launch7 ] };
1473 key <FK17> { [ XF86Launch8 ] };
1474 key <FK18> { [ XF86Launch9 ] };
1475 key <FK21> { [ XF86TouchpadToggle ] };
1476 key <FK22> { [ XF86TouchpadOn ] };
1477 key <FK23> { [ XF86TouchpadOff ] };
1478 key <MDSW> { [ Mode_switch ] };
1479 key <ALT> { [ NoSymbol, Alt_L ] };
1480 key <META> { [ NoSymbol, Meta_L ] };
1481 key <SUPR> { [ NoSymbol, Super_L ] };
1482 key <HYPR> { [ NoSymbol, Hyper_L ] };
1483 key <I208> { [ XF86AudioPlay ] };
1484 key <I209> { [ XF86AudioPause ] };
1485 key <I210> { [ XF86Launch3 ] };
1486 key <I211> { [ XF86Launch4 ] };
1487 key <I212> { [ XF86LaunchB ] };
1488 key <I213> { [ XF86Suspend ] };
1489 key <I214> { [ XF86Close ] };
1490 key <I215> { [ XF86AudioPlay ] };
1491 key <I216> { [ XF86AudioForward ] };
1492 key <I218> { [ Print ] };
1493 key <I220> { [ XF86WebCam ] };
1494 key <I223> { [ XF86Mail ] };
1495 key <I224> { [ XF86Messenger ] };
1496 key <I225> { [ XF86Search ] };
1497 key <I226> { [ XF86Go ] };
1498 key <I227> { [ XF86Finance ] };
1499 key <I228> { [ XF86Game ] };
1500 key <I229> { [ XF86Shop ] };
1501 key <I231> { [ Cancel ] };
1502 key <I232> { [ XF86MonBrightnessDown ] };
1503 key <I233> { [ XF86MonBrightnessUp ] };
1504 key <I234> { [ XF86AudioMedia ] };
1505 key <I235> { [ XF86Display ] };
1506 key <I236> { [ XF86KbdLightOnOff ] };
1507 key <I237> { [ XF86KbdBrightnessDown ] };
1508 key <I238> { [ XF86KbdBrightnessUp ] };
1509 key <I239> { [ XF86Send ] };
1510 key <I240> { [ XF86Reply ] };
1511 key <I241> { [ XF86MailForward ] };
1512 key <I242> { [ XF86Save ] };
1513 key <I243> { [ XF86Documents ] };
1514 key <I244> { [ XF86Battery ] };
1515 key <I245> { [ XF86Bluetooth ] };
1516 key <I246> { [ XF86WLAN ] };
1517 modifier_map Control { <LCTL> };
1518 modifier_map Shift { <LFSH> };
1519 modifier_map Shift { <RTSH> };
1520 modifier_map Mod1 { <LALT> };
1521 modifier_map Control { <CAPS> };
1522 modifier_map Mod2 { <NMLK> };
1523 modifier_map Mod5 { <LVL3> };
1524 modifier_map Control { <RCTL> };
1525 modifier_map Mod4 { <LWIN> };
1526 modifier_map Mod4 { <RWIN> };
1527 modifier_map Mod5 { <MDSW> };
1528 modifier_map Mod1 { <META> };
1529 modifier_map Mod4 { <SUPR> };
1530 modifier_map Mod4 { <HYPR> };