On Mon, Sep 22, 2008 at 4:08 PM, Adam Jackson <ajax@xxxxxxxxxx> wrote: > Intel KMS support is likely to miss F10, it doesn't look to be in > working shape upstream let alone in fedora. The command line option > should work for the "keep both pieces" crowd though. Thanks for the feedback. For now, I am able to start X when I don't use the i915.modeset=1 kernel option. >> 3. What is the grand plan for configuration replacement for the >> xorg.conf file? >> ... /etc/hal/fdi/policy/10-synaptics.fdi, ... > You can do it there, or you can do it in xorg.conf like you've always > done. In fact, the latter is preferred. Ok, just to share how I was able to use synaptics "the way it was before": I removed xorg.conf, started X, went into /var/log/Xorg.0.log, cut the autoconfig section there, put it back into /etc/X11/xorg.conf, and added these lines (relevant for synaptics with (usable) tapping, and intel (to work with compiz-fusion in KDE4): Section "Device" Identifier "Builtin Default intel Device 0" Driver "intel" # "opera: X Shared memory extension is not available. ZPixmap not supported" # read: http://linux-tipps.blogspot.com/2008/06/operaintel-x-shared-memory-problem.html Option "AccelMethod" "XAA" # not EXA # read: http://forum.compiz-fusion.org/showthread.php?t=8119 Option "XAANoOffscreenPixmaps" "true" EndSection Section "InputDevice" Identifier "Synaptics" Driver "synaptics" Option "Device" "/dev/input/mice" Option "Protocol" "auto-dev" Option "Emulate3Buttons" "yes" Option "SHMConfig" "true" # Turn off horizontal scroll: Option "HorizScrollDelta" "0" Option "TapButton1" "1" Option "TapButton2" "2" Option "TapButton2" "3" # Make tapping work "the old way", ie. usable way: Option "MaxTapMove" "2000" EndSection (this config seems to survive suspend/resume, nice) Now X starts fine, but when I scroll in eg. 'konsole' I sometimes get wierd behavior: If I scroll up, the upper half of the screen stays static, but when I scroll down, the lower half of the screen stays static (doesn't "follow"). Said in another way - the scrolling seems to miss lines. Same thing happens sometimes, in Opera (web browser). Furthermore, dmesg keeps reporting [drm:i915_gem_execbuffer] *ERROR* Going to lose the write domain on obj 26 size 16777216 [drm:i915_gem_execbuffer] *ERROR* Going to lose the write domain on obj 27 size 16777216 and .xsession-errors shows: X Error: BadWindow (invalid Window parameter) 3 Major opcode: 20 (X_GetProperty) Resource id: 0x304def9 X Error: BadWindow (invalid Window parameter) 3 Major opcode: 20 Minor opcode: 0 Resource id: 0x2a38d26 > With the evdev driver, keyboard settings are inherited from the settings > in /etc/sysconfig/keyboard, which you can set by running > system-config-keyboard. Well, some of which you can set; really all > s-c-k lets you set is layout. The script to propagate these settings > into hal is in /usr/bin/fedora-setup-keyboard and it's probably one of > the more vile hacks I've ever written. Sorry about that. Okay, I can live without the 'nodeadkeys' option. I'll try some more when the next KDE4 update arrives. > I had a plan, at one point, to add something to that script that would > let you set additional XKB options directly from /e/s/k, so you could do > something like: > > KEYTABLE=no > XKB_OPTIONS=nodeadkeys > > and have it work. But it doesn't yet. I'd happily take a patch! Sounds like a nice plan, but I assume this is meant to be in addition to some user specific settings? > But the real problem there is that when KDE applied its session > settings, something screwed up. The output from 'xkbcomp :0 -' from the > broken configuration would be useful here. I suspect what's happening > is KDE's trying to change the xkb 'model' to pc105, which isn't > meaningful for evdev. Okay, this is what I did: - Started KDE with the working keyboard (no keyboard mentioned in xorg.conf, and layouts disabled in KDE systemsetting/regional..) $ xkbcomp :0 - &> xkbcomp0-_without-kde-layouts.txt - enabled layouts in systemsettings (english, norwegian and norwegian nodeadkeys), this broke the keyboard, only normal alphabet work, arrow keys are mapped to something else (not sure what, but one of them mean something like "delete to the en of the line" in this webmail editor) $ xkbcomp :0 - &> xkbcomp0-_with-kde-layouts.txt - disabled layouts $ xkbcomp :0 - &> xkbcomp0-_disabled-kde-layouts.txt $ diff -u xkbcomp0-_with-kde-layouts.txt xkbcomp0-_disabled-kde-layouts.txt (no output, ie. no difference, therefore not attached) see attachments So I have to restart KDE to get back to a working keyboard. Thanks! -MartinG
Warning: Could not load keyboard geometry for :0 BadAlloc (insufficient resources for operation) Resulting keymap file will not describe geometry xkb_keymap { xkb_keycodes "evdev+aliases(qwerty)" { minimum = 8; maximum = 255; <ESC> = 9; <AE01> = 10; <AE02> = 11; <AE03> = 12; <AE04> = 13; <AE05> = 14; <AE06> = 15; <AE07> = 16; <AE08> = 17; <AE09> = 18; <AE10> = 19; <AE11> = 20; <AE12> = 21; <BKSP> = 22; <TAB> = 23; <AD01> = 24; <AD02> = 25; <AD03> = 26; <AD04> = 27; <AD05> = 28; <AD06> = 29; <AD07> = 30; <AD08> = 31; <AD09> = 32; <AD10> = 33; <AD11> = 34; <AD12> = 35; <RTRN> = 36; <LCTL> = 37; <AC01> = 38; <AC02> = 39; <AC03> = 40; <AC04> = 41; <AC05> = 42; <AC06> = 43; <AC07> = 44; <AC08> = 45; <AC09> = 46; <AC10> = 47; <AC11> = 48; <TLDE> = 49; <LFSH> = 50; <BKSL> = 51; <AB01> = 52; <AB02> = 53; <AB03> = 54; <AB04> = 55; <AB05> = 56; <AB06> = 57; <AB07> = 58; <AB08> = 59; <AB09> = 60; <AB10> = 61; <RTSH> = 62; <KPMU> = 63; <LALT> = 64; <SPCE> = 65; <CAPS> = 66; <FK01> = 67; <FK02> = 68; <FK03> = 69; <FK04> = 70; <FK05> = 71; <FK06> = 72; <FK07> = 73; <FK08> = 74; <FK09> = 75; <FK10> = 76; <NMLK> = 77; <SCLK> = 78; <KP7> = 79; <KP8> = 80; <KP9> = 81; <KPSU> = 82; <KP4> = 83; <KP5> = 84; <KP6> = 85; <KPAD> = 86; <KP1> = 87; <KP2> = 88; <KP3> = 89; <KP0> = 90; <KPDL> = 91; <LVL3> = 92; <HZTG> = 93; <LSGT> = 94; <FK11> = 95; <FK12> = 96; <RO> = 97; <KATA> = 98; <HIRA> = 99; <HENK> = 100; <HKTG> = 101; <MUHE> = 102; <JPCM> = 103; <KPEN> = 104; <RCTL> = 105; <KPDV> = 106; <PRSC> = 107; <RALT> = 108; <LNFD> = 109; <HOME> = 110; <UP> = 111; <PGUP> = 112; <LEFT> = 113; <RGHT> = 114; <END> = 115; <DOWN> = 116; <PGDN> = 117; <INS> = 118; <DELE> = 119; <I120> = 120; <MUTE> = 121; <VOL-> = 122; <VOL+> = 123; <POWR> = 124; <KPEQ> = 125; <I126> = 126; <PAUS> = 127; <I129> = 129; <HNGL> = 130; <HJCV> = 131; <AE13> = 132; <LWIN> = 133; <RWIN> = 134; <COMP> = 135; <STOP> = 136; <AGAI> = 137; <PROP> = 138; <UNDO> = 139; <FRNT> = 140; <COPY> = 141; <OPEN> = 142; <PAST> = 143; <FIND> = 144; <CUT> = 145; <HELP> = 146; <I147> = 147; <I148> = 148; <I149> = 149; <I150> = 150; <I151> = 151; <I152> = 152; <I153> = 153; <I154> = 154; <I155> = 155; <I156> = 156; <I157> = 157; <I158> = 158; <I159> = 159; <I160> = 160; <I161> = 161; <I162> = 162; <I163> = 163; <I164> = 164; <I165> = 165; <I166> = 166; <I167> = 167; <I168> = 168; <I169> = 169; <I170> = 170; <I171> = 171; <I172> = 172; <I173> = 173; <I174> = 174; <I175> = 175; <I176> = 176; <I177> = 177; <I178> = 178; <I179> = 179; <I180> = 180; <I181> = 181; <I182> = 182; <I183> = 183; <I184> = 184; <I185> = 185; <I186> = 186; <I187> = 187; <I188> = 188; <I189> = 189; <I190> = 190; <FK13> = 191; <FK14> = 192; <FK15> = 193; <FK16> = 194; <FK17> = 195; <FK18> = 196; <FK19> = 197; <FK20> = 198; <FK21> = 199; <FK22> = 200; <FK23> = 201; <FK24> = 202; <MDSW> = 203; <ALT> = 204; <META> = 205; <SUPR> = 206; <HYPR> = 207; <I208> = 208; <I209> = 209; <I210> = 210; <AB11> = 211; <I213> = 213; <I214> = 214; <I215> = 215; <I216> = 216; <I217> = 217; <I218> = 218; <I219> = 219; <I220> = 220; <I221> = 221; <I222> = 222; <I223> = 223; <I224> = 224; <I225> = 225; <I226> = 226; <I227> = 227; <I228> = 228; <I229> = 229; <I230> = 230; <I231> = 231; <I232> = 232; <I233> = 233; <I234> = 234; <I235> = 235; <I236> = 236; <I237> = 237; <I238> = 238; <I239> = 239; <I240> = 240; <I241> = 241; <I242> = 242; <I243> = 243; <I244> = 244; <I245> = 245; <I246> = 246; <I247> = 247; <I248> = 248; <I249> = 249; <I250> = 250; <I251> = 251; <I252> = 252; <I253> = 253; indicator 1 = "Caps Lock"; indicator 2 = "Num Lock"; indicator 3 = "Scroll Lock"; indicator 4 = "Compose"; indicator 5 = "Kana"; indicator 6 = "Sleep"; indicator 7 = "Suspend"; indicator 8 = "Mute"; indicator 9 = "Misc"; indicator 10 = "Mail"; indicator 11 = "Charging"; virtual indicator 12 = "Shift Lock"; virtual indicator 13 = "Group 2"; virtual indicator 14 = "Mouse Keys"; alias <MENU> = <COMP>; alias <LMTA> = <LWIN>; alias <RMTA> = <RWIN>; alias <ALGR> = <RALT>; alias <LatQ> = <AD01>; alias <LatW> = <AD02>; alias <LatE> = <AD03>; alias <LatR> = <AD04>; alias <LatT> = <AD05>; alias <LatY> = <AD06>; alias <LatU> = <AD07>; alias <LatI> = <AD08>; alias <LatO> = <AD09>; alias <LatP> = <AD10>; alias <LatA> = <AC01>; alias <LatS> = <AC02>; alias <LatD> = <AC03>; alias <LatF> = <AC04>; alias <LatG> = <AC05>; alias <LatH> = <AC06>; alias <LatJ> = <AC07>; alias <LatK> = <AC08>; alias <LatL> = <AC09>; alias <LatZ> = <AB01>; alias <LatX> = <AB02>; alias <LatC> = <AB03>; alias <LatV> = <AB04>; alias <LatB> = <AB05>; alias <LatN> = <AB06>; alias <LatM> = <AB07>; }; xkb_types "complete" { virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper; type "ONE_LEVEL" { modifiers= none; level_name[Level1]= "Any"; }; type "TWO_LEVEL" { modifiers= Shift; map[Shift]= Level2; level_name[Level1]= "Base"; level_name[Level2]= "Shift"; }; type "ALPHABETIC" { modifiers= Shift+Lock; map[Shift]= Level2; map[Lock]= Level2; level_name[Level1]= "Base"; level_name[Level2]= "Caps"; }; type "KEYPAD" { modifiers= Shift+NumLock; map[Shift]= Level2; map[NumLock]= Level2; level_name[Level1]= "Base"; level_name[Level2]= "Number"; }; type "SHIFT+ALT" { modifiers= Shift+Alt; map[Shift+Alt]= Level2; level_name[Level1]= "Base"; level_name[Level2]= "Shift+Alt"; }; type "PC_CONTROL_LEVEL2" { modifiers= Control; map[Control]= Level2; level_name[Level1]= "Base"; level_name[Level2]= "Control"; }; type "PC_LCONTROL_LEVEL2" { modifiers= LControl; map[LControl]= Level2; level_name[Level1]= "Base"; level_name[Level2]= "LControl"; }; type "PC_RCONTROL_LEVEL2" { modifiers= RControl; map[RControl]= Level2; level_name[Level1]= "Base"; level_name[Level2]= "RControl"; }; type "PC_ALT_LEVEL2" { modifiers= Alt; map[Alt]= Level2; level_name[Level1]= "Base"; level_name[Level2]= "Alt"; }; type "PC_LALT_LEVEL2" { modifiers= LAlt; map[LAlt]= Level2; level_name[Level1]= "Base"; level_name[Level2]= "LAlt"; }; type "PC_RALT_LEVEL2" { modifiers= RAlt; map[RAlt]= Level2; level_name[Level1]= "Base"; level_name[Level2]= "RAlt"; }; type "CTRL+ALT" { modifiers= Control+Alt; map[Control+Alt]= Level2; level_name[Level1]= "Base"; level_name[Level2]= "Ctrl+Alt"; }; type "LOCAL_EIGHT_LEVEL" { modifiers= Shift+Lock+Control+LevelThree; map[Shift+Lock]= Level1; map[Shift]= Level2; map[Lock]= Level2; map[LevelThree]= Level3; map[Shift+Lock+LevelThree]= Level3; map[Shift+LevelThree]= Level4; map[Lock+LevelThree]= Level4; map[Control]= Level5; map[Shift+Lock+Control]= Level5; map[Shift+Control]= Level6; map[Lock+Control]= Level6; map[Control+LevelThree]= Level7; map[Shift+Lock+Control+LevelThree]= Level7; map[Shift+Control+LevelThree]= Level8; map[Lock+Control+LevelThree]= Level8; level_name[Level1]= "Base"; level_name[Level2]= "Shift"; level_name[Level3]= "Level3"; level_name[Level4]= "Shift Level3"; level_name[Level5]= "Ctrl"; level_name[Level6]= "Shift Ctrl"; level_name[Level7]= "Level3 Ctrl"; level_name[Level8]= "Shift Level3 Ctrl"; }; type "THREE_LEVEL" { modifiers= Shift+LevelThree; map[Shift]= Level2; map[LevelThree]= Level3; map[Shift+LevelThree]= Level3; level_name[Level1]= "Base"; level_name[Level2]= "Shift"; level_name[Level3]= "Level3"; }; type "EIGHT_LEVEL" { modifiers= Shift+LevelThree+LevelFive; map[Shift]= Level2; map[LevelThree]= Level3; map[Shift+LevelThree]= Level4; map[LevelFive]= Level5; map[Shift+LevelFive]= Level6; map[LevelThree+LevelFive]= Level7; map[Shift+LevelThree+LevelFive]= Level8; level_name[Level1]= "Base"; level_name[Level2]= "Shift"; level_name[Level3]= "Alt Base"; level_name[Level4]= "Shift Alt"; level_name[Level5]= "X"; level_name[Level6]= "X Shift"; level_name[Level7]= "X Alt Base"; level_name[Level8]= "X Shift Alt"; }; type "EIGHT_LEVEL_ALPHABETIC" { modifiers= Shift+Lock+LevelThree+LevelFive; map[Shift]= Level2; map[Lock]= Level2; map[LevelThree]= Level3; map[Shift+LevelThree]= Level4; map[Lock+LevelThree]= Level4; map[Shift+Lock+LevelThree]= Level3; map[LevelFive]= Level5; map[Shift+LevelFive]= Level6; map[Lock+LevelFive]= Level6; map[LevelThree+LevelFive]= Level7; map[Shift+LevelThree+LevelFive]= Level8; map[Lock+LevelThree+LevelFive]= Level8; map[Shift+Lock+LevelThree+LevelFive]= Level7; level_name[Level1]= "Base"; level_name[Level2]= "Shift"; level_name[Level3]= "Alt Base"; level_name[Level4]= "Shift Alt"; level_name[Level5]= "X"; level_name[Level6]= "X Shift"; level_name[Level7]= "X Alt Base"; level_name[Level8]= "X Shift Alt"; }; type "EIGHT_LEVEL_SEMIALPHABETIC" { modifiers= Shift+Lock+LevelThree+LevelFive; map[Shift]= Level2; map[Lock]= Level2; map[LevelThree]= Level3; map[Shift+LevelThree]= Level4; map[Lock+LevelThree]= Level3; preserve[Lock+LevelThree]= Lock; map[Shift+Lock+LevelThree]= Level4; preserve[Shift+Lock+LevelThree]= Lock; map[LevelFive]= Level5; map[Shift+LevelFive]= Level6; map[Lock+LevelFive]= Level6; preserve[Lock+LevelFive]= Lock; map[LevelThree+LevelFive]= Level7; map[Shift+LevelThree+LevelFive]= Level8; map[Lock+LevelThree+LevelFive]= Level7; preserve[Lock+LevelThree+LevelFive]= Lock; map[Shift+Lock+LevelThree+LevelFive]= Level8; preserve[Shift+Lock+LevelThree+LevelFive]= Lock; map[Shift+Lock+LevelFive]= Level1; preserve[Shift+Lock+LevelFive]= Lock; level_name[Level1]= "Base"; level_name[Level2]= "Shift"; level_name[Level3]= "Alt Base"; level_name[Level4]= "Shift Alt"; level_name[Level5]= "X"; level_name[Level6]= "X Shift"; level_name[Level7]= "X Alt Base"; level_name[Level8]= "X Shift Alt"; }; type "FOUR_LEVEL" { modifiers= Shift+LevelThree; map[Shift]= Level2; map[LevelThree]= Level3; map[Shift+LevelThree]= Level4; level_name[Level1]= "Base"; level_name[Level2]= "Shift"; level_name[Level3]= "Alt Base"; level_name[Level4]= "Shift Alt"; }; type "FOUR_LEVEL_ALPHABETIC" { modifiers= Shift+Lock+LevelThree; map[Shift]= Level2; map[Lock]= Level2; map[LevelThree]= Level3; map[Shift+LevelThree]= Level4; map[Lock+LevelThree]= Level4; map[Shift+Lock+LevelThree]= Level3; level_name[Level1]= "Base"; level_name[Level2]= "Shift"; level_name[Level3]= "Alt Base"; level_name[Level4]= "Shift Alt"; }; type "FOUR_LEVEL_SEMIALPHABETIC" { modifiers= Shift+Lock+LevelThree; map[Shift]= Level2; map[Lock]= Level2; map[LevelThree]= Level3; map[Shift+LevelThree]= Level4; map[Lock+LevelThree]= Level3; preserve[Lock+LevelThree]= Lock; map[Shift+Lock+LevelThree]= Level4; preserve[Shift+Lock+LevelThree]= Lock; level_name[Level1]= "Base"; level_name[Level2]= "Shift"; level_name[Level3]= "Alt Base"; level_name[Level4]= "Shift Alt"; }; type "FOUR_LEVEL_MIXED_KEYPAD" { modifiers= Shift+NumLock+LevelThree; map[Shift+NumLock]= Level1; map[NumLock]= Level2; map[Shift]= Level2; map[LevelThree]= Level3; map[NumLock+LevelThree]= Level3; map[Shift+LevelThree]= Level4; map[Shift+NumLock+LevelThree]= Level4; level_name[Level1]= "Base"; level_name[Level2]= "Number"; level_name[Level3]= "Alt Base"; level_name[Level4]= "Shift Alt"; }; type "FOUR_LEVEL_X" { modifiers= Shift+Control+Alt+LevelThree; map[LevelThree]= Level2; map[Shift+LevelThree]= Level3; map[Control+Alt]= Level4; level_name[Level1]= "Base"; level_name[Level2]= "Alt Base"; level_name[Level3]= "Shift Alt"; level_name[Level4]= "Ctrl+Alt"; }; type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" { modifiers= Shift+Lock+LevelThree; map[Shift]= Level2; map[Lock]= Level4; preserve[Lock]= Lock; map[LevelThree]= Level3; map[Shift+LevelThree]= Level4; map[Lock+LevelThree]= Level3; preserve[Lock+LevelThree]= Lock; map[Shift+Lock+LevelThree]= Level3; level_name[Level1]= "Base"; level_name[Level2]= "Shift"; level_name[Level3]= "AltGr Base"; level_name[Level4]= "Shift AltGr"; }; type "FOUR_LEVEL_PLUS_LOCK" { modifiers= Shift+Lock+LevelThree; map[Shift]= Level2; map[LevelThree]= Level3; map[Shift+LevelThree]= Level4; map[Lock]= Level5; map[Shift+Lock]= Level2; map[Lock+LevelThree]= Level3; map[Shift+Lock+LevelThree]= Level4; level_name[Level1]= "Base"; level_name[Level2]= "Shift"; level_name[Level3]= "Alt Base"; level_name[Level4]= "Shift Alt"; level_name[Level5]= "Lock"; }; type "FOUR_LEVEL_KEYPAD" { modifiers= Shift+NumLock+LevelThree; map[Shift]= Level2; map[NumLock]= Level2; map[LevelThree]= Level3; map[Shift+LevelThree]= Level4; map[NumLock+LevelThree]= Level4; map[Shift+NumLock+LevelThree]= Level3; level_name[Level1]= "Base"; level_name[Level2]= "Number"; level_name[Level3]= "Alt Base"; level_name[Level4]= "Alt Number"; }; }; xkb_compatibility "complete" { virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper; interpret.useModMapMods= AnyLevel; interpret.repeat= False; interpret.locking= False; interpret ISO_Level2_Latch+Exactly(Shift) { useModMapMods=level1; action= LatchMods(modifiers=Shift,clearLocks,latchToLock); }; interpret Shift_Lock+AnyOf(Shift+Lock) { action= LockMods(modifiers=Shift); }; interpret Num_Lock+AnyOf(all) { virtualModifier= NumLock; action= LockMods(modifiers=NumLock); }; interpret ISO_Lock+AnyOf(all) { action= ISOLock(modifiers=modMapMods,affect=all); }; interpret ISO_Level3_Shift+AnyOf(all) { virtualModifier= LevelThree; useModMapMods=level1; action= SetMods(modifiers=LevelThree,clearLocks); }; interpret ISO_Level3_Latch+AnyOf(all) { virtualModifier= LevelThree; useModMapMods=level1; action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock); }; interpret ISO_Level3_Lock+AnyOf(all) { virtualModifier= LevelThree; useModMapMods=level1; action= LockMods(modifiers=LevelThree); }; interpret Alt_L+AnyOf(all) { virtualModifier= Alt; action= SetMods(modifiers=modMapMods,clearLocks); }; interpret Alt_R+AnyOf(all) { virtualModifier= Alt; action= SetMods(modifiers=modMapMods,clearLocks); }; interpret Meta_L+AnyOf(all) { virtualModifier= Meta; action= SetMods(modifiers=modMapMods,clearLocks); }; interpret Meta_R+AnyOf(all) { virtualModifier= Meta; action= SetMods(modifiers=modMapMods,clearLocks); }; interpret Super_L+AnyOf(all) { virtualModifier= Super; action= SetMods(modifiers=modMapMods,clearLocks); }; interpret Super_R+AnyOf(all) { virtualModifier= Super; action= SetMods(modifiers=modMapMods,clearLocks); }; interpret Hyper_L+AnyOf(all) { virtualModifier= Hyper; action= SetMods(modifiers=modMapMods,clearLocks); }; interpret Hyper_R+AnyOf(all) { virtualModifier= Hyper; action= SetMods(modifiers=modMapMods,clearLocks); }; interpret Scroll_Lock+AnyOf(all) { virtualModifier= ScrollLock; action= LockMods(modifiers=modMapMods); }; interpret ISO_Level5_Shift+AnyOf(all) { virtualModifier= LevelFive; useModMapMods=level1; action= SetMods(modifiers=LevelFive,clearLocks); }; interpret ISO_Level5_Latch+AnyOf(all) { virtualModifier= LevelFive; action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock); }; interpret ISO_Level5_Lock+AnyOf(all) { virtualModifier= LevelFive; action= LockMods(modifiers=LevelFive); }; interpret Mode_switch+AnyOfOrNone(all) { virtualModifier= AltGr; useModMapMods=level1; action= SetGroup(group=+1); }; interpret ISO_Level3_Shift+AnyOfOrNone(all) { action= SetMods(modifiers=LevelThree,clearLocks); }; interpret ISO_Level3_Latch+AnyOfOrNone(all) { action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock); }; interpret ISO_Level3_Lock+AnyOfOrNone(all) { action= LockMods(modifiers=LevelThree); }; interpret ISO_Group_Latch+AnyOfOrNone(all) { virtualModifier= AltGr; useModMapMods=level1; action= LatchGroup(group=2); }; interpret ISO_Next_Group+AnyOfOrNone(all) { virtualModifier= AltGr; useModMapMods=level1; action= LockGroup(group=+1); }; interpret ISO_Prev_Group+AnyOfOrNone(all) { virtualModifier= AltGr; useModMapMods=level1; action= LockGroup(group=-1); }; interpret ISO_First_Group+AnyOfOrNone(all) { action= LockGroup(group=1); }; interpret ISO_Last_Group+AnyOfOrNone(all) { action= LockGroup(group=2); }; interpret KP_1+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=-1,y=+1); }; interpret KP_End+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=-1,y=+1); }; interpret KP_2+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=+0,y=+1); }; interpret KP_Down+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=+0,y=+1); }; interpret KP_3+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=+1,y=+1); }; interpret KP_Next+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=+1,y=+1); }; interpret KP_4+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=-1,y=+0); }; interpret KP_Left+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=-1,y=+0); }; interpret KP_6+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=+1,y=+0); }; interpret KP_Right+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=+1,y=+0); }; interpret KP_7+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=-1,y=-1); }; interpret KP_Home+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=-1,y=-1); }; interpret KP_8+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=+0,y=-1); }; interpret KP_Up+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=+0,y=-1); }; interpret KP_9+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=+1,y=-1); }; interpret KP_Prior+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=+1,y=-1); }; interpret KP_5+AnyOfOrNone(all) { repeat= True; action= PtrBtn(button=default); }; interpret KP_Begin+AnyOfOrNone(all) { repeat= True; action= PtrBtn(button=default); }; interpret KP_F2+AnyOfOrNone(all) { repeat= True; action= SetPtrDflt(affect=button,button=1); }; interpret KP_Divide+AnyOfOrNone(all) { repeat= True; action= SetPtrDflt(affect=button,button=1); }; interpret KP_F3+AnyOfOrNone(all) { repeat= True; action= SetPtrDflt(affect=button,button=2); }; interpret KP_Multiply+AnyOfOrNone(all) { repeat= True; action= SetPtrDflt(affect=button,button=2); }; interpret KP_F4+AnyOfOrNone(all) { repeat= True; action= SetPtrDflt(affect=button,button=3); }; interpret KP_Subtract+AnyOfOrNone(all) { repeat= True; action= SetPtrDflt(affect=button,button=3); }; interpret KP_Separator+AnyOfOrNone(all) { repeat= True; action= PtrBtn(button=default,count=2); }; interpret KP_Add+AnyOfOrNone(all) { repeat= True; action= PtrBtn(button=default,count=2); }; interpret KP_0+AnyOfOrNone(all) { repeat= True; action= LockPtrBtn(button=default,affect=lock); }; interpret KP_Insert+AnyOfOrNone(all) { repeat= True; action= LockPtrBtn(button=default,affect=lock); }; interpret KP_Decimal+AnyOfOrNone(all) { repeat= True; action= LockPtrBtn(button=default,affect=unlock); }; interpret KP_Delete+AnyOfOrNone(all) { repeat= True; action= LockPtrBtn(button=default,affect=unlock); }; interpret F25+AnyOfOrNone(all) { repeat= True; action= SetPtrDflt(affect=button,button=1); }; interpret F26+AnyOfOrNone(all) { repeat= True; action= SetPtrDflt(affect=button,button=2); }; interpret F27+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=-1,y=-1); }; interpret F29+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=+1,y=-1); }; interpret F31+AnyOfOrNone(all) { repeat= True; action= PtrBtn(button=default); }; interpret F33+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=-1,y=+1); }; interpret F35+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=+1,y=+1); }; interpret Pointer_Button_Dflt+AnyOfOrNone(all) { action= PtrBtn(button=default); }; interpret Pointer_Button1+AnyOfOrNone(all) { action= PtrBtn(button=1); }; interpret Pointer_Button2+AnyOfOrNone(all) { action= PtrBtn(button=2); }; interpret Pointer_Button3+AnyOfOrNone(all) { action= PtrBtn(button=3); }; interpret Pointer_DblClick_Dflt+AnyOfOrNone(all) { action= PtrBtn(button=default,count=2); }; interpret Pointer_DblClick1+AnyOfOrNone(all) { action= PtrBtn(button=1,count=2); }; interpret Pointer_DblClick2+AnyOfOrNone(all) { action= PtrBtn(button=2,count=2); }; interpret Pointer_DblClick3+AnyOfOrNone(all) { action= PtrBtn(button=3,count=2); }; interpret Pointer_Drag_Dflt+AnyOfOrNone(all) { action= LockPtrBtn(button=default,affect=both); }; interpret Pointer_Drag1+AnyOfOrNone(all) { action= LockPtrBtn(button=1,affect=both); }; interpret Pointer_Drag2+AnyOfOrNone(all) { action= LockPtrBtn(button=2,affect=both); }; interpret Pointer_Drag3+AnyOfOrNone(all) { action= LockPtrBtn(button=3,affect=both); }; interpret Pointer_EnableKeys+AnyOfOrNone(all) { action= LockControls(controls=MouseKeys); }; interpret Pointer_Accelerate+AnyOfOrNone(all) { action= LockControls(controls=MouseKeysAccel); }; interpret Pointer_DfltBtnNext+AnyOfOrNone(all) { action= SetPtrDflt(affect=button,button=+1); }; interpret Pointer_DfltBtnPrev+AnyOfOrNone(all) { action= SetPtrDflt(affect=button,button=-1); }; interpret AccessX_Enable+AnyOfOrNone(all) { action= LockControls(controls=AccessXKeys); }; interpret AccessX_Feedback_Enable+AnyOfOrNone(all) { action= LockControls(controls=AccessXFeedback); }; interpret RepeatKeys_Enable+AnyOfOrNone(all) { action= LockControls(controls=RepeatKeys); }; interpret SlowKeys_Enable+AnyOfOrNone(all) { action= LockControls(controls=SlowKeys); }; interpret BounceKeys_Enable+AnyOfOrNone(all) { action= LockControls(controls=BounceKeys); }; interpret StickyKeys_Enable+AnyOfOrNone(all) { action= LockControls(controls=StickyKeys); }; interpret MouseKeys_Enable+AnyOfOrNone(all) { action= LockControls(controls=MouseKeys); }; interpret MouseKeys_Accel_Enable+AnyOfOrNone(all) { action= LockControls(controls=MouseKeysAccel); }; interpret Overlay1_Enable+AnyOfOrNone(all) { action= LockControls(controls=Overlay1); }; interpret Overlay2_Enable+AnyOfOrNone(all) { action= LockControls(controls=Overlay2); }; interpret AudibleBell_Enable+AnyOfOrNone(all) { action= LockControls(controls=AudibleBell); }; interpret Terminate_Server+AnyOfOrNone(all) { action= Terminate(); }; interpret Alt_L+AnyOfOrNone(all) { action= SetMods(modifiers=Alt,clearLocks); }; interpret Alt_R+AnyOfOrNone(all) { action= SetMods(modifiers=Alt,clearLocks); }; interpret Meta_L+AnyOfOrNone(all) { action= SetMods(modifiers=Meta,clearLocks); }; interpret Meta_R+AnyOfOrNone(all) { action= SetMods(modifiers=Meta,clearLocks); }; interpret Super_L+AnyOfOrNone(all) { action= SetMods(modifiers=Super,clearLocks); }; interpret Super_R+AnyOfOrNone(all) { action= SetMods(modifiers=Super,clearLocks); }; interpret Hyper_L+AnyOfOrNone(all) { action= SetMods(modifiers=Hyper,clearLocks); }; interpret Hyper_R+AnyOfOrNone(all) { action= SetMods(modifiers=Hyper,clearLocks); }; interpret XF86_Switch_VT_1+AnyOfOrNone(all) { repeat= True; action= SwitchScreen(screen=1,!same); }; interpret XF86_Switch_VT_2+AnyOfOrNone(all) { repeat= True; action= SwitchScreen(screen=2,!same); }; interpret XF86_Switch_VT_3+AnyOfOrNone(all) { repeat= True; action= SwitchScreen(screen=3,!same); }; interpret XF86_Switch_VT_4+AnyOfOrNone(all) { repeat= True; action= SwitchScreen(screen=4,!same); }; interpret XF86_Switch_VT_5+AnyOfOrNone(all) { repeat= True; action= SwitchScreen(screen=5,!same); }; interpret XF86_Switch_VT_6+AnyOfOrNone(all) { repeat= True; action= SwitchScreen(screen=6,!same); }; interpret XF86_Switch_VT_7+AnyOfOrNone(all) { repeat= True; action= SwitchScreen(screen=7,!same); }; interpret XF86_Switch_VT_8+AnyOfOrNone(all) { repeat= True; action= SwitchScreen(screen=8,!same); }; interpret XF86_Switch_VT_9+AnyOfOrNone(all) { repeat= True; action= SwitchScreen(screen=9,!same); }; interpret XF86_Switch_VT_10+AnyOfOrNone(all) { repeat= True; action= SwitchScreen(screen=10,!same); }; interpret XF86_Switch_VT_11+AnyOfOrNone(all) { repeat= True; action= SwitchScreen(screen=11,!same); }; interpret XF86_Switch_VT_12+AnyOfOrNone(all) { repeat= True; action= SwitchScreen(screen=12,!same); }; interpret XF86_Ungrab+AnyOfOrNone(all) { repeat= True; 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); }; interpret XF86_ClearGrab+AnyOfOrNone(all) { repeat= True; 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); }; interpret XF86_Next_VMode+AnyOfOrNone(all) { repeat= True; 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); }; interpret XF86_Prev_VMode+AnyOfOrNone(all) { repeat= True; 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); }; interpret ISO_Level5_Shift+AnyOfOrNone(all) { action= SetMods(modifiers=LevelFive,clearLocks); }; interpret ISO_Level5_Latch+AnyOfOrNone(all) { action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock); }; interpret ISO_Level5_Lock+AnyOfOrNone(all) { action= LockMods(modifiers=LevelFive); }; interpret Any+Exactly(Lock) { action= LockMods(modifiers=Lock); }; interpret Any+AnyOf(all) { action= SetMods(modifiers=modMapMods,clearLocks); }; indicator "Caps Lock" { !allowExplicit; whichModState= locked; modifiers= Lock; }; indicator "Num Lock" { !allowExplicit; whichModState= locked; modifiers= NumLock; }; indicator "Scroll Lock" { whichModState= locked; modifiers= ScrollLock; }; indicator "Shift Lock" { !allowExplicit; whichModState= locked; modifiers= Shift; }; indicator "Group 2" { !allowExplicit; groups= 0xfe; }; indicator "Mouse Keys" { indicatorDrivesKeyboard; controls= mouseKeys; }; }; xkb_symbols "pc+no+inet(evdev)" { name[group1]="Norway"; key <ESC> { [ Escape ] }; key <AE01> { type[group1]= "FOUR_LEVEL", symbols[Group1]= [ 1, exclam, exclamdown, onesuperior ], symbols[Group2]= [ exclamdown, onesuperior ] }; key <AE02> { type[group1]= "FOUR_LEVEL", symbols[Group1]= [ 2, quotedbl, at, twosuperior ], symbols[Group2]= [ at, twosuperior ] }; key <AE03> { type[group1]= "FOUR_LEVEL", symbols[Group1]= [ 3, numbersign, sterling, threesuperior ], symbols[Group2]= [ sterling, threesuperior ] }; key <AE04> { type[group1]= "FOUR_LEVEL", symbols[Group1]= [ 4, currency, dollar, onequarter ], symbols[Group2]= [ dollar, onequarter ] }; key <AE05> { type[group1]= "FOUR_LEVEL", symbols[Group1]= [ 5, percent, onehalf, cent ], symbols[Group2]= [ onehalf, cent ] }; key <AE06> { type[group1]= "FOUR_LEVEL", symbols[Group1]= [ 6, ampersand, yen, fiveeighths ], symbols[Group2]= [ yen, fiveeighths ] }; key <AE07> { type[group1]= "FOUR_LEVEL", symbols[Group1]= [ 7, slash, braceleft, division ], symbols[Group2]= [ braceleft, division ] }; key <AE08> { type[group1]= "FOUR_LEVEL", symbols[Group1]= [ 8, parenleft, bracketleft, guillemotleft ], symbols[Group2]= [ bracketleft, guillemotleft ] }; key <AE09> { type[group1]= "FOUR_LEVEL", symbols[Group1]= [ 9, parenright, bracketright, guillemotright ], symbols[Group2]= [ bracketright, guillemotright ] }; key <AE10> { type[group1]= "FOUR_LEVEL", symbols[Group1]= [ 0, equal, braceright, degree ], symbols[Group2]= [ braceright, degree ] }; key <AE11> { type[group1]= "FOUR_LEVEL", symbols[Group1]= [ plus, question, plusminus, questiondown ], symbols[Group2]= [ plusminus, questiondown ] }; key <AE12> { type[group1]= "FOUR_LEVEL", symbols[Group1]= [ backslash, dead_grave, dead_acute, notsign ], symbols[Group2]= [ dead_acute, notsign ] }; key <BKSP> { type= "CTRL+ALT", symbols[Group1]= [ BackSpace, Terminate_Server ] }; key <TAB> { [ Tab, ISO_Left_Tab ] }; key <AD01> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", symbols[Group1]= [ q, Q, at, Greek_OMEGA ], symbols[Group2]= [ at, Greek_OMEGA ] }; key <AD02> { type[group1]= "FOUR_LEVEL_ALPHABETIC", symbols[Group1]= [ w, W, lstroke, Lstroke ], symbols[Group2]= [ lstroke, Lstroke ] }; key <AD03> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", symbols[Group1]= [ e, E, EuroSign, cent ], symbols[Group2]= [ EuroSign, cent ] }; key <AD04> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", symbols[Group1]= [ r, R, registered, registered ], symbols[Group2]= [ registered, registered ] }; key <AD05> { type[group1]= "FOUR_LEVEL_ALPHABETIC", symbols[Group1]= [ t, T, thorn, THORN ], symbols[Group2]= [ thorn, THORN ] }; key <AD06> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", symbols[Group1]= [ y, Y, leftarrow, yen ], symbols[Group2]= [ leftarrow, yen ] }; key <AD07> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", symbols[Group1]= [ u, U, downarrow, uparrow ], symbols[Group2]= [ downarrow, uparrow ] }; key <AD08> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", symbols[Group1]= [ i, I, rightarrow, idotless ], symbols[Group2]= [ rightarrow, idotless ] }; key <AD09> { type[group1]= "FOUR_LEVEL_ALPHABETIC", symbols[Group1]= [ o, O, oe, OE ], symbols[Group2]= [ oe, OE ] }; key <AD10> { type[group1]= "FOUR_LEVEL_ALPHABETIC", symbols[Group1]= [ p, P, thorn, THORN ], symbols[Group2]= [ thorn, THORN ] }; key <AD11> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", symbols[Group1]= [ aring, Aring, dead_diaeresis, dead_abovering ], symbols[Group2]= [ dead_diaeresis, dead_abovering ] }; key <AD12> { type[group1]= "FOUR_LEVEL", symbols[Group1]= [ dead_diaeresis, dead_circumflex, dead_tilde, dead_caron ], symbols[Group2]= [ dead_tilde, dead_caron ] }; key <RTRN> { [ Return ] }; key <LCTL> { [ Control_L ] }; key <AC01> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", symbols[Group1]= [ a, A, ordfeminine, masculine ], symbols[Group2]= [ ordfeminine, masculine ] }; key <AC02> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", symbols[Group1]= [ s, S, ssharp, section ], symbols[Group2]= [ ssharp, section ] }; key <AC03> { type[group1]= "FOUR_LEVEL_ALPHABETIC", symbols[Group1]= [ d, D, eth, ETH ], symbols[Group2]= [ eth, ETH ] }; key <AC04> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", symbols[Group1]= [ f, F, dstroke, ordfeminine ], symbols[Group2]= [ dstroke, ordfeminine ] }; key <AC05> { type[group1]= "FOUR_LEVEL_ALPHABETIC", symbols[Group1]= [ g, G, eng, ENG ], symbols[Group2]= [ eng, ENG ] }; key <AC06> { type[group1]= "FOUR_LEVEL_ALPHABETIC", symbols[Group1]= [ h, H, hstroke, Hstroke ], symbols[Group2]= [ hstroke, Hstroke ] }; key <AC07> { type= "ALPHABETIC", symbols[Group1]= [ j, J ] }; key <AC08> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", symbols[Group1]= [ k, K, kra, ampersand ], symbols[Group2]= [ kra, ampersand ] }; key <AC09> { type[group1]= "FOUR_LEVEL_ALPHABETIC", symbols[Group1]= [ l, L, lstroke, Lstroke ], symbols[Group2]= [ lstroke, Lstroke ] }; key <AC10> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", symbols[Group1]= [ oslash, Oslash, dead_acute, dead_doubleacute ], symbols[Group2]= [ dead_acute, dead_doubleacute ] }; key <AC11> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", symbols[Group1]= [ ae, AE, dead_circumflex, dead_caron ], symbols[Group2]= [ dead_circumflex, dead_caron ] }; key <TLDE> { type[group1]= "FOUR_LEVEL", symbols[Group1]= [ bar, section, brokenbar, paragraph ], symbols[Group2]= [ brokenbar, paragraph ] }; key <LFSH> { [ Shift_L ] }; key <BKSL> { type[group1]= "FOUR_LEVEL", symbols[Group1]= [ apostrophe, asterisk, dead_doubleacute, multiply ], symbols[Group2]= [ dead_doubleacute, multiply ] }; key <AB01> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", symbols[Group1]= [ z, Z, guillemotleft, less ], symbols[Group2]= [ guillemotleft, less ] }; key <AB02> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", symbols[Group1]= [ x, X, guillemotright, greater ], symbols[Group2]= [ guillemotright, greater ] }; key <AB03> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", symbols[Group1]= [ c, C, copyright, copyright ], symbols[Group2]= [ copyright, copyright ] }; key <AB04> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", symbols[Group1]= [ v, V, leftdoublequotemark, leftsinglequotemark ], symbols[Group2]= [ leftdoublequotemark, leftsinglequotemark ] }; key <AB05> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", symbols[Group1]= [ b, B, rightdoublequotemark, rightsinglequotemark ], symbols[Group2]= [ rightdoublequotemark, rightsinglequotemark ] }; key <AB06> { type= "ALPHABETIC", symbols[Group1]= [ n, N ] }; key <AB07> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", symbols[Group1]= [ m, M, mu, masculine ], symbols[Group2]= [ mu, masculine ] }; key <AB08> { type[group1]= "FOUR_LEVEL", symbols[Group1]= [ comma, semicolon, dead_cedilla, dead_ogonek ], symbols[Group2]= [ dead_cedilla, dead_ogonek ] }; key <AB09> { type[group1]= "FOUR_LEVEL", symbols[Group1]= [ period, colon, periodcentered, dead_abovedot ], symbols[Group2]= [ periodcentered, dead_abovedot ] }; key <AB10> { type[group1]= "FOUR_LEVEL", symbols[Group1]= [ minus, underscore, dead_belowdot, dead_abovedot ], symbols[Group2]= [ dead_belowdot, dead_abovedot ] }; key <RTSH> { [ Shift_R ] }; key <KPMU> { type= "CTRL+ALT", symbols[Group1]= [ KP_Multiply, XF86_ClearGrab ] }; key <LALT> { [ Alt_L, Meta_L ] }; key <SPCE> { [ space ] }; key <CAPS> { [ Caps_Lock ] }; key <FK01> { type= "CTRL+ALT", symbols[Group1]= [ F1, XF86_Switch_VT_1 ] }; key <FK02> { type= "CTRL+ALT", symbols[Group1]= [ F2, XF86_Switch_VT_2 ] }; key <FK03> { type= "CTRL+ALT", symbols[Group1]= [ F3, XF86_Switch_VT_3 ] }; key <FK04> { type= "CTRL+ALT", symbols[Group1]= [ F4, XF86_Switch_VT_4 ] }; key <FK05> { type= "CTRL+ALT", symbols[Group1]= [ F5, XF86_Switch_VT_5 ] }; key <FK06> { type= "CTRL+ALT", symbols[Group1]= [ F6, XF86_Switch_VT_6 ] }; key <FK07> { type= "CTRL+ALT", symbols[Group1]= [ F7, XF86_Switch_VT_7 ] }; key <FK08> { type= "CTRL+ALT", symbols[Group1]= [ F8, XF86_Switch_VT_8 ] }; key <FK09> { type= "CTRL+ALT", symbols[Group1]= [ F9, XF86_Switch_VT_9 ] }; key <FK10> { type= "CTRL+ALT", symbols[Group1]= [ F10, XF86_Switch_VT_10 ] }; key <NMLK> { [ Num_Lock, Pointer_EnableKeys ] }; key <SCLK> { [ Scroll_Lock ] }; key <KP7> { [ KP_Home, KP_7 ] }; key <KP8> { [ KP_Up, KP_8 ] }; key <KP9> { [ KP_Prior, KP_9 ] }; key <KPSU> { type= "CTRL+ALT", symbols[Group1]= [ KP_Subtract, XF86_Prev_VMode ] }; key <KP4> { [ KP_Left, KP_4 ] }; key <KP5> { [ KP_Begin, KP_5 ] }; key <KP6> { [ KP_Right, KP_6 ] }; key <KPAD> { type= "CTRL+ALT", symbols[Group1]= [ KP_Add, XF86_Next_VMode ] }; key <KP1> { [ KP_End, KP_1 ] }; key <KP2> { [ KP_Down, KP_2 ] }; key <KP3> { [ KP_Next, KP_3 ] }; key <KP0> { [ KP_Insert, KP_0 ] }; key <KPDL> { type= "KEYPAD", symbols[Group1]= [ KP_Delete, KP_Separator ] }; key <LVL3> { [ ISO_Level3_Shift ] }; key <HZTG> { [ Zenkaku_Hankaku ] }; key <LSGT> { type[group1]= "FOUR_LEVEL", symbols[Group1]= [ less, greater, onehalf, threequarters ], symbols[Group2]= [ onehalf, threequarters ] }; key <FK11> { type= "CTRL+ALT", symbols[Group1]= [ F11, XF86_Switch_VT_11 ] }; key <FK12> { type= "CTRL+ALT", symbols[Group1]= [ F12, XF86_Switch_VT_12 ] }; key <RO> { [ Romaji ] }; key <KATA> { [ Katakana ] }; key <HIRA> { [ Hiragana ] }; key <HENK> { [ Henkan_Mode ] }; key <HKTG> { [ Hiragana_Katakana ] }; key <MUHE> { [ Muhenkan ] }; key <KPEN> { [ KP_Enter ] }; key <RCTL> { [ Control_R ] }; key <KPDV> { type= "CTRL+ALT", symbols[Group1]= [ KP_Divide, XF86_Ungrab ] }; key <PRSC> { type= "PC_ALT_LEVEL2", symbols[Group1]= [ Print, Sys_Req ] }; key <RALT> { type= "ONE_LEVEL", symbols[Group1]= [ ISO_Level3_Shift ] }; key <LNFD> { [ Linefeed ] }; key <HOME> { [ Home ] }; key <UP> { [ Up ] }; key <PGUP> { [ Prior ] }; key <LEFT> { [ Left ] }; key <RGHT> { [ Right ] }; key <END> { [ End ] }; key <DOWN> { [ Down ] }; key <PGDN> { [ Next ] }; key <INS> { [ Insert ] }; key <DELE> { [ Delete ] }; key <MUTE> { [ XF86AudioMute ] }; key <VOL-> { [ XF86AudioLowerVolume ] }; key <VOL+> { [ XF86AudioRaiseVolume ] }; key <POWR> { [ XF86PowerOff ] }; key <KPEQ> { [ KP_Equal ] }; key <I126> { [ plusminus ] }; key <PAUS> { type= "PC_CONTROL_LEVEL2", symbols[Group1]= [ Pause, Break ] }; key <I129> { [ KP_Separator ] }; key <HNGL> { [ Hangul ] }; key <HJCV> { [ Hangul_Hanja ] }; key <LWIN> { [ Super_L ] }; key <RWIN> { [ Super_R ] }; key <COMP> { [ Menu ] }; key <STOP> { [ Cancel ] }; key <AGAI> { [ Redo ] }; key <PROP> { [ SunProps ] }; key <UNDO> { [ Undo ] }; key <FRNT> { [ SunFront ] }; key <COPY> { [ XF86Copy ] }; key <OPEN> { [ SunOpen ] }; key <PAST> { [ XF86Paste ] }; key <FIND> { [ Find ] }; key <CUT> { [ XF86Cut ] }; key <HELP> { [ Help ] }; key <I147> { [ XF86MenuKB ] }; key <I148> { [ XF86Calculator ] }; key <I150> { [ XF86Sleep ] }; key <I151> { [ XF86WakeUp ] }; key <I152> { [ XF86Explorer ] }; key <I153> { [ XF86Send ] }; key <I155> { [ XF86Xfer ] }; key <I156> { [ XF86Launch1 ] }; key <I157> { [ XF86Launch2 ] }; key <I158> { [ XF86WWW ] }; key <I159> { [ XF86DOS ] }; key <I160> { [ XF86ScreenSaver ] }; key <I162> { [ XF86RotateWindows ] }; key <I163> { [ XF86Mail ] }; key <I164> { [ XF86Favorites ] }; key <I165> { [ XF86MyComputer ] }; key <I166> { [ XF86Back ] }; key <I167> { [ XF86Forward ] }; key <I169> { [ XF86Eject ] }; key <I170> { [ XF86Eject, XF86Eject ] }; key <I171> { [ XF86AudioNext ] }; key <I172> { [ XF86AudioPlay, XF86AudioPause ] }; key <I173> { [ XF86AudioPrev ] }; key <I174> { [ XF86AudioStop, XF86Eject ] }; key <I175> { [ XF86AudioRecord ] }; key <I176> { [ XF86AudioRewind ] }; key <I177> { [ XF86Phone ] }; key <I179> { [ XF86Tools ] }; key <I180> { [ XF86HomePage ] }; key <I181> { [ XF86Refresh ] }; key <I182> { [ XF86Close ] }; key <I185> { [ XF86ScrollUp ] }; key <I186> { [ XF86ScrollDown ] }; key <I187> { [ parenleft ] }; key <I188> { [ parenright ] }; key <I189> { [ XF86New ] }; key <I190> { [ Redo ] }; key <MDSW> { [ Mode_switch ] }; key <ALT> { [ NoSymbol, Alt_L ] }; key <META> { [ NoSymbol, Meta_L ] }; key <SUPR> { [ NoSymbol, Super_L ] }; key <HYPR> { [ NoSymbol, Hyper_L ] }; key <I208> { [ XF86AudioPlay ] }; key <I209> { [ XF86AudioPause ] }; key <I210> { [ XF86Launch3 ] }; key <AB11> { [ XF86Launch4 ] }; key <I213> { [ XF86Standby ] }; key <I214> { [ XF86Close ] }; key <I215> { [ XF86AudioPlay ] }; key <I216> { [ XF86Forward ] }; key <I218> { [ Print ] }; key <I220> { [ XF86WebCam ] }; key <I223> { [ XF86Mail ] }; key <I225> { [ XF86Search ] }; key <I227> { [ XF86Finance ] }; key <I229> { [ XF86Shop ] }; key <I231> { [ Cancel ] }; key <I232> { [ XF86MonBrightnessDown ] }; key <I233> { [ XF86MonBrightnessUp ] }; key <I234> { [ XF86AudioMedia ] }; key <I235> { [ XF86Display ] }; key <I236> { [ XF86KbdLightOnOff ] }; key <I237> { [ XF86KbdBrightnessDown ] }; key <I238> { [ XF86KbdBrightnessUp ] }; key <I239> { [ XF86Send ] }; key <I240> { [ XF86Reply ] }; key <I241> { [ XF86MailForward ] }; key <I242> { [ XF86Save ] }; key <I243> { [ XF86Documents ] }; modifier_map Control { <LCTL> }; modifier_map Shift { <LFSH> }; modifier_map Shift { <RTSH> }; modifier_map Mod1 { <LALT> }; modifier_map Lock { <CAPS> }; modifier_map Mod2 { <NMLK> }; modifier_map Mod5 { <LVL3> }; modifier_map Control { <RCTL> }; modifier_map Mod5 { <MDSW> }; modifier_map Mod1 { <META> }; modifier_map Mod4 { <SUPR> }; modifier_map Mod4 { <HYPR> }; }; };
xkb_keymap { xkb_keycodes "xfree86+aliases(qwerty)" { minimum = 8; maximum = 255; <ESC> = 9; <AE01> = 10; <AE02> = 11; <AE03> = 12; <AE04> = 13; <AE05> = 14; <AE06> = 15; <AE07> = 16; <AE08> = 17; <AE09> = 18; <AE10> = 19; <AE11> = 20; <AE12> = 21; <BKSP> = 22; <TAB> = 23; <AD01> = 24; <AD02> = 25; <AD03> = 26; <AD04> = 27; <AD05> = 28; <AD06> = 29; <AD07> = 30; <AD08> = 31; <AD09> = 32; <AD10> = 33; <AD11> = 34; <AD12> = 35; <RTRN> = 36; <LCTL> = 37; <AC01> = 38; <AC02> = 39; <AC03> = 40; <AC04> = 41; <AC05> = 42; <AC06> = 43; <AC07> = 44; <AC08> = 45; <AC09> = 46; <AC10> = 47; <AC11> = 48; <TLDE> = 49; <LFSH> = 50; <BKSL> = 51; <AB01> = 52; <AB02> = 53; <AB03> = 54; <AB04> = 55; <AB05> = 56; <AB06> = 57; <AB07> = 58; <AB08> = 59; <AB09> = 60; <AB10> = 61; <RTSH> = 62; <KPMU> = 63; <LALT> = 64; <SPCE> = 65; <CAPS> = 66; <FK01> = 67; <FK02> = 68; <FK03> = 69; <FK04> = 70; <FK05> = 71; <FK06> = 72; <FK07> = 73; <FK08> = 74; <FK09> = 75; <FK10> = 76; <NMLK> = 77; <SCLK> = 78; <KP7> = 79; <KP8> = 80; <KP9> = 81; <KPSU> = 82; <KP4> = 83; <KP5> = 84; <KP6> = 85; <KPAD> = 86; <KP1> = 87; <KP2> = 88; <KP3> = 89; <KP0> = 90; <KPDL> = 91; <SYRQ> = 92; <MDSW> = 93; <LSGT> = 94; <FK11> = 95; <FK12> = 96; <HOME> = 97; <UP> = 98; <PGUP> = 99; <LEFT> = 100; <II65> = 101; <RGHT> = 102; <END> = 103; <DOWN> = 104; <PGDN> = 105; <INS> = 106; <DELE> = 107; <KPEN> = 108; <RCTL> = 109; <PAUS> = 110; <PRSC> = 111; <KPDV> = 112; <RALT> = 113; <BRK> = 114; <LWIN> = 115; <RWIN> = 116; <MENU> = 117; <FK13> = 118; <FK14> = 119; <FK15> = 120; <FK16> = 121; <FK17> = 122; <KPDC> = 123; <LVL3> = 124; <ALT> = 125; <KPEQ> = 126; <SUPR> = 127; <HYPR> = 128; <XFER> = 129; <I02> = 130; <NFER> = 131; <I04> = 132; <AE13> = 133; <I06> = 134; <I07> = 135; <I08> = 136; <I09> = 137; <I0A> = 138; <I0B> = 139; <I0C> = 140; <I0D> = 141; <I0E> = 142; <I0F> = 143; <I10> = 144; <I11> = 145; <I12> = 146; <I13> = 147; <I14> = 148; <I15> = 149; <I16> = 150; <I17> = 151; <I18> = 152; <I19> = 153; <I1A> = 154; <I1B> = 155; <META> = 156; <K59> = 157; <I1E> = 158; <I1F> = 159; <I20> = 160; <I21> = 161; <I22> = 162; <I23> = 163; <I24> = 164; <I25> = 165; <I26> = 166; <I27> = 167; <I28> = 168; <I29> = 169; <K5A> = 170; <I2B> = 171; <I2C> = 172; <I2D> = 173; <I2E> = 174; <I2F> = 175; <I30> = 176; <I31> = 177; <I32> = 178; <I33> = 179; <I34> = 180; <K5B> = 181; <K5D> = 182; <K5E> = 183; <K5F> = 184; <I39> = 185; <I3A> = 186; <I3B> = 187; <I3C> = 188; <K62> = 189; <K63> = 190; <K64> = 191; <K65> = 192; <K66> = 193; <I42> = 194; <I43> = 195; <I44> = 196; <I45> = 197; <K67> = 198; <K68> = 199; <K69> = 200; <K6A> = 201; <I4A> = 202; <K6B> = 203; <K6C> = 204; <K6D> = 205; <K6E> = 206; <K6F> = 207; <HKTG> = 208; <KANA> = 209; <EISU> = 210; <AB11> = 211; <I54> = 212; <I55> = 213; <OUTP> = 214; <KITG> = 215; <KIDN> = 216; <KIUP> = 217; <I5A> = 218; <K74> = 219; <K75> = 220; <K76> = 221; <I5E> = 222; <I5F> = 223; <I60> = 224; <I61> = 225; <I62> = 226; <I63> = 227; <I64> = 228; <I65> = 229; <I66> = 230; <I67> = 231; <I68> = 232; <I69> = 233; <I6A> = 234; <I6B> = 235; <I6C> = 236; <I6D> = 237; <I6E> = 238; <I6F> = 239; <I70> = 240; <I71> = 241; <I72> = 242; <I73> = 243; <I74> = 244; <I75> = 245; <I76> = 246; <I77> = 247; <I78> = 248; <I79> = 249; <I7A> = 250; <I7B> = 251; <I7C> = 252; <I7D> = 253; <I7E> = 254; <I7F> = 255; indicator 1 = "Caps Lock"; indicator 2 = "Num Lock"; indicator 3 = "Scroll Lock"; virtual indicator 4 = "Shift Lock"; virtual indicator 5 = "Group 2"; virtual indicator 6 = "Mouse Keys"; alias <AE00> = <TLDE>; alias <HZTG> = <TLDE>; alias <HNGL> = <FK16>; alias <HJCV> = <FK17>; alias <I01> = <XFER>; alias <I03> = <NFER>; alias <I05> = <AE13>; alias <K5C> = <KPEQ>; alias <K70> = <HKTG>; alias <K71> = <KANA>; alias <K72> = <EISU>; alias <K73> = <AB11>; alias <LMTA> = <LWIN>; alias <RMTA> = <RWIN>; alias <COMP> = <MENU>; alias <POWR> = <I0C>; alias <MUTE> = <I0D>; alias <VOL-> = <I0E>; alias <VOL+> = <I0F>; alias <HELP> = <I10>; alias <STOP> = <I11>; alias <AGAI> = <I12>; alias <PROP> = <I13>; alias <UNDO> = <I14>; alias <FRNT> = <I15>; alias <COPY> = <I16>; alias <OPEN> = <I17>; alias <PAST> = <I18>; alias <FIND> = <I19>; alias <CUT> = <I1A>; alias <ALGR> = <RALT>; alias <LatQ> = <AD01>; alias <LatW> = <AD02>; alias <LatE> = <AD03>; alias <LatR> = <AD04>; alias <LatT> = <AD05>; alias <LatY> = <AD06>; alias <LatU> = <AD07>; alias <LatI> = <AD08>; alias <LatO> = <AD09>; alias <LatP> = <AD10>; alias <LatA> = <AC01>; alias <LatS> = <AC02>; alias <LatD> = <AC03>; alias <LatF> = <AC04>; alias <LatG> = <AC05>; alias <LatH> = <AC06>; alias <LatJ> = <AC07>; alias <LatK> = <AC08>; alias <LatL> = <AC09>; alias <LatZ> = <AB01>; alias <LatX> = <AB02>; alias <LatC> = <AB03>; alias <LatV> = <AB04>; alias <LatB> = <AB05>; alias <LatN> = <AB06>; alias <LatM> = <AB07>; }; xkb_types "complete" { virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper; type "ONE_LEVEL" { modifiers= none; level_name[Level1]= "Any"; }; type "TWO_LEVEL" { modifiers= Shift; map[Shift]= Level2; level_name[Level1]= "Base"; level_name[Level2]= "Shift"; }; type "ALPHABETIC" { modifiers= Shift+Lock; map[Shift]= Level2; map[Lock]= Level2; level_name[Level1]= "Base"; level_name[Level2]= "Caps"; }; type "KEYPAD" { modifiers= Shift+NumLock; map[Shift]= Level2; map[NumLock]= Level2; level_name[Level1]= "Base"; level_name[Level2]= "Number"; }; type "SHIFT+ALT" { modifiers= Shift+Alt; map[Shift+Alt]= Level2; level_name[Level1]= "Base"; level_name[Level2]= "Shift+Alt"; }; type "PC_CONTROL_LEVEL2" { modifiers= Control; map[Control]= Level2; level_name[Level1]= "Base"; level_name[Level2]= "Control"; }; type "PC_LCONTROL_LEVEL2" { modifiers= LControl; map[LControl]= Level2; level_name[Level1]= "Base"; level_name[Level2]= "LControl"; }; type "PC_RCONTROL_LEVEL2" { modifiers= RControl; map[RControl]= Level2; level_name[Level1]= "Base"; level_name[Level2]= "RControl"; }; type "PC_ALT_LEVEL2" { modifiers= Alt; map[Alt]= Level2; level_name[Level1]= "Base"; level_name[Level2]= "Alt"; }; type "PC_LALT_LEVEL2" { modifiers= LAlt; map[LAlt]= Level2; level_name[Level1]= "Base"; level_name[Level2]= "LAlt"; }; type "PC_RALT_LEVEL2" { modifiers= RAlt; map[RAlt]= Level2; level_name[Level1]= "Base"; level_name[Level2]= "RAlt"; }; type "CTRL+ALT" { modifiers= Control+Alt; map[Control+Alt]= Level2; level_name[Level1]= "Base"; level_name[Level2]= "Ctrl+Alt"; }; type "LOCAL_EIGHT_LEVEL" { modifiers= Shift+Lock+Control+LevelThree; map[Shift+Lock]= Level1; map[Shift]= Level2; map[Lock]= Level2; map[LevelThree]= Level3; map[Shift+Lock+LevelThree]= Level3; map[Shift+LevelThree]= Level4; map[Lock+LevelThree]= Level4; map[Control]= Level5; map[Shift+Lock+Control]= Level5; map[Shift+Control]= Level6; map[Lock+Control]= Level6; map[Control+LevelThree]= Level7; map[Shift+Lock+Control+LevelThree]= Level7; map[Shift+Control+LevelThree]= Level8; map[Lock+Control+LevelThree]= Level8; level_name[Level1]= "Base"; level_name[Level2]= "Shift"; level_name[Level3]= "Level3"; level_name[Level4]= "Shift Level3"; level_name[Level5]= "Ctrl"; level_name[Level6]= "Shift Ctrl"; level_name[Level7]= "Level3 Ctrl"; level_name[Level8]= "Shift Level3 Ctrl"; }; type "THREE_LEVEL" { modifiers= Shift+LevelThree; map[Shift]= Level2; map[LevelThree]= Level3; map[Shift+LevelThree]= Level3; level_name[Level1]= "Base"; level_name[Level2]= "Shift"; level_name[Level3]= "Level3"; }; type "EIGHT_LEVEL" { modifiers= Shift+LevelThree+LevelFive; map[Shift]= Level2; map[LevelThree]= Level3; map[Shift+LevelThree]= Level4; map[LevelFive]= Level5; map[Shift+LevelFive]= Level6; map[LevelThree+LevelFive]= Level7; map[Shift+LevelThree+LevelFive]= Level8; level_name[Level1]= "Base"; level_name[Level2]= "Shift"; level_name[Level3]= "Alt Base"; level_name[Level4]= "Shift Alt"; level_name[Level5]= "X"; level_name[Level6]= "X Shift"; level_name[Level7]= "X Alt Base"; level_name[Level8]= "X Shift Alt"; }; type "EIGHT_LEVEL_ALPHABETIC" { modifiers= Shift+Lock+LevelThree+LevelFive; map[Shift]= Level2; map[Lock]= Level2; map[LevelThree]= Level3; map[Shift+LevelThree]= Level4; map[Lock+LevelThree]= Level4; map[Shift+Lock+LevelThree]= Level3; map[LevelFive]= Level5; map[Shift+LevelFive]= Level6; map[Lock+LevelFive]= Level6; map[LevelThree+LevelFive]= Level7; map[Shift+LevelThree+LevelFive]= Level8; map[Lock+LevelThree+LevelFive]= Level8; map[Shift+Lock+LevelThree+LevelFive]= Level7; level_name[Level1]= "Base"; level_name[Level2]= "Shift"; level_name[Level3]= "Alt Base"; level_name[Level4]= "Shift Alt"; level_name[Level5]= "X"; level_name[Level6]= "X Shift"; level_name[Level7]= "X Alt Base"; level_name[Level8]= "X Shift Alt"; }; type "EIGHT_LEVEL_SEMIALPHABETIC" { modifiers= Shift+Lock+LevelThree+LevelFive; map[Shift]= Level2; map[Lock]= Level2; map[LevelThree]= Level3; map[Shift+LevelThree]= Level4; map[Lock+LevelThree]= Level3; preserve[Lock+LevelThree]= Lock; map[Shift+Lock+LevelThree]= Level4; preserve[Shift+Lock+LevelThree]= Lock; map[LevelFive]= Level5; map[Shift+LevelFive]= Level6; map[Lock+LevelFive]= Level6; preserve[Lock+LevelFive]= Lock; map[LevelThree+LevelFive]= Level7; map[Shift+LevelThree+LevelFive]= Level8; map[Lock+LevelThree+LevelFive]= Level7; preserve[Lock+LevelThree+LevelFive]= Lock; map[Shift+Lock+LevelThree+LevelFive]= Level8; preserve[Shift+Lock+LevelThree+LevelFive]= Lock; map[Shift+Lock+LevelFive]= Level1; preserve[Shift+Lock+LevelFive]= Lock; level_name[Level1]= "Base"; level_name[Level2]= "Shift"; level_name[Level3]= "Alt Base"; level_name[Level4]= "Shift Alt"; level_name[Level5]= "X"; level_name[Level6]= "X Shift"; level_name[Level7]= "X Alt Base"; level_name[Level8]= "X Shift Alt"; }; type "FOUR_LEVEL" { modifiers= Shift+LevelThree; map[Shift]= Level2; map[LevelThree]= Level3; map[Shift+LevelThree]= Level4; level_name[Level1]= "Base"; level_name[Level2]= "Shift"; level_name[Level3]= "Alt Base"; level_name[Level4]= "Shift Alt"; }; type "FOUR_LEVEL_ALPHABETIC" { modifiers= Shift+Lock+LevelThree; map[Shift]= Level2; map[Lock]= Level2; map[LevelThree]= Level3; map[Shift+LevelThree]= Level4; map[Lock+LevelThree]= Level4; map[Shift+Lock+LevelThree]= Level3; level_name[Level1]= "Base"; level_name[Level2]= "Shift"; level_name[Level3]= "Alt Base"; level_name[Level4]= "Shift Alt"; }; type "FOUR_LEVEL_SEMIALPHABETIC" { modifiers= Shift+Lock+LevelThree; map[Shift]= Level2; map[Lock]= Level2; map[LevelThree]= Level3; map[Shift+LevelThree]= Level4; map[Lock+LevelThree]= Level3; preserve[Lock+LevelThree]= Lock; map[Shift+Lock+LevelThree]= Level4; preserve[Shift+Lock+LevelThree]= Lock; level_name[Level1]= "Base"; level_name[Level2]= "Shift"; level_name[Level3]= "Alt Base"; level_name[Level4]= "Shift Alt"; }; type "FOUR_LEVEL_MIXED_KEYPAD" { modifiers= Shift+NumLock+LevelThree; map[Shift+NumLock]= Level1; map[NumLock]= Level2; map[Shift]= Level2; map[LevelThree]= Level3; map[NumLock+LevelThree]= Level3; map[Shift+LevelThree]= Level4; map[Shift+NumLock+LevelThree]= Level4; level_name[Level1]= "Base"; level_name[Level2]= "Number"; level_name[Level3]= "Alt Base"; level_name[Level4]= "Shift Alt"; }; type "FOUR_LEVEL_X" { modifiers= Shift+Control+Alt+LevelThree; map[LevelThree]= Level2; map[Shift+LevelThree]= Level3; map[Control+Alt]= Level4; level_name[Level1]= "Base"; level_name[Level2]= "Alt Base"; level_name[Level3]= "Shift Alt"; level_name[Level4]= "Ctrl+Alt"; }; type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" { modifiers= Shift+Lock+LevelThree; map[Shift]= Level2; map[Lock]= Level4; preserve[Lock]= Lock; map[LevelThree]= Level3; map[Shift+LevelThree]= Level4; map[Lock+LevelThree]= Level3; preserve[Lock+LevelThree]= Lock; map[Shift+Lock+LevelThree]= Level3; level_name[Level1]= "Base"; level_name[Level2]= "Shift"; level_name[Level3]= "AltGr Base"; level_name[Level4]= "Shift AltGr"; }; type "FOUR_LEVEL_PLUS_LOCK" { modifiers= Shift+Lock+LevelThree; map[Shift]= Level2; map[LevelThree]= Level3; map[Shift+LevelThree]= Level4; map[Lock]= Level5; map[Shift+Lock]= Level2; map[Lock+LevelThree]= Level3; map[Shift+Lock+LevelThree]= Level4; level_name[Level1]= "Base"; level_name[Level2]= "Shift"; level_name[Level3]= "Alt Base"; level_name[Level4]= "Shift Alt"; level_name[Level5]= "Lock"; }; type "FOUR_LEVEL_KEYPAD" { modifiers= Shift+NumLock+LevelThree; map[Shift]= Level2; map[NumLock]= Level2; map[LevelThree]= Level3; map[Shift+LevelThree]= Level4; map[NumLock+LevelThree]= Level4; map[Shift+NumLock+LevelThree]= Level3; level_name[Level1]= "Base"; level_name[Level2]= "Number"; level_name[Level3]= "Alt Base"; level_name[Level4]= "Alt Number"; }; }; xkb_compatibility "complete" { virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper; interpret.useModMapMods= AnyLevel; interpret.repeat= False; interpret.locking= False; interpret ISO_Level2_Latch+Exactly(Shift) { useModMapMods=level1; action= LatchMods(modifiers=Shift,clearLocks,latchToLock); }; interpret Shift_Lock+AnyOf(Shift+Lock) { action= LockMods(modifiers=Shift); }; interpret Num_Lock+AnyOf(all) { virtualModifier= NumLock; action= LockMods(modifiers=NumLock); }; interpret ISO_Lock+AnyOf(all) { action= ISOLock(modifiers=modMapMods,affect=all); }; interpret ISO_Level3_Shift+AnyOf(all) { virtualModifier= LevelThree; useModMapMods=level1; action= SetMods(modifiers=LevelThree,clearLocks); }; interpret ISO_Level3_Latch+AnyOf(all) { virtualModifier= LevelThree; useModMapMods=level1; action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock); }; interpret ISO_Level3_Lock+AnyOf(all) { virtualModifier= LevelThree; useModMapMods=level1; action= LockMods(modifiers=LevelThree); }; interpret Alt_L+AnyOf(all) { virtualModifier= Alt; action= SetMods(modifiers=modMapMods,clearLocks); }; interpret Alt_R+AnyOf(all) { virtualModifier= Alt; action= SetMods(modifiers=modMapMods,clearLocks); }; interpret Meta_L+AnyOf(all) { virtualModifier= Meta; action= SetMods(modifiers=modMapMods,clearLocks); }; interpret Meta_R+AnyOf(all) { virtualModifier= Meta; action= SetMods(modifiers=modMapMods,clearLocks); }; interpret Super_L+AnyOf(all) { virtualModifier= Super; action= SetMods(modifiers=modMapMods,clearLocks); }; interpret Super_R+AnyOf(all) { virtualModifier= Super; action= SetMods(modifiers=modMapMods,clearLocks); }; interpret Hyper_L+AnyOf(all) { virtualModifier= Hyper; action= SetMods(modifiers=modMapMods,clearLocks); }; interpret Hyper_R+AnyOf(all) { virtualModifier= Hyper; action= SetMods(modifiers=modMapMods,clearLocks); }; interpret Scroll_Lock+AnyOf(all) { virtualModifier= ScrollLock; action= LockMods(modifiers=modMapMods); }; interpret ISO_Level5_Shift+AnyOf(all) { virtualModifier= LevelFive; useModMapMods=level1; action= SetMods(modifiers=LevelFive,clearLocks); }; interpret ISO_Level5_Latch+AnyOf(all) { virtualModifier= LevelFive; action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock); }; interpret ISO_Level5_Lock+AnyOf(all) { virtualModifier= LevelFive; action= LockMods(modifiers=LevelFive); }; interpret Mode_switch+AnyOfOrNone(all) { virtualModifier= AltGr; useModMapMods=level1; action= SetGroup(group=+1); }; interpret ISO_Level3_Shift+AnyOfOrNone(all) { action= SetMods(modifiers=LevelThree,clearLocks); }; interpret ISO_Level3_Latch+AnyOfOrNone(all) { action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock); }; interpret ISO_Level3_Lock+AnyOfOrNone(all) { action= LockMods(modifiers=LevelThree); }; interpret ISO_Group_Latch+AnyOfOrNone(all) { virtualModifier= AltGr; useModMapMods=level1; action= LatchGroup(group=2); }; interpret ISO_Next_Group+AnyOfOrNone(all) { virtualModifier= AltGr; useModMapMods=level1; action= LockGroup(group=+1); }; interpret ISO_Prev_Group+AnyOfOrNone(all) { virtualModifier= AltGr; useModMapMods=level1; action= LockGroup(group=-1); }; interpret ISO_First_Group+AnyOfOrNone(all) { action= LockGroup(group=1); }; interpret ISO_Last_Group+AnyOfOrNone(all) { action= LockGroup(group=2); }; interpret KP_1+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=-1,y=+1); }; interpret KP_End+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=-1,y=+1); }; interpret KP_2+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=+0,y=+1); }; interpret KP_Down+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=+0,y=+1); }; interpret KP_3+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=+1,y=+1); }; interpret KP_Next+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=+1,y=+1); }; interpret KP_4+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=-1,y=+0); }; interpret KP_Left+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=-1,y=+0); }; interpret KP_6+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=+1,y=+0); }; interpret KP_Right+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=+1,y=+0); }; interpret KP_7+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=-1,y=-1); }; interpret KP_Home+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=-1,y=-1); }; interpret KP_8+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=+0,y=-1); }; interpret KP_Up+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=+0,y=-1); }; interpret KP_9+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=+1,y=-1); }; interpret KP_Prior+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=+1,y=-1); }; interpret KP_5+AnyOfOrNone(all) { repeat= True; action= PtrBtn(button=default); }; interpret KP_Begin+AnyOfOrNone(all) { repeat= True; action= PtrBtn(button=default); }; interpret KP_F2+AnyOfOrNone(all) { repeat= True; action= SetPtrDflt(affect=button,button=1); }; interpret KP_Divide+AnyOfOrNone(all) { repeat= True; action= SetPtrDflt(affect=button,button=1); }; interpret KP_F3+AnyOfOrNone(all) { repeat= True; action= SetPtrDflt(affect=button,button=2); }; interpret KP_Multiply+AnyOfOrNone(all) { repeat= True; action= SetPtrDflt(affect=button,button=2); }; interpret KP_F4+AnyOfOrNone(all) { repeat= True; action= SetPtrDflt(affect=button,button=3); }; interpret KP_Subtract+AnyOfOrNone(all) { repeat= True; action= SetPtrDflt(affect=button,button=3); }; interpret KP_Separator+AnyOfOrNone(all) { repeat= True; action= PtrBtn(button=default,count=2); }; interpret KP_Add+AnyOfOrNone(all) { repeat= True; action= PtrBtn(button=default,count=2); }; interpret KP_0+AnyOfOrNone(all) { repeat= True; action= LockPtrBtn(button=default,affect=lock); }; interpret KP_Insert+AnyOfOrNone(all) { repeat= True; action= LockPtrBtn(button=default,affect=lock); }; interpret KP_Decimal+AnyOfOrNone(all) { repeat= True; action= LockPtrBtn(button=default,affect=unlock); }; interpret KP_Delete+AnyOfOrNone(all) { repeat= True; action= LockPtrBtn(button=default,affect=unlock); }; interpret F25+AnyOfOrNone(all) { repeat= True; action= SetPtrDflt(affect=button,button=1); }; interpret F26+AnyOfOrNone(all) { repeat= True; action= SetPtrDflt(affect=button,button=2); }; interpret F27+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=-1,y=-1); }; interpret F29+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=+1,y=-1); }; interpret F31+AnyOfOrNone(all) { repeat= True; action= PtrBtn(button=default); }; interpret F33+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=-1,y=+1); }; interpret F35+AnyOfOrNone(all) { repeat= True; action= MovePtr(x=+1,y=+1); }; interpret Pointer_Button_Dflt+AnyOfOrNone(all) { action= PtrBtn(button=default); }; interpret Pointer_Button1+AnyOfOrNone(all) { action= PtrBtn(button=1); }; interpret Pointer_Button2+AnyOfOrNone(all) { action= PtrBtn(button=2); }; interpret Pointer_Button3+AnyOfOrNone(all) { action= PtrBtn(button=3); }; interpret Pointer_DblClick_Dflt+AnyOfOrNone(all) { action= PtrBtn(button=default,count=2); }; interpret Pointer_DblClick1+AnyOfOrNone(all) { action= PtrBtn(button=1,count=2); }; interpret Pointer_DblClick2+AnyOfOrNone(all) { action= PtrBtn(button=2,count=2); }; interpret Pointer_DblClick3+AnyOfOrNone(all) { action= PtrBtn(button=3,count=2); }; interpret Pointer_Drag_Dflt+AnyOfOrNone(all) { action= LockPtrBtn(button=default,affect=both); }; interpret Pointer_Drag1+AnyOfOrNone(all) { action= LockPtrBtn(button=1,affect=both); }; interpret Pointer_Drag2+AnyOfOrNone(all) { action= LockPtrBtn(button=2,affect=both); }; interpret Pointer_Drag3+AnyOfOrNone(all) { action= LockPtrBtn(button=3,affect=both); }; interpret Pointer_EnableKeys+AnyOfOrNone(all) { action= LockControls(controls=MouseKeys); }; interpret Pointer_Accelerate+AnyOfOrNone(all) { action= LockControls(controls=MouseKeysAccel); }; interpret Pointer_DfltBtnNext+AnyOfOrNone(all) { action= SetPtrDflt(affect=button,button=+1); }; interpret Pointer_DfltBtnPrev+AnyOfOrNone(all) { action= SetPtrDflt(affect=button,button=-1); }; interpret AccessX_Enable+AnyOfOrNone(all) { action= LockControls(controls=AccessXKeys); }; interpret AccessX_Feedback_Enable+AnyOfOrNone(all) { action= LockControls(controls=AccessXFeedback); }; interpret RepeatKeys_Enable+AnyOfOrNone(all) { action= LockControls(controls=RepeatKeys); }; interpret SlowKeys_Enable+AnyOfOrNone(all) { action= LockControls(controls=SlowKeys); }; interpret BounceKeys_Enable+AnyOfOrNone(all) { action= LockControls(controls=BounceKeys); }; interpret StickyKeys_Enable+AnyOfOrNone(all) { action= LockControls(controls=StickyKeys); }; interpret MouseKeys_Enable+AnyOfOrNone(all) { action= LockControls(controls=MouseKeys); }; interpret MouseKeys_Accel_Enable+AnyOfOrNone(all) { action= LockControls(controls=MouseKeysAccel); }; interpret Overlay1_Enable+AnyOfOrNone(all) { action= LockControls(controls=Overlay1); }; interpret Overlay2_Enable+AnyOfOrNone(all) { action= LockControls(controls=Overlay2); }; interpret AudibleBell_Enable+AnyOfOrNone(all) { action= LockControls(controls=AudibleBell); }; interpret Terminate_Server+AnyOfOrNone(all) { action= Terminate(); }; interpret Alt_L+AnyOfOrNone(all) { action= SetMods(modifiers=Alt,clearLocks); }; interpret Alt_R+AnyOfOrNone(all) { action= SetMods(modifiers=Alt,clearLocks); }; interpret Meta_L+AnyOfOrNone(all) { action= SetMods(modifiers=Meta,clearLocks); }; interpret Meta_R+AnyOfOrNone(all) { action= SetMods(modifiers=Meta,clearLocks); }; interpret Super_L+AnyOfOrNone(all) { action= SetMods(modifiers=Super,clearLocks); }; interpret Super_R+AnyOfOrNone(all) { action= SetMods(modifiers=Super,clearLocks); }; interpret Hyper_L+AnyOfOrNone(all) { action= SetMods(modifiers=Hyper,clearLocks); }; interpret Hyper_R+AnyOfOrNone(all) { action= SetMods(modifiers=Hyper,clearLocks); }; interpret XF86_Switch_VT_1+AnyOfOrNone(all) { repeat= True; action= SwitchScreen(screen=1,!same); }; interpret XF86_Switch_VT_2+AnyOfOrNone(all) { repeat= True; action= SwitchScreen(screen=2,!same); }; interpret XF86_Switch_VT_3+AnyOfOrNone(all) { repeat= True; action= SwitchScreen(screen=3,!same); }; interpret XF86_Switch_VT_4+AnyOfOrNone(all) { repeat= True; action= SwitchScreen(screen=4,!same); }; interpret XF86_Switch_VT_5+AnyOfOrNone(all) { repeat= True; action= SwitchScreen(screen=5,!same); }; interpret XF86_Switch_VT_6+AnyOfOrNone(all) { repeat= True; action= SwitchScreen(screen=6,!same); }; interpret XF86_Switch_VT_7+AnyOfOrNone(all) { repeat= True; action= SwitchScreen(screen=7,!same); }; interpret XF86_Switch_VT_8+AnyOfOrNone(all) { repeat= True; action= SwitchScreen(screen=8,!same); }; interpret XF86_Switch_VT_9+AnyOfOrNone(all) { repeat= True; action= SwitchScreen(screen=9,!same); }; interpret XF86_Switch_VT_10+AnyOfOrNone(all) { repeat= True; action= SwitchScreen(screen=10,!same); }; interpret XF86_Switch_VT_11+AnyOfOrNone(all) { repeat= True; action= SwitchScreen(screen=11,!same); }; interpret XF86_Switch_VT_12+AnyOfOrNone(all) { repeat= True; action= SwitchScreen(screen=12,!same); }; interpret XF86_Ungrab+AnyOfOrNone(all) { repeat= True; 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); }; interpret XF86_ClearGrab+AnyOfOrNone(all) { repeat= True; 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); }; interpret XF86_Next_VMode+AnyOfOrNone(all) { repeat= True; 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); }; interpret XF86_Prev_VMode+AnyOfOrNone(all) { repeat= True; 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); }; interpret ISO_Level5_Shift+AnyOfOrNone(all) { action= SetMods(modifiers=LevelFive,clearLocks); }; interpret ISO_Level5_Latch+AnyOfOrNone(all) { action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock); }; interpret ISO_Level5_Lock+AnyOfOrNone(all) { action= LockMods(modifiers=LevelFive); }; interpret Any+Exactly(Lock) { action= LockMods(modifiers=Lock); }; interpret Any+AnyOf(all) { action= SetMods(modifiers=modMapMods,clearLocks); }; indicator "Caps Lock" { !allowExplicit; whichModState= locked; modifiers= Lock; }; indicator "Num Lock" { !allowExplicit; whichModState= locked; modifiers= NumLock; }; indicator "Scroll Lock" { whichModState= locked; modifiers= ScrollLock; }; indicator "Shift Lock" { !allowExplicit; whichModState= locked; modifiers= Shift; }; indicator "Group 2" { !allowExplicit; groups= 0xfe; }; indicator "Mouse Keys" { indicatorDrivesKeyboard; controls= mouseKeys; }; }; xkb_symbols "pc+no(nodeadkeys)+inet(dell)+no:2+us:3" { name[group1]="Norway - Eliminate dead keys"; name[group2]="Norway"; name[group3]="USA"; key <ESC> { [ Escape ] }; key <AE01> { type[group1]= "FOUR_LEVEL", type[group2]= "FOUR_LEVEL", symbols[Group1]= [ 1, exclam, exclamdown, onesuperior ], symbols[Group2]= [ 1, exclam, exclamdown, onesuperior ], symbols[Group3]= [ 1, exclam ] }; key <AE02> { type[group1]= "FOUR_LEVEL", type[group2]= "FOUR_LEVEL", symbols[Group1]= [ 2, quotedbl, at, twosuperior ], symbols[Group2]= [ 2, quotedbl, at, twosuperior ], symbols[Group3]= [ 2, at ] }; key <AE03> { type[group1]= "FOUR_LEVEL", type[group2]= "FOUR_LEVEL", symbols[Group1]= [ 3, numbersign, sterling, threesuperior ], symbols[Group2]= [ 3, numbersign, sterling, threesuperior ], symbols[Group3]= [ 3, numbersign ] }; key <AE04> { type[group1]= "FOUR_LEVEL", type[group2]= "FOUR_LEVEL", symbols[Group1]= [ 4, currency, dollar, onequarter ], symbols[Group2]= [ 4, currency, dollar, onequarter ], symbols[Group3]= [ 4, dollar ] }; key <AE05> { type[group1]= "FOUR_LEVEL", type[group2]= "FOUR_LEVEL", symbols[Group1]= [ 5, percent, onehalf, cent ], symbols[Group2]= [ 5, percent, onehalf, cent ], symbols[Group3]= [ 5, percent ] }; key <AE06> { type[group1]= "FOUR_LEVEL", type[group2]= "FOUR_LEVEL", symbols[Group1]= [ 6, ampersand, yen, fiveeighths ], symbols[Group2]= [ 6, ampersand, yen, fiveeighths ], symbols[Group3]= [ 6, asciicircum ] }; key <AE07> { type[group1]= "FOUR_LEVEL", type[group2]= "FOUR_LEVEL", symbols[Group1]= [ 7, slash, braceleft, division ], symbols[Group2]= [ 7, slash, braceleft, division ], symbols[Group3]= [ 7, ampersand ] }; key <AE08> { type[group1]= "FOUR_LEVEL", type[group2]= "FOUR_LEVEL", symbols[Group1]= [ 8, parenleft, bracketleft, guillemotleft ], symbols[Group2]= [ 8, parenleft, bracketleft, guillemotleft ], symbols[Group3]= [ 8, asterisk ] }; key <AE09> { type[group1]= "FOUR_LEVEL", type[group2]= "FOUR_LEVEL", symbols[Group1]= [ 9, parenright, bracketright, guillemotright ], symbols[Group2]= [ 9, parenright, bracketright, guillemotright ], symbols[Group3]= [ 9, parenleft ] }; key <AE10> { type[group1]= "FOUR_LEVEL", type[group2]= "FOUR_LEVEL", symbols[Group1]= [ 0, equal, braceright, degree ], symbols[Group2]= [ 0, equal, braceright, degree ], symbols[Group3]= [ 0, parenright ] }; key <AE11> { type[group1]= "FOUR_LEVEL", type[group2]= "FOUR_LEVEL", symbols[Group1]= [ plus, question, plusminus, questiondown ], symbols[Group2]= [ plus, question, plusminus, questiondown ], symbols[Group3]= [ minus, underscore ] }; key <AE12> { type[group1]= "FOUR_LEVEL", type[group2]= "FOUR_LEVEL", symbols[Group1]= [ backslash, grave, acute, ogonek ], symbols[Group2]= [ backslash, dead_grave, dead_acute, notsign ], symbols[Group3]= [ equal, plus ] }; key <BKSP> { type= "CTRL+ALT", symbols[Group1]= [ BackSpace, Terminate_Server ] }; key <TAB> { [ Tab, ISO_Left_Tab ] }; key <AD01> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", type[group2]= "FOUR_LEVEL_SEMIALPHABETIC", type[group3]= "ALPHABETIC", symbols[Group1]= [ q, Q, at, Greek_OMEGA ], symbols[Group2]= [ q, Q, at, Greek_OMEGA ], symbols[Group3]= [ q, Q ] }; key <AD02> { type[group1]= "FOUR_LEVEL_ALPHABETIC", type[group2]= "FOUR_LEVEL_ALPHABETIC", type[group3]= "ALPHABETIC", symbols[Group1]= [ w, W, lstroke, Lstroke ], symbols[Group2]= [ w, W, lstroke, Lstroke ], symbols[Group3]= [ w, W ] }; key <AD03> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", type[group2]= "FOUR_LEVEL_SEMIALPHABETIC", type[group3]= "ALPHABETIC", symbols[Group1]= [ e, E, EuroSign, cent ], symbols[Group2]= [ e, E, EuroSign, cent ], symbols[Group3]= [ e, E ] }; key <AD04> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", type[group2]= "FOUR_LEVEL_SEMIALPHABETIC", type[group3]= "ALPHABETIC", symbols[Group1]= [ r, R, registered, registered ], symbols[Group2]= [ r, R, registered, registered ], symbols[Group3]= [ r, R ] }; key <AD05> { type[group1]= "FOUR_LEVEL_ALPHABETIC", type[group2]= "FOUR_LEVEL_ALPHABETIC", type[group3]= "ALPHABETIC", symbols[Group1]= [ t, T, thorn, THORN ], symbols[Group2]= [ t, T, thorn, THORN ], symbols[Group3]= [ t, T ] }; key <AD06> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", type[group2]= "FOUR_LEVEL_SEMIALPHABETIC", type[group3]= "ALPHABETIC", symbols[Group1]= [ y, Y, leftarrow, yen ], symbols[Group2]= [ y, Y, leftarrow, yen ], symbols[Group3]= [ y, Y ] }; key <AD07> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", type[group2]= "FOUR_LEVEL_SEMIALPHABETIC", type[group3]= "ALPHABETIC", symbols[Group1]= [ u, U, downarrow, uparrow ], symbols[Group2]= [ u, U, downarrow, uparrow ], symbols[Group3]= [ u, U ] }; key <AD08> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", type[group2]= "FOUR_LEVEL_SEMIALPHABETIC", type[group3]= "ALPHABETIC", symbols[Group1]= [ i, I, rightarrow, idotless ], symbols[Group2]= [ i, I, rightarrow, idotless ], symbols[Group3]= [ i, I ] }; key <AD09> { type[group1]= "FOUR_LEVEL_ALPHABETIC", type[group2]= "FOUR_LEVEL_ALPHABETIC", type[group3]= "ALPHABETIC", symbols[Group1]= [ o, O, oe, OE ], symbols[Group2]= [ o, O, oe, OE ], symbols[Group3]= [ o, O ] }; key <AD10> { type[group1]= "FOUR_LEVEL_ALPHABETIC", type[group2]= "FOUR_LEVEL_ALPHABETIC", type[group3]= "ALPHABETIC", symbols[Group1]= [ p, P, thorn, THORN ], symbols[Group2]= [ p, P, thorn, THORN ], symbols[Group3]= [ p, P ] }; key <AD11> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", type[group2]= "FOUR_LEVEL_SEMIALPHABETIC", symbols[Group1]= [ aring, Aring, dead_diaeresis, dead_abovering ], symbols[Group2]= [ aring, Aring, dead_diaeresis, dead_abovering ], symbols[Group3]= [ bracketleft, braceleft ] }; key <AD12> { type[group1]= "FOUR_LEVEL", type[group2]= "FOUR_LEVEL", symbols[Group1]= [ diaeresis, asciicircum, asciitilde, macron ], symbols[Group2]= [ dead_diaeresis, dead_circumflex, dead_tilde, dead_caron ], symbols[Group3]= [ bracketright, braceright ] }; key <RTRN> { [ Return ] }; key <LCTL> { [ Control_L ] }; key <AC01> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", type[group2]= "FOUR_LEVEL_SEMIALPHABETIC", type[group3]= "ALPHABETIC", symbols[Group1]= [ a, A, ordfeminine, masculine ], symbols[Group2]= [ a, A, ordfeminine, masculine ], symbols[Group3]= [ a, A ] }; key <AC02> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", type[group2]= "FOUR_LEVEL_SEMIALPHABETIC", type[group3]= "ALPHABETIC", symbols[Group1]= [ s, S, ssharp, section ], symbols[Group2]= [ s, S, ssharp, section ], symbols[Group3]= [ s, S ] }; key <AC03> { type[group1]= "FOUR_LEVEL_ALPHABETIC", type[group2]= "FOUR_LEVEL_ALPHABETIC", type[group3]= "ALPHABETIC", symbols[Group1]= [ d, D, eth, ETH ], symbols[Group2]= [ d, D, eth, ETH ], symbols[Group3]= [ d, D ] }; key <AC04> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", type[group2]= "FOUR_LEVEL_SEMIALPHABETIC", type[group3]= "ALPHABETIC", symbols[Group1]= [ f, F, dstroke, ordfeminine ], symbols[Group2]= [ f, F, dstroke, ordfeminine ], symbols[Group3]= [ f, F ] }; key <AC05> { type[group1]= "FOUR_LEVEL_ALPHABETIC", type[group2]= "FOUR_LEVEL_ALPHABETIC", type[group3]= "ALPHABETIC", symbols[Group1]= [ g, G, eng, ENG ], symbols[Group2]= [ g, G, eng, ENG ], symbols[Group3]= [ g, G ] }; key <AC06> { type[group1]= "FOUR_LEVEL_ALPHABETIC", type[group2]= "FOUR_LEVEL_ALPHABETIC", type[group3]= "ALPHABETIC", symbols[Group1]= [ h, H, hstroke, Hstroke ], symbols[Group2]= [ h, H, hstroke, Hstroke ], symbols[Group3]= [ h, H ] }; key <AC07> { type= "ALPHABETIC", symbols[Group1]= [ j, J ] }; key <AC08> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", type[group2]= "FOUR_LEVEL_SEMIALPHABETIC", type[group3]= "ALPHABETIC", symbols[Group1]= [ k, K, kra, ampersand ], symbols[Group2]= [ k, K, kra, ampersand ], symbols[Group3]= [ k, K ] }; key <AC09> { type[group1]= "FOUR_LEVEL_ALPHABETIC", type[group2]= "FOUR_LEVEL_ALPHABETIC", type[group3]= "ALPHABETIC", symbols[Group1]= [ l, L, lstroke, Lstroke ], symbols[Group2]= [ l, L, lstroke, Lstroke ], symbols[Group3]= [ l, L ] }; key <AC10> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", type[group2]= "FOUR_LEVEL_SEMIALPHABETIC", symbols[Group1]= [ oslash, Oslash, acute, doubleacute ], symbols[Group2]= [ oslash, Oslash, dead_acute, dead_doubleacute ], symbols[Group3]= [ semicolon, colon ] }; key <AC11> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", type[group2]= "FOUR_LEVEL_SEMIALPHABETIC", symbols[Group1]= [ ae, AE, asciicircum, caron ], symbols[Group2]= [ ae, AE, dead_circumflex, dead_caron ], symbols[Group3]= [ apostrophe, quotedbl ] }; key <TLDE> { type[group1]= "FOUR_LEVEL", type[group2]= "FOUR_LEVEL", symbols[Group1]= [ bar, section, brokenbar, paragraph ], symbols[Group2]= [ bar, section, brokenbar, paragraph ], symbols[Group3]= [ grave, asciitilde ] }; key <LFSH> { [ Shift_L ] }; key <BKSL> { type[group1]= "FOUR_LEVEL", type[group2]= "FOUR_LEVEL", symbols[Group1]= [ apostrophe, asterisk, dead_doubleacute, multiply ], symbols[Group2]= [ apostrophe, asterisk, dead_doubleacute, multiply ], symbols[Group3]= [ backslash, bar ] }; key <AB01> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", type[group2]= "FOUR_LEVEL_SEMIALPHABETIC", type[group3]= "ALPHABETIC", symbols[Group1]= [ z, Z, guillemotleft, less ], symbols[Group2]= [ z, Z, guillemotleft, less ], symbols[Group3]= [ z, Z ] }; key <AB02> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", type[group2]= "FOUR_LEVEL_SEMIALPHABETIC", type[group3]= "ALPHABETIC", symbols[Group1]= [ x, X, guillemotright, greater ], symbols[Group2]= [ x, X, guillemotright, greater ], symbols[Group3]= [ x, X ] }; key <AB03> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", type[group2]= "FOUR_LEVEL_SEMIALPHABETIC", type[group3]= "ALPHABETIC", symbols[Group1]= [ c, C, copyright, copyright ], symbols[Group2]= [ c, C, copyright, copyright ], symbols[Group3]= [ c, C ] }; key <AB04> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", type[group2]= "FOUR_LEVEL_SEMIALPHABETIC", type[group3]= "ALPHABETIC", symbols[Group1]= [ v, V, leftdoublequotemark, leftsinglequotemark ], symbols[Group2]= [ v, V, leftdoublequotemark, leftsinglequotemark ], symbols[Group3]= [ v, V ] }; key <AB05> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", type[group2]= "FOUR_LEVEL_SEMIALPHABETIC", type[group3]= "ALPHABETIC", symbols[Group1]= [ b, B, rightdoublequotemark, rightsinglequotemark ], symbols[Group2]= [ b, B, rightdoublequotemark, rightsinglequotemark ], symbols[Group3]= [ b, B ] }; key <AB06> { type= "ALPHABETIC", symbols[Group1]= [ n, N ] }; key <AB07> { type[group1]= "FOUR_LEVEL_SEMIALPHABETIC", type[group2]= "FOUR_LEVEL_SEMIALPHABETIC", type[group3]= "ALPHABETIC", symbols[Group1]= [ m, M, mu, masculine ], symbols[Group2]= [ m, M, mu, masculine ], symbols[Group3]= [ m, M ] }; key <AB08> { type[group1]= "FOUR_LEVEL", type[group2]= "FOUR_LEVEL", symbols[Group1]= [ comma, semicolon, cedilla, ogonek ], symbols[Group2]= [ comma, semicolon, dead_cedilla, dead_ogonek ], symbols[Group3]= [ comma, less ] }; key <AB09> { type[group1]= "FOUR_LEVEL", type[group2]= "FOUR_LEVEL", symbols[Group1]= [ period, colon, periodcentered, abovedot ], symbols[Group2]= [ period, colon, periodcentered, dead_abovedot ], symbols[Group3]= [ period, greater ] }; key <AB10> { type[group1]= "FOUR_LEVEL", type[group2]= "FOUR_LEVEL", symbols[Group1]= [ minus, underscore, dead_belowdot, dead_abovedot ], symbols[Group2]= [ minus, underscore, dead_belowdot, dead_abovedot ], symbols[Group3]= [ slash, question ] }; key <RTSH> { [ Shift_R ] }; key <KPMU> { type= "CTRL+ALT", symbols[Group1]= [ KP_Multiply, XF86_ClearGrab ] }; key <LALT> { [ Alt_L, Meta_L ] }; key <SPCE> { [ space ] }; key <CAPS> { [ Caps_Lock ] }; key <FK01> { type= "CTRL+ALT", symbols[Group1]= [ F1, XF86_Switch_VT_1 ] }; key <FK02> { type= "CTRL+ALT", symbols[Group1]= [ F2, XF86_Switch_VT_2 ] }; key <FK03> { type= "CTRL+ALT", symbols[Group1]= [ F3, XF86_Switch_VT_3 ] }; key <FK04> { type= "CTRL+ALT", symbols[Group1]= [ F4, XF86_Switch_VT_4 ] }; key <FK05> { type= "CTRL+ALT", symbols[Group1]= [ F5, XF86_Switch_VT_5 ] }; key <FK06> { type= "CTRL+ALT", symbols[Group1]= [ F6, XF86_Switch_VT_6 ] }; key <FK07> { type= "CTRL+ALT", symbols[Group1]= [ F7, XF86_Switch_VT_7 ] }; key <FK08> { type= "CTRL+ALT", symbols[Group1]= [ F8, XF86_Switch_VT_8 ] }; key <FK09> { type= "CTRL+ALT", symbols[Group1]= [ F9, XF86_Switch_VT_9 ] }; key <FK10> { type= "CTRL+ALT", symbols[Group1]= [ F10, XF86_Switch_VT_10 ] }; key <NMLK> { [ Num_Lock, Pointer_EnableKeys ] }; key <SCLK> { [ Scroll_Lock ] }; key <KP7> { [ KP_Home, KP_7 ] }; key <KP8> { [ KP_Up, KP_8 ] }; key <KP9> { [ KP_Prior, KP_9 ] }; key <KPSU> { type= "CTRL+ALT", symbols[Group1]= [ KP_Subtract, XF86_Prev_VMode ] }; key <KP4> { [ KP_Left, KP_4 ] }; key <KP5> { [ KP_Begin, KP_5 ] }; key <KP6> { [ KP_Right, KP_6 ] }; key <KPAD> { type= "CTRL+ALT", symbols[Group1]= [ KP_Add, XF86_Next_VMode ] }; key <KP1> { [ KP_End, KP_1 ] }; key <KP2> { [ KP_Down, KP_2 ] }; key <KP3> { [ KP_Next, KP_3 ] }; key <KP0> { [ KP_Insert, KP_0 ] }; key <KPDL> { type= "KEYPAD", symbols[Group1]= [ KP_Delete, KP_Separator ] }; key <MDSW> { [ Mode_switch ] }; key <LSGT> { type= "FOUR_LEVEL", symbols[Group1]= [ less, greater, onehalf, threequarters ] }; key <FK11> { type= "CTRL+ALT", symbols[Group1]= [ F11, XF86_Switch_VT_11 ] }; key <FK12> { type= "CTRL+ALT", symbols[Group1]= [ F12, XF86_Switch_VT_12 ] }; key <HOME> { [ Home ] }; key <UP> { [ Up ] }; key <PGUP> { [ Prior ] }; key <LEFT> { [ Left ] }; key <RGHT> { [ Right ] }; key <END> { [ End ] }; key <DOWN> { [ Down ] }; key <PGDN> { [ Next ] }; key <INS> { [ Insert ] }; key <DELE> { [ Delete ] }; key <KPEN> { [ KP_Enter ] }; key <RCTL> { [ Control_R ] }; key <PAUS> { type= "PC_CONTROL_LEVEL2", symbols[Group1]= [ Pause, Break ] }; key <PRSC> { type= "PC_ALT_LEVEL2", symbols[Group1]= [ Print, Sys_Req ] }; key <KPDV> { type= "CTRL+ALT", symbols[Group1]= [ KP_Divide, XF86_Ungrab ] }; key <RALT> { type= "ONE_LEVEL", symbols[Group1]= [ ISO_Level3_Shift ], symbols[Group2]= [ ISO_Level3_Shift ] }; key <LWIN> { [ Super_L ] }; key <RWIN> { [ Super_R ] }; key <MENU> { [ Menu ] }; key <LVL3> { [ ISO_Level3_Shift ] }; key <ALT> { [ NoSymbol, Alt_L ] }; key <KPEQ> { [ KP_Equal ] }; key <SUPR> { [ NoSymbol, Super_L ] }; key <HYPR> { [ NoSymbol, Hyper_L ] }; key <I12> { [ XF86Mail ] }; key <META> { [ NoSymbol, Meta_L ] }; key <I1E> { [ XF86Search ] }; key <I26> { [ XF86HomePage ] }; key <OUTP> { [ XF86Display ] }; key <KITG> { [ XF86KbdLightOnOff ] }; key <KIDN> { [ XF86KbdBrightnessDown ] }; key <KIUP> { [ XF86KbdBrightnessUp ] }; key <I5F> { [ XF86Standby ] }; modifier_map Control { <LCTL> }; modifier_map Shift { <LFSH> }; modifier_map Shift { <RTSH> }; modifier_map Mod1 { <LALT> }; modifier_map Lock { <CAPS> }; modifier_map Mod2 { <NMLK> }; modifier_map Mod5 { <MDSW> }; modifier_map Control { <RCTL> }; modifier_map Mod5 { <RALT> }; modifier_map Mod5 { <LVL3> }; modifier_map Mod4 { <SUPR> }; modifier_map Mod4 { <HYPR> }; modifier_map Mod1 { <META> }; }; xkb_geometry "pc(pc104)" { width= 470; height= 210; alias <AC00> = <CAPS>; alias <AA00> = <LCTL>; baseColor= "white"; labelColor= "black"; xfont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1"; description= "Generic 104"; shape "NORM" { corner= 1, { [ 18, 18 ] }, { [ 2, 1 ], [ 16, 16 ] } }; shape "BKSP" { corner= 1, { [ 38, 18 ] }, { [ 2, 1 ], [ 36, 16 ] } }; shape "TABK" { corner= 1, { [ 28, 18 ] }, { [ 2, 1 ], [ 26, 16 ] } }; shape "BKSL" { corner= 1, { [ 28, 18 ] }, { [ 2, 1 ], [ 26, 16 ] } }; shape "RTRN" { corner= 1, { [ 42, 18 ] }, { [ 2, 1 ], [ 40, 16 ] } }; shape "CAPS" { corner= 1, { [ 33, 18 ] }, { [ 2, 1 ], [ 31, 16 ] } }; shape "LFSH" { corner= 1, { [ 42, 18 ] }, { [ 2, 1 ], [ 40, 16 ] } }; shape "RTSH" { corner= 1, { [ 52, 18 ] }, { [ 2, 1 ], [ 50, 16 ] } }; shape "MODK" { corner= 1, { [ 27, 18 ] }, { [ 2, 1 ], [ 25, 16 ] } }; shape "SMOD" { corner= 1, { [ 23, 18 ] }, { [ 2, 1 ], [ 21, 16 ] } }; shape "SPCE" { corner= 1, { [ 113, 18 ] }, { [ 2, 1 ], [ 111, 16 ] } }; shape "KP0" { corner= 1, { [ 37, 18 ] }, { [ 2, 1 ], [ 35, 16 ] } }; shape "KPAD" { corner= 1, { [ 18, 37 ] }, { [ 2, 1 ], [ 16, 35 ] } }; shape "LEDS" { { [ 75, 20 ] } }; shape "LED" { { [ 5, 1 ] } }; section "Function" { key.color= "grey20"; priority= 7; top= 52; left= 19; width= 351; height= 19; row { top= 1; left= 1; keys { { <ESC>, "NORM", 1 }, { <FK01>, "NORM", 20, color="white" }, { <FK02>, "NORM", 1, color="white" }, { <FK03>, "NORM", 1, color="white" }, { <FK04>, "NORM", 1, color="white" }, { <FK05>, "NORM", 11, color="white" }, { <FK06>, "NORM", 1, color="white" }, { <FK07>, "NORM", 1, color="white" }, { <FK08>, "NORM", 1, color="white" }, { <FK09>, "NORM", 11, color="white" }, { <FK10>, "NORM", 1, color="white" }, { <FK11>, "NORM", 1, color="white" }, { <FK12>, "NORM", 1, color="white" }, { <PRSC>, "NORM", 8, color="white" }, { <SCLK>, "NORM", 1, color="white" }, { <PAUS>, "NORM", 1, color="white" } }; }; }; // End of "Function" section section "Alpha" { key.color= "white"; priority= 8; top= 91; left= 19; width= 287; height= 95; row { top= 1; left= 1; keys { { <TLDE>, "NORM", 1 }, { <AE01>, "NORM", 1 }, { <AE02>, "NORM", 1 }, { <AE03>, "NORM", 1 }, { <AE04>, "NORM", 1 }, { <AE05>, "NORM", 1 }, { <AE06>, "NORM", 1 }, { <AE07>, "NORM", 1 }, { <AE08>, "NORM", 1 }, { <AE09>, "NORM", 1 }, { <AE10>, "NORM", 1 }, { <AE11>, "NORM", 1 }, { <AE12>, "NORM", 1 }, { <BKSP>, "BKSP", 1, color="grey20" } }; }; row { top= 20; left= 1; keys { { <TAB>, "TABK", 1, color="grey20" }, { <AD01>, "NORM", 1 }, { <AD02>, "NORM", 1 }, { <AD03>, "NORM", 1 }, { <AD04>, "NORM", 1 }, { <AD05>, "NORM", 1 }, { <AD06>, "NORM", 1 }, { <AD07>, "NORM", 1 }, { <AD08>, "NORM", 1 }, { <AD09>, "NORM", 1 }, { <AD10>, "NORM", 1 }, { <AD11>, "NORM", 1 }, { <AD12>, "NORM", 1 }, { <BKSL>, "BKSL", 1 } }; }; row { top= 39; left= 1; keys { { <CAPS>, "CAPS", 1, color="grey20" }, { <AC01>, "NORM", 1 }, { <AC02>, "NORM", 1 }, { <AC03>, "NORM", 1 }, { <AC04>, "NORM", 1 }, { <AC05>, "NORM", 1 }, { <AC06>, "NORM", 1 }, { <AC07>, "NORM", 1 }, { <AC08>, "NORM", 1 }, { <AC09>, "NORM", 1 }, { <AC10>, "NORM", 1 }, { <AC11>, "NORM", 1 }, { <RTRN>, "RTRN", 1, color="grey20" } }; }; row { top= 58; left= 1; keys { { <LFSH>, "LFSH", 1, color="grey20" }, { <AB01>, "NORM", 1 }, { <AB02>, "NORM", 1 }, { <AB03>, "NORM", 1 }, { <AB04>, "NORM", 1 }, { <AB05>, "NORM", 1 }, { <AB06>, "NORM", 1 }, { <AB07>, "NORM", 1 }, { <AB08>, "NORM", 1 }, { <AB09>, "NORM", 1 }, { <AB10>, "NORM", 1 }, { <RTSH>, "RTSH", 1, color="grey20" } }; }; row { top= 77; left= 1; keys { { <LCTL>, "MODK", 1, color="grey20" }, { <LWIN>, "SMOD", 1, color="grey20" }, { <LALT>, "SMOD", 1, color="grey20" }, { <SPCE>, "SPCE", 1 }, { <RALT>, "SMOD", 1, color="grey20" }, { <RWIN>, "SMOD", 1, color="grey20" }, { <MENU>, "SMOD", 1, color="grey20" }, { <RCTL>, "SMOD", 1, color="grey20" } }; }; }; // End of "Alpha" section section "Editing" { key.color= "grey20"; priority= 9; top= 91; left= 312; width= 58; height= 95; row { top= 1; left= 1; keys { { <INS>, "NORM", 1 }, { <HOME>, "NORM", 1 }, { <PGUP>, "NORM", 1 } }; }; row { top= 20; left= 1; keys { { <DELE>, "NORM", 1 }, { <END>, "NORM", 1 }, { <PGDN>, "NORM", 1 } }; }; row { top= 58; left= 20; keys { { <UP>, "NORM", 1 } }; }; row { top= 77; left= 1; keys { { <LEFT>, "NORM", 1 }, { <DOWN>, "NORM", 1 }, { <RGHT>, "NORM", 1 } }; }; }; // End of "Editing" section section "Keypad" { key.color= "grey20"; priority= 10; top= 91; left= 376; width= 77; height= 95; row { top= 1; left= 1; keys { { <NMLK>, "NORM", 1 }, { <KPDV>, "NORM", 1 }, { <KPMU>, "NORM", 1 }, { <KPSU>, "NORM", 1 } }; }; row { top= 20; left= 1; keys { { <KP7>, "NORM", 1, color="white" }, { <KP8>, "NORM", 1, color="white" }, { <KP9>, "NORM", 1, color="white" }, { <KPAD>, "KPAD", 1 } }; }; row { top= 39; left= 1; keys { { <KP4>, "NORM", 1, color="white" }, { <KP5>, "NORM", 1, color="white" }, { <KP6>, "NORM", 1, color="white" } }; }; row { top= 58; left= 1; keys { { <KP1>, "NORM", 1, color="white" }, { <KP2>, "NORM", 1, color="white" }, { <KP3>, "NORM", 1, color="white" }, { <KPEN>, "KPAD", 1 } }; }; row { top= 77; left= 1; keys { { <KP0>, "KP0", 1, color="white" }, { <KPDL>, "NORM", 1, color="white" } }; }; }; // End of "Keypad" section solid "LedPanel" { top= 52; left= 377; priority= 0; color= "grey10"; shape= "LEDS"; }; indicator "Num Lock" { top= 67; left= 382; priority= 1; onColor= "green"; offColor= "green30"; shape= "LED"; }; indicator "Caps Lock" { top= 67; left= 407; priority= 2; onColor= "green"; offColor= "green30"; shape= "LED"; }; indicator "Scroll Lock" { top= 67; left= 433; priority= 3; onColor= "green"; offColor= "green30"; shape= "LED"; }; text "NumLockLabel" { top= 55; left= 378; priority= 4; width= 19.8; height= 10; XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1"; text= "Num\nLock"; }; text "CapsLockLabel" { top= 55; left= 403; priority= 5; width= 26.4; height= 10; XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1"; text= "Caps\nLock"; }; text "ScrollLockLabel" { top= 55; left= 428; priority= 6; width= 39.6; height= 10; XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1"; text= "Scroll\nLock"; }; }; };
-- fedora-test-list mailing list fedora-test-list@xxxxxxxxxx To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-test-list