R:getGraphicsEvent在windows和linux下表现不同 - 尤其是鼠标滚动

时间:2014-02-28 17:29:01

标签: linux windows r graphics

在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

鼠标中键(滚轮)
按钮:1
按钮:1

鼠标右键
按钮:0 1
按钮:0 1

向上转动 按钮:2
按钮:2

向下转动 按钮:0 2
按钮:0 2

窗:

鼠标左键 按钮:0
按钮:

鼠标中键(滚轮)
按钮:1
按钮:

鼠标右键
按钮:2
按钮:

向上转动 没有事件

向下转动 没有事件

1 个答案:

答案 0 :(得分:0)

错误编码的按钮已在PR#16700中修复,以匹配Windows结果。