[R] Wait for keystroke or timeout

biostatmatt biostatmatt at gmail.com
Fri May 28 02:38:20 CEST 2010

On Thu, 2010-05-27 at 19:08 -0400, Prof. John C Nash wrote:
> I would like to have a function that would wait either until a specified timeout (in
> seconds preferably) or until a key is pressed. I've found such a function quite useful in
> other programming environments in setting up dialogs with users or displaying results,
> rather like a timed slideshow that can be speeded up by hitting a key.
> Searching R-seek has led to wait() in the package 'audio', but when I try, for example,
>     joe<-wait(readline("hit a key to continue"), timeout=6)
> I am forced to wait the full timeout.
> Probably someone has done this before and I'm just not using the right search terms.
> Suggestions welcome.
> Thanks in advance.
> JN
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.


What operating system do you use? I don't know of an existing solution
to this problem (although someone else might). However, I recently
participated in a discussion on the r-devel list (cc'd) here


about implementing a POSIX (Linux/Mac OSX) TTY (terminal) connection for
R to interface with a serial port. However, I am certain that a tty
connection for R could provide the functionality you are looking for, on
POSIX systems.

P.S. Maybe Simon (from the above discussion) has the right idea, that a
tty connection should exploit the full POSIX terminal API, then input
issues like this would have easy solutions... 

P.P.S The Win32 serial communications API
also provides a "wait or event" blocking mechanism.


More information about the R-help mailing list