diff options
author | Benno Schulenberg <bensberg@telfort.nl> | 2023-04-10 12:37:40 +0200 |
---|---|---|
committer | Benno Schulenberg <bensberg@telfort.nl> | 2023-04-10 12:39:53 +0200 |
commit | ccd009297b2162991e0415b24ab1c2026e99c2b4 (patch) | |
tree | a5464066b4639563e93632cc15f3b657e1f5b9b1 /types | |
parent | 28c542c12e6d24ea7c30253849f238f95ffd206e (diff) | |
download | xkeyboard-config-ccd009297b2162991e0415b24ab1c2026e99c2b4.tar.gz |
types: move an 8-level type to the file with the other 8-level types
Also rename it, so that the name is more descriptive.
Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
Diffstat (limited to 'types')
-rw-r--r-- | types/level5 | 37 | ||||
-rw-r--r-- | types/pc | 39 |
2 files changed, 37 insertions, 39 deletions
diff --git a/types/level5 b/types/level5 index 96fb3a7..240be8e 100644 --- a/types/level5 +++ b/types/level5 @@ -187,4 +187,41 @@ default partial xkb_types "default" { level_name[Level8] = "X Shift AltGr"; }; + // When you want part of your layout to have eight levels but cannot use + // LevelFive as modifier, as this would take over the right Ctrl key for + // the whole layout and is too invasive for the average four-level user. + // Needed to fix https://bugs.freedesktop.org/9529. + type "EIGHT_LEVEL_BY_CTRL" { + modifiers = Shift + Lock + LevelThree + Control; + + map[None] = Level1; + map[Lock+Shift] = Level1; + map[Shift] = Level2; + map[Lock] = Level2; + + map[LevelThree] = Level3; + map[Lock+Shift+LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[Lock+LevelThree] = Level4; + + map[Control] = Level5; + map[Lock+Shift+Control] = Level5; + map[Shift+Control] = Level6; + map[Lock+Control] = Level6; + + map[LevelThree+Control] = Level7; + map[Lock+Shift+LevelThree+Control] = Level7; + map[Shift+LevelThree+Control] = Level8; + map[Lock+LevelThree+Control] = 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"; + }; + }; @@ -46,43 +46,4 @@ default partial xkb_types "default" { level_name[Level5] = "Ctrl+Alt"; }; - // Local eight level. - // Needed when you want part of your layout eight-level but cannot use - // LevelFive as modifier, as this will take over the right Ctrl by default - // for the whole layout and is too invasive for the average four-level user. - // Needed to fix bug #9529. - // FIXME: Should really use RControl but it seems not to be enabled by - // default and touching this requires a lot of testing. - type "LOCAL_EIGHT_LEVEL" { - modifiers = Shift + Lock + LevelThree + Control; - - map[None] = Level1; - map[Lock+Shift] = Level1; - map[Shift] = Level2; - map[Lock] = Level2; - - map[LevelThree] = Level3; - map[Lock+Shift+LevelThree] = Level3; - map[Shift+LevelThree] = Level4; - map[Lock+LevelThree] = Level4; - - map[Control] = Level5; - map[Lock+Shift+Control] = Level5; - map[Shift+Control] = Level6; - map[Lock+Control] = Level6; - - map[LevelThree+Control] = Level7; - map[Lock+Shift+LevelThree+Control] = Level7; - map[Shift+LevelThree+Control] = Level8; - map[Lock+LevelThree+Control] = 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"; - }; }; |