在linux下捕获的不同鼠标事件比在windows下捕获,请参阅下面针对不同事件的小测试程序的输出。我用每个按钮点击一次。在Linux下,我收到按键代码,按键和释放。在Windows下我滚动滚轮时根本没有收到任何事件(很遗憾)。
Windows下是否有办法使用getGraphicsEvent()来捕获滚动事件?
myplot <- function(...) {
if (version$os == "linux-gnu")
x11(type="Xlib")
else
x11()
plot(...)
mouse <- function(buttons, x, y) {
cat("buttons:", buttons,"\n")
}
setGraphicsEventHandlers(onMouseDown = mouse, onMouseUp = mouse)
eventEnv <- getGraphicsEventEnv()
}
myplot(1:10)
getGraphicsEvent()
Linux的:
鼠标左键
按钮:0
按钮:0
鼠标右键
按钮:0 1
按钮:0 1
向上转动
按钮:2
按钮:2
向下转动
按钮:0 2
按钮:0 2
窗:
鼠标左键
按钮:0
按钮:
鼠标右键
按钮:2
按钮:
向上转动 没有事件
向下转动 没有事件