Skip to content

Commit 5adcaf2

Browse files
committed
[KBDFR] Fix dead keys
The french (legacy) keyboard layout has got only four dead keys. - Remove the unused dead key translations. - Add the missing dead key name and convert the dead key names to upper case. CORE-9381
1 parent d32b3e6 commit 5adcaf2

File tree

1 file changed

+52
-65
lines changed

1 file changed

+52
-65
lines changed

dll/keyboard/kbdfr/kbdfr.c

Lines changed: 52 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -172,12 +172,12 @@ ROSDATA VK_TO_WCHARS2 key_to_chars_2mod[] = {
172172
{ '1', 0, {'&', '1'} },
173173
/* Specials */
174174
/* Ctrl-_ generates FR */
175-
{ VK_OEM_5 ,0, {'*',0xb5} }, /* œ */
176-
{ VK_OEM_3 ,0, {0xf9, '%'} }, /* ù */
175+
{ VK_OEM_5 ,0, {'*',0xb5} }, /* */
176+
{ VK_OEM_3 ,0, {0xf9, '%'} }, /* */
177177
{ VK_OEM_COMMA ,0, {',', '?'} },
178178
{ VK_OEM_PERIOD ,0, {';', '.'} },
179179
{ VK_OEM_2 ,0, {':', '/'} },
180-
{ VK_OEM_8 ,0, {'!', 0xa7} }, /* § */
180+
{ VK_OEM_8 ,0, {'!', 0xa7} }, /* */
181181
/* Keys that do not have shift states */
182182
{ VK_TAB ,0, {'\t','\t'} },
183183
{ VK_ADD ,0, {'+', '+'} },
@@ -222,8 +222,8 @@ ROSDATA VK_TO_WCHARS3 key_to_chars_3mod[] = {
222222
/* Legacy (telnet-style) ascii escapes */
223223
{ VK_OEM_102, 0, {'<', '>', 0x1c /* FS */} },
224224
{ VK_OEM_6, 0, {WCH_DEAD, WCH_DEAD, WCH_NONE} },
225-
{ VK_EMPTY, 0, {'^', 0xa8, WCH_NONE} }, //OEM 6 DEAD ¨
226-
{ VK_OEM_7, 0, {0xb2,0xb3, 0x1c /* FS */} }, /* ², ³ */
225+
{ VK_EMPTY, 0, {'^', 0xa8, WCH_NONE} }, //OEM 6 DEAD
226+
{ VK_OEM_7, 0, {0xb2,0xb3, 0x1c /* FS */} }, /* �, � */
227227
{ VK_RETURN, 0, {'\r', '\r', '\n'} },
228228
{ 0,0 }
229229
};
@@ -236,12 +236,12 @@ ROSDATA VK_TO_WCHARS4 key_to_chars_4mod[] = {
236236
{ '4' , 0, {'\'', '4', WCH_NONE, '{'} },
237237
{ '7' , CAPLOK, {0xe8, '7', WCH_NONE, WCH_DEAD} },
238238
{ VK_EMPTY, 0, {WCH_NONE, WCH_NONE, WCH_NONE, '`'} },
239-
{ '9' , CAPLOK, {0xe7, '9', WCH_NONE, '^'} }, /* ç */
240-
{ '0' , CAPLOK, {0xe0, '0', WCH_NONE, '@'} }, /* à */
239+
{ '9' , CAPLOK, {0xe7, '9', WCH_NONE, '^'} }, /* */
240+
{ '0' , CAPLOK, {0xe0, '0', WCH_NONE, '@'} }, /* */
241241
{ VK_OEM_PLUS,0, {'=', '+', WCH_NONE, '}'} },
242-
{ 'E' , CAPLOK, {'e', 'E', 0x05, 0x20ac } }, /* */
243-
{ VK_OEM_1, 0, {0x24, 0xa3, WCH_NONE, 0xa4} }, /* $, £, ¤ */
244-
{ VK_OEM_4, 0, {')', 0xb0, WCH_NONE, ']'} }, /* ° */
242+
{ 'E' , CAPLOK, {'e', 'E', 0x05, 0x20ac } }, /* */
243+
{ VK_OEM_1, 0, {0x24, 0xa3, WCH_NONE, 0xa4} }, /* $, �, � */
244+
{ VK_OEM_4, 0, {')', 0xb0, WCH_NONE, ']'} }, /* */
245245
{ 0, 0 }
246246
};
247247

@@ -284,60 +284,47 @@ ROSDATA VK_TO_WCHAR_TABLE vk_to_wchar_master_table[] = {
284284
#define DEADTRANS(ch, accent, comp, flags) MAKELONG(ch, accent), comp, flags
285285
ROSDATA DEADKEY deadkey[] =
286286
{
287-
//*´*
288-
{ DEADTRANS(L'a', 0xb4, 0xe1, 0x00) }, // á
289-
{ DEADTRANS(L'A', 0xb4, 0xc1, 0x00) }, // Á
290-
{ DEADTRANS(L'e', 0xb4, 0xe9, 0x00) }, // é
291-
{ DEADTRANS(L'E', 0xb4, 0xc9, 0x00) }, // É
292-
{ DEADTRANS(L'i', 0xb4, 0xeD, 0x00) }, // í
293-
{ DEADTRANS(L'I', 0xb4, 0xcD, 0x00) }, // Í
294-
{ DEADTRANS(L'o', 0xb4, 0xf3, 0x00) }, // ó
295-
{ DEADTRANS(L'O', 0xb4, 0xd3, 0x00) }, // Ó
296-
{ DEADTRANS(L'u', 0xb4, 0xfa, 0x00) }, // ú
297-
{ DEADTRANS(L'U', 0xb4, 0xda, 0x00) }, // Ú
298-
{ DEADTRANS(L'y', 0xb4, 0xfd, 0x00) }, // ý
299-
{ DEADTRANS(L'Y', 0xb4, 0xdd, 0x00) }, // Ý
300287
//*`*
301-
{ DEADTRANS(L'a', 0x60, 0xe0, 0x00) }, // à
302-
{ DEADTRANS(L'A', 0x60, 0xc0, 0x00) }, // À
303-
{ DEADTRANS(L'e', 0x60, 0xe8, 0x00) }, // è
304-
{ DEADTRANS(L'E', 0x60, 0xc8, 0x00) }, // È
305-
{ DEADTRANS(L'i', 0x60, 0xec, 0x00) }, // ì
306-
{ DEADTRANS(L'I', 0x60, 0xcc, 0x00) }, // Ì
307-
{ DEADTRANS(L'o', 0x60, 0xf2, 0x00) }, // ò
308-
{ DEADTRANS(L'O', 0x60, 0xd2, 0x00) }, // Ò
309-
{ DEADTRANS(L'u', 0x60, 0xf9, 0x00) }, // ù
310-
{ DEADTRANS(L'U', 0x60, 0xd9, 0x00) }, // Ù
288+
{ DEADTRANS(L'a', 0x60, 0xe0, 0x00) }, //
289+
{ DEADTRANS(L'A', 0x60, 0xc0, 0x00) }, //
290+
{ DEADTRANS(L'e', 0x60, 0xe8, 0x00) }, //
291+
{ DEADTRANS(L'E', 0x60, 0xc8, 0x00) }, //
292+
{ DEADTRANS(L'i', 0x60, 0xec, 0x00) }, //
293+
{ DEADTRANS(L'I', 0x60, 0xcc, 0x00) }, //
294+
{ DEADTRANS(L'o', 0x60, 0xf2, 0x00) }, //
295+
{ DEADTRANS(L'O', 0x60, 0xd2, 0x00) }, //
296+
{ DEADTRANS(L'u', 0x60, 0xf9, 0x00) }, //
297+
{ DEADTRANS(L'U', 0x60, 0xd9, 0x00) }, //
311298
//*^*
312-
{ DEADTRANS(L'a', 0x5e, 0xe2, 0x00) }, // â
313-
{ DEADTRANS(L'A', 0x5e, 0xd2, 0x00) }, // Â
314-
{ DEADTRANS(L'e', 0x5e, 0xea, 0x00) }, // ê
315-
{ DEADTRANS(L'E', 0x5e, 0xca, 0x00) }, // Ê
316-
{ DEADTRANS(L'i', 0x5e, 0xee, 0x00) }, // î
317-
{ DEADTRANS(L'I', 0x5e, 0xce, 0x00) }, // Î
318-
{ DEADTRANS(L'o', 0x5e, 0xf4, 0x00) }, // ô
319-
{ DEADTRANS(L'O', 0x5e, 0xd4, 0x00) }, // Ô
320-
{ DEADTRANS(L'u', 0x5e, 0xfb, 0x00) }, // û
321-
{ DEADTRANS(L'U', 0x5e, 0xdb, 0x00) }, // Û
322-
//*¨*
323-
{ DEADTRANS(L'a', 0xa8, 0xe4, 0x00) }, // ä
324-
{ DEADTRANS(L'A', 0xa8, 0xc4, 0x00) }, // Ä
325-
{ DEADTRANS(L'e', 0xa8, 0xeb, 0x00) }, // ë
326-
{ DEADTRANS(L'E', 0xa8, 0xcb, 0x00) }, // Ë
327-
{ DEADTRANS(L'i', 0xa8, 0xef, 0x00) }, // ï
328-
{ DEADTRANS(L'I', 0xa8, 0xcf, 0x00) }, // Ï
329-
{ DEADTRANS(L'o', 0xa8, 0xf6, 0x00) }, // ö
330-
{ DEADTRANS(L'O', 0xa8, 0xd6, 0x00) }, // Ö
331-
{ DEADTRANS(L'u', 0xa8, 0xfc, 0x00) }, // ü
332-
{ DEADTRANS(L'U', 0xa8, 0xdc, 0x00) }, // Ü
333-
{ DEADTRANS(L'y', 0xa8, 0xff, 0x00) }, // ÿ
299+
{ DEADTRANS(L'a', 0x5e, 0xe2, 0x00) }, //
300+
{ DEADTRANS(L'A', 0x5e, 0xd2, 0x00) }, //
301+
{ DEADTRANS(L'e', 0x5e, 0xea, 0x00) }, //
302+
{ DEADTRANS(L'E', 0x5e, 0xca, 0x00) }, //
303+
{ DEADTRANS(L'i', 0x5e, 0xee, 0x00) }, //
304+
{ DEADTRANS(L'I', 0x5e, 0xce, 0x00) }, //
305+
{ DEADTRANS(L'o', 0x5e, 0xf4, 0x00) }, //
306+
{ DEADTRANS(L'O', 0x5e, 0xd4, 0x00) }, //
307+
{ DEADTRANS(L'u', 0x5e, 0xfb, 0x00) }, //
308+
{ DEADTRANS(L'U', 0x5e, 0xdb, 0x00) }, //
309+
//**
310+
{ DEADTRANS(L'a', 0xa8, 0xe4, 0x00) }, //
311+
{ DEADTRANS(L'A', 0xa8, 0xc4, 0x00) }, //
312+
{ DEADTRANS(L'e', 0xa8, 0xeb, 0x00) }, //
313+
{ DEADTRANS(L'E', 0xa8, 0xcb, 0x00) }, //
314+
{ DEADTRANS(L'i', 0xa8, 0xef, 0x00) }, //
315+
{ DEADTRANS(L'I', 0xa8, 0xcf, 0x00) }, //
316+
{ DEADTRANS(L'o', 0xa8, 0xf6, 0x00) }, //
317+
{ DEADTRANS(L'O', 0xa8, 0xd6, 0x00) }, //
318+
{ DEADTRANS(L'u', 0xa8, 0xfc, 0x00) }, //
319+
{ DEADTRANS(L'U', 0xa8, 0xdc, 0x00) }, //
320+
{ DEADTRANS(L'y', 0xa8, 0xff, 0x00) }, //
334321
//*~*
335-
{ DEADTRANS(L'a', 0x7e, 0xe3, 0x00) }, // ã
336-
{ DEADTRANS(L'A', 0x7e, 0xc3, 0x00) }, // Ã
337-
{ DEADTRANS(L'n', 0x7e, 0xf1, 0x00) }, // ñ
338-
{ DEADTRANS(L'N', 0x7e, 0xd1, 0x00) }, // Ñ
339-
{ DEADTRANS(L'o', 0x7e, 0xf5, 0x00) }, // õ
340-
{ DEADTRANS(L'O', 0x7e, 0xd5, 0x00) }, // Õ
322+
{ DEADTRANS(L'a', 0x7e, 0xe3, 0x00) }, //
323+
{ DEADTRANS(L'A', 0x7e, 0xc3, 0x00) }, //
324+
{ DEADTRANS(L'n', 0x7e, 0xf1, 0x00) }, //
325+
{ DEADTRANS(L'N', 0x7e, 0xd1, 0x00) }, //
326+
{ DEADTRANS(L'o', 0x7e, 0xf5, 0x00) }, //
327+
{ DEADTRANS(L'O', 0x7e, 0xd5, 0x00) }, //
341328
{ 0, 0, 0}
342329
};
343330

@@ -424,9 +411,10 @@ ROSDATA VSC_LPWSTR extended_key_names[] = {
424411
};
425412

426413
ROSDATA DEADKEY_LPWSTR dead_key_names[] = {
427-
L"\x005e" L"Circumflex",
428-
L"\x007e" L"Tilde",
429-
L"\x0060" L"Grave",
414+
L"\x005e" L"ACCENT CIRCONFLEXE",
415+
L"\x00a8" L"TREMA",
416+
L"\x007e" L"TILDE",
417+
L"\x0060" L"GRAVE",
430418
NULL
431419
};
432420

@@ -463,4 +451,3 @@ ROSDATA KBDTABLES keyboard_layout_table = {
463451
PKBDTABLES WINAPI KbdLayerDescriptor(VOID) {
464452
return &keyboard_layout_table;
465453
}
466-

0 commit comments

Comments
 (0)