silvert@dalcs.UUCP (Bill Silvert) (01/31/89)
I would appreciate help with reading a single character from the keyboard. I can do this with N. American keyboards, but on the German keyboard the Y and Z are interchanged and I get the wrong value. Here is the subroutine I use (I don't actually use a PC, so this may be a poorly coded routine -- be understanding!) -- this is for MASM: .CODE PUBLIC Getkey Getkey PROC push bp mov bp,sp les bx,[bp+6] ; load address of argument into BX and ES mov ah,01h ; function 1 int 21h ; the byte returned is in AL mov es:[bx],al ; copy contents of AL to argument pop bp ret 4 ; 4-byte address on stack Getkey ENDP END Obviously function 1 is not the one I want, but the documentation I've seen isn't very clear about how to use the keyboard mapping. Since I don't have access to a German PC, I can't do any experimenting and would like a tested solution (this is for use in an ecological simulation package which is used worldwide, and I've gotten reports of this problem from Germany -- it is a non-commercial package, we don't sell it, so please no flames). -- Bill Silvert, Habitat Ecology Division. Bedford Institute of Oceanography, Dartmouth, NS, Canada B2Y 4A2 UUCP: ...!{uunet,utai,watmath}!dalcs!biomel!bill CDN: biomel@cs.dal.CDN BITNET: bs%dalcs@dalac.BITNET