Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym temacie omówiono kolekcję najwyższego poziomu windows Precision Touchpad i wyjaśniono, w jaki sposób kolekcja zapewnia raportowanie touchpad zgodne z protokołem HID na hoście systemu Windows.
Urządzenie z funkcją Touchpad precyzji systemu Windows może używać protokołu HID, aby udostępnić kolekcję najwyższego poziomu, która jest wyświetlana jako cyfryzator/touchpad ( 0x0D strony, 0x05 użycia).
Kolekcja Windows Precision Touchpad służy do udostępniania rozbudowanego raportowania wielu kontaktów i przycisków do hosta, a także informacji o urządzeniach związanych z tymi raportami. Kolekcja powinna obsługiwać dwa raporty funkcji: jeden, który umożliwia hostowi uzyskanie możliwości urządzenia, a drugi raport w celu uzyskania stanu certyfikacji urządzenia. Aby zapoznać się z przykładem obowiązkowego raportu wejściowego, zobacz Przykładowe deskryptory raportów.
Opcjonalny (ale zdecydowanie zalecany) raport funkcji może zostać zaimplementowany w celu uzyskania wskazówek dotyczących trybu opóźnienia z hosta w celu osiągnięcia wymaganego zużycia energii na urządzeniach USB w trybie uśpienia. Poniższe sekcje zawierają więcej informacji na temat raportów zawartych w kolekcji najwyższego poziomu dla tabletu Touchpad precyzji systemu Windows.
Raport funkcji możliwości urządzenia
Raport funkcji możliwości urządzenia jest wymagany przez hosta urządzenia Precision Touchpad, aby pobrać informacje o możliwościach raportowania kontaktów urządzenia i typ przycisku urządzenia.
Możliwość raportowania kontaktów urządzenia jest definiowana przez maksymalną liczbę współbieżnych kontaktów powierzchni, które może zgłaszać. Windows Precision Touchpad powinien obsługiwać co najmniej 3 równoczesne kontakty i maksymalnie 5 współbieżnych kontaktów. Touchpad powinien zgłosić tę wartość za pomocą maksymalnej liczby kontaktów ( 0x0D strony, 0x55 użycia) w raporcie funkcji funkcji urządzenia. Podczas raportowania danych urządzenie nie może zgłaszać większej liczby kontaktów niż maksymalna liczba kontaktów. Jeśli ramka wejściowa zawiera więcej kontaktów niż maksymalna, host odrzuci całą ramkę, w tym dane dla wszystkich wcześniej zgłoszonych kontaktów. W celu uzyskania najlepszego środowiska użytkownika urządzenie powinno pominąć raportowanie wszelkich nowych kontaktów wykrytych po osiągnięciu maksymalnej liczby w okresie istnienia nowego kontaktu, nawet jeśli jakiekolwiek istniejące kontakty odejdą. Istniejące kontakty mogą być nadal zgłaszane, a jeśli jakikolwiek wyjazd, nowo przybywające kontakty mogą się odbyć.
Typ przycisku urządzenia jest definiowany jako implementacja depresyjna (nazywana również typem podkładki kliknięć) lub implementacja niedepresyjna (nazywana również padem ciśnienia). Dopuszczalne jest również, aby windows Precision Touchpad miał zamiast tego nieprzyciśniętą powierzchnię do raportowania cyfry i przycisków zewnętrznych.
Typ implementacji przycisku należy określić za pomocą wartości dla typu przycisku (Page 0x0D, Usage 0x59) w raporcie funkcji funkcji urządzenia. Jeśli urządzenie ma nieprzyciśniętą powierzchnię digitizatora i opiera się zamiast tego na przyciskach zewnętrznych tylko w przypadku kliknięć myszy, to użycie można opcjonalnie zgłosić.
W poniższej tabeli przedstawiono wartości użycia typu przycisku.
| Wartość typu przycisku | Implementation |
|---|---|
| 0 | Depresyjny (kliknięcie- pad) |
| 1 | Niedepresyjny (poduszka pod ciśnieniem) |
| 2 | Nieobsługiwalne (dyskretna konsola) |
Host może zażądać raportu funkcji urządzenia z systemem Windows Precision Touchpad w dowolnym momencie po przeczytaniu deskryptora raportu.
Raport funkcji stanu certyfikacji urządzenia
Raport funkcji stanu certyfikacji urządzenia jest wymagany przez hosta urządzenia Precision Touchpad w celu pobrania informacji o 256-bajtowym obiekcie blob urządzenia.
Raportowanie prawidłowego, certyfikowanego obiektu blob do hosta jest opcjonalne w systemie Windows 10, ale jest niezbędne do zapewnienia zgodności z poprzednimi wersjami systemu Windows 8.1. Urządzenie, które nie komunikuje podpisanego obiektu blob PTPHQA, musi nadal zgłaszać (dowolne) 256 bajtów, takie jak przykładowy obiekt blob poniżej. Urządzenia, które nie zgłaszają prawidłowego obiektu blob certyfikacji, nie będą działać w systemie Windows 8.1. System Windows nie będzie wchodzić w interakcje z urządzeniami korzystającymi z użycia funkcji touchpad HID, ale nie uwidacznia stanu certyfikacji w raporcie funkcji Możliwości urządzenia.
256 bajtów należy określić za pośrednictwem użycia specyficznego dla dostawcy na stronie użycia zdefiniowanego przez dostawcę (strona 0xFF, użycie 0xC5) w raporcie funkcji stan certyfikacji urządzenia.
Przed otrzymaniem przez urządzenie 256-bajtowego obiektu blob wskazującego jego stan certyfikacji, powinien zaimplementować domyślny obiekt blob w następujący sposób:
0xfc, 0x28, 0xfe, 0x84, 0x40, 0xcb, 0x9a, 0x87, 0x0d, 0xbe, 0x57, 0x3c, 0xb6, 0x70, 0x09, 0x88, 0x07,
0x97, 0x2d, 0x2b, 0xe3, 0x38, 0x34, 0xb6, 0x6c, 0xed, 0xb0, 0xf7, 0xe5, 0x9c, 0xf6, 0xc2, 0x2e, 0x84,
0x1b, 0xe8, 0xb4, 0x51, 0x78, 0x43, 0x1f, 0x28, 0x4b, 0x7c, 0x2d, 0x53, 0xaf, 0xfc, 0x47, 0x70, 0x1b,
0x59, 0x6f, 0x74, 0x43, 0xc4, 0xf3, 0x47, 0x18, 0x53, 0x1a, 0xa2, 0xa1, 0x71, 0xc7, 0x95, 0x0e, 0x31,
0x55, 0x21, 0xd3, 0xb5, 0x1e, 0xe9, 0x0c, 0xba, 0xec, 0xb8, 0x89, 0x19, 0x3e, 0xb3, 0xaf, 0x75, 0x81,
0x9d, 0x53, 0xb9, 0x41, 0x57, 0xf4, 0x6d, 0x39, 0x25, 0x29, 0x7c, 0x87, 0xd9, 0xb4, 0x98, 0x45, 0x7d,
0xa7, 0x26, 0x9c, 0x65, 0x3b, 0x85, 0x68, 0x89, 0xd7, 0x3b, 0xbd, 0xff, 0x14, 0x67, 0xf2, 0x2b, 0xf0,
0x2a, 0x41, 0x54, 0xf0, 0xfd, 0x2c, 0x66, 0x7c, 0xf8, 0xc0, 0x8f, 0x33, 0x13, 0x03, 0xf1, 0xd3, 0xc1, 0x0b,
0x89, 0xd9, 0x1b, 0x62, 0xcd, 0x51, 0xb7, 0x80, 0xb8, 0xaf, 0x3a, 0x10, 0xc1, 0x8a, 0x5b, 0xe8, 0x8a,
0x56, 0xf0, 0x8c, 0xaa, 0xfa, 0x35, 0xe9, 0x42, 0xc4, 0xd8, 0x55, 0xc3, 0x38, 0xcc, 0x2b, 0x53, 0x5c,
0x69, 0x52, 0xd5, 0xc8, 0x73, 0x02, 0x38, 0x7c, 0x73, 0xb6, 0x41, 0xe7, 0xff, 0x05, 0xd8, 0x2b, 0x79,
0x9a, 0xe2, 0x34, 0x60, 0x8f, 0xa3, 0x32, 0x1f, 0x09, 0x78, 0x62, 0xbc, 0x80, 0xe3, 0x0f, 0xbd, 0x65,
0x20, 0x08, 0x13, 0xc1, 0xe2, 0xee, 0x53, 0x2d, 0x86, 0x7e, 0xa7, 0x5a, 0xc5, 0xd3, 0x7d, 0x98, 0xbe,
0x31, 0x48, 0x1f, 0xfb, 0xda, 0xaf, 0xa2, 0xa8, 0x6a, 0x89, 0xd6, 0xbf, 0xf2, 0xd3, 0x32, 0x2a, 0x9a,
0xe4, 0xcf, 0x17, 0xb7, 0xb8, 0xf4, 0xe1, 0x33, 0x08, 0x24, 0x8b, 0xc4, 0x43, 0xa5, 0xe5, 0x24, 0xc2
Host może zażądać raportu funkcji stanu certyfikacji urządzenia w systemie Windows Precision Touchpad w dowolnym momencie po przeczytaniu deskryptora raportu.
Raport funkcji trybu opóźnienia
Raport funkcji Tryb opóźnienia jest wysyłany przez hosta do tabletu Touchpad precyzji systemu Windows, aby wskazać, kiedy duże opóźnienie jest pożądane w przypadku oszczędności energii i odwrotnie, gdy normalne opóźnienie jest pożądane w przypadku operacji. W przypadku urządzeń z systemem Windows Precision Touchpad podłączonych przez usb umożliwia to urządzeniu rozróżnienie wstrzymania pod kątem braku aktywności (IDLE) i wstrzymania, ponieważ system wprowadza S3 lub Połączoną wstrzymanie.
Tryb opóźnienia powinien być wskazywany przy użyciu wartości użycia trybu opóźnienia (strona 0x0D, użycie 0x60) w raporcie funkcji trybu opóźnienia. W poniższej tabeli przedstawiono wartości użycia trybu opóźnienia.
| Wartość trybu opóźnienia | Tryb opóźnienia |
|---|---|
| 0 | Normalne opóźnienie |
| 1 | Duże opóźnienie |
Raport funkcji intensywności haptycznej (opcjonalnie)
W systemie Windows 11 zaimplementowano raport funkcji intensywności haptycznej w celu zapewnienia dalszych możliwości opartych na bieżących punktach PTP z siłownikami haptycznymi. Raport funkcji intensywności haptycznej jest wysyłany przez hosta do tabletu Touchpad precyzji systemu Windows, aby ustawić intensywność haptycznych opinii na potrzeby touchpadu. Ten opcjonalny raport funkcji wymaga, aby urządzenie zgłosiło element SimpleHapticsController (0x0E strony, 0x01 użycia), który uwidacznia SET_FEATURE z jedną intensywnością globalną (0x0E strony, 0x23 użycia).
Aby zapoznać się z przykładowym deskryptorem, zobacz Przykładowe deskryptory raportów.
Raport funkcji naciśnięcia przycisku —próg (opcjonalnie)
W systemie Windows 11 kompilacja 26027+, dodano obsługę konfigurowalnego kliknięcia przez użytkownika za pomocą ustawień touchpad systemu Windows (np. Próg naciśnięcia przycisku, próg zastosowanej siły na touchpadie w celu wygenerowania kliknięcia/przycisku w dół). W przypadku precyzyjnego touchpadu do obsługi tego celu należy uwzględnić obsługę raportu SET_FEATURE dla pojedynczego użycia przycisku naciśnięcia progu (strona 0x0D, użycie 0xB0). Podczas wyliczania host oceni obsługiwany zakres logiczny i fizyczny z deskryptora i obliczy uwidocznione opcje interfejsu użytkownika ustawień, w tym wartości domyślne. Host wystawi SET_FEATURE, aby przekazać użytkownikowi określony próg naciśnięcia przycisku do urządzenia; wystawianie może wystąpić w dowolnym momencie, ale występuje za każdym razem, gdy ustawienie zostanie zmienione, nastąpi przełączenie użytkownika i gdy urządzenie zostanie wyliczone lub zresetowane.
Zakres logiczny jest liniowo mapowany na fizyczny zakres wartości i równomiernie rozmieszczony i wyśrodkowany wokół wartości domyślnej. Po uzyskaniu zakresu logicznego wartość domyślna zostanie obliczona przy użyciu następującej formuły:
Wartość Minimum logiczne, Wartość domyślna i Wartość logiczna odpowiada 3 odrębnym poziomom naciśnięcia przycisku uwidocznionemu użytkownikowi za pośrednictwem interfejsu użytkownika ustawień systemu Windows (obsługującego odpowiednio "Niski", "Średni" i "Wysoki").
Zalecany zakres fizyczny dla progu naciśnięcia przycisku jest co najmniej pokrycie zakresu od 110g do 190g, co odpowiada odpowiednio minimalnym i maksymalnym wartościom. W przypadku deskryptora próbki korzystającego z wartości Fizycznej maksymalnej 190g i fizycznej minimalnej 110g (w związku z tym na podstawie powyższej formuły domyślna wartość domyślna to 150g), zobacz Przykładowe deskryptory raportów.
Raporty wejściowe touchpad precyzji systemu Windows
Host używa użycia w poniższej tabeli podczas wyodrębniania danych kontaktowych z raportu wejściowego za pośrednictwem kolekcji Windows Precision Touchpad. Tabela zawiera wszystkie obowiązkowe użycia oraz obsługiwane opcjonalne użycie związane z poszczególnymi zgłoszonymi kontaktami z unikatowymi cyfryzatorami.
| Członek | Description | Strona | identyfikator | Obowiązkowe/opcjonalne |
|---|---|---|---|---|
| Identyfikator kontaktu | Jednoznacznie identyfikuje kontakt w obrębie danej ramki. | 0x0D | 0x51 | Mandatory |
| X | Współrzędna X położenia kontaktu. | 0x01 | 0x30 | Mandatory |
| Y | Współrzędna Y pozycji kontaktu. | 0x01 | 0x31 | Mandatory |
| Wskazówka | Ustaw, czy kontakt znajduje się na powierzchni cyfry. | 0x0D | 0x42 | Mandatory |
| Pewność siebie | Ustaw, gdy kontakt jest zbyt duży, aby być palcem. | 0x0D | 0x47 | Mandatory |
| Szerokość | Szerokość pola ograniczenia wokół kontaktu. | 0x0D | 0x48 | Opcjonalnie |
| Wysokość | Wysokość pola ograniczenia wokół kontaktu. | 0x0D | 0x49 | Opcjonalnie |
| Ciśnienie | Ilość ciśnienia, jaką użytkownik stosuje do punktu kontaktowego. | 0x0D | 0x30 | Opcjonalnie |
| Azymut | Obracanie się w kierunku wskazówek zegara styka o osi Z. | 0x0D | 0x3F | Opcjonalnie |
Poniższa tabela zawiera wszystkie zastosowania najwyższego poziomu, które powinny być obecne we wszystkich raportach wejściowych windows Precision Touchpad.
| Członek | Description | Strona | identyfikator | Obowiązkowe/opcjonalne |
|---|---|---|---|---|
| Czas skanowania | Względny czas skanowania. | 0x0D | 0x56 | Mandatory |
| Liczba kontaktów | Łączna liczba kontaktów do zgłoszenia w danym raporcie. | 0x0D | 0x54 | Mandatory |
| Siła mechaniczna | Całkowita siła zastosowana do czujnika touchpad. | 0x20 | 0x494 | Opcjonalnie |
| Przycisk 1 | Wskazuje stan przycisku dla przycisku Touchpad zintegrowanego z digitizer. | 0x09 | 0x01 | Opcjonalnie |
| Przycisk 2 | Wskazuje stan przycisku dla przycisku zewnętrznego dla kliknięcia podstawowego (domyślne po lewej stronie). | 0x09 | 0x02 | Opcjonalnie |
| Przycisk 3 | Wskazuje stan przycisku dla przycisku zewnętrznego dla pomocniczego (domyślnego prawa) kliknięcia. | 0x09 | 0x03 | Opcjonalnie |
Każde urządzenie, które nie zgłasza wszystkich obowiązkowych użycia na poziomie kontaktu lub raportu, będzie niefunkcjonalne jako windows Precision Touchpad. Obowiązkowe użycie jest wymuszane przez hosta systemu Windows. Jeśli wartość logiczna maksymalna nie została ograniczona, można zoptymalizować wartość w celu zmniejszenia rozmiaru deskryptora.
Poniższe sekcje zawierają informacje o członkach w raportach. Aby uzyskać informacje o członkach przycisku, zobacz Przyciski, Użycie na poziomie raportu.
Identyfikator kontaktu
Jednoznacznie identyfikuje kontakt w raporcie na potrzeby jego cyklu życia. Identyfikator kontaktu musi pozostać stały, gdy kontakt zostanie wykryty i zgłoszony przez urządzenie. Każdy oddzielny kontakt współbieżny musi mieć unikatowy identyfikator. Identyfikatory można ponownie użyć, gdy wcześniej skojarzony kontakt nie zostanie już wykryty ani zgłoszony. Nie ma oczekiwanego zakresu liczbowego, a używane wartości są ograniczone tylko przez określone maksimum logiczne w deskryptorze.
X/Y
Wartości X i Y raportują współrzędne danego kontaktu. Windows Precision Touchpad powinien zgłosić jeden punkt dla każdego kontaktu. Dla użycia X i Y należy określić następujące elementy globalne:
Wartość logiczna minimalna i logiczna maksymalna (zapewniająca rozdzielczość wejściową 300DPI lub większą niż 300DPI).
Nuta Cały zakres współrzędnych logicznych powinien być raportowalny zarówno na osi X, jak i Y.
Minimalna i fizyczna maksymalna (zobacz Integracja urządzenia — rozmiar).
Wykładnik jednostkowy i jednostkowy.
Współrzędna 0,0 (x, y) wskazuje lewy górny róg panelu dotykowego.
Napiwek
Służy do wskazywania, kiedy kontakt znajduje się na powierzchni lub opuścił powierzchnię cyfry. Jest to wskazywane przez element główny o rozmiarze raportu o rozmiarze 1 bitów. Podczas dostarczania raportu kontaktu bit powinien być ustawiony, gdy kontakt znajduje się na powierzchni cyfry i czyszczone, gdy kontakt opuścił powierzchnię.
Gdy kontakt jest zgłaszany z przezroczystym przełącznikiem końcówki, zgłaszana lokalizacja (X, Y) powinna być taka sama jak ostatnia pozycja zgłoszona z zestawem przełącznika porad.
Z odniesieniem do przykładu przedstawionego na powyższym diagramie, dwa kontakty są umieszczane na ekranie Touchpad precyzji systemu Windows, a następnie w pewnym czasie pierwszy kontakt jest podnosiny, podczas gdy drugi pozostaje na powierzchni przez jakiś dodatkowy czas. Zostanie to zgłoszone zgodnie z opisem w poniższej tabeli.
| Raport | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Liczba kontaktów | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 | 1 | 1 | 1 |
| Kontakt 1: przełącznik porad | 1 | 1 | 1 | 1 | 1 | 0 | NR | NR | NR | NR | NR |
| Kontakt 1: X, Y | X₁, Y₁ | X ZE, Y ZE | X₃, Y₃ | X₄, Y₄ | X₅, Y₅ | X₆, Y₆ | NR | NR | NR | NR | NR |
| Kontakt 2: przełącznik porad | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
| Kontakt 2: X, Y | X₁, Y₁ | X ZE, Y ZE | X₃, Y₃ | X₄, Y₄ | X₅, Y₅ | X₆, Y₆ | X₇, Y₇ | X₈, Y₈ | X₉, Y₉ | X₁₀, Y₁₀ | X₁₁, Y₁₁ |
Pewność siebie
Służy do wskazywania, że kontakt jest zamierzony. Test wymagań zgodności w celu upewnienia się, że ten bit jest ustawiony na wartość "Wyłączone", gdy kontakt ma jakiekolwiek wymiary (wysokość lub szerokość) większe niż 25 mm, co oznacza, że nie jest to niezamierzony kontakt. Urządzenia z systemem Windows Precision Touchpad nie powinny ukrywać żadnych kontaktów w przetwarzaniu oprogramowania układowego, ale powinny przekazywać wszystkie kontakty do hosta i wskazywać pewność siebie. Następnie host będzie używać pewności do śledzenia kontaktu jako przypadkowego.
Gdy urządzenie ustali, że kontakt jest niezamierzony, powinien wyczyścić nieco ufności dla tego raportu kontaktu i wszystkich kolejnych raportów. Dopóki kontakt nie zostanie sklasyfikowany jako niezamierzony, urządzenie powinno ustawić bit ufności dla tego kontaktu w raporcie.
Szerokość i wysokość
Użycie opcji Szerokość i Wysokość reprezentują szerokość i wysokość pola ograniczenia wokół kontaktu touchpad. Zgłoszone wartości nigdy nie powinny być zerowe (0), z wyjątkiem sytuacji, gdy zgłaszane jest zdarzenie "UP", w tym przypadku powinny mieć zero (0).
Ciśnienie
Ciśnienie to pomiar siły wywieranej przez palec na powierzchnię cyfry. Nie ma żadnych ograniczeń dotyczących zakresu dozwolonego pod kątem ciśnienia.
Azymut
Azimuth określa obrót w kierunku wskazówek zegara kursora wokół osi Z przez pełny zakres okrągły. Należy określić zakres fizyczny i zakres logiczny. Zakres fizyczny musi wynosić od 0 do 360 lub równoważne w radianach, jednak urządzenie może zgłaszać pełny zakres lub połowę zakresu przy założeniu, że wielokropek kontaktowy jest symetryczny na podstawie możliwości sprzętowych. Zakres logiczny musi być wystarczająco duży, aby dostarczać dane, które są dokładne dla co najmniej dwóch miejsc dziesiętnych.
Czas skanowania
Czas skanowania zgłasza względny czas cyfry w 100μs jednostek. Czas skanowania reprezentuje różnicę z pierwszej ramki, która została zgłoszona po rozpoczęciu raportowania danych przez urządzenie po upływie okresu braku aktywności. Pierwszy odebrany czas skanowania jest traktowany jako czas bazowy dla kolejnych zgłoszonych czasów. Różnice między zgłoszonymi godzinami skanowania powinny odzwierciedlać częstotliwość skanowania cyfry. Należy pamiętać, że w przeciwieństwie do innych zastosowań host nie zezwala na elastyczność jednostki na potrzeby użycia czasu skanowania. Musi znajdować się w jednostkach 100μs. Oczekuje się, że wartość zostanie przerzuciona, ponieważ tylko 2 bajty są przydzielane do licznika.
Wartość czasu skanowania powinna być taka sama dla wszystkich kontaktów w ramce.
Liczba kontaktów
Służy do wskazywania liczby kontaktów zgłaszanych w danej ramce niezależnie od skojarzonego przełącznika porad.
Siła mechaniczna
Służy do zgłaszania całkowitej siły stosowanej do czujnika touchpad, niezależnie od opcjonalnego ciśnienia, które można zgłaszać dla poszczególnych palców. Jeśli ciśnienie jest również zgłaszane dla poszczególnych kontaktów, jednostki wykładnicze, zakres fizyczny i zakres logiczny muszą być wcięcie dla ciśnienia i siły mechanicznej, a wartość siły mechanicznej musi = SUM(Ciśnienie dla kontaktu 1 + Ciśnienie dla kontaktu 2 + .... itp.) niezależnie od współczynnika ufności dla każdego z tych kontaktów.