[comp.windows.misc] MS-Windows key codes

golds@rlgvax.UUCP (Rich Goldschmidt) (08/20/88)

We have an application we are trying to port to MS-Windows. In the 
current application (a terminal emulator), we make full use of 
the Enhanced AT keyboard, by using what would normally be 
equivalent keys (such as enter on the numeric keypad, and enter 
on the alphabetic keypad) in different ways. In the current 
emulator, we do this by replacing the standard keyboard interrupt 
routine with our own routine. In our routine, we basically map the 
(two byte) 0xE0 <scan code> type scan codes (which represent keys 
not found on the 84-key keyboard) into unused (one byte) scan codes.
         
In evaluating MS-Windows, we thought that the keyboard trapping 
would give us the same functionality. After using the product, we 
found that although it is possible to trap all keys which the 
84-key keyboard can produce, it is impossible to distinguish 
between those keys and the ones added to the 101 keyboard. All the
codes it returns are single byte.
         
My first question is, am I missing something in MS-Windows? Is 
there a way to actually get either a) unique scan codes for all 
the physical keys, or b) get all the codes sent by the keyboard 
(including the 0xE0 prefix).
         
If not, my next thought on how to solve this problem is to write a 
device driver for the keyboard, which would do basically the same 
thing that our original keyboard interrupt routine did, i.e. map 
the 0xE0 <scan code> type codes into unused scan codes.
         
Unfortunately, I don't know what MS-Windows will do with these 
'extra' scan codes. If we use the routines provided, will we get 
these 'extra' scan codes, or will MS-Windows toss them away, as it 
does the 0xE0 code?

I would really appreciate it if anyone with helpful suggestions
could send email to two of us here (I may not get it before I go
on vacation).  

Thanks...

uunet!rlgvax!golds
uunet!rlgvax!jesse

alternate paths:
from the west coast  sun!sundc!rlgvax!golds
from the arpanet     rlgvax!golds@uunet.uu.net