R:getGraphicsEvent在windows和linux下行为不同 – 特别是鼠标滚动

在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结果。