summaryrefslogtreecommitdiff
path: root/types
diff options
context:
space:
mode:
authorsvu <svu>2006-09-17 20:26:16 +0000
committersvu <svu>2006-09-17 20:26:16 +0000
commite3a93b0f519396cd270c228d2db610d67888720d (patch)
treee33c0eddd574251a1768ada4ba8fbf918f85e39e /types
parent8db68eb24276944e7165381c1818d5511ffee5b2 (diff)
b.fd.o#8280,b.fd.o#8312
Diffstat (limited to 'types')
-rw-r--r--types/basic9
-rw-r--r--types/complete1
-rw-r--r--types/default1
-rw-r--r--types/extra59
-rw-r--r--types/numpad31
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)"
};
+