Re: [R] Getting Keypressed State in rgl

From: Duncan Murdoch <murdoch_at_stats.uwo.ca>
Date: Fri, 29 Feb 2008 07:16:55 -0500

Dieter Menne wrote:
> Dear Rglers,
>
> when using a callback in rgl (Windows, if it matters)
>
> http://finzi.psych.upenn.edu/R/library/rgl/html/callbacks.html
>
> I would like to get the Asynchronous keyboard status (as least
> Shift/Control, but preferably other key) to set markers in a plot.
>
> getGraphicsEvents seems to be limited to normal graphics windows.
>
>
That's a general hardware problem, not really an rgl problem: you just want to query the keyboard. It definitely depends on the platform. Windows has GetKeyState, GetKeyboardState, and GetAsyncKeyState, each with slightly different behaviour. For example,

GetKeyState(VK_SHIFT);

will tell you if either shift key is down. There are also VK_LSHIFT and VK_RSHIFT constants to distinguish the two shift keys. Here's an inline version (untested):

isshifted <- cfunction(signature(result="integer"),

                       includes = "#include <windows.h>",
                       body = "result[0] = getKeyState(VK_SHIFT)",
                       convention = ".C")


Duncan Murdoch



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. Received on Fri 29 Feb 2008 - 18:28:41 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Fri 29 Feb 2008 - 18:30:17 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive