2014-02-28 18 views
3

在linux下,不同的鼠標事件被捕獲而不是在windows下,查看下面的小測試程序的輸出以查看不同的事件。我點擊每個按鈕一次。在Linux下,我收到一個按鍵代碼,按鍵和釋放。在Windows下,當滾動滾輪時,我根本沒有收到任何事件(這很遺憾)。R:getGraphicsEvent在windows和linux下的行爲不同 - 尤其是鼠標滾動

有沒有辦法在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

Windows:

個鼠標左鍵
按鈕:0
按鈕:

鼠標中鍵(車輪)
按鈕:1個
按鈕:

鼠標右鍵
按鈕:2個
按鈕:

輪起
沒有事件

輪下來
任何情況下

回答

0

的編碼錯誤按鈕已被固定在PR#16700匹配的Windows結果。