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[Lock+Shift+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 // Special type for keys used in Serbian Latin Unicode map
55 // It makes it possible to use all three forms of latin letters
56 // present in Unicode that are made up of two separate letters
57 // (forms like LJ, Lj, and lj; NJ, Nj, and nj; etc)
59 type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" {
60 modifiers = Shift+Lock+LevelThree;
64 map[LevelThree] = Level3;
65 map[Shift+LevelThree] = Level4;
66 map[Lock+LevelThree] = Level3;
67 map[Lock+Shift+LevelThree] = Level3;
69 preserve[Lock+LevelThree]= Lock;
70 level_name[Level1] = "Base";
71 level_name[Level2] = "Shift";
72 level_name[Level3] = "AltGr Base";
73 level_name[Level4] = "Shift AltGr";
77 // This enables the four level shifting also for the keypad.
78 partial xkb_types "keypad" {
79 virtual_modifiers LevelThree;
81 type "FOUR_LEVEL_KEYPAD" {
82 modifiers = Shift+NumLock+LevelThree;
85 map[NumLock] = Level2;
86 map[Shift+NumLock] = Level1;
87 map[LevelThree] = Level3;
88 map[Shift+LevelThree] = Level4;
89 map[NumLock+LevelThree] = Level4;
90 map[Shift+NumLock+LevelThree] = Level3;
91 level_name[Level1] = "Base";
92 level_name[Level2] = "Number";
93 level_name[Level3] = "Alt Base";
94 level_name[Level4] = "Alt Number";
98 // This enables the four level shifting also for the keypad,
99 // but levels 1 and 2, and 3 and 4 are swapped on Mac keypads.
100 partial xkb_types "mac_keypad" {
101 virtual_modifiers LevelThree;
103 type "FOUR_LEVEL_KEYPAD" {
104 modifiers = Shift+NumLock+LevelThree;
107 map[NumLock] = Level1;
108 map[Shift+NumLock] = Level2;
109 map[LevelThree] = Level4;
110 map[Shift+LevelThree] = Level3;
111 map[NumLock+LevelThree] = Level3;
112 map[Shift+NumLock+LevelThree] = Level4;
113 level_name[Level2] = "Base";
114 level_name[Level1] = "Number";
115 level_name[Level4] = "Alt Base";
116 level_name[Level3] = "Alt Number";