Rev 4419 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4419 | Rev 4420 | ||
---|---|---|---|
Line 52... | Line 52... | ||
52 | layout_reset, |
52 | layout_reset, |
53 | layout_parse_ev |
53 | layout_parse_ev |
54 | }; |
54 | }; |
55 | 55 | ||
56 | static wchar_t map_lcase[] = { |
56 | static wchar_t map_lcase[] = { |
57 | [KC_2] = L'ě', |
- | |
58 | [KC_3] = L'š', |
- | |
59 | [KC_4] = L'č', |
- | |
60 | [KC_5] = L'ř', |
- | |
61 | [KC_6] = L'ž', |
- | |
62 | [KC_7] = L'ý', |
- | |
63 | [KC_8] = L'á', |
- | |
64 | [KC_9] = L'í', |
- | |
65 | [KC_0] = L'é', |
- | |
66 | - | ||
67 | [KC_LBRACKET] = L'ú', |
- | |
68 | [KC_SEMICOLON] = L'ů', |
- | |
69 | - | ||
70 | [KC_Q] = 'q', |
57 | [KC_Q] = 'q', |
71 | [KC_W] = 'w', |
58 | [KC_W] = 'w', |
72 | [KC_E] = 'e', |
59 | [KC_E] = 'e', |
73 | [KC_R] = 'r', |
60 | [KC_R] = 'r', |
74 | [KC_T] = 't', |
61 | [KC_T] = 't', |
Line 96... | Line 83... | ||
96 | [KC_N] = 'n', |
83 | [KC_N] = 'n', |
97 | [KC_M] = 'm', |
84 | [KC_M] = 'm', |
98 | }; |
85 | }; |
99 | 86 | ||
100 | static wchar_t map_ucase[] = { |
87 | static wchar_t map_ucase[] = { |
101 | [KC_2] = L'Ě', |
- | |
102 | [KC_3] = L'Š', |
- | |
103 | [KC_4] = L'Č', |
- | |
104 | [KC_5] = L'Ř', |
- | |
105 | [KC_6] = L'Ž', |
- | |
106 | [KC_7] = L'Ý', |
- | |
107 | [KC_8] = L'Á', |
- | |
108 | [KC_9] = L'Í', |
- | |
109 | [KC_0] = L'É', |
- | |
110 | - | ||
111 | [KC_LBRACKET] = L'Ú', |
- | |
112 | [KC_SEMICOLON] = L'Ů', |
- | |
113 | - | ||
114 | [KC_Q] = 'Q', |
88 | [KC_Q] = 'Q', |
115 | [KC_W] = 'W', |
89 | [KC_W] = 'W', |
116 | [KC_E] = 'E', |
90 | [KC_E] = 'E', |
117 | [KC_R] = 'R', |
91 | [KC_R] = 'R', |
118 | [KC_T] = 'T', |
92 | [KC_T] = 'T', |
Line 181... | Line 155... | ||
181 | [KC_COMMA] = '?', |
155 | [KC_COMMA] = '?', |
182 | [KC_PERIOD] = ':', |
156 | [KC_PERIOD] = ':', |
183 | [KC_SLASH] = '_', |
157 | [KC_SLASH] = '_', |
184 | }; |
158 | }; |
185 | 159 | ||
- | 160 | static wchar_t map_ns_nocaps[] = { |
|
- | 161 | [KC_2] = L'ě', |
|
- | 162 | [KC_3] = L'š', |
|
- | 163 | [KC_4] = L'č', |
|
- | 164 | [KC_5] = L'ř', |
|
- | 165 | [KC_6] = L'ž', |
|
- | 166 | [KC_7] = L'ý', |
|
- | 167 | [KC_8] = L'á', |
|
- | 168 | [KC_9] = L'í', |
|
- | 169 | [KC_0] = L'é', |
|
- | 170 | ||
- | 171 | [KC_LBRACKET] = L'ú', |
|
- | 172 | [KC_SEMICOLON] = L'ů' |
|
- | 173 | }; |
|
- | 174 | ||
- | 175 | static wchar_t map_ns_caps[] = { |
|
- | 176 | [KC_2] = L'Ě', |
|
- | 177 | [KC_3] = L'Š', |
|
- | 178 | [KC_4] = L'Č', |
|
- | 179 | [KC_5] = L'Ř', |
|
- | 180 | [KC_6] = L'Ž', |
|
- | 181 | [KC_7] = L'Ý', |
|
- | 182 | [KC_8] = L'Á', |
|
- | 183 | [KC_9] = L'Í', |
|
- | 184 | [KC_0] = L'É', |
|
- | 185 | ||
- | 186 | [KC_LBRACKET] = L'Ú', |
|
- | 187 | [KC_SEMICOLON] = L'Ů' |
|
- | 188 | }; |
|
- | 189 | ||
186 | static wchar_t map_neutral[] = { |
190 | static wchar_t map_neutral[] = { |
187 | [KC_BACKSPACE] = '\b', |
191 | [KC_BACKSPACE] = '\b', |
188 | [KC_TAB] = '\t', |
192 | [KC_TAB] = '\t', |
189 | [KC_ENTER] = '\n', |
193 | [KC_ENTER] = '\n', |
190 | [KC_SPACE] = ' ', |
194 | [KC_SPACE] = ' ', |
Line 323... | Line 327... | ||
323 | 327 | ||
324 | c = translate(ev->key, map_neutral, sizeof(map_neutral) / sizeof(wchar_t)); |
328 | c = translate(ev->key, map_neutral, sizeof(map_neutral) / sizeof(wchar_t)); |
325 | if (c != 0) |
329 | if (c != 0) |
326 | return c; |
330 | return c; |
327 | 331 | ||
- | 332 | if ((ev->mods & KM_SHIFT) == 0) { |
|
- | 333 | if ((ev->mods & KM_CAPS_LOCK) != 0) |
|
- | 334 | c = translate(ev->key, map_ns_caps, sizeof(map_ns_caps) / sizeof(wchar_t)); |
|
- | 335 | else |
|
- | 336 | c = translate(ev->key, map_ns_nocaps, sizeof(map_ns_nocaps) / sizeof(wchar_t)); |
|
- | 337 | ||
- | 338 | if (c != 0) |
|
- | 339 | return c; |
|
- | 340 | } |
|
- | 341 | ||
328 | if (((ev->mods & KM_SHIFT) != 0) ^ ((ev->mods & KM_CAPS_LOCK) != 0)) |
342 | if (((ev->mods & KM_SHIFT) != 0) ^ ((ev->mods & KM_CAPS_LOCK) != 0)) |
329 | c = translate(ev->key, map_ucase, sizeof(map_ucase) / sizeof(wchar_t)); |
343 | c = translate(ev->key, map_ucase, sizeof(map_ucase) / sizeof(wchar_t)); |
330 | else |
344 | else |
331 | c = translate(ev->key, map_lcase, sizeof(map_lcase) / sizeof(wchar_t)); |
345 | c = translate(ev->key, map_lcase, sizeof(map_lcase) / sizeof(wchar_t)); |
332 | 346 |