summaryrefslogtreecommitdiff
path: root/types
diff options
context:
space:
mode:
authorsvu <svu>2005-10-17 00:38:53 +0000
committersvu <svu>2005-10-17 00:38:53 +0000
commit075eed027d658b810d20b5527402c9f7bd73fd87 (patch)
tree676ee0b0af15969031cbde8239850dac5bf48650 /types
parentdca8aa96e50f7df12ebd2c21e0cef1ea02f9eacb (diff)
adding 5th level, adding ca(multix)
Diffstat (limited to 'types')
-rw-r--r--types/Makefile.am2
-rw-r--r--types/complete1
-rw-r--r--types/default1
-rw-r--r--types/level595
-rw-r--r--types/pc5
5 files changed, 102 insertions, 2 deletions
diff --git a/types/Makefile.am b/types/Makefile.am
index 19f1c5ef..bcec0602 100644
--- a/types/Makefile.am
+++ b/types/Makefile.am
@@ -3,7 +3,7 @@ typesdir = $(xkb_base)/types
dist_types_DATA = \
basic cancel caps \
complete default extra \
-iso9995 mousekeys numpad \
+iso9995 level5 mousekeys numpad \
pc README
include $(top_srcdir)/xkbrules.am
diff --git a/types/complete b/types/complete
index ecf6ec13..833a8629 100644
--- a/types/complete
+++ b/types/complete
@@ -10,5 +10,6 @@ default xkb_types "complete" {
include "mousekeys"
include "pc"
include "iso9995"
+ include "level5"
include "extra"
};
diff --git a/types/default b/types/default
index a8fe0697..1077f0f6 100644
--- a/types/default
+++ b/types/default
@@ -5,5 +5,6 @@ default xkb_types "default" {
include "pc"
include "iso9995"
include "extra"
+// include "level5"
include "mousekeys"
};
diff --git a/types/level5 b/types/level5
new file mode 100644
index 00000000..3fba18fa
--- /dev/null
+++ b/types/level5
@@ -0,0 +1,95 @@
+// $XFree86: xc/programs/xkbcomp/types/extra,v 1.3 2002/11/26 02:14:02 dawes Exp $
+
+partial default xkb_types "default" {
+ // Definition for a key type used for the czech keymap, for instance.
+ // Defines style a with four level shift. It is similar to three_level
+ // type used for iso9995 but it lets the shift key behave "normally".
+
+ virtual_modifiers LevelThree;
+ virtual_modifiers LevelFive;
+
+ type "EIGHT_LEVEL" {
+ modifiers = Shift+LevelThree+LevelFive;
+ map[None] = Level1;
+ map[Shift] = Level2;
+ map[LevelThree] = Level3;
+ map[Shift+LevelThree] = Level4;
+ map[LevelFive] = Level5;
+ map[Shift+LevelFive] = Level6;
+ map[LevelThree+LevelFive] = Level7;
+ map[Shift+LevelThree+LevelFive] = Level8;
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Shift";
+ level_name[Level3] = "Alt Base";
+ level_name[Level4] = "Shift Alt";
+ level_name[Level5] = "X";
+ level_name[Level6] = "X Shift";
+ level_name[Level7] = "X Alt Base";
+ level_name[Level8] = "X Shift Alt";
+ };
+
+ type "EIGHT_LEVEL_ALPHABETIC" {
+ modifiers = Shift+Lock+LevelThree+LevelFive;
+ map[None] = Level1;
+ map[Shift] = Level2;
+ map[Lock] = Level2;
+ map[LevelThree] = Level3;
+ map[Shift+LevelThree] = Level4;
+ map[Lock+LevelThree] = Level4;
+ map[Lock+Shift+LevelThree] = Level3;
+
+ map[LevelFive] = Level5;
+ map[Shift+LevelFive] = Level6;
+ map[Lock+LevelFive] = Level6;
+ map[LevelThree+LevelFive] = Level7;
+ map[Shift+LevelThree+LevelFive] = Level8;
+ map[Lock+LevelThree+LevelFive] = Level8;
+ map[Lock+Shift+LevelThree+LevelFive] = Level7;
+
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Shift";
+ level_name[Level3] = "Alt Base";
+ level_name[Level4] = "Shift Alt";
+ level_name[Level5] = "X";
+ level_name[Level6] = "X Shift";
+ level_name[Level7] = "X Alt Base";
+ level_name[Level8] = "X Shift Alt";
+ };
+
+ type "EIGHT_LEVEL_SEMIALPHABETIC" {
+ modifiers = Shift+Lock+LevelThree+LevelFive;
+ map[None] = Level1;
+ map[Shift] = Level2;
+ map[Lock] = Level2;
+ map[LevelThree] = Level3;
+ map[Shift+LevelThree] = Level4;
+ map[Lock+LevelThree] = Level3;
+ map[Lock+Shift+LevelThree] = Level4;
+
+ map[LevelFive] = Level5;
+ map[Shift+LevelFive] = Level6;
+ map[Lock+LevelFive] = Level6;
+ map[LevelThree+LevelFive] = Level7;
+ map[Shift+LevelThree+LevelFive] = Level8;
+ map[Lock+LevelThree+LevelFive] = Level7;
+ map[Lock+Shift+LevelThree+LevelFive] = Level8;
+
+ preserve[Lock+LevelThree] = Lock;
+ preserve[Lock+Shift+LevelThree] = Lock;
+ preserve[Lock+LevelFive] = Lock;
+ preserve[Lock+Shift+LevelFive] = Lock;
+ preserve[Lock+LevelThree+LevelFive] = Lock;
+ preserve[Lock+Shift+LevelThree+LevelFive] = Lock;
+
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Shift";
+ level_name[Level3] = "Alt Base";
+ level_name[Level4] = "Shift Alt";
+ level_name[Level5] = "X";
+ level_name[Level6] = "X Shift";
+ level_name[Level7] = "X Alt Base";
+ level_name[Level8] = "X Shift Alt";
+ };
+
+};
+
diff --git a/types/pc b/types/pc
index 5671f426..162dcc52 100644
--- a/types/pc
+++ b/types/pc
@@ -7,6 +7,7 @@ partial default xkb_types "default" {
// for a full implementation of
// a PC compatible keyboard.
virtual_modifiers Alt;
+ virtual_modifiers LevelThree;
type "PC_BREAK" {
modifiers = Control;
@@ -17,11 +18,13 @@ partial default xkb_types "default" {
};
type "PC_SYSRQ" {
- modifiers = Alt;
+ modifiers = Alt+LevelThree;
map[None] = Level1;
map[Alt] = Level2;
+ map[LevelThree] = Level3;
level_name[Level1] = "Base";
level_name[Level2] = "Alt";
+ level_name[Level3] = "Level3";
};
type "CTRL+ALT" {