TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Chris Mcbrien
from: Vitus Jensen
date: 1994-07-28 21:14:26
subject: 32-bit Input

Chris Mcbrien wrote in a message to All:

 CM> I know that IBM would like us all to leave behind the 16-bit
 CM> APIs infavour of the new 32 enviroment.  And that, in that
 CM> spirit, we are no longer supposed to be using functions such
 CM> as KBD* and VIO*, for user I/O.

Hopefully some functions will make it to Workplace OS.

 CM> I would like to write a full-screen/windowed text
 CM> application.  And I would like to use the all 32-bit APIs. 
 CM> So I have opened the keyboard with  DosOpen("KBD" [etc]);

I used "KBD$" for a test.

 CM> However, I'm not sure how usefull this is going to be.  I
 CM> know that I should get user input useing 
 CM>         DosRead();
 CM> With the HFILE returned from the function above.

 CM> However, how do I retrieve just one character?  For example,
 CM> is the simple situation of "Press any key to continue".

Check your documentation of DosDevIOCtl. Category 4, Function 0x74 and 0x75
work find here.

 CM> The DosRead function on the Keyboard device, won't return
 CM> until it encounters a newline character!

There should be an IOCtl which switches keyboard to 'raw' mode (as we are
used to use from UNIX) but I haven't found it yet :-(.

Another idea: use your compiler library. In C++ Set there are still
functions like getch, kbhit, etc.


Enough ideas?
           Vitus

--- timEd/2 1.00


* Origin: Seems to be a Point of BetaBox Walheim (2:2474/100.20)
SEEN-BY: 12/2442 54/54 620/243 624/50 632/348 640/820 690/660 711/409 413 430
SEEN-BY: 711/807 808 809 934 942 712/353 623 713/888 800/1
@PATH: 2474/100 0 2476/2 2480/76 24/24 396/1 3615/50 229/2
@PATH: 12/2442 711/409 54/54 711/808 809 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.