summaryrefslogtreecommitdiff
path: root/src/msdos.c
diff options
context:
space:
mode:
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 */