Date: Thu, 5 Jun 1997 12:24:58 +0200 (METDST) From: Robert Hoehne To: DJGPP workers Subject: Patch for get(x)key Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Precedence: bulk After a bugreport for RHIDE I found that also the getkey() and getxkey() functions are buggy. They do not report the correct value for the character with the code 224(0xe0). That means, any program that uses that functions, cannot use that character (to type it in use the Alt + numpad code technique). I don't know what programs all affected by this but it is at least also bash. BTW: The ASCII 224 is the greek alpha. Here are now the patches for both functions: *** src/libc/pc_hw/kb/getkey.c~ Sun Feb 26 20:53:34 1995 --- src/libc/pc_hw/kb/getkey.c Wed Jun 4 14:47:12 1997 *************** *** 9,15 **** r.h.ah = 0x10; __dpmi_int(0x16, &r); ! if (r.h.al == 0x00 || r.h.al == 0xe0) return 0x0100 | r.h.ah; return r.h.al; } --- 9,15 ---- r.h.ah = 0x10; __dpmi_int(0x16, &r); ! if (r.h.al == 0x00 || (r.h.al == 0xe0 && r.h.ah != 0)) return 0x0100 | r.h.ah; return r.h.al; } *** src/libc/pc_hw/kb/getxkey.c~ Sun Feb 26 20:49:04 1995 --- src/libc/pc_hw/kb/getxkey.c Wed Jun 4 14:47:30 1997 *************** *** 11,17 **** if (r.h.al == 0x00) return 0x0100 | r.h.ah; ! if (r.h.al == 0xe0) return 0x0200 | r.h.ah; return r.h.al; } --- 11,17 ---- if (r.h.al == 0x00) return 0x0100 | r.h.ah; ! if (r.h.al == 0xe0 && r.h.ah != 0) return 0x0200 | r.h.ah; return r.h.al; }