This is the mail archive of the
cygwin@sourceware.cygnus.com
mailing list for the Cygwin project.
Keyboard I/O question
- To: gnu-win32 at cygnus dot com
- Subject: Keyboard I/O question
- From: Mark Levine <dynasens at tiac dot net>
- Date: Sat, 19 Jul 1997 15:09:00 -0400
I am able to run the following code segment to detect when a key is
pressed. This function seems to return a 0 if a key is not pressed with
the time period, and a 1 if a key is pressed.
What I cant seem to get working is to how to figure out which key was pressed.
Calling getc when a 1 is returned by the code segment below does not return
the key that was press. It waits for another key which is not what I want
to do.
I am looking for a way to read a key, but only if a key has been pressed.
If no key has been pressed I do not want to wait for one.
Can anyone offer any tips?
Thank you in advance.
#include <sys/socket.h>
#include <sys/time.h>
int kbhit()
{
FD_SET rfds;
struct timeval tv;
FD_ZERO(&rfds);
FD_SET(0, &rfds);
tv.tv_sec = 0;
tv.tv_usec = 0;
select(1, &rfds, 0, 0, &tv);
return(FD_ISSET(0, &rfds);
}
************************************************************************
* *
* Visit Our Web Page at: *
* http://www.tiac.net/users/dynasens *
* *
*----------------------------------------------------------------------*
* | *
* Mark Levine | EMAIL: dynasens@tiac.net *
* DynaSense Consulting Services | *
* Framingham, MA 01701 | *
* | *
************************************************************************
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".