在Linux下,不同的鼠标事件被捕获比在Windows下,请参阅下面的小testing程序的输出为不同的事件。 我点击每个button一次。 在Linux下,我收到一个button代码,键入和释放。 在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的:
鼠标左键
button:0
button:0
鼠标中键(轮子)
button:1
button:1
鼠标右键
button:0 1
button:0 1
转起来
button:2
button:2
轮下来
button:0 2
button:0 2
视窗:
鼠标左键
button:0
纽扣:
鼠标中键(轮子)
button:1
纽扣:
鼠标右键
button:2
纽扣:
转起来
没有事件
轮下来
没有事件
编码错误的按钮已在PR#16700中修复,以匹配Windows结果。