summaryrefslogtreecommitdiff
path: root/dist/xkeyboard-config/types/pc
blob: 3c1986aa3ed97ca64d4c64335904595801e20c0f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
// $Xorg: pc,v 1.3 2000/08/17 19:54:48 cpqbld Exp $
// 

partial default xkb_types "default" {

    // Some types that are necessary
    // for a full implementation of
    // a PC compatible keyboard.
    virtual_modifiers Alt;
    virtual_modifiers LevelThree;
    virtual_modifiers LAlt;
    virtual_modifiers RAlt;
    virtual_modifiers RControl;
    virtual_modifiers LControl;

    type "PC_CONTROL_LEVEL2" {
	modifiers = Control;
	map[None] = Level1;
	map[Control] = Level2;
	level_name[Level1] = "Base";
	level_name[Level2] = "Control";
    };

    type "PC_LCONTROL_LEVEL2" {
	modifiers = LControl;
	map[None] = Level1;
	map[LControl] = Level2;
	level_name[Level1] = "Base";
	level_name[Level2] = "LControl";
    };

    type "PC_RCONTROL_LEVEL2" {
	modifiers = RControl;
	map[None] = Level1;
	map[RControl] = Level2;
	level_name[Level1] = "Base";
	level_name[Level2] = "RControl";
    };

    type "PC_ALT_LEVEL2" {
	modifiers = Alt;
	map[None] = Level1;
	map[Alt] = Level2;
	level_name[Level1] = "Base";
	level_name[Level2] = "Alt";
    };

    type "PC_LALT_LEVEL2" {
	modifiers = LAlt;
	map[None] = Level1;
	map[LAlt] = Level2;
	level_name[Level1] = "Base";
	level_name[Level2] = "LAlt";
    };

    type "PC_RALT_LEVEL2" {
	modifiers = RAlt;
	map[None] = Level1;
	map[RAlt] = Level2;
	level_name[Level1] = "Base";
	level_name[Level2] = "RAlt";
    };

    type "CTRL+ALT" {
	modifiers = Control+Alt;
	map[Control+Alt] = Level2;
	level_name[Level1] = "Base";
	level_name[Level2] = "Ctrl+Alt";
    };

   // Local eight level
   // Needed when you want part of your layout eight-level but can not use
   // LevelFive as modifier, as this will take over right ctrl by default
   // for all the layout and is too invasive for your average four-level user
   // Needed to fix bug #9529
   // FIXME Should really use RControl but it's seems not to be enabled by
   // default and touching this requires a lot of testing
   type "LOCAL_EIGHT_LEVEL" {
	modifiers = Shift+Lock+LevelThree+Control;

	map[None]       = Level1;
	map[Lock+Shift] = Level1;
	map[Shift] = Level2;
	map[Lock]  = Level2;

	map[LevelThree]            = Level3;
	map[Lock+Shift+LevelThree] = Level3;
	map[Shift+LevelThree] = Level4;
	map[Lock+LevelThree]  = Level4;

	map[Control]            = Level5;
	map[Lock+Shift+Control] = Level5;
	map[Shift+Control] = Level6;
	map[Lock+Control]  = Level6;

	map[LevelThree+Control]            = Level7;
	map[Lock+Shift+LevelThree+Control] = Level7;
	map[Shift+LevelThree+Control] = Level8;
	map[Lock+LevelThree+Control]  = Level8;

	level_name[Level1] = "Base";
	level_name[Level2] = "Shift";
	level_name[Level3] = "Level3";
	level_name[Level4] = "Shift Level3";
	level_name[Level5] = "Ctrl";
	level_name[Level6] = "Shift Ctrl";
	level_name[Level7] = "Level3 Ctrl";
	level_name[Level8] = "Shift Level3 Ctrl";
    };

};