# HG changeset patch # User Richard M. Stallman # Date 851652682 0 # Node ID e4f0f7fe8304826fd2fb20f50e98c4bfd819106f # Parent 9b9acdb0e3d72a58ffc6624a42949de9fa22b31a (dos_set_keyboard): Test whether KEYB.COM is installed for international keyboard support. (dos_get_modifiers): If international keyboard support is NOT required, make both Right and Left Alt key behave like Meta key. diff -r 9b9acdb0e3d7 -r e4f0f7fe8304 src/msdos.c --- a/src/msdos.c Fri Dec 27 02:06:41 1996 +0000 +++ b/src/msdos.c Fri Dec 27 02:11:22 1996 +0000 @@ -1137,6 +1137,7 @@ static struct dos_keyboard_map *keyboard; static int keyboard_map_all; +static int international_keyboard; int dos_set_keyboard (code, always) @@ -1144,6 +1145,13 @@ int always; { int i; + union REGS regs; + + /* See if Keyb.Com is installed (for international keyboard support). */ + regs.x.ax = 0xad80; + int86 (0x2f, ®s, ®s); + if (regs.h.al == 0xff) + international_keyboard = 1; /* Initialize to US settings, for countries that don't have their own. */ keyboard = keyboard_layout_list[0].keyboard_map; @@ -1451,6 +1459,13 @@ mask |= SUPER_P; modifiers |= super_modifier; } + else if (!international_keyboard) + { + /* If Keyb.Com is NOT installed, let Right Alt behave + like the Left Alt. */ + mask &= ~ALT_GR_P; + mask |= ALT_P; + } } if (regs.h.ah & 1) /* Left CTRL pressed ? */