2 // $XFree86: xc/programs/xkbcomp/types/extra,v 1.3 2002/11/26 02:14:02 dawes Exp $
4 partial default xkb_types "default" {
5 // Definition for a key type used for the czech keymap, for instance.
6 // Defines style a with four level shift. It is similar to three_level
7 // type used for iso9995 but it lets the shift key behave "normally".
9 virtual_modifiers LevelThree,ScrollLock,LevelFive;
12 modifiers = Shift+LevelThree+LevelFive;
15 map[LevelThree] = Level3;
16 map[Shift+LevelThree] = Level4;
17 map[LevelFive] = Level5;
18 map[Shift+LevelFive] = Level6;
19 map[LevelThree+LevelFive] = Level7;
20 map[Shift+LevelThree+LevelFive] = Level8;
21 level_name[Level1] = "Base";
22 level_name[Level2] = "Shift";
23 level_name[Level3] = "Alt Base";
24 level_name[Level4] = "Shift Alt";
25 level_name[Level5] = "X";
26 level_name[Level6] = "X Shift";
27 level_name[Level7] = "X Alt Base";
28 level_name[Level8] = "X Shift Alt";
31 type "EIGHT_LEVEL_ALPHABETIC" {
32 modifiers = Shift+Lock+LevelThree+LevelFive;
36 map[LevelThree] = Level3;
37 map[Shift+LevelThree] = Level4;
38 map[Lock+LevelThree] = Level4;
39 map[Lock+Shift+LevelThree] = Level3;
41 map[LevelFive] = Level5;
42 map[Shift+LevelFive] = Level6;
43 map[Lock+LevelFive] = Level6;
44 map[LevelThree+LevelFive] = Level7;
45 map[Shift+LevelThree+LevelFive] = Level8;
46 map[Lock+LevelThree+LevelFive] = Level8;
47 map[Lock+Shift+LevelThree+LevelFive] = Level7;
49 level_name[Level1] = "Base";
50 level_name[Level2] = "Shift";
51 level_name[Level3] = "Alt Base";
52 level_name[Level4] = "Shift Alt";
53 level_name[Level5] = "X";
54 level_name[Level6] = "X Shift";
55 level_name[Level7] = "X Alt Base";
56 level_name[Level8] = "X Shift Alt";
59 type "EIGHT_LEVEL_SEMIALPHABETIC" {
60 modifiers = Shift+Lock+LevelThree+LevelFive;
64 map[LevelThree] = Level3;
65 map[Shift+LevelThree] = Level4;
66 map[Lock+LevelThree] = Level3;
67 map[Lock+Shift+LevelThree] = Level4;
69 map[LevelFive] = Level5;
70 map[Shift+LevelFive] = Level6;
71 map[Lock+LevelFive] = Level6;
72 map[LevelThree+LevelFive] = Level7;
73 map[Shift+LevelThree+LevelFive] = Level8;
74 map[Lock+LevelThree+LevelFive] = Level7;
75 map[Lock+Shift+LevelThree+LevelFive] = Level8;
77 preserve[Lock+LevelThree] = Lock;
78 preserve[Lock+Shift+LevelThree] = Lock;
79 preserve[Lock+LevelFive] = Lock;
80 preserve[Lock+Shift+LevelFive] = Lock;
81 preserve[Lock+LevelThree+LevelFive] = Lock;
82 preserve[Lock+Shift+LevelThree+LevelFive] = Lock;
84 level_name[Level1] = "Base";
85 level_name[Level2] = "Shift";
86 level_name[Level3] = "Alt Base";
87 level_name[Level4] = "Shift Alt";
88 level_name[Level5] = "X";
89 level_name[Level6] = "X Shift";
90 level_name[Level7] = "X Alt Base";
91 level_name[Level8] = "X Shift Alt";