Added upstream from http://ftp.icm.edu.pl/pub/loglan/
[loglan.git] / sources / int / inkeydos.c
1 #include "graf\graf.h"\r
2 #include <dos.h>\r
3 \r
4 static union REGS r;\r
5 \r
6 int pascal inkey( dummy )\r
7    void *dummy;\r
8 {\r
9    r.h.ah = 0x01;\r
10    int86( 0x16, &r, &r);\r
11    if( r.x.ax == 0 )  return 0;\r
12    else\r
13    {\r
14       r.h.ah = 0x00;\r
15       int86( 0x16, &r, &r);\r
16       if( r.h.al != '\0' )\r
17          return (int)(unsigned char)( r.h.al );\r
18       else\r
19          if( r.h.ah & '\x80' )\r
20             return (int)( -r.h.ah );\r
21          else\r
22             return (int)(unsigned char)( r.h.ah );\r
23    }\r
24 }\r
25 \r