Verwendungen von Tasten auf Berichtsebene (touchpad-buttons-report-level-usages)
In diesem Thema werden die Verwendungen von Schaltflächen auf Berichtsebene im Kontext der Sammlung für ein Windows-Präzisionstouchpad erläutert.
Diese Tabelle enthält alle obligatorischen Verwendungen, die in allen Eingabemeldungen von Windows-Präzisionstouchpads enthalten sein müssen. Die Tabelle enthält die Verwendungen für die Tasten 1, 2 und 3.
Member | BESCHREIBUNG | Seite | ID | Obligatorisch/Optional |
---|---|---|---|---|
Berichts-ID | Melde-ID für ein Windows-Präzisionstouchpad | 0x0D | 0x05 | Obligatorisch. |
Überprüfungszeit | Relative Scanzeit. | 0x0D | 0x56 | Optional |
Kontaktanzahl | Gesamtanzahl der Kontakte in einer Meldung | 0x0D | 0x54 | Obligatorisch. |
Taste 1 | Gibt den Status einer Touchpadtaste an, die im Digitalisierer integriert ist. | 0x09 | 0x01 | Optional |
Taste 2 | Gibt den Status einer externen Taste für die primäre Tastenfunktion an (standardmäßig Linksklick). | 0x09 | 0x02 | Optional |
Taste 3 | Gibt den Status einer externen Taste für die sekundäre Tastenfunktion an (standardmäßig Rechtsklick). | 0x09 | 0x03 | Optional |
In den folgenden Abschnitten finden Sie Informationen zu den Verwendungen für Tasten. Informationen zu den anderen Membern (z. B. Melde-ID) finden Sie in der Sammlung für Windows-Präzisionstouchpads.
Taste 1
Der Schalter „Taste 1“ gibt den Status (unten/oben) der Taste auf dem Windows-Präzisionstouchpad unter dem Digitalisierer an. Unabhängig von der Implementierung des Tastentyps (Druck oder Mechanik) sollte bei Einwirken der erforderlichen Aktivierungskraft auf eine Taste der Zustand „gedrückt“ (unten) durch Festlegen des Tastenbits gemeldet werden. Wenn die auf die Taste angewandte Aktivierungskraft unter den erforderlichen Schwellenwert fällt, sollte der Status „nicht gedrückt“ (oben) durch Löschen des Tastenbits gemeldet werden.
Im Beispiel in der vorherigen Abbildung wird davon ausgegangen, dass ein Kontakt auf einem Windows-Präzisionstouchpad mit ausreichender Aktivierungskraft platziert wird, um eine Aktivierung der Taste auszulösen. Zu einem späteren Zeitpunkt wird die Aktivierungskraft dann soweit reduziert, dass das Loslassen der Taste simuliert wird, obwohl weiterhin ein Kontakt mit der Oberfläche besteht. Dies würde gemeldet wie in der folgenden Tabelle beschrieben.
Bericht | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
---|---|---|---|---|---|---|---|---|---|---|---|
Kontaktanzahl | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Taste | 1 | 1 | 1 | 1 | 1 | 0 | NR | NR | NR | NR | NR |
Kontakt 2: Spitzenschalter | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
Kontakt 2: X, Y | X₁, Y₁ | X₂, Y₂ | X₃, Y₃ | X₄, Y₄ | X₅, Y₅ | X₆, Y₆ | X₇, Y₇ | X₈, Y₈ | X₉, Y₉ | X₁₀, Y₁₀ | X₁₀, Y₁₀ |
Im Beispiel in der vorherigen Abbildung wird davon ausgegangen, dass ein nicht kapazitiver Kontakt auf einem Windows-Präzisionstouchpad mit ausreichender Aktivierungskraft platziert wird, um eine Aktivierung der Taste auszulösen. Zu einem späteren Zeitpunkt wird die Aktivierungskraft dann soweit reduziert, dass das Loslassen der Taste simuliert wird. Dies würde gemeldet wie in der folgenden Tabelle beschrieben.
Bericht | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|
Kontaktanzahl | 0 | 0 | 0 | 0 | 0 | 0 |
Taste | 1 | 1 | 1 | 1 | 1 | 0 |
Tasten 2 und 3 (getrennte Links- und Rechtsklicks)
Windows-Präzisionstouchpads unterstützen die Verwendungen für Tasten (Linksklick und Rechtsklick), die mit dem Digitalisierer integriert sind. Zusätzliche Tasten sollten jedoch über einen Drittanbietertreiber unterstützt werden.
Falls ein Gerät nur externe Tasten unterstützt, müssen trotzdem Taste 2 und Taste 3 verwendet werden, um auf die externen Tasten zu verweisen.
Wenn mehrere Tasten für die Verwendung mit dem Touchpad verfügbar sind, sollten im Deskriptor zusätzliche Tastenschalter deklariert werden. Externe Tasten werden auf der Paketebene ähnlich wie die Digitalisierungstasten gemeldet, aber es gibt keine Anforderungen an die Koordinierung externer Tasten mit dem Kontaktstatus.
Modi für die Paketberichterstattung
Parallelmodus
Im Parallelmodus melden Geräte alle Kontaktinformationen in einem einzelnen Paket. Jeder physische Kontakt wird durch eine logische Sammlung dargestellt, die in die Sammlung auf oberster Ebene eingebettet ist. Diese logische Sammlung enthält alle Verwendungen, die das Gerät für die einzelnen Kontakte unterstützt. Wenn Sie den Parallelmodus verwenden, muss jede der logischen Sammlungen identisch sein. Da das Gerät im Allgemeinen weniger Kontakte als den Höchstwert meldet, sollte die Anzahl der Kontakte, die in einem parallelen Paket gemeldet werden, über die Verwendung Kontaktanzahl kommuniziert werden.
Stellen Sie sich z. B. ein Gerät vor, das drei Kontakte unterstützt. Wenn Benutzer*innen derzeit nur zwei Finger auf dem Digitalisierer haben, enthält das parallele Paket nur zwei gültige Kontaktdaten in einer Meldung, die Daten für drei Kontakte übertragen kann. In diesem Fall sollte die Kontaktanzahl auf 2 festgelegt werden, damit die Clientanwendung weiß, dass alle Informationen zu mehr als zwei Kontakten ungültig sind.
Ein Nachteil beim Melden mehrerer Kontakte in einem Paket besteht darin, dass jedes Mal, wenn weniger Kontakte gemeldet werden als die maximale Anzahl möglicher Kontakte, Speicherplatz pro Paket verschwendet wird. Geräte können den Hybridmodus verwenden, um diese Ineffizienz zu verringern.
Hybridmodus
Im Hybridmodus ist die Anzahl der Kontakte, die in einer Meldung enthalten sein können, kleiner als die maximale Anzahl von Kontakten, die das Gerät unterstützt. Ein Gerät, das beispielsweise maximal 4 gleichzeitige physische Kontakte unterstützt, kann seine Sammlung auf oberster Ebene zur gleichzeitigen Meldung von maximal 2 Kontakten einrichten. Bei 4 Kontaktpunkten kann das Gerät diese in 2 serielle Meldungen unterteilen, die jeweils 2 Kontakte enthalten.
Wenn ein Gerät auf diese Weise Daten übermittelt, sollte der Verwendungswert Kontaktanzahl in der ersten Meldung die Gesamtanzahl der Kontakte widerspiegeln, die in den Hybridmeldungen übermittelt werden. In den anderen seriellen Meldungen sollte die Kontaktanzahl 0 (null) betragen.
Hybridmeldemodus mit einem Finger
Die erste Eingabemeldung für einen bestimmten Frame gibt die Gesamtanzahl der Kontakte an, die über die Verwendung „Kontaktanzahl“ gemeldet werden sollen. Alle nachfolgenden Eingabemeldungen für denselben Frame sollten den Wert null (0) für die Verwendung „Kontaktanzahl“ aufweisen, um anzugeben, dass sie Teil des zuvor gemeldeten Frames sind. Die Scanzeit für alle Meldungen eines bestimmten Frames sollte identisch sein.
Die folgende Tabelle zeigt die Meldesequenz für zwei Kontakte (im Hybridmeldemodus mit einem Finger).
Bericht | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|
Kontaktanzahl | 2 | 0 | 2 | 0 | 2 | 0 |
Kontakt-ID | 1 | 2 | 1 | 2 | 1 | 2 |
Kontakt 1: X, Y | X₁, Y₁ | NR | X₂, Y₂ | NR | X₃, Y₃ | NR |
Kontakt 1: Spitzenschalter | 1 | NR | 1 | NR | 1 | NR |
Kontakt 2: X, Y | NR | X₁, Y₁ | NR | X₂, Y₂ | NR | X₃, Y₃ |
Kontakt 2: Spitzenschalter | NR | 1 | NR | 1 | NR | 1 |
Überprüfungszeit | T₁ | T₁ | T₂ | T₂ | T₃ | T₃ |
Über USB und I²C verbundene Windows-Präzisionstouchpads können Eingabemeldungen im Hybridmeldemodus mit einem Finger oder im Hybridmeldemodus mit zwei Fingern übermitteln.