Wait for a single key press at the 'R' prompt. This works in terminals, but does not currently work in the 'Windows' 'GUI', the 'macOS' 'GUI' ('R.app'), in 'Emacs' 'ESS', in an 'Emacs' shell buffer or in 'R Studio'. In these cases 'keypress' stops with an error message.
Read a single key press from the terminal
install.packages("keypress")
> has_keypress_support()
[1] TRUE
> x <- keypress()
> cat("You pressed key", x, "\n")
You pressed key h
This is unfortunately impossible to do in
stdin() is not a terminal.In other words, it pretty much only works interactively, in a terminal. The terminal can be pretty much any Linux, macOS, or other Unix terminal or Windows cmd (also called RTerm in R).
Note that not all keys are supported, in particular most of the modifiers (alt, shift, etc.) are not. Supported special keys are:
up, down, right, left. Available on most keyboards.f1 to f12. Available on most keyboards.enter, backspace, escape, tab.CONTROL key: ctrl-a, ctrl-b,
ctrl-c, ctrl-d, ctrl-e, ctrl-f, ctrl-h, ctrl-k, ctrl-l,
ctrl-n, ctrl-p, ctrl-t, ctrl-u, ctrl-w.home, end, insert,
delete, pageup, pagedown.MIT © Gábor Csárdi