| 1 | // $XKeyboardConfig$ |
|---|
| 2 | // $XFree86: xc/programs/xkbcomp/types/extra,v 1.3 2002/11/26 02:14:02 dawes Exp $ |
|---|
| 3 | |
|---|
| 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". |
|---|
| 8 | |
|---|
| 9 | virtual_modifiers LevelThree,ScrollLock,LevelFive; |
|---|
| 10 | |
|---|
| 11 | type "EIGHT_LEVEL" { |
|---|
| 12 | modifiers = Shift+LevelThree+LevelFive; |
|---|
| 13 | map[None] = Level1; |
|---|
| 14 | map[Shift] = Level2; |
|---|
| 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"; |
|---|
| 29 | }; |
|---|
| 30 | |
|---|
| 31 | type "EIGHT_LEVEL_ALPHABETIC" { |
|---|
| 32 | modifiers = Shift+Lock+LevelThree+LevelFive; |
|---|
| 33 | map[None] = Level1; |
|---|
| 34 | map[Shift] = Level2; |
|---|
| 35 | map[Lock] = Level2; |
|---|
| 36 | map[LevelThree] = Level3; |
|---|
| 37 | map[Shift+LevelThree] = Level4; |
|---|
| 38 | map[Lock+LevelThree] = Level4; |
|---|
| 39 | map[Lock+Shift+LevelThree] = Level3; |
|---|
| 40 | |
|---|
| 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; |
|---|
| 48 | |
|---|
| 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"; |
|---|
| 57 | }; |
|---|
| 58 | |
|---|
| 59 | type "EIGHT_LEVEL_NEO_LOCKS" { |
|---|
| 60 | // 'NumLock' is used for the (Neo-)Mod4-Lock. |
|---|
| 61 | modifiers = Shift + Lock + LevelThree + NumLock + LevelFive; |
|---|
| 62 | |
|---|
| 63 | preserve[LevelFive+Shift] = Shift; |
|---|
| 64 | preserve[NumLock+Shift] = Shift; |
|---|
| 65 | preserve[Lock+LevelFive+Shift] = Shift; |
|---|
| 66 | preserve[Lock+NumLock+Shift] = Shift; |
|---|
| 67 | |
|---|
| 68 | map[None] = Level1; |
|---|
| 69 | map[Shift] = Level2; |
|---|
| 70 | map[LevelThree] = Level3; |
|---|
| 71 | map[LevelThree+Shift] = Level4; |
|---|
| 72 | |
|---|
| 73 | map[LevelFive] = Level5; |
|---|
| 74 | map[LevelFive+Shift] = Level6; |
|---|
| 75 | map[LevelFive+LevelThree] = Level7; |
|---|
| 76 | map[LevelFive+LevelThree+Shift] = Level8; |
|---|
| 77 | |
|---|
| 78 | map[NumLock] = Level5; |
|---|
| 79 | map[NumLock+Shift] = Level6; |
|---|
| 80 | map[NumLock+LevelThree] = Level7; |
|---|
| 81 | map[NumLock+LevelThree+Shift] = Level8; |
|---|
| 82 | |
|---|
| 83 | map[NumLock+LevelFive] = Level1; |
|---|
| 84 | map[NumLock+LevelFive+Shift] = Level2; |
|---|
| 85 | map[NumLock+LevelFive+LevelThree] = Level3; |
|---|
| 86 | map[NumLock+LevelFive+LevelThree+Shift] = Level4; |
|---|
| 87 | |
|---|
| 88 | // Lock has no effect |
|---|
| 89 | map[Lock] = Level1; |
|---|
| 90 | map[Lock+Shift] = Level2; |
|---|
| 91 | map[Lock+LevelThree] = Level3; |
|---|
| 92 | map[Lock+LevelThree+Shift] = Level4; |
|---|
| 93 | |
|---|
| 94 | map[Lock+LevelFive] = Level5; |
|---|
| 95 | map[Lock+LevelFive+Shift] = Level6; |
|---|
| 96 | map[Lock+LevelFive+LevelThree] = Level7; |
|---|
| 97 | map[Lock+LevelFive+LevelThree+Shift] = Level8; |
|---|
| 98 | |
|---|
| 99 | map[Lock+NumLock] = Level5; |
|---|
| 100 | map[Lock+NumLock+Shift] = Level6; |
|---|
| 101 | map[Lock+NumLock+LevelThree] = Level7; |
|---|
| 102 | map[Lock+NumLock+LevelThree+Shift] = Level8; |
|---|
| 103 | |
|---|
| 104 | map[Lock+NumLock+LevelFive] = Level1; |
|---|
| 105 | map[Lock+NumLock+LevelFive+Shift] = Level2; |
|---|
| 106 | map[Lock+NumLock+LevelFive+LevelThree] = Level3; |
|---|
| 107 | map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4; |
|---|
| 108 | |
|---|
| 109 | level_name[Level1] = "Neo Level1"; |
|---|
| 110 | level_name[Level2] = "Neo Level2"; |
|---|
| 111 | level_name[Level3] = "Neo Level3"; |
|---|
| 112 | level_name[Level4] = "Neo Level5"; |
|---|
| 113 | level_name[Level5] = "Neo Level4"; |
|---|
| 114 | level_name[Level6] = "Neo Level4 Shift"; |
|---|
| 115 | level_name[Level7] = "Neo Level6"; |
|---|
| 116 | level_name[Level8] = "Neo Level6 Shift"; |
|---|
| 117 | }; |
|---|
| 118 | |
|---|
| 119 | type "EIGHT_LEVEL_NEO_LOCKS_QUARTERALPHABETIC" { |
|---|
| 120 | // 'NumLock' is used for the (Neo-)Mod4-Lock. |
|---|
| 121 | modifiers = Shift + Lock + LevelThree + NumLock + LevelFive; |
|---|
| 122 | |
|---|
| 123 | preserve[LevelFive+Shift] = Shift; |
|---|
| 124 | preserve[NumLock+Shift] = Shift; |
|---|
| 125 | |
|---|
| 126 | map[None] = Level1; |
|---|
| 127 | map[Shift] = Level2; |
|---|
| 128 | map[LevelThree] = Level3; |
|---|
| 129 | map[LevelThree+Shift] = Level4; |
|---|
| 130 | |
|---|
| 131 | map[LevelFive] = Level5; |
|---|
| 132 | map[LevelFive+Shift] = Level6; |
|---|
| 133 | map[LevelFive+LevelThree] = Level7; |
|---|
| 134 | map[LevelFive+LevelThree+Shift] = Level8; |
|---|
| 135 | |
|---|
| 136 | map[NumLock] = Level5; |
|---|
| 137 | map[NumLock+Shift] = Level6; |
|---|
| 138 | map[NumLock+LevelThree] = Level7; |
|---|
| 139 | map[NumLock+LevelThree+Shift] = Level8; |
|---|
| 140 | |
|---|
| 141 | map[NumLock+LevelFive] = Level1; |
|---|
| 142 | map[NumLock+LevelFive+Shift] = Level2; |
|---|
| 143 | map[NumLock+LevelFive+LevelThree] = Level3; |
|---|
| 144 | map[NumLock+LevelFive+LevelThree+Shift] = Level4; |
|---|
| 145 | |
|---|
| 146 | // Lock interchanges Level1 and Level2 |
|---|
| 147 | map[Lock] = Level2; |
|---|
| 148 | map[Lock+Shift] = Level1; |
|---|
| 149 | map[Lock+LevelThree] = Level3; |
|---|
| 150 | map[Lock+LevelThree+Shift] = Level4; |
|---|
| 151 | |
|---|
| 152 | map[Lock+LevelFive] = Level5; |
|---|
| 153 | map[Lock+LevelFive+Shift] = Level6; |
|---|
| 154 | map[Lock+LevelFive+LevelThree] = Level7; |
|---|
| 155 | map[Lock+LevelFive+LevelThree+Shift] = Level8; |
|---|
| 156 | |
|---|
| 157 | map[Lock+NumLock] = Level5; |
|---|
| 158 | map[Lock+NumLock+Shift] = Level6; |
|---|
| 159 | map[Lock+NumLock+LevelThree] = Level7; |
|---|
| 160 | map[Lock+NumLock+LevelThree+Shift] = Level8; |
|---|
| 161 | |
|---|
| 162 | map[Lock+NumLock+LevelFive] = Level2; |
|---|
| 163 | map[Lock+NumLock+LevelFive+Shift] = Level1; |
|---|
| 164 | map[Lock+NumLock+LevelFive+LevelThree] = Level3; |
|---|
| 165 | map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4; |
|---|
| 166 | |
|---|
| 167 | level_name[Level1] = "Neo Level1"; |
|---|
| 168 | level_name[Level2] = "Neo Level2"; |
|---|
| 169 | level_name[Level3] = "Neo Level3"; |
|---|
| 170 | level_name[Level4] = "Neo Level5"; |
|---|
| 171 | level_name[Level5] = "Neo Level4"; |
|---|
| 172 | level_name[Level6] = "Neo Level4 Shift"; |
|---|
| 173 | level_name[Level7] = "Neo Level6"; |
|---|
| 174 | level_name[Level8] = "Neo Level6 Shift"; |
|---|
| 175 | }; |
|---|
| 176 | |
|---|
| 177 | type "EIGHT_LEVEL_SEMIALPHABETIC" { |
|---|
| 178 | modifiers = Shift+Lock+LevelThree+LevelFive; |
|---|
| 179 | map[None] = Level1; |
|---|
| 180 | map[Shift] = Level2; |
|---|
| 181 | map[Lock] = Level2; |
|---|
| 182 | map[LevelThree] = Level3; |
|---|
| 183 | map[Shift+LevelThree] = Level4; |
|---|
| 184 | map[Lock+LevelThree] = Level3; |
|---|
| 185 | map[Lock+Shift+LevelThree] = Level4; |
|---|
| 186 | |
|---|
| 187 | map[LevelFive] = Level5; |
|---|
| 188 | map[Shift+LevelFive] = Level6; |
|---|
| 189 | map[Lock+LevelFive] = Level6; |
|---|
| 190 | map[LevelThree+LevelFive] = Level7; |
|---|
| 191 | map[Shift+LevelThree+LevelFive] = Level8; |
|---|
| 192 | map[Lock+LevelThree+LevelFive] = Level7; |
|---|
| 193 | map[Lock+Shift+LevelThree+LevelFive] = Level8; |
|---|
| 194 | |
|---|
| 195 | preserve[Lock+LevelThree] = Lock; |
|---|
| 196 | preserve[Lock+Shift+LevelThree] = Lock; |
|---|
| 197 | preserve[Lock+LevelFive] = Lock; |
|---|
| 198 | preserve[Lock+Shift+LevelFive] = Lock; |
|---|
| 199 | preserve[Lock+LevelThree+LevelFive] = Lock; |
|---|
| 200 | preserve[Lock+Shift+LevelThree+LevelFive] = Lock; |
|---|
| 201 | |
|---|
| 202 | level_name[Level1] = "Base"; |
|---|
| 203 | level_name[Level2] = "Shift"; |
|---|
| 204 | level_name[Level3] = "Alt Base"; |
|---|
| 205 | level_name[Level4] = "Shift Alt"; |
|---|
| 206 | level_name[Level5] = "X"; |
|---|
| 207 | level_name[Level6] = "X Shift"; |
|---|
| 208 | level_name[Level7] = "X Alt Base"; |
|---|
| 209 | level_name[Level8] = "X Shift Alt"; |
|---|
| 210 | }; |
|---|
| 211 | |
|---|
| 212 | }; |
|---|
| 213 | |
|---|