1 // $XFree86: xc/programs/xkbcomp/types/extra,v 1.3 2002/11/26 02:14:02 dawes Exp $
3 partial default xkb_types "default" {
4 // Definition for a key type used for the czech keymap, for instance.
5 // Defines style a with four level shift. It is similar to three_level
6 // type used for iso9995 but it lets the shift key behave "normally".
8 virtual_modifiers LevelThree;
11 modifiers = Shift+LevelThree;
14 map[LevelThree] = Level3;
15 map[Shift+LevelThree] = Level4;
16 level_name[Level1] = "Base";
17 level_name[Level2] = "Shift";
18 level_name[Level3] = "Alt Base";
19 level_name[Level4] = "Shift Alt";
22 type "FOUR_LEVEL_ALPHABETIC" {
23 modifiers = Shift+Lock+LevelThree;
27 map[LevelThree] = Level3;
28 map[Shift+LevelThree] = Level4;
29 map[Lock+LevelThree] = Level4;
30 map[Shift+Lock+LevelThree] = Level3;
31 level_name[Level1] = "Base";
32 level_name[Level2] = "Shift";
33 level_name[Level3] = "Alt Base";
34 level_name[Level4] = "Shift Alt";
37 type "FOUR_LEVEL_SEMIALPHABETIC" {
38 modifiers = Shift+Lock+LevelThree;
42 map[LevelThree] = Level3;
43 map[Shift+LevelThree] = Level4;
44 map[Lock+LevelThree] = Level3;
45 map[Lock+Shift+LevelThree] = Level4;
46 preserve[Lock+LevelThree] = Lock;
47 preserve[Lock+Shift+LevelThree] = Lock;
48 level_name[Level1] = "Base";
49 level_name[Level2] = "Shift";
50 level_name[Level3] = "Alt Base";
51 level_name[Level4] = "Shift Alt";
54 // This enables the four level shifting also for the keypad.
55 type "FOUR_LEVEL_KEYPAD" {
56 modifiers = Shift+NumLock+LevelThree;
59 map[NumLock] = Level2;
60 map[Shift+NumLock] = Level1;
61 map[LevelThree] = Level3;
62 map[Shift+LevelThree] = Level4;
63 map[NumLock+LevelThree] = Level4;
64 map[Shift+NumLock+LevelThree] = Level3;
65 level_name[Level1] = "Base";
66 level_name[Level2] = "Number";
67 level_name[Level3] = "Alt Base";
68 level_name[Level4] = "Alt Number";
71 // Special type for keys used in Serbian Latin Unicode map
72 // It makes it possible to use all three forms of latin letters
73 // present in Unicode that are made up of two separate letters
74 // (forms like LJ, Lj, and lj; NJ, Nj, and nj; etc)
76 // Could probably prove useful for other languages too, so it
80 modifiers = Shift+Lock+LevelThree;
84 map[LevelThree] = Level3;
85 map[Shift+LevelThree] = Level4;
86 map[Lock+LevelThree] = Level3;
87 map[Lock+Shift+LevelThree] = Level3;
89 preserve[Lock+LevelThree]= Lock;
90 level_name[Level1] = "Base";
91 level_name[Level2] = "Shift";
92 level_name[Level3] = "AltGr Base";
93 level_name[Level4] = "Shift AltGr";