summaryrefslogtreecommitdiff
path: root/src/msdos.c
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2013-03-06 18:21:26 +0200
committerEli Zaretskii <eliz@gnu.org>2013-03-06 18:21:26 +0200
commitd26e478eaa7c743b999fbcd995cc8c09ecbcc6c8 (patch)
treec244681474782388a964957a67ed051ea3e3be98 /src/msdos.c
parent33d1e2f5bdaca00fa003faab1d3f8b03dec98023 (diff)
downloademacs-d26e478eaa7c743b999fbcd995cc8c09ecbcc6c8.tar.gz
Fix bug #13879 with raw-text encoding of msdos.c.
src/msdos.c: Change encoding to cp850. (Bug#13879) (fr_keyboard, it_keyboard, dk_keyboard): Update keyboard layouts.
Diffstat (limited to 'src/msdos.c')
-rw-r--r--src/msdos.c27
1 files changed, 17 insertions, 10 deletions
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 */