HTML5 / Javascript - Ist es möglich, die absoluten Koordinaten eines Berührungsereignisses auf einem Macbook Trackpad im Browser zu erhalten?

8

Ich möchte etwas in den Browser schreiben, der Gesten auf dem Trackpad aufzeichnet.

Da ich in der Lage sein wollte, alle Bewegungen zu verfolgen, ohne mich darum sorgen zu müssen, dass der Zeiger das Fenster verlässt, habe ich zuerst dieses Problem untersucht und die MDN Pointer Lock API-Demo als Ausgangspunkt.

Aber ich bemerke, wenn ich diese Demo auf einem MacBook benutze, wenn ich meinen Finger anhebe und einen neuen Zug irgendwo auf dem Trackpad starte, ignoriert er die Entfernung, die mein Finger in der Luft zurückgelegt hat, zählt nur die Bewegung, während mein Finger ist Berühren des Trackpads. Dies entspricht der Art und Weise, wie das Trackpad verwendet wird, um den Mauszeiger im Betriebssystem im Allgemeinen zu bewegen.

Aber für meine spezielle Anwendung möchte ich das absolute x und y meines Fingers auf dem Trackpad haben. Wäre es möglich, eine Variante des oben verlinkten Demos zu erstellen, bei der der rote Punkt der absoluten Position Ihres Fingers entspricht? Wenn Sie beispielsweise Ihren Finger heben und dann oben links ablegen, springt der rote Punkt immer nach links oben auf der Leinwand.

Ich kenne die JavaScript Touch Events-API , die absolute Koordinaten angibt wenn es auf einem Tablet verwendet wird, aber die Demo tut dies Registrieren Sie keine Trackpad-Eingaben, wenn Sie auf dem MacBook unter Firefox (v36) oder Chrome (v41) ausgeführt werden.

Ich habe auch gelesen, dass es möglich ist, die Touch-Emulation in Chrome zu aktivieren, obwohl ich das Kontrollkästchen unter meiner Version nicht finden konnte (vielleicht haben nur spezielle Entwickler-Builds das) und davon zu lesen, scheint es mehr zu sein von einer Maus-to-Touch-Übersetzung, so dass ich bezweifle, dass diese Emulation spezifische Unterstützung für Trackpads hätte.

Gibt es eine Möglichkeit, die absoluten XY-Koordinaten eines Berührungsereignisses auf einem MacBook-Trackpad über HTML / Javascript zu erhalten?

    
uglycoyote 01.04.2015, 06:51
quelle

1 Antwort

0

Ich glaube wirklich nicht, dass Sie das Trackpad so bedienen können, wie Sie es wollen. Denken Sie daran, das Trackpad soll wie eine Maus funktionieren, es ist wie ein abgeflachter Trackball. Stellen Sie sich das so vor, als ob Ihr Finger den Cursor bei jedem Streichen mit dem Finger umschreibt und den Cursor dann unter dem Finger zentriert, wenn Sie auf das Trackpad drücken.

Sofern Sie nicht in der Lage waren, das Trackpad 1: 1 auf dem Bildschirm abzubilden, wie es etwa bei einem Wacom-Tablet der Fall ist, hat das Trackpad keine Korrelation mit dem Bildschirm; es weiß nur über die Maus.

In Chrome (Version Version 46.0.2490.71 m) können Sie Touch-Ereignisse simulieren, indem Sie sie im Emulationsmodus aktivieren:

  1. Öffnen Sie Dev Tools F12
  2. Klicken Sie entweder auf das Telefonsymbol oben links oder öffnen Sie die bessere Konsole, indem Sie Esc drücken
  3. Klicken Sie auf die Registerkarte "Emulation"
  4. Gehen Sie zum Panel Sensors
  5. Überprüfen Sie Emulate touch screen

    
zero298 22.10.2015 20:23
quelle

Tags und Links