2017-08-06 47 views
0

我想從我的usb鼠標與我的OS X Sierra,與JavaScript /角js收集數據。 任何想法,我可以找到輸入?從usb鼠標收集數據macintosh os x

我想獲取包數據包。準確地說,我想然後計算光標的位置,速度等。

+0

什麼是您試圖收集的「數據」?你能給個例子嗎? – duskwuff

+0

感謝您的回答。我想獲取包數據包。 準確地說,我想然後計算光標的位置,速度等。 –

回答

0

https://www.w3schools.com/js/js_events_examples.asp的幫助下(認真的說,這應該有你需要的一切),你可以創建一個函數來計算當前的鼠標位置和速度。

您可能一直在尋找的事件將是onmousemove。嘗試給窗口對象的屬性。你的函數應該用一個包含clientX和clientY數據的事件對象來調用,用它來跟蹤鼠標的當前位置。

當然,要計算鼠標速度,我們只需要知道它所處的最後一個位置和當前位置之間的差異。所以這應該工作:

var Mx = 0; // Mouse X position 
var My = 0; // Mouse Y position 
var lastSpeedx = 0; // Last movement by mouse on x axis 
var lastSpeedy = 0; // Last movement by mouse on y axis 
window.onmousemove = function (e) { 
    lastSpeedx = e.clientX - Mx; lastSpeedy = e.clientY - My; 
    Mx = e.clientX; My = e.clientY; 
} 

雖然我聽到你想聽到什麼來通過USB端口,以及恐怕不完全是那麼簡單。即使JavaScript有某種擴展可能會這樣做,處理鼠標用來與計算機通信的數百種不同接口也不會很有趣。驅動程序在某種程度上可以簡化這一點,然後操作系統進一步簡化它,當它到達JavaScript解析器時,它將會非常基本。

我實際上是在C++上幾年前完成低水平的USB輸入(僅僅爲了好玩),但我無法找到我需要的東西。

我會考慮一個直接的解決方案,以及一個angularjs解決方案(因爲我在看到angularjs標記之前寫了這個答案),儘管我不確定是否有一個低級別的你想要它是。

+0

感謝您的回答。實際上我想獲取包數據包。準確地說,我想然後計算光標的位置,速度等。任何線索? –

+0

哦。您可以使用javascript獲取遊標的位置,並使用某些變量來移動遊標。我會重做我的答案,但我不認爲你將能夠訪問你的USB端口,除非你使用某種超低級別的JavaScript實現。我會研究它。你是爲JavaScript瀏覽器編程嗎?如果是這樣的話。否則,你在使用什麼實現(或者你用什麼來運行你的程序)? –

+0

感謝您的回答。對我來說這是一個好的開始。它實際上是一個桌面應用程序。 我真正想要的是來自USB的數據包。位! 所以它不是一個瀏覽器。運行我的程序我使用電子。 –