From 6d998c3f8c7960338621bd5317522249ca234d70 Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Fri, 15 Sep 2023 15:01:13 +0200 Subject: fix wayland on nvidia; fix keyboard layout on kde wayland --- nixos/common.nix | 12 +- nixos/kde.nix | 1 - nixos/lindy.nix | 2 + nixpkgs/common.nix | 1 + xkb/compat/fr-custom-lx | 483 ++++++++++++++++++++++++++++++++++++++ xkb/keycodes/fr-custom-lx | 297 ++++++++++++++++++++++++ xkb/symbols/fr-custom-lx | 577 +++++++++++++++++++++++++++++++++++++++++++++ xkb/symbols/fr-lx | 579 ---------------------------------------------- xkb/types/fr-custom-lx | 386 +++++++++++++++++++++++++++++++ 9 files changed, 1756 insertions(+), 582 deletions(-) create mode 100644 xkb/compat/fr-custom-lx create mode 100644 xkb/keycodes/fr-custom-lx create mode 100644 xkb/symbols/fr-custom-lx delete mode 100644 xkb/symbols/fr-lx create mode 100644 xkb/types/fr-custom-lx diff --git a/nixos/common.nix b/nixos/common.nix index 41c2f3f..bcecd32 100644 --- a/nixos/common.nix +++ b/nixos/common.nix @@ -75,9 +75,17 @@ in services.xserver.enable = true; # Configure keymap in X11 - services.xserver.layout = "fr"; - services.xserver.displayManager.sessionCommands = "${pkgs.xorg.xkbcomp}/bin/xkbcomp ${compiledXkbLayout} $DISPLAY"; + services.xserver.layout = "fr-custom-lx"; + #services.xserver.displayManager.sessionCommands = "${pkgs.xorg.xkbcomp}/bin/xkbcomp ${compiledXkbLayout} $DISPLAY"; services.xserver.xkbOptions = "caps:escape"; + services.xserver.extraLayouts."fr-custom-lx" = { + description = "French (LX custom azerty)"; + languages = ["fre"]; + symbolsFile = ../xkb/symbols/fr-custom-lx; + compatFile = ../xkb/compat/fr-custom-lx; + typesFile = ../xkb/types/fr-custom-lx; + keycodesFile = ../xkb/keycodes/fr-custom-lx; + }; # Enable CUPS to print documents. services.printing.enable = true; diff --git a/nixos/kde.nix b/nixos/kde.nix index 3703ae9..51fb9af 100644 --- a/nixos/kde.nix +++ b/nixos/kde.nix @@ -1,6 +1,5 @@ { config, pkgs, ... }: { services.xserver.displayManager.sddm.enable = true; - #services.xserver.displayManager.lightdm.enable = true; services.xserver.desktopManager.plasma5.enable = true; environment.systemPackages = with pkgs.libsForQt5; [ diff --git a/nixos/lindy.nix b/nixos/lindy.nix index 6907e82..760b656 100644 --- a/nixos/lindy.nix +++ b/nixos/lindy.nix @@ -83,6 +83,8 @@ Kogami UUID=61534c91-df18-4c71-9244-54e677f5d4fa /root/kogami_key services.cron.systemCronJobs = [ "0 20 * * * root /media/Zonz/lindy/do-backup.sh" ]; # Nvidia graphics + boot.kernelParams = [ "i915.modeset=0" ]; + hardware.nvidia.modesetting.enable = true; services.xserver.videoDrivers = [ "nvidia" ]; hardware.opengl.enable = true; diff --git a/nixpkgs/common.nix b/nixpkgs/common.nix index 935b1e8..fae0ce9 100644 --- a/nixpkgs/common.nix +++ b/nixpkgs/common.nix @@ -41,6 +41,7 @@ programs.git.lfs.enable = true; home.file = { + ".xkb/symbols/lx-custom-fr".source = ../xkb/symbols/custom-fr; ".vim/coc-settings.json".source = ../vim/coc-settings.json; ".config/tmux/tmux.conf".source = ../tmux/tmux.conf; ".config/qutebrowser/config.py".source = ../qutebrowser/config.py; diff --git a/xkb/compat/fr-custom-lx b/xkb/compat/fr-custom-lx new file mode 100644 index 0000000..0fea91d --- /dev/null +++ b/xkb/compat/fr-custom-lx @@ -0,0 +1,483 @@ +xkb_compatibility "fr-custom-lx" { + + 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_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; + useModMapMods=level1; + action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock); + }; + interpret ISO_Level5_Lock+AnyOf(all) { + virtualModifier= LevelFive; + useModMapMods=level1; + 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=none); + }; + interpret Overlay2_Enable+AnyOfOrNone(all) { + action= LockControls(controls=none); + }; + 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 Shift_L+AnyOfOrNone(all) { + action= SetMods(modifiers=Shift,clearLocks); + }; + interpret XF86Switch_VT_1+AnyOfOrNone(all) { + repeat= True; + action= SwitchScreen(screen=1,!same); + }; + interpret XF86Switch_VT_2+AnyOfOrNone(all) { + repeat= True; + action= SwitchScreen(screen=2,!same); + }; + interpret XF86Switch_VT_3+AnyOfOrNone(all) { + repeat= True; + action= SwitchScreen(screen=3,!same); + }; + interpret XF86Switch_VT_4+AnyOfOrNone(all) { + repeat= True; + action= SwitchScreen(screen=4,!same); + }; + interpret XF86Switch_VT_5+AnyOfOrNone(all) { + repeat= True; + action= SwitchScreen(screen=5,!same); + }; + interpret XF86Switch_VT_6+AnyOfOrNone(all) { + repeat= True; + action= SwitchScreen(screen=6,!same); + }; + interpret XF86Switch_VT_7+AnyOfOrNone(all) { + repeat= True; + action= SwitchScreen(screen=7,!same); + }; + interpret XF86Switch_VT_8+AnyOfOrNone(all) { + repeat= True; + action= SwitchScreen(screen=8,!same); + }; + interpret XF86Switch_VT_9+AnyOfOrNone(all) { + repeat= True; + action= SwitchScreen(screen=9,!same); + }; + interpret XF86Switch_VT_10+AnyOfOrNone(all) { + repeat= True; + action= SwitchScreen(screen=10,!same); + }; + interpret XF86Switch_VT_11+AnyOfOrNone(all) { + repeat= True; + action= SwitchScreen(screen=11,!same); + }; + interpret XF86Switch_VT_12+AnyOfOrNone(all) { + repeat= True; + action= SwitchScreen(screen=12,!same); + }; + interpret XF86LogGrabInfo+AnyOfOrNone(all) { + repeat= True; + 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); + }; + interpret XF86LogWindowTree+AnyOfOrNone(all) { + repeat= True; + 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); + }; + interpret XF86Next_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 XF86Prev_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 Caps_Lock+AnyOfOrNone(all) { + action= LockMods(modifiers=Lock); + }; + interpret Any+Exactly(Lock) { + action= LockMods(modifiers=Lock); + }; + interpret Any+AnyOf(all) { + action= SetMods(modifiers=modMapMods,clearLocks); + }; + indicator "Caps Lock" { + whichModState= locked; + modifiers= Lock; + }; + indicator "Num Lock" { + whichModState= locked; + modifiers= NumLock; + }; + indicator "Scroll Lock" { + whichModState= locked; + modifiers= ScrollLock; + }; + indicator "Shift Lock" { + whichModState= locked; + modifiers= Shift; + }; + indicator "Group 2" { + groups= 0xfe; + }; + indicator "Mouse Keys" { + controls= mouseKeys; + }; +}; diff --git a/xkb/keycodes/fr-custom-lx b/xkb/keycodes/fr-custom-lx new file mode 100644 index 0000000..0800e3b --- /dev/null +++ b/xkb/keycodes/fr-custom-lx @@ -0,0 +1,297 @@ +xkb_keycodes "fr-custom-lx" { + minimum = 8; + maximum = 255; + = 9; + = 10; + = 11; + = 12; + = 13; + = 14; + = 15; + = 16; + = 17; + = 18; + = 19; + = 20; + = 21; + = 22; + = 23; + = 24; + = 25; + = 26; + = 27; + = 28; + = 29; + = 30; + = 31; + = 32; + = 33; + = 34; + = 35; + = 36; + = 37; + = 38; + = 39; + = 40; + = 41; + = 42; + = 43; + = 44; + = 45; + = 46; + = 47; + = 48; + = 49; + = 50; + = 51; + = 52; + = 53; + = 54; + = 55; + = 56; + = 57; + = 58; + = 59; + = 60; + = 61; + = 62; + = 63; + = 64; + = 65; + = 66; + = 67; + = 68; + = 69; + = 70; + = 71; + = 72; + = 73; + = 74; + = 75; + = 76; + = 77; + = 78; + = 79; + = 80; + = 81; + = 82; + = 83; + = 84; + = 85; + = 86; + = 87; + = 88; + = 89; + = 90; + = 91; + = 92; + = 94; + = 95; + = 96; + = 97; + = 98; + = 99; + = 100; + = 101; + = 102; + = 103; + = 104; + = 105; + = 106; + = 107; + = 108; + = 109; + = 110; + = 111; + = 112; + = 113; + = 114; + = 115; + = 116; + = 117; + = 118; + = 119; + = 120; + = 121; + = 122; + = 123; + = 124; + = 125; + = 126; + = 127; + = 128; + = 129; + = 130; + = 131; + = 132; + = 133; + = 134; + = 135; + = 136; + = 137; + = 138; + = 139; + = 140; + = 141; + = 142; + = 143; + = 144; + = 145; + = 146; + = 147; + = 148; + = 149; + = 150; + = 151; + = 152; + = 153; + = 154; + = 155; + = 156; + = 157; + = 158; + = 159; + = 160; + = 161; + = 162; + = 163; + = 164; + = 165; + = 166; + = 167; + = 168; + = 169; + = 170; + = 171; + = 172; + = 173; + = 174; + = 175; + = 176; + = 177; + = 178; + = 179; + = 180; + = 181; + = 182; + = 183; + = 184; + = 185; + = 186; + = 187; + = 188; + = 189; + = 190; + = 191; + = 192; + = 193; + = 194; + = 195; + = 196; + = 197; + = 198; + = 199; + = 200; + = 201; + = 202; + = 203; + = 204; + = 205; + = 206; + = 207; + = 208; + = 209; + = 210; + = 211; + = 212; + = 213; + = 214; + = 215; + = 216; + = 217; + = 218; + = 219; + = 220; + = 221; + = 222; + = 223; + = 224; + = 225; + = 226; + = 227; + = 228; + = 229; + = 230; + = 231; + = 232; + = 233; + = 234; + = 235; + = 236; + = 237; + = 238; + = 239; + = 240; + = 241; + = 242; + = 243; + = 244; + = 245; + = 246; + = 247; + = 248; + = 249; + = 250; + = 251; + = 252; + = 253; + = 254; + = 255; + 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"; + indicator 12 = "Shift Lock"; + indicator 13 = "Group 2"; + indicator 14 = "Mouse Keys"; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; +}; diff --git a/xkb/symbols/fr-custom-lx b/xkb/symbols/fr-custom-lx new file mode 100644 index 0000000..77a1e9f --- /dev/null +++ b/xkb/symbols/fr-custom-lx @@ -0,0 +1,577 @@ +xkb_symbols "fr-custom-lx" { + + name[group1]="French (LX custom AZERTY)"; + + key { [ Escape ] }; + + #key { + # type= "FOUR_LEVEL", + # symbols[Group1]= [ twosuperior, threesuperior, onesuperior, dead_cedilla ] + #}; + key { + type= "FOUR_LEVEL", + symbols[Group1]= [ asciicircum, bracketleft, twosuperior, threesuperior ] + }; + + #key { + # type= "FOUR_LEVEL", + # symbols[Group1]= [ ampersand, 1, dead_caron, dead_ogonek ] + #}; + key { + type= "FOUR_LEVEL", + symbols[Group1]= [ braceleft, 1, dead_caron, dead_ogonek ] + }; + + key { + type= "FOUR_LEVEL", + symbols[Group1]= [ eacute, 2, asciitilde, Eacute ] + }; + key { + type= "FOUR_LEVEL", + symbols[Group1]= [ quotedbl, 3, numbersign, dead_breve ] + }; + + #key { + # type= "FOUR_LEVEL", + # symbols[Group1]= [ apostrophe, 4, braceleft, U2014 ] + #}; + key { + type= "FOUR_LEVEL", + symbols[Group1]= [ apostrophe, 4, dead_acute, U2014 ] + }; + + key { + type= "FOUR_LEVEL", + symbols[Group1]= [ parenleft, 5, bracketleft, U2013 ] + }; + + #key { + # type= "FOUR_LEVEL", + # symbols[Group1]= [ minus, 6, bar, U2011 ] + #}; + key { + type= "FOUR_LEVEL", + symbols[Group1]= [ minus, 6, section, U2011 ] + }; + + #key { + # type= "FOUR_LEVEL", + # symbols[Group1]= [ egrave, 7, grave, Egrave ] + #}; + key { + type= "FOUR_LEVEL", + symbols[Group1]= [ dead_grave, 7, grave, Egrave ] + }; + + #key { + # type= "FOUR_LEVEL", + # symbols[Group1]= [ underscore, 8, backslash, trademark ] + #}; + key { + type= "FOUR_LEVEL", + symbols[Group1]= [ underscore, 8, onesuperior, U2014 ] + }; + + key { + type= "FOUR_LEVEL", + symbols[Group1]= [ ccedilla, 9, asciicircum, Ccedilla ] + }; + + #key { + # type= "FOUR_LEVEL", + # symbols[Group1]= [ agrave, 0, at, Agrave ] + #}; + key { + type= "FOUR_LEVEL", + symbols[Group1]= [ braceright, 0, at, Agrave ] + }; + + #key { + # type= "FOUR_LEVEL", + # symbols[Group1]= [ parenright, degree, bracketright, notequal ] + #}; + key { + type= "FOUR_LEVEL", + symbols[Group1]= [ parenright, bracketright, bracketright, degree ] + }; + + #key { + # type= "FOUR_LEVEL", + # symbols[Group1]= [ equal, plus, braceright, plusminus ] + #}; + key { + type= "FOUR_LEVEL", + symbols[Group1]= [ equal, plus, notequal, plusminus ] + }; + + key { [ BackSpace, BackSpace ] }; + key { [ Tab, ISO_Left_Tab ] }; + key { + type= "FOUR_LEVEL_ALPHABETIC", + symbols[Group1]= [ a, A, ae, AE ] + }; + key { + type= "FOUR_LEVEL_ALPHABETIC", + symbols[Group1]= [ z, Z, acircumflex, Acircumflex ] + }; + key { + type= "FOUR_LEVEL_SEMIALPHABETIC", + symbols[Group1]= [ e, E, EuroSign, cent ] + }; + key { + type= "FOUR_LEVEL_ALPHABETIC", + symbols[Group1]= [ r, R, ecircumflex, Ecircumflex ] + }; + key { + type= "FOUR_LEVEL_ALPHABETIC", + symbols[Group1]= [ t, T, thorn, THORN ] + }; + key { + type= "FOUR_LEVEL_ALPHABETIC", + symbols[Group1]= [ y, Y, ydiaeresis, Ydiaeresis ] + }; + key { + type= "FOUR_LEVEL_ALPHABETIC", + symbols[Group1]= [ u, U, ucircumflex, Ucircumflex ] + }; + key { + type= "FOUR_LEVEL_ALPHABETIC", + symbols[Group1]= [ i, I, icircumflex, Icircumflex ] + }; + key { + type= "FOUR_LEVEL_ALPHABETIC", + symbols[Group1]= [ o, O, oe, OE ] + }; + key { + type= "FOUR_LEVEL_ALPHABETIC", + symbols[Group1]= [ p, P, ocircumflex, Ocircumflex ] + }; + key { + type= "FOUR_LEVEL", + symbols[Group1]= [ dead_circumflex, dead_diaeresis, dead_tilde, dead_abovering ] + }; + + #key { + # type= "FOUR_LEVEL", + # symbols[Group1]= [ dollar, sterling, oslash, Oslash ] + #}; + key { + type= "FOUR_LEVEL", + symbols[Group1]= [ dollar, at, oslash, Oslash ] + }; + + key { [ Return ] }; + key { [ Control_L ] }; + key { + type= "FOUR_LEVEL_ALPHABETIC", + symbols[Group1]= [ q, Q, adiaeresis, Adiaeresis ] + }; + key { + type= "FOUR_LEVEL_SEMIALPHABETIC", + symbols[Group1]= [ s, S, ssharp, doublelowquotemark ] + }; + key { + type= "FOUR_LEVEL_ALPHABETIC", + symbols[Group1]= [ d, D, ediaeresis, Ediaeresis ] + }; + key { + type= "FOUR_LEVEL_SEMIALPHABETIC", + symbols[Group1]= [ f, F, leftsinglequotemark, singlelowquotemark ] + }; + key { + type= "FOUR_LEVEL_SEMIALPHABETIC", + symbols[Group1]= [ g, G, rightsinglequotemark, yen ] + }; + key { + type= "FOUR_LEVEL_ALPHABETIC", + symbols[Group1]= [ h, H, eth, ETH ] + }; + key { + type= "FOUR_LEVEL_ALPHABETIC", + symbols[Group1]= [ j, J, udiaeresis, Udiaeresis ] + }; + key { + type= "FOUR_LEVEL_ALPHABETIC", + symbols[Group1]= [ k, K, idiaeresis, Idiaeresis ] + }; + key { + type= "FOUR_LEVEL_ALPHABETIC", + symbols[Group1]= [ l, L, U0140, U013F ] + }; + key { + type= "FOUR_LEVEL_ALPHABETIC", + symbols[Group1]= [ m, M, odiaeresis, Odiaeresis ] + }; + + #key { + # type= "FOUR_LEVEL", + # symbols[Group1]= [ ugrave, percent, dead_acute, Ugrave ] + #}; + key { + type= "FOUR_LEVEL", + symbols[Group1]= [ backslash, percent, dead_acute, Ugrave ] + }; + + key { [ Shift_L ] }; + + #key { + # type= "FOUR_LEVEL", + # symbols[Group1]= [ asterisk, mu, dead_grave, dead_macron ] + #}; + key { + type= "FOUR_LEVEL", + symbols[Group1]= [ asterisk, bar, dead_grave, dead_macron ] + }; + + key { + type= "FOUR_LEVEL_SEMIALPHABETIC", + symbols[Group1]= [ w, W, guillemotleft, leftdoublequotemark ] + }; + key { + type= "FOUR_LEVEL_SEMIALPHABETIC", + symbols[Group1]= [ x, X, guillemotright, rightdoublequotemark ] + }; + key { + type= "FOUR_LEVEL_SEMIALPHABETIC", + symbols[Group1]= [ c, C, copyright, registered ] + }; + key { + type= "FOUR_LEVEL_SEMIALPHABETIC", + symbols[Group1]= [ v, V, U202F, leftarrow ] + }; + key { + type= "FOUR_LEVEL_SEMIALPHABETIC", + symbols[Group1]= [ b, B, downarrow, uparrow ] + }; + key { + type= "FOUR_LEVEL_SEMIALPHABETIC", + symbols[Group1]= [ n, N, notsign, rightarrow ] + }; + + #key { + # type= "FOUR_LEVEL", + # symbols[Group1]= [ comma, question, questiondown, U2026 ] + #}; + key { + type= "FOUR_LEVEL", + symbols[Group1]= [ comma, question, dead_cedilla, questiondown ] + }; + + key { + type= "FOUR_LEVEL", + symbols[Group1]= [ semicolon, period, multiply, U22C5 ] + }; + key { + type= "FOUR_LEVEL", + symbols[Group1]= [ colon, slash, division, U2215 ] + }; + + #key { + # type= "FOUR_LEVEL", + # symbols[Group1]= [ exclam, section, exclamdown, U2212 ] + #}; + key { + type= "FOUR_LEVEL", + symbols[Group1]= [ exclam, ampersand, exclamdown, U2212 ] + }; + + key { [ Shift_R ] }; + key { + type= "CTRL+ALT", + symbols[Group1]= [ KP_Multiply, U22C5, 0x10000d7, VoidSymbol, XF86ClearGrab ] + }; + + key { [ Alt_L, Meta_L ] }; + #key { [ Super_L ] }; + + key { + type= "EIGHT_LEVEL", + symbols[Group1]= [ space, space, space, nobreakspace, space, U202F, NoSymbol, NoSymbol ] + }; + + #key { [ Caps_Lock ] }; + #key { [ Super_L ] }; + key { [ Escape ] }; + + key { + type= "CTRL+ALT", + symbols[Group1]= [ F1, F1, F1, F1, XF86Switch_VT_1 ] + }; + key { + type= "CTRL+ALT", + symbols[Group1]= [ F2, F2, F2, F2, XF86Switch_VT_2 ] + }; + key { + type= "CTRL+ALT", + symbols[Group1]= [ F3, F3, F3, F3, XF86Switch_VT_3 ] + }; + key { + type= "CTRL+ALT", + symbols[Group1]= [ F4, F4, F4, F4, XF86Switch_VT_4 ] + }; + key { + type= "CTRL+ALT", + symbols[Group1]= [ F5, F5, F5, F5, XF86Switch_VT_5 ] + }; + key { + type= "CTRL+ALT", + symbols[Group1]= [ F6, F6, F6, F6, XF86Switch_VT_6 ] + }; + key { + type= "CTRL+ALT", + symbols[Group1]= [ F7, F7, F7, F7, XF86Switch_VT_7 ] + }; + key { + type= "CTRL+ALT", + symbols[Group1]= [ F8, F8, F8, F8, XF86Switch_VT_8 ] + }; + key { + type= "CTRL+ALT", + symbols[Group1]= [ F9, F9, F9, F9, XF86Switch_VT_9 ] + }; + key { + type= "CTRL+ALT", + symbols[Group1]= [ F10, F10, F10, F10, XF86Switch_VT_10 ] + }; + key { [ Num_Lock ] }; + key { [ Scroll_Lock ] }; + key { + type= "FOUR_LEVEL_MIXED_KEYPAD", + symbols[Group1]= [ KP_Home, KP_7, U2196, U21D6 ] + }; + key { + type= "FOUR_LEVEL_MIXED_KEYPAD", + symbols[Group1]= [ KP_Up, KP_8, U2191, U21D1 ] + }; + key { + type= "FOUR_LEVEL_MIXED_KEYPAD", + symbols[Group1]= [ KP_Prior, KP_9, U2197, U21D7 ] + }; + key { + type= "CTRL+ALT", + symbols[Group1]= [ KP_Subtract, U2212, U2212, VoidSymbol, XF86Prev_VMode ] + }; + key { + type= "FOUR_LEVEL_MIXED_KEYPAD", + symbols[Group1]= [ KP_Left, KP_4, U2190, U21D0 ] + }; + key { + type= "FOUR_LEVEL_MIXED_KEYPAD", + symbols[Group1]= [ KP_Begin, KP_5, U2194, U21D4 ] + }; + key { + type= "FOUR_LEVEL_MIXED_KEYPAD", + symbols[Group1]= [ KP_Right, KP_6, U2192, U21D2 ] + }; + key { + type= "CTRL+ALT", + symbols[Group1]= [ KP_Add, 0x100002b, 0x100002b, VoidSymbol, XF86Next_VMode ] + }; + key { + type= "FOUR_LEVEL_MIXED_KEYPAD", + symbols[Group1]= [ KP_End, KP_1, U2199, U21D9 ] + }; + key { + type= "FOUR_LEVEL_MIXED_KEYPAD", + symbols[Group1]= [ KP_Down, KP_2, U2193, U21D3 ] + }; + key { + type= "FOUR_LEVEL_MIXED_KEYPAD", + symbols[Group1]= [ KP_Next, KP_3, U2198, U21D8 ] + }; + key { + type= "FOUR_LEVEL_MIXED_KEYPAD", + symbols[Group1]= [ KP_Insert, KP_0, U2195, U21D5 ] + }; + key { + type= "FOUR_LEVEL_MIXED_KEYPAD", + symbols[Group1]= [ KP_Delete, period, comma, U202F ] + }; + key { + type= "ONE_LEVEL", + symbols[Group1]= [ ISO_Level3_Shift ] + }; + key { + type= "FOUR_LEVEL", + symbols[Group1]= [ less, greater, lessthanequal, greaterthanequal ] + }; + key { + type= "CTRL+ALT", + symbols[Group1]= [ F11, F11, F11, F11, XF86Switch_VT_11 ] + }; + key { + type= "CTRL+ALT", + symbols[Group1]= [ F12, F12, F12, F12, XF86Switch_VT_12 ] + }; + key { [ Katakana ] }; + key { [ Hiragana ] }; + key { [ Henkan_Mode ] }; + key { [ Hiragana_Katakana ] }; + key { [ Muhenkan ] }; + key { [ KP_Enter ] }; + key { [ Control_R ] }; + key { + type= "CTRL+ALT", + symbols[Group1]= [ KP_Divide, U2215, 0x10000f7, VoidSymbol, XF86Ungrab ] + }; + key { + type= "PC_ALT_LEVEL2", + symbols[Group1]= [ Print, Sys_Req ] + }; + key { + type= "ONE_LEVEL", + symbols[Group1]= [ ISO_Level3_Shift ] + }; + key { [ Linefeed ] }; + key { [ Home ] }; + key { [ Up ] }; + key { [ Prior ] }; + key { [ Left ] }; + key { [ Right ] }; + key { [ End ] }; + key { [ Down ] }; + key { [ Next ] }; + key { [ Insert ] }; + key { [ Delete ] }; + key { [ XF86AudioMute ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86PowerOff ] }; + key { [ KP_Equal ] }; + key { [ plusminus ] }; + key { + type= "PC_CONTROL_LEVEL2", + symbols[Group1]= [ Pause, Break ] + }; + key { [ XF86LaunchA ] }; + key { [ KP_Decimal, KP_Decimal ] }; + key { [ Hangul ] }; + key { [ Hangul_Hanja ] }; + + key { [ Super_L ] }; + #key { [ Alt_L, Meta_L ] }; + + key { [ Super_R ] }; + key { [ Menu ] }; + key { [ Cancel ] }; + key { [ Redo ] }; + key { [ SunProps ] }; + key { [ Undo ] }; + key { [ SunFront ] }; + key { [ XF86Copy ] }; + key { [ XF86Open ] }; + key { [ XF86Paste ] }; + key { [ Find ] }; + key { [ XF86Cut ] }; + key { [ Help ] }; + key { [ XF86MenuKB ] }; + key { [ XF86Calculator ] }; + key { [ XF86Sleep ] }; + key { [ XF86WakeUp ] }; + key { [ XF86Explorer ] }; + key { [ XF86Send ] }; + key { [ XF86Xfer ] }; + key { [ XF86Launch1 ] }; + key { [ XF86Launch2 ] }; + key { [ XF86WWW ] }; + key { [ XF86DOS ] }; + key { [ XF86ScreenSaver ] }; + key { [ XF86RotateWindows ] }; + key { [ XF86TaskPane ] }; + key { [ XF86Mail ] }; + key { [ XF86Favorites ] }; + key { [ XF86MyComputer ] }; + key { [ XF86Back ] }; + key { [ XF86Forward ] }; + key { [ XF86Eject ] }; + key { [ XF86Eject, XF86Eject ] }; + key { [ XF86AudioNext ] }; + key { [ XF86AudioPlay, XF86AudioPause ] }; + key { [ XF86AudioPrev ] }; + key { [ XF86AudioStop, XF86Eject ] }; + key { [ XF86AudioRecord ] }; + key { [ XF86AudioRewind ] }; + key { [ XF86Phone ] }; + key { [ XF86Tools ] }; + key { [ XF86HomePage ] }; + key { [ XF86Reload ] }; + key { [ XF86Close ] }; + key { [ XF86ScrollUp ] }; + key { [ XF86ScrollDown ] }; + key { [ parenleft ] }; + key { [ parenright ] }; + key { [ XF86New ] }; + key { [ Redo ] }; + key { [ XF86Tools ] }; + key { [ XF86Launch5 ] }; + key { [ XF86Launch6 ] }; + key { [ XF86Launch7 ] }; + key { [ XF86Launch8 ] }; + key { [ XF86Launch9 ] }; + key { [ XF86AudioMicMute ] }; + key { [ XF86TouchpadToggle ] }; + key { [ XF86TouchpadOn ] }; + key { [ XF86TouchpadOff ] }; + key { [ Mode_switch ] }; + key { [ NoSymbol, Alt_L ] }; + key { [ NoSymbol, Meta_L ] }; + key { [ NoSymbol, Super_L ] }; + key { [ NoSymbol, Hyper_L ] }; + key { [ XF86AudioPlay ] }; + key { [ XF86AudioPause ] }; + key { [ XF86Launch3 ] }; + key { [ XF86Launch4 ] }; + key { [ XF86LaunchB ] }; + key { [ XF86Suspend ] }; + key { [ XF86Close ] }; + key { [ XF86AudioPlay ] }; + key { [ XF86AudioForward ] }; + key { [ Print ] }; + key { [ XF86WebCam ] }; + key { [ XF86AudioPreset ] }; + key { [ XF86Mail ] }; + key { [ XF86Messenger ] }; + key { [ XF86Search ] }; + key { [ XF86Go ] }; + key { [ XF86Finance ] }; + key { [ XF86Game ] }; + key { [ XF86Shop ] }; + key { [ Cancel ] }; + key { [ XF86MonBrightnessDown ] }; + key { [ XF86MonBrightnessUp ] }; + key { [ XF86AudioMedia ] }; + key { [ XF86Display ] }; + key { [ XF86KbdLightOnOff ] }; + key { [ XF86KbdBrightnessDown ] }; + key { [ XF86KbdBrightnessUp ] }; + key { [ XF86Send ] }; + key { [ XF86Reply ] }; + key { [ XF86MailForward ] }; + key { [ XF86Save ] }; + key { [ XF86Documents ] }; + key { [ XF86Battery ] }; + key { [ XF86Bluetooth ] }; + key { [ XF86WLAN ] }; + key { [ XF86MonBrightnessCycle ] }; + key { [ XF86WWAN ] }; + key { [ XF86RFKill ] }; + modifier_map Control { }; + modifier_map Shift { }; + modifier_map Shift { }; + modifier_map Mod1 { }; + #modifier_map Mod1 { }; + + ## COMMENT THIS TO DEACTIVATE + #modifier_map Lock { }; + + modifier_map Mod2 { }; + modifier_map Mod5 { }; + modifier_map Control { }; + modifier_map Mod4 { }; + #modifier_map Mod4 { }; + modifier_map Mod4 { }; + modifier_map Mod5 { }; + modifier_map Mod1 { }; + modifier_map Mod4 { }; + modifier_map Mod4 { }; +}; diff --git a/xkb/symbols/fr-lx b/xkb/symbols/fr-lx deleted file mode 100644 index 1e8fb40..0000000 --- a/xkb/symbols/fr-lx +++ /dev/null @@ -1,579 +0,0 @@ -xkb_symbols "lx" { - - include "fr(basic)" - - name[group1]="French (LX)"; - - key { [ Escape ] }; - - #key { - # type= "FOUR_LEVEL", - # symbols[Group1]= [ twosuperior, threesuperior, onesuperior, dead_cedilla ] - #}; - key { - type= "FOUR_LEVEL", - symbols[Group1]= [ asciicircum, bracketleft, twosuperior, threesuperior ] - }; - - #key { - # type= "FOUR_LEVEL", - # symbols[Group1]= [ ampersand, 1, dead_caron, dead_ogonek ] - #}; - key { - type= "FOUR_LEVEL", - symbols[Group1]= [ braceleft, 1, dead_caron, dead_ogonek ] - }; - - key { - type= "FOUR_LEVEL", - symbols[Group1]= [ eacute, 2, asciitilde, Eacute ] - }; - key { - type= "FOUR_LEVEL", - symbols[Group1]= [ quotedbl, 3, numbersign, dead_breve ] - }; - - #key { - # type= "FOUR_LEVEL", - # symbols[Group1]= [ apostrophe, 4, braceleft, U2014 ] - #}; - key { - type= "FOUR_LEVEL", - symbols[Group1]= [ apostrophe, 4, dead_acute, U2014 ] - }; - - key { - type= "FOUR_LEVEL", - symbols[Group1]= [ parenleft, 5, bracketleft, U2013 ] - }; - - #key { - # type= "FOUR_LEVEL", - # symbols[Group1]= [ minus, 6, bar, U2011 ] - #}; - key { - type= "FOUR_LEVEL", - symbols[Group1]= [ minus, 6, section, U2011 ] - }; - - #key { - # type= "FOUR_LEVEL", - # symbols[Group1]= [ egrave, 7, grave, Egrave ] - #}; - key { - type= "FOUR_LEVEL", - symbols[Group1]= [ dead_grave, 7, grave, Egrave ] - }; - - #key { - # type= "FOUR_LEVEL", - # symbols[Group1]= [ underscore, 8, backslash, trademark ] - #}; - key { - type= "FOUR_LEVEL", - symbols[Group1]= [ underscore, 8, onesuperior, U2014 ] - }; - - key { - type= "FOUR_LEVEL", - symbols[Group1]= [ ccedilla, 9, asciicircum, Ccedilla ] - }; - - #key { - # type= "FOUR_LEVEL", - # symbols[Group1]= [ agrave, 0, at, Agrave ] - #}; - key { - type= "FOUR_LEVEL", - symbols[Group1]= [ braceright, 0, at, Agrave ] - }; - - #key { - # type= "FOUR_LEVEL", - # symbols[Group1]= [ parenright, degree, bracketright, notequal ] - #}; - key { - type= "FOUR_LEVEL", - symbols[Group1]= [ parenright, bracketright, bracketright, degree ] - }; - - #key { - # type= "FOUR_LEVEL", - # symbols[Group1]= [ equal, plus, braceright, plusminus ] - #}; - key { - type= "FOUR_LEVEL", - symbols[Group1]= [ equal, plus, notequal, plusminus ] - }; - - key { [ BackSpace, BackSpace ] }; - key { [ Tab, ISO_Left_Tab ] }; - key { - type= "FOUR_LEVEL_ALPHABETIC", - symbols[Group1]= [ a, A, ae, AE ] - }; - key { - type= "FOUR_LEVEL_ALPHABETIC", - symbols[Group1]= [ z, Z, acircumflex, Acircumflex ] - }; - key { - type= "FOUR_LEVEL_SEMIALPHABETIC", - symbols[Group1]= [ e, E, EuroSign, cent ] - }; - key { - type= "FOUR_LEVEL_ALPHABETIC", - symbols[Group1]= [ r, R, ecircumflex, Ecircumflex ] - }; - key { - type= "FOUR_LEVEL_ALPHABETIC", - symbols[Group1]= [ t, T, thorn, THORN ] - }; - key { - type= "FOUR_LEVEL_ALPHABETIC", - symbols[Group1]= [ y, Y, ydiaeresis, Ydiaeresis ] - }; - key { - type= "FOUR_LEVEL_ALPHABETIC", - symbols[Group1]= [ u, U, ucircumflex, Ucircumflex ] - }; - key { - type= "FOUR_LEVEL_ALPHABETIC", - symbols[Group1]= [ i, I, icircumflex, Icircumflex ] - }; - key { - type= "FOUR_LEVEL_ALPHABETIC", - symbols[Group1]= [ o, O, oe, OE ] - }; - key { - type= "FOUR_LEVEL_ALPHABETIC", - symbols[Group1]= [ p, P, ocircumflex, Ocircumflex ] - }; - key { - type= "FOUR_LEVEL", - symbols[Group1]= [ dead_circumflex, dead_diaeresis, dead_tilde, dead_abovering ] - }; - - #key { - # type= "FOUR_LEVEL", - # symbols[Group1]= [ dollar, sterling, oslash, Oslash ] - #}; - key { - type= "FOUR_LEVEL", - symbols[Group1]= [ dollar, at, oslash, Oslash ] - }; - - key { [ Return ] }; - key { [ Control_L ] }; - key { - type= "FOUR_LEVEL_ALPHABETIC", - symbols[Group1]= [ q, Q, adiaeresis, Adiaeresis ] - }; - key { - type= "FOUR_LEVEL_SEMIALPHABETIC", - symbols[Group1]= [ s, S, ssharp, doublelowquotemark ] - }; - key { - type= "FOUR_LEVEL_ALPHABETIC", - symbols[Group1]= [ d, D, ediaeresis, Ediaeresis ] - }; - key { - type= "FOUR_LEVEL_SEMIALPHABETIC", - symbols[Group1]= [ f, F, leftsinglequotemark, singlelowquotemark ] - }; - key { - type= "FOUR_LEVEL_SEMIALPHABETIC", - symbols[Group1]= [ g, G, rightsinglequotemark, yen ] - }; - key { - type= "FOUR_LEVEL_ALPHABETIC", - symbols[Group1]= [ h, H, eth, ETH ] - }; - key { - type= "FOUR_LEVEL_ALPHABETIC", - symbols[Group1]= [ j, J, udiaeresis, Udiaeresis ] - }; - key { - type= "FOUR_LEVEL_ALPHABETIC", - symbols[Group1]= [ k, K, idiaeresis, Idiaeresis ] - }; - key { - type= "FOUR_LEVEL_ALPHABETIC", - symbols[Group1]= [ l, L, U0140, U013F ] - }; - key { - type= "FOUR_LEVEL_ALPHABETIC", - symbols[Group1]= [ m, M, odiaeresis, Odiaeresis ] - }; - - #key { - # type= "FOUR_LEVEL", - # symbols[Group1]= [ ugrave, percent, dead_acute, Ugrave ] - #}; - key { - type= "FOUR_LEVEL", - symbols[Group1]= [ backslash, percent, dead_acute, Ugrave ] - }; - - key { [ Shift_L ] }; - - #key { - # type= "FOUR_LEVEL", - # symbols[Group1]= [ asterisk, mu, dead_grave, dead_macron ] - #}; - key { - type= "FOUR_LEVEL", - symbols[Group1]= [ asterisk, bar, dead_grave, dead_macron ] - }; - - key { - type= "FOUR_LEVEL_SEMIALPHABETIC", - symbols[Group1]= [ w, W, guillemotleft, leftdoublequotemark ] - }; - key { - type= "FOUR_LEVEL_SEMIALPHABETIC", - symbols[Group1]= [ x, X, guillemotright, rightdoublequotemark ] - }; - key { - type= "FOUR_LEVEL_SEMIALPHABETIC", - symbols[Group1]= [ c, C, copyright, registered ] - }; - key { - type= "FOUR_LEVEL_SEMIALPHABETIC", - symbols[Group1]= [ v, V, U202F, leftarrow ] - }; - key { - type= "FOUR_LEVEL_SEMIALPHABETIC", - symbols[Group1]= [ b, B, downarrow, uparrow ] - }; - key { - type= "FOUR_LEVEL_SEMIALPHABETIC", - symbols[Group1]= [ n, N, notsign, rightarrow ] - }; - - #key { - # type= "FOUR_LEVEL", - # symbols[Group1]= [ comma, question, questiondown, U2026 ] - #}; - key { - type= "FOUR_LEVEL", - symbols[Group1]= [ comma, question, dead_cedilla, questiondown ] - }; - - key { - type= "FOUR_LEVEL", - symbols[Group1]= [ semicolon, period, multiply, U22C5 ] - }; - key { - type= "FOUR_LEVEL", - symbols[Group1]= [ colon, slash, division, U2215 ] - }; - - #key { - # type= "FOUR_LEVEL", - # symbols[Group1]= [ exclam, section, exclamdown, U2212 ] - #}; - key { - type= "FOUR_LEVEL", - symbols[Group1]= [ exclam, ampersand, exclamdown, U2212 ] - }; - - key { [ Shift_R ] }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ KP_Multiply, U22C5, 0x10000d7, VoidSymbol, XF86ClearGrab ] - }; - - key { [ Alt_L, Meta_L ] }; - #key { [ Super_L ] }; - - key { - type= "EIGHT_LEVEL", - symbols[Group1]= [ space, space, space, nobreakspace, space, U202F, NoSymbol, NoSymbol ] - }; - - #key { [ Caps_Lock ] }; - #key { [ Super_L ] }; - key { [ Escape ] }; - - key { - type= "CTRL+ALT", - symbols[Group1]= [ F1, F1, F1, F1, XF86Switch_VT_1 ] - }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ F2, F2, F2, F2, XF86Switch_VT_2 ] - }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ F3, F3, F3, F3, XF86Switch_VT_3 ] - }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ F4, F4, F4, F4, XF86Switch_VT_4 ] - }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ F5, F5, F5, F5, XF86Switch_VT_5 ] - }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ F6, F6, F6, F6, XF86Switch_VT_6 ] - }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ F7, F7, F7, F7, XF86Switch_VT_7 ] - }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ F8, F8, F8, F8, XF86Switch_VT_8 ] - }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ F9, F9, F9, F9, XF86Switch_VT_9 ] - }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ F10, F10, F10, F10, XF86Switch_VT_10 ] - }; - key { [ Num_Lock ] }; - key { [ Scroll_Lock ] }; - key { - type= "FOUR_LEVEL_MIXED_KEYPAD", - symbols[Group1]= [ KP_Home, KP_7, U2196, U21D6 ] - }; - key { - type= "FOUR_LEVEL_MIXED_KEYPAD", - symbols[Group1]= [ KP_Up, KP_8, U2191, U21D1 ] - }; - key { - type= "FOUR_LEVEL_MIXED_KEYPAD", - symbols[Group1]= [ KP_Prior, KP_9, U2197, U21D7 ] - }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ KP_Subtract, U2212, U2212, VoidSymbol, XF86Prev_VMode ] - }; - key { - type= "FOUR_LEVEL_MIXED_KEYPAD", - symbols[Group1]= [ KP_Left, KP_4, U2190, U21D0 ] - }; - key { - type= "FOUR_LEVEL_MIXED_KEYPAD", - symbols[Group1]= [ KP_Begin, KP_5, U2194, U21D4 ] - }; - key { - type= "FOUR_LEVEL_MIXED_KEYPAD", - symbols[Group1]= [ KP_Right, KP_6, U2192, U21D2 ] - }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ KP_Add, 0x100002b, 0x100002b, VoidSymbol, XF86Next_VMode ] - }; - key { - type= "FOUR_LEVEL_MIXED_KEYPAD", - symbols[Group1]= [ KP_End, KP_1, U2199, U21D9 ] - }; - key { - type= "FOUR_LEVEL_MIXED_KEYPAD", - symbols[Group1]= [ KP_Down, KP_2, U2193, U21D3 ] - }; - key { - type= "FOUR_LEVEL_MIXED_KEYPAD", - symbols[Group1]= [ KP_Next, KP_3, U2198, U21D8 ] - }; - key { - type= "FOUR_LEVEL_MIXED_KEYPAD", - symbols[Group1]= [ KP_Insert, KP_0, U2195, U21D5 ] - }; - key { - type= "FOUR_LEVEL_MIXED_KEYPAD", - symbols[Group1]= [ KP_Delete, period, comma, U202F ] - }; - key { - type= "ONE_LEVEL", - symbols[Group1]= [ ISO_Level3_Shift ] - }; - key { - type= "FOUR_LEVEL", - symbols[Group1]= [ less, greater, lessthanequal, greaterthanequal ] - }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ F11, F11, F11, F11, XF86Switch_VT_11 ] - }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ F12, F12, F12, F12, XF86Switch_VT_12 ] - }; - key { [ Katakana ] }; - key { [ Hiragana ] }; - key { [ Henkan_Mode ] }; - key { [ Hiragana_Katakana ] }; - key { [ Muhenkan ] }; - key { [ KP_Enter ] }; - key { [ Control_R ] }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ KP_Divide, U2215, 0x10000f7, VoidSymbol, XF86Ungrab ] - }; - key { - type= "PC_ALT_LEVEL2", - symbols[Group1]= [ Print, Sys_Req ] - }; - key { - type= "ONE_LEVEL", - symbols[Group1]= [ ISO_Level3_Shift ] - }; - key { [ Linefeed ] }; - key { [ Home ] }; - key { [ Up ] }; - key { [ Prior ] }; - key { [ Left ] }; - key { [ Right ] }; - key { [ End ] }; - key { [ Down ] }; - key { [ Next ] }; - key { [ Insert ] }; - key { [ Delete ] }; - key { [ XF86AudioMute ] }; - key { [ XF86AudioLowerVolume ] }; - key { [ XF86AudioRaiseVolume ] }; - key { [ XF86PowerOff ] }; - key { [ KP_Equal ] }; - key { [ plusminus ] }; - key { - type= "PC_CONTROL_LEVEL2", - symbols[Group1]= [ Pause, Break ] - }; - key { [ XF86LaunchA ] }; - key { [ KP_Decimal, KP_Decimal ] }; - key { [ Hangul ] }; - key { [ Hangul_Hanja ] }; - - key { [ Super_L ] }; - #key { [ Alt_L, Meta_L ] }; - - key { [ Super_R ] }; - key { [ Menu ] }; - key { [ Cancel ] }; - key { [ Redo ] }; - key { [ SunProps ] }; - key { [ Undo ] }; - key { [ SunFront ] }; - key { [ XF86Copy ] }; - key { [ XF86Open ] }; - key { [ XF86Paste ] }; - key { [ Find ] }; - key { [ XF86Cut ] }; - key { [ Help ] }; - key { [ XF86MenuKB ] }; - key { [ XF86Calculator ] }; - key { [ XF86Sleep ] }; - key { [ XF86WakeUp ] }; - key { [ XF86Explorer ] }; - key { [ XF86Send ] }; - key { [ XF86Xfer ] }; - key { [ XF86Launch1 ] }; - key { [ XF86Launch2 ] }; - key { [ XF86WWW ] }; - key { [ XF86DOS ] }; - key { [ XF86ScreenSaver ] }; - key { [ XF86RotateWindows ] }; - key { [ XF86TaskPane ] }; - key { [ XF86Mail ] }; - key { [ XF86Favorites ] }; - key { [ XF86MyComputer ] }; - key { [ XF86Back ] }; - key { [ XF86Forward ] }; - key { [ XF86Eject ] }; - key { [ XF86Eject, XF86Eject ] }; - key { [ XF86AudioNext ] }; - key { [ XF86AudioPlay, XF86AudioPause ] }; - key { [ XF86AudioPrev ] }; - key { [ XF86AudioStop, XF86Eject ] }; - key { [ XF86AudioRecord ] }; - key { [ XF86AudioRewind ] }; - key { [ XF86Phone ] }; - key { [ XF86Tools ] }; - key { [ XF86HomePage ] }; - key { [ XF86Reload ] }; - key { [ XF86Close ] }; - key { [ XF86ScrollUp ] }; - key { [ XF86ScrollDown ] }; - key { [ parenleft ] }; - key { [ parenright ] }; - key { [ XF86New ] }; - key { [ Redo ] }; - key { [ XF86Tools ] }; - key { [ XF86Launch5 ] }; - key { [ XF86Launch6 ] }; - key { [ XF86Launch7 ] }; - key { [ XF86Launch8 ] }; - key { [ XF86Launch9 ] }; - key { [ XF86AudioMicMute ] }; - key { [ XF86TouchpadToggle ] }; - key { [ XF86TouchpadOn ] }; - key { [ XF86TouchpadOff ] }; - key { [ Mode_switch ] }; - key { [ NoSymbol, Alt_L ] }; - key { [ NoSymbol, Meta_L ] }; - key { [ NoSymbol, Super_L ] }; - key { [ NoSymbol, Hyper_L ] }; - key { [ XF86AudioPlay ] }; - key { [ XF86AudioPause ] }; - key { [ XF86Launch3 ] }; - key { [ XF86Launch4 ] }; - key { [ XF86LaunchB ] }; - key { [ XF86Suspend ] }; - key { [ XF86Close ] }; - key { [ XF86AudioPlay ] }; - key { [ XF86AudioForward ] }; - key { [ Print ] }; - key { [ XF86WebCam ] }; - key { [ XF86AudioPreset ] }; - key { [ XF86Mail ] }; - key { [ XF86Messenger ] }; - key { [ XF86Search ] }; - key { [ XF86Go ] }; - key { [ XF86Finance ] }; - key { [ XF86Game ] }; - key { [ XF86Shop ] }; - key { [ Cancel ] }; - key { [ XF86MonBrightnessDown ] }; - key { [ XF86MonBrightnessUp ] }; - key { [ XF86AudioMedia ] }; - key { [ XF86Display ] }; - key { [ XF86KbdLightOnOff ] }; - key { [ XF86KbdBrightnessDown ] }; - key { [ XF86KbdBrightnessUp ] }; - key { [ XF86Send ] }; - key { [ XF86Reply ] }; - key { [ XF86MailForward ] }; - key { [ XF86Save ] }; - key { [ XF86Documents ] }; - key { [ XF86Battery ] }; - key { [ XF86Bluetooth ] }; - key { [ XF86WLAN ] }; - key { [ XF86MonBrightnessCycle ] }; - key { [ XF86WWAN ] }; - key { [ XF86RFKill ] }; - modifier_map Control { }; - modifier_map Shift { }; - modifier_map Shift { }; - modifier_map Mod1 { }; - #modifier_map Mod1 { }; - - ## COMMENT THIS TO DEACTIVATE - #modifier_map Lock { }; - - modifier_map Mod2 { }; - modifier_map Mod5 { }; - modifier_map Control { }; - modifier_map Mod4 { }; - #modifier_map Mod4 { }; - modifier_map Mod4 { }; - modifier_map Mod5 { }; - modifier_map Mod1 { }; - modifier_map Mod4 { }; - modifier_map Mod4 { }; -}; diff --git a/xkb/types/fr-custom-lx b/xkb/types/fr-custom-lx new file mode 100644 index 0000000..b4a53a9 --- /dev/null +++ b/xkb/types/fr-custom-lx @@ -0,0 +1,386 @@ +xkb_types "fr-custom-lx" { + + 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_SUPER_LEVEL2" { + modifiers= Mod4; + map[Mod4]= Level2; + level_name[Level1]= "Base"; + level_name[Level2]= "Super"; + }; + 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= Shift+Control+Alt+LevelThree; + map[Shift]= Level2; + preserve[Shift]= Shift; + map[LevelThree]= Level3; + map[Shift+LevelThree]= Level4; + preserve[Shift+LevelThree]= Shift; + map[Control+Alt]= Level5; + level_name[Level1]= "Base"; + level_name[Level2]= "Shift"; + level_name[Level3]= "Alt Base"; + level_name[Level4]= "Shift Alt"; + level_name[Level5]= "Ctrl+Alt"; + }; + type "LOCAL_EIGHT_LEVEL" { + modifiers= Shift+Lock+Control+LevelThree; + 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_LEVEL_FIVE_LOCK" { + modifiers= Shift+Lock+NumLock+LevelThree+LevelFive; + map[Shift]= Level2; + map[LevelThree]= Level3; + map[Shift+LevelThree]= Level4; + map[LevelFive]= Level5; + map[Shift+LevelFive]= Level6; + preserve[Shift+LevelFive]= Shift; + map[LevelThree+LevelFive]= Level7; + map[Shift+LevelThree+LevelFive]= Level8; + map[NumLock]= Level5; + map[Shift+NumLock]= Level6; + preserve[Shift+NumLock]= Shift; + map[NumLock+LevelThree]= Level7; + map[Shift+NumLock+LevelThree]= Level8; + map[Shift+NumLock+LevelFive]= Level2; + map[NumLock+LevelThree+LevelFive]= Level3; + map[Shift+NumLock+LevelThree+LevelFive]= Level4; + map[Shift+Lock]= Level2; + map[Lock+LevelThree]= Level3; + map[Shift+Lock+LevelThree]= Level4; + map[Lock+LevelFive]= Level5; + map[Shift+Lock+LevelFive]= Level6; + preserve[Shift+Lock+LevelFive]= Shift; + map[Lock+LevelThree+LevelFive]= Level7; + map[Shift+Lock+LevelThree+LevelFive]= Level8; + map[Lock+NumLock]= Level5; + map[Shift+Lock+NumLock]= Level6; + preserve[Shift+Lock+NumLock]= Shift; + map[Lock+NumLock+LevelThree]= Level7; + map[Shift+Lock+NumLock+LevelThree]= Level8; + map[Shift+Lock+NumLock+LevelFive]= Level2; + map[Lock+NumLock+LevelThree+LevelFive]= Level3; + map[Shift+Lock+NumLock+LevelThree+LevelFive]= Level4; + 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_LEVEL_FIVE_LOCK" { + modifiers= Shift+Lock+NumLock+LevelThree+LevelFive; + map[Shift]= Level2; + map[LevelThree]= Level3; + map[Shift+LevelThree]= Level4; + map[LevelFive]= Level5; + map[Shift+LevelFive]= Level6; + preserve[Shift+LevelFive]= Shift; + map[LevelThree+LevelFive]= Level7; + map[Shift+LevelThree+LevelFive]= Level8; + map[NumLock]= Level5; + map[Shift+NumLock]= Level6; + preserve[Shift+NumLock]= Shift; + map[NumLock+LevelThree]= Level7; + map[Shift+NumLock+LevelThree]= Level8; + map[Shift+NumLock+LevelFive]= Level2; + map[NumLock+LevelThree+LevelFive]= Level3; + map[Shift+NumLock+LevelThree+LevelFive]= Level4; + map[Lock]= Level2; + map[Lock+LevelThree]= Level3; + map[Shift+Lock+LevelThree]= Level4; + map[Lock+LevelFive]= Level5; + map[Shift+Lock+LevelFive]= Level6; + map[Lock+LevelThree+LevelFive]= Level7; + map[Shift+Lock+LevelThree+LevelFive]= Level8; + map[Lock+NumLock]= Level5; + map[Shift+Lock+NumLock]= Level6; + map[Lock+NumLock+LevelThree]= Level7; + map[Shift+Lock+NumLock+LevelThree]= Level8; + map[Lock+NumLock+LevelFive]= Level2; + map[Lock+NumLock+LevelThree+LevelFive]= Level4; + map[Shift+Lock+NumLock+LevelThree+LevelFive]= Level3; + 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[Shift+Lock+LevelFive]= Level6; + preserve[Shift+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; + 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[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"; + }; +}; -- cgit v1.2.3