diff options
author | svu <svu> | 2006-09-17 20:26:16 +0000 |
---|---|---|
committer | svu <svu> | 2006-09-17 20:26:16 +0000 |
commit | e3a93b0f519396cd270c228d2db610d67888720d (patch) | |
tree | e33c0eddd574251a1768ada4ba8fbf918f85e39e | |
parent | 8db68eb24276944e7165381c1818d5511ffee5b2 (diff) |
b.fd.o#8280,b.fd.o#8312
-rw-r--r-- | types/basic | 9 | ||||
-rw-r--r-- | types/complete | 1 | ||||
-rw-r--r-- | types/default | 1 | ||||
-rw-r--r-- | types/extra | 59 | ||||
-rw-r--r-- | types/numpad | 31 |
5 files changed, 74 insertions, 27 deletions
diff --git a/types/basic b/types/basic index f1f8b662..cf1ee648 100644 --- a/types/basic +++ b/types/basic @@ -28,13 +28,4 @@ default xkb_types "basic" { level_name[Level2] = "Caps"; }; - type "KEYPAD" { - modifiers = Shift+NumLock; - map[None] = Level1; - map[Shift] = Level2; - map[NumLock] = Level2; - map[Shift+NumLock] = Level1; - level_name[Level1] = "Base"; - level_name[Level2] = "Number"; - }; }; diff --git a/types/complete b/types/complete index 747cbc30..41ce8019 100644 --- a/types/complete +++ b/types/complete @@ -8,6 +8,7 @@ default xkb_types "complete" { include "basic" + include "numpad" include "mousekeys" include "pc" include "iso9995" diff --git a/types/default b/types/default index 29234852..cd206d53 100644 --- a/types/default +++ b/types/default @@ -3,6 +3,7 @@ default xkb_types "default" { include "basic" + include "numpad" include "pc" include "iso9995" include "extra" diff --git a/types/extra b/types/extra index fd4f5277..544f8532 100644 --- a/types/extra +++ b/types/extra @@ -51,23 +51,6 @@ partial default xkb_types "default" { level_name[Level4] = "Shift Alt"; }; - // This enables the four level shifting also for the keypad. - type "FOUR_LEVEL_KEYPAD" { - modifiers = Shift+NumLock+LevelThree; - map[None] = Level1; - map[Shift] = Level2; - map[NumLock] = Level2; - map[Shift+NumLock] = Level1; - 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"; - }; - // Special type for keys used in Serbian Latin Unicode map // It makes it possible to use all three forms of latin letters // present in Unicode that are made up of two separate letters @@ -91,3 +74,45 @@ partial default xkb_types "default" { }; }; +// This enables the four level shifting also for the keypad. +partial xkb_types "keypad" { + virtual_modifiers LevelThree; + + type "FOUR_LEVEL_KEYPAD" { + modifiers = Shift+NumLock+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + map[NumLock] = Level2; + map[Shift+NumLock] = Level1; + 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"; + }; +}; + +// This enables the four level shifting also for the keypad, +// but levels 1 and 2, and 3 and 4 are swapped on Mac keypads. +partial xkb_types "mac_keypad" { + virtual_modifiers LevelThree; + + type "FOUR_LEVEL_KEYPAD" { + modifiers = Shift+NumLock+LevelThree; + map[None] = Level2; + map[Shift] = Level1; + map[NumLock] = Level1; + map[Shift+NumLock] = Level2; + map[LevelThree] = Level4; + map[Shift+LevelThree] = Level3; + map[NumLock+LevelThree] = Level3; + map[Shift+NumLock+LevelThree] = Level4; + level_name[Level2] = "Base"; + level_name[Level1] = "Number"; + level_name[Level4] = "Alt Base"; + level_name[Level3] = "Alt Number"; + }; +}; diff --git a/types/numpad b/types/numpad index 457db732..9421e941 100644 --- a/types/numpad +++ b/types/numpad @@ -1,6 +1,33 @@ -xkb_types "microsoft" { +default +xkb_types "pc" { + type "KEYPAD" { + modifiers = Shift+NumLock; + map[None] = Level1; + map[Shift] = Level2; + map[NumLock] = Level2; + map[Shift+NumLock] = Level1; + level_name[Level1] = "Base"; + level_name[Level2] = "Number"; + }; + include "extra(keypad)" +}; + +// On Mac keypads, level 1 and 2 are swapped +xkb_types "mac" { + type "KEYPAD" { + modifiers = Shift+NumLock; + map[None] = Level2; + map[Shift] = Level1; + map[NumLock] = Level1; + map[Shift+NumLock] = Level2; + level_name[Level2] = "Base"; + level_name[Level1] = "Number"; + }; + include "extra(mac_keypad)" +}; +xkb_types "microsoft" { type "KEYPAD" { modifiers = Shift+NumLock; map[None] = Level1; @@ -9,4 +36,6 @@ xkb_types "microsoft" { level_name[Level1] = "Base"; level_name[Level2] = "Number"; }; + include "extra(keypad)" }; + |