From: buers AT gmx DOT de (Dieter Buerssner) Newsgroups: comp.os.msdos.djgpp Subject: Re: bash 2.03 / german umlauts Date: 13 Mar 2000 16:53:21 GMT Lines: 42 Message-ID: <8aj6e1$3qe1t$1@fu-berlin.de> References: NNTP-Posting-Host: pec-45-40.tnt3.s2.uunet.de (149.225.45.40) Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: fu-berlin.de 952966401 4012093 149.225.45.40 (16 [17104]) X-Posting-Agent: Hamster/1.3.13.0 User-Agent: Xnews/03.02.04 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Eli Zaretskii wrote: >I see. Then I think I know what happens. The national keyboard support >works on the DOS level (it installs a TSR which hooks the DOS interrupt >and watches functions which read from the keyboard). In contrast, Bash >uses the termios functions which in their DJGPP implementation read the >keyboard through BIOS. Since the DJGPP implementation of termios >doesn't know about national keyboards, it simply doesn't know about >those special keys. I have not looked into the termios code. But is there a reason, that it uses the BIOS? Does it hook the keyboard interrupt directly? With the following program: #include #include int main(void) { unsigned int key; do { key = bioskey(0) & 0xff; printf("key 0x%2x: '%c'\n", key, key); } while (key != 'q'); return 0; } When I type either a-Umlaut ("a, ä for those who can read it), or Alt-132 I get key 0x84: '"a' So it seems, that national keyboard support is available at the BIOS level. In bash, there will be a beep in either case and no screen output. (And in gdb 4.18 as well)