Freigeben über


Eingabeberichte für radiale Windows-Controller

In diesem Thema wird der HID-Eingabebericht beschrieben, der für die haptische Rückmeldung des radialen Controllers in Windows 10, Version 1607 und späteren Betriebssystemen verwendet wird.

Der Host verwendet beim Extrahieren von Daten aus einem Eingabebericht die folgenden Verwendungen:

Member BESCHREIBUNG Seite ID Obligatorisch/Optional
Schaltfläche Zustand der Taste auf dem Radial-Controller 0x09 0x01 Obligatorisch.
Dial Relative Drehung des radialen Controllers 0x01 0x37 Obligatorisch.
X X-Koordinate der Kontaktposition 0x01 0x30 Optional
J Y-Koordinate der Kontaktposition 0x01 0x31 Optional
Width Breite des Begrenzungsrahmens um einen Kontakt 0x0D 0x48 Optional
Height Höhe des Begrenzungsrahmens um einen Kontak. 0x0D 0x49 Optional

Obligatorische und von Windows unterstützte optionale Verwendungen

Jedes Gerät, das nicht alle obligatorischen Verwendungen meldet, funktioniert nicht als radialer Windows-Controller. Die obligatorischen Verwendungen werden vom Windows-Host streng erzwungen. Wenn ein logischer Maximalwert nicht eingeschränkt wurde, kann er optimiert werden, um die Deskriptorgröße zu verringern.

Die folgenden Abschnitte enthalten weitere Details zu den obligatorischen und den von Windows unterstützten optionalen Verwendungen, die in der obigen Tabelle dargestellt wurden.

Schaltfläche

Wird verwendet, um anzuzeigen, wenn die primäre Taste auf dem radialen Controller-Gerät gedrückt wird. Dies wird durch ein Hauptelement mit einer Berichtgröße von 1 Bit angegeben. Beim Liefern eines Eingabeberichts sollte das Bit gesetzt werden, wenn diese Taste gedrückt wird, und gelöscht werden, wenn die Taste losgelassen wird.

Dial

Wird verwendet, um die Drehung des Radialreglers im Uhrzeigersinn um seine eigene Hauptachse anzuzeigen. Bei der Bereitstellung eines Eingabeberichts sollte der gemeldete Wert die Größe der Drehung relativ zum vorherigen Bericht sein. Dieser Wert ist positiv, wenn der Radial-Controller im Uhrzeigersinn gedreht wird, und negativ, wenn der Radial-Controller gegen den Uhrzeigersinn gedreht wird.

Der physische Bereich und der logische Bereich müssen spezifiziert werden. Für den physikalischen Bereich können Grad oder Bogenmaß verwendet werden. In jedem Fall muss der logische Bereich groß genug sein, um Werte zu melden, die auf mindestens eine Dezimalstelle genau sind.

X/Y

X und Y zeigen die Koordinaten des Kontakts eines radialen Controllers auf dem Bildschirm an. Diese Koordinate repräsentiert den Mittelpunkt des Kontakts relativ zur Anzeige.

Geräte, die X und Y melden, müssen auch eine Breiten- oder Höhennutzung melden. Der Host verwendet die gemeldeten Koordinaten, um das Begrenzungsrechteck um den Kontakt zu erstellen.

Die folgenden globalen Elemente müssen für die X- und Y-Verwendungen angegeben werden:

  • Logisches Minimum
  • Logisches Maximum
  • Physisches Minimum
  • Physisches Maximum
  • Einheit
  • Exponent der Einheit

Der physische Bereich des Geräts und die Einheiten müssen genau gemeldet werden. Wenn die Informationen ungenau sind, funktioniert das Gerät nicht ordnungsgemäß. Geräte müssen Daten auch innerhalb des logischen Bereichs melden, der im Berichtdeskriptor angegeben ist.

X und Y können dem System einen NULL-Wert bereitstellen, was bedeutet, dass das Gerät derzeit keine Position relativ zu einer Anzeige hat, indem sie einen Wert außerhalb des gemeldeten logischen Bereichs bereitstellen und dem Eingabebericht der Verwendung Null-Unterstützung hinzufügen (Bit 6 {No Null Position (0) | Nullzustand (1)}).

Breite und Höhe

Die Breiten- und Höhenverwendungen stellen die Breite und Höhe des Begrenzungsrahmens um den radialen Controller-Kontakt dar. Die Breite und Höhe sollten als Konstanten im Berichtsdeskriptor definiert werden.

Das System geht davon aus, dass ein radiales Windows-Controller-Gerät kreisförmig ist. Aus diesem Grund ist es nicht erforderlich, sowohl die Breite als auch die Höhe für einen Bildschirmkontakt zu melden. Wenn entweder Höhe oder Breite unterstützt werden, werden die Grenzen des Kontakts vom System korrekt interpretiert. Windows bietet keine Unterstützung für radiale Controller-Geräte mit unterschiedlichen Werten für Breite und Höhe.