From e3a93b0f519396cd270c228d2db610d67888720d Mon Sep 17 00:00:00 2001 From: svu Date: Sun, 17 Sep 2006 20:26:16 +0000 Subject: b.fd.o#8280,b.fd.o#8312 --- types/basic | 9 --------- types/complete | 1 + types/default | 1 + types/extra | 59 +++++++++++++++++++++++++++++++++++++++++----------------- types/numpad | 31 +++++++++++++++++++++++++++++- 5 files changed, 74 insertions(+), 27 deletions(-) (limited to 'types') diff --git a/types/basic b/types/basic index f1f8b66..cf1ee64 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 747cbc3..41ce801 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 2923485..cd206d5 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 fd4f527..544f853 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 457db73..9421e94 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)" }; + -- cgit v1.2.1