2 xkb_keycodes "evdev+aliases(qwerty)" {
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 <LatY> = <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 <LatZ> = <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[LevelThree+LevelFive]= Level7;
474 map[Shift+LevelThree+LevelFive]= Level8;
475 map[Lock+LevelThree+LevelFive]= Level7;
476 preserve[Lock+LevelThree+LevelFive]= Lock;
477 map[Shift+Lock+LevelThree+LevelFive]= Level8;
478 preserve[Shift+Lock+LevelThree+LevelFive]= Lock;
479 map[Shift+Lock+LevelFive]= Level1;
480 preserve[Shift+Lock+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_Lock+AnyOf(all) {
616 action= ISOLock(modifiers=modMapMods,affect=all);
618 interpret ISO_Level3_Shift+AnyOf(all) {
619 virtualModifier= LevelThree;
620 useModMapMods=level1;
621 action= SetMods(modifiers=LevelThree,clearLocks);
623 interpret ISO_Level3_Latch+AnyOf(all) {
624 virtualModifier= LevelThree;
625 useModMapMods=level1;
626 action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
628 interpret ISO_Level3_Lock+AnyOf(all) {
629 virtualModifier= LevelThree;
630 useModMapMods=level1;
631 action= LockMods(modifiers=LevelThree);
633 interpret Alt_L+AnyOf(all) {
634 virtualModifier= Alt;
635 action= SetMods(modifiers=modMapMods,clearLocks);
637 interpret Alt_R+AnyOf(all) {
638 virtualModifier= Alt;
639 action= SetMods(modifiers=modMapMods,clearLocks);
641 interpret Meta_L+AnyOf(all) {
642 virtualModifier= Meta;
643 action= SetMods(modifiers=modMapMods,clearLocks);
645 interpret Meta_R+AnyOf(all) {
646 virtualModifier= Meta;
647 action= SetMods(modifiers=modMapMods,clearLocks);
649 interpret Super_L+AnyOf(all) {
650 virtualModifier= Super;
651 action= SetMods(modifiers=modMapMods,clearLocks);
653 interpret Super_R+AnyOf(all) {
654 virtualModifier= Super;
655 action= SetMods(modifiers=modMapMods,clearLocks);
657 interpret Hyper_L+AnyOf(all) {
658 virtualModifier= Hyper;
659 action= SetMods(modifiers=modMapMods,clearLocks);
661 interpret Hyper_R+AnyOf(all) {
662 virtualModifier= Hyper;
663 action= SetMods(modifiers=modMapMods,clearLocks);
665 interpret Scroll_Lock+AnyOf(all) {
666 virtualModifier= ScrollLock;
667 action= LockMods(modifiers=modMapMods);
669 interpret ISO_Level5_Shift+AnyOf(all) {
670 virtualModifier= LevelFive;
671 useModMapMods=level1;
672 action= SetMods(modifiers=LevelFive,clearLocks);
674 interpret ISO_Level5_Latch+AnyOf(all) {
675 virtualModifier= LevelFive;
676 action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
678 interpret ISO_Level5_Lock+AnyOf(all) {
679 virtualModifier= LevelFive;
680 action= LockMods(modifiers=LevelFive);
682 interpret Mode_switch+AnyOfOrNone(all) {
683 virtualModifier= AltGr;
684 useModMapMods=level1;
685 action= SetGroup(group=+1);
687 interpret ISO_Level3_Shift+AnyOfOrNone(all) {
688 action= SetMods(modifiers=LevelThree,clearLocks);
690 interpret ISO_Level3_Latch+AnyOfOrNone(all) {
691 action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
693 interpret ISO_Level3_Lock+AnyOfOrNone(all) {
694 action= LockMods(modifiers=LevelThree);
696 interpret ISO_Group_Latch+AnyOfOrNone(all) {
697 virtualModifier= AltGr;
698 useModMapMods=level1;
699 action= LatchGroup(group=2);
701 interpret ISO_Next_Group+AnyOfOrNone(all) {
702 virtualModifier= AltGr;
703 useModMapMods=level1;
704 action= LockGroup(group=+1);
706 interpret ISO_Prev_Group+AnyOfOrNone(all) {
707 virtualModifier= AltGr;
708 useModMapMods=level1;
709 action= LockGroup(group=-1);
711 interpret ISO_First_Group+AnyOfOrNone(all) {
712 action= LockGroup(group=1);
714 interpret ISO_Last_Group+AnyOfOrNone(all) {
715 action= LockGroup(group=2);
717 interpret Pointer_Button_Dflt+AnyOfOrNone(all) {
718 action= PtrBtn(button=default);
720 interpret Pointer_Button1+AnyOfOrNone(all) {
721 action= PtrBtn(button=1);
723 interpret Pointer_Button2+AnyOfOrNone(all) {
724 action= PtrBtn(button=2);
726 interpret Pointer_Button3+AnyOfOrNone(all) {
727 action= PtrBtn(button=3);
729 interpret Pointer_DblClick_Dflt+AnyOfOrNone(all) {
730 action= PtrBtn(button=default,count=2);
732 interpret Pointer_DblClick1+AnyOfOrNone(all) {
733 action= PtrBtn(button=1,count=2);
735 interpret Pointer_DblClick2+AnyOfOrNone(all) {
736 action= PtrBtn(button=2,count=2);
738 interpret Pointer_DblClick3+AnyOfOrNone(all) {
739 action= PtrBtn(button=3,count=2);
741 interpret Pointer_Drag_Dflt+AnyOfOrNone(all) {
742 action= LockPtrBtn(button=default,affect=both);
744 interpret Pointer_Drag1+AnyOfOrNone(all) {
745 action= LockPtrBtn(button=1,affect=both);
747 interpret Pointer_Drag2+AnyOfOrNone(all) {
748 action= LockPtrBtn(button=2,affect=both);
750 interpret Pointer_Drag3+AnyOfOrNone(all) {
751 action= LockPtrBtn(button=3,affect=both);
753 interpret Pointer_EnableKeys+AnyOfOrNone(all) {
754 action= LockControls(controls=MouseKeys);
756 interpret Pointer_Accelerate+AnyOfOrNone(all) {
757 action= LockControls(controls=MouseKeysAccel);
759 interpret Pointer_DfltBtnNext+AnyOfOrNone(all) {
760 action= SetPtrDflt(affect=button,button=+1);
762 interpret Pointer_DfltBtnPrev+AnyOfOrNone(all) {
763 action= SetPtrDflt(affect=button,button=-1);
765 interpret AccessX_Enable+AnyOfOrNone(all) {
766 action= LockControls(controls=AccessXKeys);
768 interpret AccessX_Feedback_Enable+AnyOfOrNone(all) {
769 action= LockControls(controls=AccessXFeedback);
771 interpret RepeatKeys_Enable+AnyOfOrNone(all) {
772 action= LockControls(controls=RepeatKeys);
774 interpret SlowKeys_Enable+AnyOfOrNone(all) {
775 action= LockControls(controls=SlowKeys);
777 interpret BounceKeys_Enable+AnyOfOrNone(all) {
778 action= LockControls(controls=BounceKeys);
780 interpret StickyKeys_Enable+AnyOfOrNone(all) {
781 action= LockControls(controls=StickyKeys);
783 interpret MouseKeys_Enable+AnyOfOrNone(all) {
784 action= LockControls(controls=MouseKeys);
786 interpret MouseKeys_Accel_Enable+AnyOfOrNone(all) {
787 action= LockControls(controls=MouseKeysAccel);
789 interpret Overlay1_Enable+AnyOfOrNone(all) {
790 action= LockControls(controls=Overlay1);
792 interpret Overlay2_Enable+AnyOfOrNone(all) {
793 action= LockControls(controls=Overlay2);
795 interpret AudibleBell_Enable+AnyOfOrNone(all) {
796 action= LockControls(controls=AudibleBell);
798 interpret Terminate_Server+AnyOfOrNone(all) {
801 interpret Alt_L+AnyOfOrNone(all) {
802 action= SetMods(modifiers=Alt,clearLocks);
804 interpret Alt_R+AnyOfOrNone(all) {
805 action= SetMods(modifiers=Alt,clearLocks);
807 interpret Meta_L+AnyOfOrNone(all) {
808 action= SetMods(modifiers=Meta,clearLocks);
810 interpret Meta_R+AnyOfOrNone(all) {
811 action= SetMods(modifiers=Meta,clearLocks);
813 interpret Super_L+AnyOfOrNone(all) {
814 action= SetMods(modifiers=Super,clearLocks);
816 interpret Super_R+AnyOfOrNone(all) {
817 action= SetMods(modifiers=Super,clearLocks);
819 interpret Hyper_L+AnyOfOrNone(all) {
820 action= SetMods(modifiers=Hyper,clearLocks);
822 interpret Hyper_R+AnyOfOrNone(all) {
823 action= SetMods(modifiers=Hyper,clearLocks);
825 interpret Shift_L+AnyOfOrNone(all) {
826 action= SetMods(modifiers=Shift,clearLocks);
828 interpret XF86Switch_VT_1+AnyOfOrNone(all) {
830 action= SwitchScreen(screen=1,!same);
832 interpret XF86Switch_VT_2+AnyOfOrNone(all) {
834 action= SwitchScreen(screen=2,!same);
836 interpret XF86Switch_VT_3+AnyOfOrNone(all) {
838 action= SwitchScreen(screen=3,!same);
840 interpret XF86Switch_VT_4+AnyOfOrNone(all) {
842 action= SwitchScreen(screen=4,!same);
844 interpret XF86Switch_VT_5+AnyOfOrNone(all) {
846 action= SwitchScreen(screen=5,!same);
848 interpret XF86Switch_VT_6+AnyOfOrNone(all) {
850 action= SwitchScreen(screen=6,!same);
852 interpret XF86Switch_VT_7+AnyOfOrNone(all) {
854 action= SwitchScreen(screen=7,!same);
856 interpret XF86Switch_VT_8+AnyOfOrNone(all) {
858 action= SwitchScreen(screen=8,!same);
860 interpret XF86Switch_VT_9+AnyOfOrNone(all) {
862 action= SwitchScreen(screen=9,!same);
864 interpret XF86Switch_VT_10+AnyOfOrNone(all) {
866 action= SwitchScreen(screen=10,!same);
868 interpret XF86Switch_VT_11+AnyOfOrNone(all) {
870 action= SwitchScreen(screen=11,!same);
872 interpret XF86Switch_VT_12+AnyOfOrNone(all) {
874 action= SwitchScreen(screen=12,!same);
876 interpret XF86LogGrabInfo+AnyOfOrNone(all) {
878 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);
880 interpret XF86LogWindowTree+AnyOfOrNone(all) {
882 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);
884 interpret XF86Next_VMode+AnyOfOrNone(all) {
886 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);
888 interpret XF86Prev_VMode+AnyOfOrNone(all) {
890 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);
892 interpret ISO_Level5_Shift+AnyOfOrNone(all) {
893 action= SetMods(modifiers=LevelFive,clearLocks);
895 interpret ISO_Level5_Latch+AnyOfOrNone(all) {
896 action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
898 interpret ISO_Level5_Lock+AnyOfOrNone(all) {
899 action= LockMods(modifiers=LevelFive);
901 interpret Caps_Lock+AnyOfOrNone(all) {
902 action= LockMods(modifiers=Lock);
904 interpret Any+Exactly(Lock) {
905 action= LockMods(modifiers=Lock);
907 interpret Any+AnyOf(all) {
908 action= SetMods(modifiers=modMapMods,clearLocks);
913 indicator "Caps Lock" {
915 whichModState= locked;
918 indicator "Num Lock" {
920 whichModState= locked;
923 indicator "Scroll Lock" {
924 whichModState= locked;
925 modifiers= ScrollLock;
927 indicator "Shift Lock" {
929 whichModState= locked;
932 indicator "Group 2" {
936 indicator "Mouse Keys" {
937 indicatorDrivesKeyboard;
942 xkb_symbols "pc+us+inet(evdev)" {
944 name[group1]="English (US)";
946 key <ESC> { [ Escape ] };
947 key <AE01> { [ 1, exclam ] };
948 key <AE02> { [ 2, at ] };
949 key <AE03> { [ 3, numbersign ] };
950 key <AE04> { [ 4, dollar ] };
951 key <AE05> { [ 5, percent ] };
952 key <AE06> { [ 6, asciicircum ] };
953 key <AE07> { [ 7, ampersand ] };
954 key <AE08> { [ 8, asterisk ] };
955 key <AE09> { [ 9, parenleft ] };
956 key <AE10> { [ 0, parenright ] };
957 key <AE11> { [ minus, underscore ] };
958 key <AE12> { [ equal, plus ] };
959 key <BKSP> { [ BackSpace, BackSpace ] };
960 key <TAB> { [ Tab, ISO_Left_Tab ] };
963 symbols[Group1]= [ q, Q ]
967 symbols[Group1]= [ w, W ]
971 symbols[Group1]= [ e, E ]
975 symbols[Group1]= [ r, R ]
979 symbols[Group1]= [ t, T ]
983 symbols[Group1]= [ y, Y ]
987 symbols[Group1]= [ u, U ]
991 symbols[Group1]= [ i, I ]
995 symbols[Group1]= [ o, O ]
999 symbols[Group1]= [ p, P ]
1001 key <AD11> { [ bracketleft, braceleft ] };
1002 key <AD12> { [ bracketright, braceright ] };
1003 key <RTRN> { [ Return ] };
1004 key <LCTL> { [ Control_L ] };
1007 symbols[Group1]= [ a, A ]
1011 symbols[Group1]= [ s, S ]
1015 symbols[Group1]= [ d, D ]
1019 symbols[Group1]= [ f, F ]
1023 symbols[Group1]= [ g, G ]
1027 symbols[Group1]= [ h, H ]
1031 symbols[Group1]= [ j, J ]
1035 symbols[Group1]= [ k, K ]
1039 symbols[Group1]= [ l, L ]
1041 key <AC10> { [ semicolon, colon ] };
1042 key <AC11> { [ apostrophe, quotedbl ] };
1043 key <TLDE> { [ grave, asciitilde ] };
1044 key <LFSH> { [ Shift_L ] };
1045 key <BKSL> { [ backslash, bar ] };
1048 symbols[Group1]= [ z, Z ]
1052 symbols[Group1]= [ x, X ]
1056 symbols[Group1]= [ c, C ]
1060 symbols[Group1]= [ v, V ]
1064 symbols[Group1]= [ b, B ]
1068 symbols[Group1]= [ n, N ]
1072 symbols[Group1]= [ m, M ]
1074 key <AB08> { [ comma, less ] };
1075 key <AB09> { [ period, greater ] };
1076 key <AB10> { [ slash, question ] };
1077 key <RTSH> { [ Shift_R ] };
1080 symbols[Group1]= [ underscore, grave, KP_Multiply, KP_Multiply, XF86ClearGrab ]
1082 key <LALT> { [ Alt_L, Meta_L ] };
1083 key <SPCE> { [ space ] };
1084 key <CAPS> { [ Caps_Lock ] };
1087 symbols[Group1]= [ F1, F1, F1, F1, XF86Switch_VT_1 ]
1091 symbols[Group1]= [ F2, F2, F2, F2, XF86Switch_VT_2 ]
1095 symbols[Group1]= [ F3, F3, F3, F3, XF86Switch_VT_3 ]
1099 symbols[Group1]= [ F4, F4, F4, F4, XF86Switch_VT_4 ]
1103 symbols[Group1]= [ F5, F5, F5, F5, XF86Switch_VT_5 ]
1107 symbols[Group1]= [ F6, F6, F6, F6, XF86Switch_VT_6 ]
1111 symbols[Group1]= [ F7, F7, F7, F7, XF86Switch_VT_7 ]
1115 symbols[Group1]= [ F8, F8, F8, F8, XF86Switch_VT_8 ]
1119 symbols[Group1]= [ F9, F9, F9, F9, XF86Switch_VT_9 ]
1123 symbols[Group1]= [ Pointer_Button1, Pointer_Button1, Pointer_Button1, Pointer_Button1, XF86Switch_VT_10 ]
1125 key <NMLK> { [ Num_Lock ] };
1126 key <SCLK> { [ Scroll_Lock ] };
1127 key <KP7> { [ KP_Home, KP_7 ] };
1128 key <KP8> { [ KP_Up, KP_8 ] };
1129 key <KP9> { [ KP_Prior, KP_9 ] };
1132 symbols[Group1]= [ asterisk, grave, KP_Subtract, KP_Subtract, XF86Prev_VMode ]
1134 key <KP4> { [ KP_Left, KP_4 ] };
1135 key <KP5> { [ KP_Begin, KP_5 ] };
1136 key <KP6> { [ KP_Right, KP_6 ] };
1139 symbols[Group1]= [ KP_Add, asciitilde, KP_Add, KP_Add, XF86Next_VMode ]
1141 key <KP1> { [ KP_End, KP_1 ] };
1142 key <KP2> { [ KP_Down, KP_2 ] };
1143 key <KP3> { [ KP_Next, KP_3 ] };
1144 key <KP0> { [ KP_Insert, KP_0 ] };
1145 key <KPDL> { [ KP_Delete, KP_Decimal ] };
1146 key <LVL3> { [ ISO_Level3_Shift ] };
1149 symbols[Group1]= [ less, greater, bar, brokenbar ]
1153 symbols[Group1]= [ F11, F11, F11, F11, XF86Switch_VT_11 ]
1157 symbols[Group1]= [ F12, F12, F12, F12, XF86Switch_VT_12 ]
1159 key <KATA> { [ Katakana ] };
1160 key <HIRA> { [ Hiragana ] };
1161 key <HENK> { [ Henkan_Mode ] };
1162 key <HKTG> { [ Hiragana_Katakana ] };
1163 key <MUHE> { [ Muhenkan ] };
1164 key <KPEN> { [ KP_Enter ] };
1165 key <RCTL> { [ Control_R ] };
1166 key <KPEQ> { type= "CTRL+ALT",
1167 symbols[Group1]= [ parenleft, KP_Equal, KP_Equal, KP_Equal, XF86Ungrab ]
1171 symbols[Group1]= [ parenright, KP_Divide, KP_Divide, KP_Divide, XF86Ungrab ]
1174 type= "PC_ALT_LEVEL2",
1175 symbols[Group1]= [ Print, Sys_Req ]
1179 symbols[Group1]= [ Alt_R, Meta_R ]
1181 key <LNFD> { [ Linefeed ] };
1182 key <HOME> { [ Home ] };
1183 key <UP> { [ Up ] };
1184 key <PGUP> { [ Pointer_Button2 ] };
1185 key <LEFT> { [ Left ] };
1186 key <RGHT> { [ Right ] };
1187 key <END> { [ End ] };
1188 key <DOWN> { [ Down ] };
1189 key <PGDN> { [ Pointer_Button3 ] };
1190 key <INS> { [ Insert ] };
1191 key <DELE> { [ Delete ] };
1192 key <MUTE> { [ XF86AudioMute ] };
1193 key <VOL-> { [ XF86AudioLowerVolume ] };
1194 key <VOL+> { [ XF86AudioRaiseVolume ] };
1195 key <POWR> { [ XF86PowerOff ] };
1196 key <I126> { [ plusminus ] };
1198 type= "PC_CONTROL_LEVEL2",
1199 symbols[Group1]= [ Pause, Break ]
1201 key <I128> { [ XF86LaunchA ] };
1202 key <I129> { [ KP_Decimal, KP_Decimal ] };
1203 key <HNGL> { [ Hangul ] };
1204 key <HJCV> { [ Hangul_Hanja ] };
1205 key <LWIN> { [ Super_L ] };
1206 key <RWIN> { [ Super_R ] };
1207 key <COMP> { [ Menu ] };
1208 key <STOP> { [ Cancel ] };
1209 key <AGAI> { [ Redo ] };
1210 key <PROP> { [ SunProps ] };
1211 key <UNDO> { [ Undo ] };
1212 key <FRNT> { [ SunFront ] };
1213 key <COPY> { [ XF86Copy ] };
1214 key <OPEN> { [ SunOpen ] };
1215 key <PAST> { [ XF86Paste ] };
1216 key <FIND> { [ Find ] };
1217 key <CUT> { [ XF86Cut ] };
1218 key <HELP> { [ Help ] };
1219 key <I147> { [ XF86MenuKB ] };
1220 key <I148> { [ XF86Calculator ] };
1221 key <I150> { [ XF86Sleep ] };
1222 key <I151> { [ XF86WakeUp ] };
1223 key <I152> { [ XF86Explorer ] };
1224 key <I153> { [ XF86Send ] };
1225 key <I155> { [ XF86Xfer ] };
1226 key <I156> { [ XF86Launch1 ] };
1227 key <I157> { [ XF86Launch2 ] };
1228 key <I158> { [ XF86WWW ] };
1229 key <I159> { [ XF86DOS ] };
1230 key <I160> { [ XF86ScreenSaver ] };
1231 key <I162> { [ XF86RotateWindows ] };
1232 key <I163> { [ XF86Mail ] };
1233 key <I164> { [ XF86Favorites ] };
1234 key <I165> { [ XF86MyComputer ] };
1235 key <I166> { [ XF86Back ] };
1236 key <I167> { [ XF86Forward ] };
1237 key <I169> { [ XF86Eject ] };
1238 key <I170> { [ XF86Eject, XF86Eject ] };
1239 key <I171> { [ XF86AudioNext ] };
1240 key <I172> { [ XF86AudioPlay, XF86AudioPause ] };
1241 key <I173> { [ XF86AudioPrev ] };
1242 key <I174> { [ XF86AudioStop, XF86Eject ] };
1243 key <I175> { [ XF86AudioRecord ] };
1244 key <I176> { [ XF86AudioRewind ] };
1245 key <I177> { [ XF86Phone ] };
1246 key <I179> { [ XF86Tools ] };
1247 key <I180> { [ XF86HomePage ] };
1248 key <I181> { [ XF86Reload ] };
1249 key <I182> { [ XF86Close ] };
1250 key <I185> { [ XF86ScrollUp ] };
1251 key <I186> { [ XF86ScrollDown ] };
1252 key <I187> { [ parenleft ] };
1253 key <I188> { [ parenright ] };
1254 key <I189> { [ XF86New ] };
1255 key <I190> { [ Redo ] };
1256 key <FK13> { [ XF86Tools ] };
1257 key <FK14> { [ XF86Launch5 ] };
1258 key <FK15> { [ XF86Launch6 ] };
1259 key <FK16> { [ XF86Launch7 ] };
1260 key <FK17> { [ XF86Launch8 ] };
1261 key <FK18> { [ XF86Launch9 ] };
1262 key <FK20> { [ XF86AudioMicMute ] };
1263 key <FK21> { [ XF86TouchpadToggle ] };
1264 key <FK22> { [ XF86TouchpadOn ] };
1265 key <FK23> { [ XF86TouchpadOff ] };
1266 key <MDSW> { [ Mode_switch ] };
1267 key <ALT> { [ NoSymbol, Alt_L ] };
1268 key <META> { [ NoSymbol, Meta_L ] };
1269 key <SUPR> { [ NoSymbol, Super_L ] };
1270 key <HYPR> { [ NoSymbol, Hyper_L ] };
1271 key <I208> { [ XF86AudioPlay ] };
1272 key <I209> { [ XF86AudioPause ] };
1273 key <I210> { [ XF86Launch3 ] };
1274 key <I211> { [ XF86Launch4 ] };
1275 key <I212> { [ XF86LaunchB ] };
1276 key <I213> { [ XF86Suspend ] };
1277 key <I214> { [ XF86Close ] };
1278 key <I215> { [ XF86AudioPlay ] };
1279 key <I216> { [ XF86AudioForward ] };
1280 key <I218> { [ Print ] };
1281 key <I220> { [ XF86WebCam ] };
1282 key <I223> { [ XF86Mail ] };
1283 key <I224> { [ XF86Messenger ] };
1284 key <I225> { [ XF86Search ] };
1285 key <I226> { [ XF86Go ] };
1286 key <I227> { [ XF86Finance ] };
1287 key <I228> { [ XF86Game ] };
1288 key <I229> { [ XF86Shop ] };
1289 key <I231> { [ Cancel ] };
1290 key <I232> { [ XF86MonBrightnessDown ] };
1291 key <I233> { [ XF86MonBrightnessUp ] };
1292 key <I234> { [ XF86AudioMedia ] };
1293 key <I235> { [ XF86Display ] };
1294 key <I236> { [ XF86KbdLightOnOff ] };
1295 key <I237> { [ XF86KbdBrightnessDown ] };
1296 key <I238> { [ XF86KbdBrightnessUp ] };
1297 key <I239> { [ XF86Send ] };
1298 key <I240> { [ XF86Reply ] };
1299 key <I241> { [ XF86MailForward ] };
1300 key <I242> { [ XF86Save ] };
1301 key <I243> { [ XF86Documents ] };
1302 key <I244> { [ XF86Battery ] };
1303 key <I245> { [ XF86Bluetooth ] };
1304 key <I246> { [ XF86WLAN ] };
1305 modifier_map Control { <LCTL> };
1306 modifier_map Shift { <LFSH> };
1307 modifier_map Shift { <RTSH> };
1308 modifier_map Mod1 { <LALT> };
1309 modifier_map Lock { <CAPS> };
1310 modifier_map Mod2 { <NMLK> };
1311 modifier_map Mod5 { <LVL3> };
1312 modifier_map Control { <RCTL> };
1313 modifier_map Mod1 { <RALT> };
1314 modifier_map Mod4 { <LWIN> };
1315 modifier_map Mod4 { <RWIN> };
1316 modifier_map Mod5 { <MDSW> };
1317 modifier_map Mod1 { <META> };
1318 modifier_map Mod4 { <SUPR> };
1319 modifier_map Mod4 { <HYPR> };
1322 xkb_geometry "pc(pc105)" {
1327 alias <AC00> = <CAPS>;
1328 alias <AA00> = <LCTL>;
1331 labelColor= "black";
1332 xfont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
1333 description= "Generic 105";
1338 { [ 2, 1 ], [ 16, 16 ] }
1343 { [ 2, 1 ], [ 36, 16 ] }
1348 { [ 2, 1 ], [ 26, 16 ] }
1353 { [ 2, 1 ], [ 26, 16 ] }
1357 { [ 0, 0 ], [ 28, 0 ], [ 28, 37 ], [ 5, 37 ],
1358 [ 5, 18 ], [ 0, 18 ] },
1359 { [ 2, 1 ], [ 26, 1 ], [ 26, 35 ], [ 7, 35 ],
1360 [ 7, 16 ], [ 2, 16 ] },
1361 approx= { [ 5, 0 ], [ 28, 37 ] }
1366 { [ 2, 1 ], [ 31, 16 ] }
1371 { [ 2, 1 ], [ 23, 16 ] }
1376 { [ 2, 1 ], [ 48, 16 ] }
1381 { [ 2, 1 ], [ 25, 16 ] }
1386 { [ 2, 1 ], [ 21, 16 ] }
1391 { [ 2, 1 ], [ 111, 16 ] }
1396 { [ 2, 1 ], [ 35, 16 ] }
1401 { [ 2, 1 ], [ 16, 35 ] }
1403 shape "LEDS" { { [ 75, 20 ] } };
1404 shape "LED" { { [ 5, 1 ] } };
1405 section "Function" {
1406 key.color= "grey20";
1416 { <ESC>, "NORM", 1 },
1417 { <FK01>, "NORM", 20, color="white" },
1418 { <FK02>, "NORM", 1, color="white" },
1419 { <FK03>, "NORM", 1, color="white" },
1420 { <FK04>, "NORM", 1, color="white" },
1421 { <FK05>, "NORM", 11, color="white" },
1422 { <FK06>, "NORM", 1, color="white" },
1423 { <FK07>, "NORM", 1, color="white" },
1424 { <FK08>, "NORM", 1, color="white" },
1425 { <FK09>, "NORM", 11, color="white" },
1426 { <FK10>, "NORM", 1, color="white" },
1427 { <FK11>, "NORM", 1, color="white" },
1428 { <FK12>, "NORM", 1, color="white" },
1429 { <PRSC>, "NORM", 8, color="white" },
1430 { <SCLK>, "NORM", 1, color="white" },
1431 { <PAUS>, "NORM", 1, color="white" }
1434 }; // End of "Function" section
1447 { <TLDE>, "NORM", 1 }, { <AE01>, "NORM", 1 },
1448 { <AE02>, "NORM", 1 }, { <AE03>, "NORM", 1 },
1449 { <AE04>, "NORM", 1 }, { <AE05>, "NORM", 1 },
1450 { <AE06>, "NORM", 1 }, { <AE07>, "NORM", 1 },
1451 { <AE08>, "NORM", 1 }, { <AE09>, "NORM", 1 },
1452 { <AE10>, "NORM", 1 }, { <AE11>, "NORM", 1 },
1453 { <AE12>, "NORM", 1 },
1454 { <BKSP>, "BKSP", 1, color="grey20" }
1461 { <TAB>, "TABK", 1, color="grey20" },
1462 { <AD01>, "NORM", 1 }, { <AD02>, "NORM", 1 },
1463 { <AD03>, "NORM", 1 }, { <AD04>, "NORM", 1 },
1464 { <AD05>, "NORM", 1 }, { <AD06>, "NORM", 1 },
1465 { <AD07>, "NORM", 1 }, { <AD08>, "NORM", 1 },
1466 { <AD09>, "NORM", 1 }, { <AD10>, "NORM", 1 },
1467 { <AD11>, "NORM", 1 }, { <AD12>, "NORM", 1 },
1468 { <RTRN>, "RTRN", 1, color="grey20" }
1475 { <CAPS>, "CAPS", 1, color="grey20" },
1476 { <AC01>, "NORM", 1 }, { <AC02>, "NORM", 1 },
1477 { <AC03>, "NORM", 1 }, { <AC04>, "NORM", 1 },
1478 { <AC05>, "NORM", 1 }, { <AC06>, "NORM", 1 },
1479 { <AC07>, "NORM", 1 }, { <AC08>, "NORM", 1 },
1480 { <AC09>, "NORM", 1 }, { <AC10>, "NORM", 1 },
1481 { <AC11>, "NORM", 1 }, { <BKSL>, "NORM", 1 }
1488 { <LFSH>, "LFSH", 1, color="grey20" },
1489 { <LSGT>, "NORM", 1 }, { <AB01>, "NORM", 1 },
1490 { <AB02>, "NORM", 1 }, { <AB03>, "NORM", 1 },
1491 { <AB04>, "NORM", 1 }, { <AB05>, "NORM", 1 },
1492 { <AB06>, "NORM", 1 }, { <AB07>, "NORM", 1 },
1493 { <AB08>, "NORM", 1 }, { <AB09>, "NORM", 1 },
1494 { <AB10>, "NORM", 1 },
1495 { <RTSH>, "RTSH", 1, color="grey20" }
1502 { <LCTL>, "MODK", 1, color="grey20" },
1503 { <LWIN>, "SMOD", 1, color="grey20" },
1504 { <LALT>, "SMOD", 1, color="grey20" },
1505 { <SPCE>, "SPCE", 1 },
1506 { <RALT>, "SMOD", 1, color="grey20" },
1507 { <RWIN>, "SMOD", 1, color="grey20" },
1508 { <MENU>, "SMOD", 1, color="grey20" },
1509 { <RCTL>, "SMOD", 1, color="grey20" }
1512 }; // End of "Alpha" section
1515 key.color= "grey20";
1525 { <INS>, "NORM", 1 }, { <HOME>, "NORM", 1 },
1526 { <PGUP>, "NORM", 1 }
1533 { <DELE>, "NORM", 1 }, { <END>, "NORM", 1 },
1534 { <PGDN>, "NORM", 1 }
1548 { <LEFT>, "NORM", 1 }, { <DOWN>, "NORM", 1 },
1549 { <RGHT>, "NORM", 1 }
1552 }; // End of "Editing" section
1555 key.color= "grey20";
1565 { <NMLK>, "NORM", 1 }, { <KPDV>, "NORM", 1 },
1566 { <KPMU>, "NORM", 1 }, { <KPSU>, "NORM", 1 }
1573 { <KP7>, "NORM", 1, color="white" },
1574 { <KP8>, "NORM", 1, color="white" },
1575 { <KP9>, "NORM", 1, color="white" },
1576 { <KPAD>, "KPAD", 1 }
1583 { <KP4>, "NORM", 1, color="white" },
1584 { <KP5>, "NORM", 1, color="white" },
1585 { <KP6>, "NORM", 1, color="white" }
1592 { <KP1>, "NORM", 1, color="white" },
1593 { <KP2>, "NORM", 1, color="white" },
1594 { <KP3>, "NORM", 1, color="white" },
1595 { <KPEN>, "KPAD", 1 }
1602 { <KP0>, "KP0", 1, color="white" },
1603 { <KPDL>, "NORM", 1, color="white" }
1606 }; // End of "Keypad" section
1615 indicator "Num Lock" {
1620 offColor= "green30";
1623 indicator "Caps Lock" {
1628 offColor= "green30";
1631 indicator "Scroll Lock" {
1636 offColor= "green30";
1639 text "NumLockLabel" {
1645 XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
1648 text "CapsLockLabel" {
1654 XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
1657 text "ScrollLockLabel" {
1663 XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
1664 text= "Scroll\nLock";