Xref: utzoo comp.sys.ibm.pc.hardware:1515 comp.windows.ms:5268 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!rpi!julius.cs.uiuc.edu!apple!agate!linus!linus!mwunix.mitre.org!jcmorris From: jcmorris@mwunix.mitre.org (Joe Morris) Newsgroups: comp.sys.ibm.pc.hardware,comp.windows.ms Subject: Re: Upgraded to enhanced keyboard and windows bombs out Message-ID: <120172@linus.mitre.org> Date: 14 Sep 90 19:38:27 GMT References: <29561@netnews.upenn.edu> Sender: usenet@linus.mitre.org Reply-To: jcmorris@mwunix.mitre.org (Joe Morris) Followup-To: comp.sys.ibm.pc.hardware Organization: The Mitre Corporation Lines: 46 In a recent article chaim@eniac.seas.upenn.edu (Dr. Chaim Dworkin) writes: > When I bought the BIOS (Phoenix ver 3.07) >the manufacturer told me that the new BIOS supports the enhanced keyboard >if I ever wanted to get one. > For >example in Ami Pro, my wordprocessor, the inverted T cursor keys give me >numbers on the screen instead of moving the cursor and the extra keys >labeled HOME, END, PgUp, PgDn, Ins, Del don't work. However all those keys >work just fine when I used the keypad. Also sometimes no matter what I do >all I get are shifted keys. These problems didn't exist with the old keyboard. I have the same problem with a true-blue IBM AT; the problem is that its BIOS never heard of the 101-key keyboard and hasn't the faintest idea what to do with the scancode sequences it is receiving. Common symptoms are the inverted- T cursor keys generating the digits from the corresponding keys on the numeric keypad. Also, the right-side ALT and CTRL keys are locking: hit the right CTRL key and some alpha characters produces the control-char string as output; hit and release the *left* CTRL key and you're back to normal. Other interesting problems can and do appear. I fixed "most" of the problems by putting a call to the 'fixshift' program in AUTOEXEC.BAT. (The program came with Microsoft C 5.1 and if I recall was required for certain clones.) There are still problems, but I've found that if I have a keyboard-sensitive program which works on my mongrel AT then users aren't likely to have problems on a properly configured machine. The old keyboards always sent one scan code when any key was pressed (maybe repeating it if the key is held down), and sent the same scan code plus hex 80 when the key was released. For a variety of reasons (primarily to preserve upward compatibility for programs which look at scan codes) the 101-key keyboards send the scan codes of the keys which *would have been pressed* on the old keyboard to provide the same function. For example, if you're not in NumLock mode and hit the new uparrow key the keyboard sends scan codes for left shift down (to invert the NumLock logic), keypad 8 (shared with uparrow) down, keypad 8 up, and left shift up. The fun comes because the keyboard also sends a scan code of hex e0 to identify the true key which you pressed. Many of the old BIOS routines don't do bounds checks in their scan code lookup routines and get very confused. Anyway, it sounds like your BIOS is unable to handle the new keyboard. Go back to the vendor and conduct some primal scream therapy at whoever sold you the upgrade. Good luck...