keyscan wanted

Victor Langeveld/Tjeerd Dijkstra medfys at wn2.sci.kun.nl
Mon Jun 5 18:36:37 AEST 1989


In article <1006 at twwells.uucp>, bill at twwells.uucp (T. William Wells)
writes:
> In article <475 at wn2.sci.kun.nl> medfys at wn2.sci.kun.nl (Victor Langeveld/Tjeerd Dijkstra) writes:
> : I am searching for a (small?) routine that informs me about a
> : possible pressed key. This routine should *not* wait for input,
> : but return immediately, wether succesfull or not.
> : Suggestions?
> 
> Yes. Tell us what hardware and OS you are talking about.
> 
> For example, this should be doable on my system, a '386 running
> Microport's Unix, by telling the driver to return scan codes and
> doing nonblocking reads. It's all in the relevant sections of the
> manual, under keyboard(7), open(2), and fcntl(2), and maybe a few
> other places I can't think of off hand.
> 
> But on your system, who knows? We certainly don't, since we don't
> know the system.
> 
> ---
> Bill                            { uunet | novavax } !twwells!bill

There is no need to know what hardware this should be working on.
Mr Charles Thayer (Thanks again, Charles!) gave me a perfect solution:

int key_pressed()
{
	int mask=1;
	struct timeval wait;

	wait.tv_sec=0;
	wait.tv_usec=0;
	return (select(1,&mask,0,0,&wait));
}

This can be used as e.g. if(!key_pressed) { do stuff} else { key
handling}. Works fine! (As is should (?) on any unix machine)


Victor Langeveld,                          |              |
Med.Phys. Dept.                            |  *empty*     |
University of Nijmegen.                    |              |
The Netherlands                            |              |



More information about the Comp.unix.questions mailing list