diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ChangeLog | 5 | ||||
-rw-r--r-- | src/msdos.c | 27 |
2 files changed, 22 insertions, 10 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 00d78a83336..7e5a2b71026 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2013-03-06 Eli Zaretskii <eliz@gnu.org> + + * msdos.c: Change encoding to cp850. (Bug#13879) + (fr_keyboard, it_keyboard, dk_keyboard): Update keyboard layouts. + 2013-03-06 Dmitry Antipov <dmantipov@yandex.ru> Coding system support cleanup and minor refactoring. diff --git a/src/msdos.c b/src/msdos.c index ac8c90455d7..ee47109d5f2 100644 --- a/src/msdos.c +++ b/src/msdos.c @@ -1,4 +1,4 @@ -/* MS-DOS specific C utilities. -*- coding: raw-text -*- +/* MS-DOS specific C utilities. -*- coding: cp850 -*- Copyright (C) 1993-1997, 1999-2013 Free Software Foundation, Inc. @@ -20,6 +20,13 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ /* Contributed by Morten Welinder */ /* New display, keyboard, and mouse control by Kim F. Storm */ +/* Note: This file MUST use a unibyte encoding, to both display the + keys on the non-US keyboard layout as their respective labels, and + provide the correct byte values for the keyboard input to inject + into Emacs. See 'struct dos_keyboard_map' below. As long as there + are only European keyboard layouts here, we are OK with DOS + codepage 850 encoding. */ + /* Note: some of the stuff here was taken from end of sysdep.c in demacs. */ #include <config.h> @@ -1965,10 +1972,10 @@ struct dos_keyboard_map static struct dos_keyboard_map us_keyboard = { /* 0 1 2 3 4 5 */ -/* 01234567890123456789012345678901234567890 12345678901234 */ - "`1234567890-= qwertyuiop[] asdfghjkl;'\\ zxcvbnm,./ ", +/* 01234567890123456789012345678901234567890 123 45678901234 */ + "`1234567890-= qwertyuiop[] asdfghjkl;'\\ \\zxcvbnm,./ ", /* 0123456789012345678901234567890123456789 012345678901234 */ - "~!@#$%^&*()_+ QWERTYUIOP{} ASDFGHJKL:\"| ZXCVBNM<>? ", + "~!@#$%^&*()_+ QWERTYUIOP{} ASDFGHJKL:\"| |ZXCVBNM<>? ", 0, /* no Alt-Gr key */ 0 /* no translate table */ }; @@ -1976,9 +1983,9 @@ static struct dos_keyboard_map us_keyboard = { static struct dos_keyboard_map fr_keyboard = { /* 0 1 2 3 4 5 */ /* 012 3456789012345678901234567890123456789012345678901234 */ - "&\",(-_)= azertyuiop^$ qsdfghjklm* wxcvbnm;:! ", + "&\"'(-_)= azertyuiop^$ qsdfghjklm* <wxcvbn,;:! ", /* 0123456789012345678901234567890123456789012345678901234 */ - " 1234567890+ AZERTYUIOP QSDFGHJKLM% WXCVBN?./ ", + " 1234567890+ AZERTYUIOP QSDFGHJKLM% >WXCVBN?./ ", /* 01234567 89012345678901234567890123456789012345678901234 */ " ~#{[|`\\^@]} ", 0 /* no translate table */ @@ -2000,9 +2007,9 @@ static struct kbd_translate it_kbd_translate_table[] = { static struct dos_keyboard_map it_keyboard = { /* 0 1 2 3 4 5 */ /* 0 123456789012345678901234567890123456789012345678901234 */ - "\\1234567890'< qwertyuiop+> asdfghjkl zxcvbnm,.- ", + "\\1234567890'< qwertyuiop+> asdfghjkl <zxcvbnm,.- ", /* 01 23456789012345678901234567890123456789012345678901234 */ - "|!\"$%&/()=?^> QWERTYUIOP* ASDFGHJKL ZXCVBNM;:_ ", + "|!\"$%&/()=?^> QWERTYUIOP* ASDFGHJKL >ZXCVBNM;:_ ", /* 0123456789012345678901234567890123456789012345678901234 */ " {}~` [] @# ", it_kbd_translate_table @@ -2011,9 +2018,9 @@ static struct dos_keyboard_map it_keyboard = { static struct dos_keyboard_map dk_keyboard = { /* 0 1 2 3 4 5 */ /* 0123456789012345678901234567890123456789012345678901234 */ - "1234567890+| qwertyuiop~ asdfghjkl' zxcvbnm,.- ", + "1234567890+| qwertyuiop~ asdfghjkl' <zxcvbnm,.- ", /* 01 23456789012345678901234567890123456789012345678901234 */ - "!\"#$%&/()=?` QWERTYUIOP^ ASDFGHJKL* ZXCVBNM;:_ ", + "!\"#$%&/()=?` QWERTYUIOP^ ASDFGHJKL* >ZXCVBNM;:_ ", /* 0123456789012345678901234567890123456789012345678901234 */ " @$ {[]} | ", 0 /* no translate table */ |