2017-08-06 1 views
0

Ich möchte die Daten von meiner USB-Maus mit meinem OS X Sierra, mit Javascript/angular js sammeln. Irgendeine Idee, wo ich die Eingänge finden kann?Daten von USB-Maus sammeln macintosh os x

Ich möchte die Bits Pakete erhalten. Genau, ich möchte dann Position, Geschwindigkeit usw. des Cursors berechnen.

+0

Was sind "die Daten", die Sie sammeln möchten? Kannst du ein Beispiel geben? – duskwuff

+0

Danke für deine Antwort. Ich möchte die Bits Pakete bekommen. Genau, ich möchte dann Position, Geschwindigkeit ect ... des Cursors berechnen. –

Antwort

0

Mit etwas Hilfe von https://www.w3schools.com/js/js_events_examples.asp (ernsthaft, das sollte alles haben, was Sie brauchen), können Sie eine Funktion erstellen, die die aktuelle Mausposition und Geschwindigkeit berechnet.

Das Ereignis, das Sie gesucht haben, wäre onmousemove. Versuchen Sie, dem Fensterobjekt diese Eigenschaft zu geben. Ihre Funktion sollte auch mit einem event-Objekt aufgerufen werden, das clientX- und clientY-Daten enthält, um die aktuelle Position der Maus zu verfolgen.

Natürlich müssen wir zur Berechnung der Mausgeschwindigkeit nur den Unterschied zwischen der letzten Position und der aktuellen Position kennen. So sollte diese Arbeit:

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; 
} 

Obwohl ich hören Sie genau hören wollen, was durch diesen USB-Port kommt, gut ich fürchte, es ist nicht gerade so einfach. Selbst wenn Javascript eine Art von Erweiterung hat, die das tun könnte, wird es keinen Spaß machen, mit den Hunderten von verschiedenen Schnittstellen umzugehen, die Mäuse verwenden, um mit Ihrem Computer zu sprechen. Treiber sind etwas da, um dies zu vereinfachen, dann vereinfacht das OS es weiter, und bis es zu Ihrem Javascript-Parser kommt, wäre es ziemlich einfach.

Ich eigentlich Low-Level-USB-Eingang auf C++ ein paar Jahre zurück zu erreichen (nur zum Spaß), aber ich konnte einfach nicht finden, was ich brauchte.

Ich werde eine direkte Lösung für Sie suchen, zusammen mit einer angularjs-Lösung (weil ich diese Antwort geschrieben habe, bevor ich angularjs getaggt habe), obwohl ich nicht sicher bin, ob es eine so niedrige Ebene gibt, wie Sie es wollen Sein.

+0

Danke für Ihre Antwort. Eigentlich möchte ich die Bits Pakete bekommen. Genau, ich möchte dann Position, Geschwindigkeit usw. des Cursors berechnen. Irgendwelche Hinweise ? –

+0

Oh. Sie können die Position des Cursors mit Javascript und die Bewegung des Cursors mit einigen Variablen erhalten. Ich wiederhole meine Antwort, aber ich glaube nicht, dass Sie genau auf das zugreifen können, was von Ihrem USB-Port kommt, es sei denn, Sie verwenden irgendeine Art von Java-Implementierung auf sehr niedriger Ebene. Ich werde es aber untersuchen. Programmieren Sie für einen JavaScript-Browser? Wenn ja, welcher. Welche Implementierung verwenden Sie sonst (oder wofür verwenden Sie Ihre Programme)? –

+0

Danke für Ihre Antwort. Es ist ein guter Anfang für mich. Es ist eigentlich eine Desktop-Anwendung. Was ich wirklich will, ist die Pakete aus dem USB kommen. Die Bits! So ist es kein Browser. Um mein Programm zu starten, benutze ich Elektronen. –