WearMouse, eine Luftmaus für Wear OS-Uhren

Hallo Habr! Ich möchte Sie auf ein wenig Magie für Uhren unter Wear OS aufmerksam machen.

Vor einiger Zeit, kurz vor der Veröffentlichung von Android 9.0, wurde eine neue öffentliche API eingeführt, mit der Sie Android-Geräte als Bluetooth-Eingabegeräte (Maus, Tastatur, Gamepad usw.) verwenden können. Jetzt habe ich eine einfache Anwendung erstellt, die dies demonstriert Eine Möglichkeit, diese API zu verwenden. (Spoiler: Das funktioniert nicht nur beim neunten Android.)

Anhand des Namens können Sie bereits erraten, was diese Anwendung tut: Tatsächlich handelt es sich um eine normale Luftmaus, die mit allen Geräten unter Windows, OSX, Linux (einschließlich Raspbian), Chrome OS und Android (einschließlich Android TV) kompatibel ist, sofern ein Bluetooth-Empfänger vorhanden ist. Weder Root-Rechte noch eine Server-Anwendung sind erforderlich.

Es reicht aus, die Anwendung zu starten, über Bluetooth zu koppeln, und Sie können:

  • Verwenden Sie die Uhr als intuitiven Zeiger für Präsentationen (sowie zum Wechseln der Folien mit den Cursortasten).
  • Spielen Sie Fruit Ninja und winken Sie mit den Armen (z. B. Installieren des Spiels auf Android TV von einem USB-Stick oder auf einem Chromebook aus dem Play Store). Weitere Informationen finden Sie in der folgenden Demo.
  • Verwalten Sie HTPC, während Sie auf der Couch liegen.
  • Verwenden Sie die Uhr als VR-Controller in einigen Spielen für Cardboard (jedoch nicht für Daydream: Sie verfügt über eine eigene Fernbedienung).
  • Zeigen Sie Freunden Ihre telekinetischen Fähigkeiten. :) :)
  • Verwalten eines über Samsung Dex verbundenen Telefons;

Sie können sich ungefähr vorstellen, wie es in diesem Video aussieht (Demonstration eines frühen Prototyps von Ende 2015):



Wie man es benutzt


Die Anwendung verfügt über vier Modi: Luftmaus, Touchpad, Pfeiltasten und Texteingabe.

Der Air-Mouse-Modus ist selbstverständlich. Es verfügt über zwei Bildschirmtasten für Links- und Rechtsklick, einen Verschluss oben zum Umschalten des Bewegungsverfolgungsmodus, je nachdem, auf welchem ​​Zeiger sich die Uhr befindet (es gibt auch einen Modus, in dem Sie die Uhr wie einen Laserpointer in der Hand halten können) und einen Verschluss von unten Für zusätzliche Funktionen: Hold-Click (auch als „Fruit Ninja-Modus“ bezeichnet) und Middle-Click. Wenn Ihre Uhr eine sich drehende Krone hat, können Sie damit scrollen. Der Mauszeiger sollte auf den Bildschirm zeigen, den Sie steuern.

Der Touchpad-Modus unterstützt alle üblichen Gesten: Bewegen des Zeigers, Klicken, Doppelklicken, Tippen mit Halten, Tippen mit zwei Fingern für einen Rechtsklick, Scrollen mit zwei Fingern. Um diesen Modus zu verlassen, können Sie den Bildschirm mit Ihrer Handfläche abdecken oder eine zusätzliche Taste auf der Uhr drücken (wenn die Uhr mehr als eine Taste hat).

Der Cursortastenmodus ist recht einfach: Tippen Sie auf die Ränder des Bildschirms, drücken Sie die entsprechenden Tasten, tippen Sie zweimal auf die Mitte, drücken Sie die Eingabetaste, ein langer Druck auf die Mitte wird zum Beenden verwendet, und es gibt Wischbewegungen von der Mitte für Escape, Backspace, Space und Tab.

Schließlich können Sie im Texteingabemodus entweder die Bildschirmtastatur oder die Spracheingabe verwenden. Es ist zu beachten, dass der auf dem angeschlossenen Gerät eingegebene Text vom Tastaturlayout abhängt. Leider wird bisher nur das englische Layout unterstützt (man könnte weitere hinzufügen, dies würde jedoch ein manuelles Umschalten sowohl in der Anwendung als auch auf dem angeschlossenen Gerät erfordern).

Wenn Ihre Uhr mehr als eine Taste hat, kann die zweite verwendet werden, um schnell zwischen den Eingabemodi zu wechseln, und die dritte kann verwendet werden, um den Texteingabemodus schnell aufzurufen.

Es gibt auch einige Einstellungen. Sie können die Cursorbewegungen stabilisieren (dies glättet kleine Bewegungen wie Händeschütteln), die diagonalen Richtungen für die Cursortasten aktivieren (dies ist in denselben Spielen für Cardboard nützlich) oder die Häufigkeit der Datenübertragung verringern (was bei Verwendung der Anwendung mit einigen alten Android TV-Konsolen hilfreich sein kann) siebter Android, wenn der Mauszeiger nicht mit den Handbewegungen Schritt hält).

Ein bisschen über Kompatibilität


Wie oben erwähnt, ist die API in Android 9.0 öffentlich geworden. Die Anwendung funktioniert jedoch auch auf jeder Uhr mit Android 8.0. Das heißt, wenn beim Neustart der Uhr nach dem Springen farbiger Punkte ein großes farbiges „W“ und „Wear OS by Google“ anstelle von „Android Wear“ angezeigt wird, sollte alles funktionieren. Die API selbst erschien in Android Oreo und war etwas anders (und auch versteckt), aber vor Android Pie war sie nur auf der Uhr aktiviert. Übrigens gibt es eine Möglichkeit, es auf Telefonen mit acht zu aktivieren, dies erfordert jedoch Root-Rechte (bei den neun funktioniert alles auf diese Weise).

Mögliche Probleme und Lösungen


Wenn sich der Mauszeiger beim Anschließen ungefähr einmal pro Sekunde ruckartig bewegt, versuchen Sie, den Flugzeugmodus ein- und auszuschalten und dann die Verbindung wiederherzustellen. Es sieht so aus, als ob im Bluetooth-Stack ein schwebender Energieverwaltungsfehler vorliegt ...

Um die Empfindlichkeit anzupassen, gehen Sie zu den Einstellungen des angeschlossenen Geräts, nicht der Anwendung.

Wenn Sie die Anwendung mit einem an das Fernsehgerät angeschlossenen Gerät verwenden, sollten Sie das Fernsehgerät in den Spielemodus schalten. Dies sollte die Nachbearbeitung deaktivieren, was bei modernen Fernsehgeräten zu sehr großen Verzögerungen führt.

Es ist auch sinnvoll, die Gestensteuerung in den Uhreinstellungen zu deaktivieren, wenn Sie den Luftmausmodus verwenden. Andernfalls ist es sehr wahrscheinlich, dass versehentlich eine "Zurück" - oder "Heim" -Geste ausgeführt wird.

Links herunterladen


Play Store (versuchen Sie nicht, diesen Link von Ihrem Telefon aus zu öffnen, und erhalten Sie die Meldung "Das Gerät ist nicht kompatibel". Öffnen Sie entweder den Link auf dem Computer oder suchen Sie die Anwendung im Play Store auf der Uhr selbst.)

Quellcode (fast alle, außer Oreo-Unterstützung).

Source: https://habr.com/ru/post/de440802/


All Articles