diff options
author | svu <svu> | 2008-04-22 19:54:10 +0000 |
---|---|---|
committer | svu <svu> | 2008-04-22 19:54:10 +0000 |
commit | 2e8a4f8fbbbd4b3439438db9f0d0110f80446ece (patch) | |
tree | 058f7be68267a5b177715d89cba21557afb79f1d | |
parent | 127fc5ef25a119bf7e62cdc881a700f10534a41f (diff) | |
download | xkeyboard-config-2e8a4f8fbbbd4b3439438db9f0d0110f80446ece.tar.gz |
options for nonbreakspace handling, b.fd.o#9529
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | rules/base.o_s.part | 7 | ||||
-rw-r--r-- | rules/base.xml.in | 17 | ||||
-rw-r--r-- | symbols/fr | 7 | ||||
-rw-r--r-- | symbols/nbsp | 12 | ||||
-rw-r--r-- | types/pc | 41 |
6 files changed, 72 insertions, 18 deletions
@@ -1,3 +1,9 @@ +2008-04-22 Sergey Udaltsov + + * rules/base.o_s.part, rules/base.xml.in, symbols/fr, symbols/nbsp, + types/pc: options for nonbreakspace handling, + http://bugs.freedesktop.org/show_bug.cgi?id=9529 + 2008-04-21 Sergey Udaltsov * rules/base.xml.in: fixed some ISO codes diff --git a/rules/base.o_s.part b/rules/base.o_s.part index a670ed3..53a6b9d 100644 --- a/rules/base.o_s.part +++ b/rules/base.o_s.part @@ -65,9 +65,9 @@ eurosign:5 = +eurosign(5) keypad:oss = +keypad(oss) keypad:legacy = +keypad(legacy) - keypad:legacy_wang = +keypad(legacy_wang) - keypad:oss_wang = +keypad(oss_wang) - keypad:future_wang = +keypad(future_wang) + keypad:legacy_wang = +keypad(legacy_wang) + keypad:oss_wang = +keypad(oss_wang) + keypad:future_wang = +keypad(future_wang) nbsp:none = +nbsp(none) nbsp:level2 = +nbsp(level2) nbsp:level3 = +nbsp(level3) @@ -75,6 +75,7 @@ nbsp:level3n = +nbsp(level3n) nbsp:level4 = +nbsp(level4) nbsp:level4n = +nbsp(level4n) + nbsp:level4nl = +nbsp(level4nl) japan:nicola_f_bs = +jp(nicola_f_bs) kpdl:dot = +kpdl(dot) kpdl:comma = +kpdl(comma) diff --git a/rules/base.xml.in b/rules/base.xml.in index 915d50c..2beb0d7 100644 --- a/rules/base.xml.in +++ b/rules/base.xml.in @@ -1739,46 +1739,37 @@ <name>ca</name> <_shortDescription>Can</_shortDescription> <_description>Canada</_description> - <languageList><iso639Id>eng</iso639Id> - <iso639Id>fra</iso639Id></languageList> + <languageList><iso639Id>fra</iso639Id></languageList> </configItem> <variantList> <variant> <configItem> <name>fr-dvorak</name> <_description>French Dvorak</_description> - <languageList><iso639Id>fra</iso639Id></languageList> </configItem> </variant> <variant> <configItem> <name>fr-legacy</name> <_description>French (legacy)</_description> - <languageList><iso639Id>fra</iso639Id></languageList> </configItem> </variant> <variant> <configItem> <name>multix</name> <_description>Multilingual</_description> - <languageList><iso639Id>eng</iso639Id> - <iso639Id>fra</iso639Id></languageList> </configItem> </variant> <variant> <configItem> <name>multi</name> <_description>Multilingual, first part</_description> - <languageList><iso639Id>eng</iso639Id> - <iso639Id>fra</iso639Id></languageList> </configItem> </variant> <variant> <configItem> <name>multi-2gr</name> <_description>Multilingual, second part</_description> - <languageList><iso639Id>eng</iso639Id> - <iso639Id>fra</iso639Id></languageList> </configItem> </variant> <variant> @@ -4589,6 +4580,12 @@ <_description>Space key outputs non-breakable space character at fourth level, thin non-breakable space character at sixth level</_description> </configItem> </option> + <option> + <configItem> + <name>nbsp:level4nl</name> + <_description>Space key outputs non-breakable space character at fourth level, thin non-breakable space character at sixth level; uses hardcoded control instead of iso-level-5 to access high levels.</_description> + </configItem> + </option> </group> <group allowMultipleSelection="true"> <configItem> @@ -85,11 +85,11 @@ xkb_symbols "nodeadkeys" { // Unicode French derivative // Loose refactoring of the historic Linux French keyboard layout // -// Copyright © 2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net> +// Copyright © 2006-2008 Nicolas Mailhot <nicolas.mailhot @ laposte.net> // // Credits (fr-latin1, fr-latin0, fr-latin9) // © 199x-1996 René Cougnenc ✝ -// © 1997-2002 Guylhem Aznar <clavier @ externe.net> +// © 1997-2002 Guylhem Aznar <clavier @ externe.net> // © 2003-2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net> // // ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ @@ -113,8 +113,7 @@ xkb_symbols "oss" { include "latin" include "level3(ralt_switch)" - include "level5(rctrl_switch)" - include "nbsp(level4n)" + include "nbsp(level4nl)" include "keypad(oss)" name[Group1]="France - Alternative"; diff --git a/symbols/nbsp b/symbols/nbsp index 47a76cf..1033470 100644 --- a/symbols/nbsp +++ b/symbols/nbsp @@ -62,7 +62,6 @@ xkb_symbols "level4" { }; // level4n provides narrow no-breaking space in addition to the normal one -// Used by fr(oss), be(oss)… partial xkb_symbols "level4n" { key <SPCE> { @@ -71,3 +70,14 @@ xkb_symbols "level4n" { }; }; +// level4nl provides narrow no-breaking space in addition to the normal one +// without forcing the use of level5 for mostly four-level layouts +// Used by fr(oss), be(oss)… +partial +xkb_symbols "level4nl" { + key <SPCE> { + type[Group1]="LOCAL_EIGHT_LEVEL", + symbols[Group1]= [ space, space, space, nobreakspace, space, 0x100202F, NoSymbol, NoSymbol ] + }; +}; + @@ -67,4 +67,45 @@ partial default xkb_types "default" { level_name[Level1] = "Base"; level_name[Level2] = "Ctrl+Alt"; }; + + // Local eight level + // Needed when you want part of your layout eight-level but can not use + // LevelFive as modifier, as this will take over right ctrl by default + // for all the layout and is too invasive for your average four-level user + // Needed to fix bug #9529 + // FIXME Should really use RControl but it's 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"; + }; + }; |