Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I det här avsnittet beskrivs den högsta nivån av samlingen av en Windows Precision Touchpad, och förklarar hur samlingen tillhandahåller HID-kompatibel pekplatterapportering till värd för Windows.
En Windows Precision Touchpad-enhet kan använda HID-protokollet för att tillhandahålla en toppnivåsamling som visas som en digitaliserare/pekplatta (sida 0x0D, användning 0x05).
Windows Precision Touchpad-samlingen har som syfte att tillhandahålla omfattande multi-touch- och knapprapportering till datorn, samt enhetsinformation som är relaterad till dessa rapporter. Samlingen bör ha stöd för två funktionsrapporter: en som gör att värden kan hämta enhetsfunktioner och en annan rapport för att hämta enhetens certifieringsstatus. Ett exempel på den obligatoriska indatarapporten finns i Exempelrapportbeskrivningar.
En valfri (men starkt rekommenderad) funktionsrapport kan implementeras för att få svarstidslägestips från värden för att uppnå den energiförbrukning som krävs på USB-enheter i viloläge. Följande avsnitt innehåller mer information om rapporterna i samlingen på den översta nivån för Windows Precision Touchpad.
Haptiska Pekplattor
En haptisk pekplatta är en Windows Precision Touchpad som använder ett hapiskt ställdon (till exempel en linjär resonant aktuator eller piezoelektrisk motor) för att simulera känslan av ett mekaniskt klick, snarare än att förlita sig på en fysiskt rörlig gångjärnsmekanism. Eftersom det inte finns någon mekanisk dykbräda eller gångjärnsknappmontering förblir pekplattans yta stillastående; klickfeedback levereras helt genom exakt kontrollerade vibrationer.
Viktiga skillnader från mekaniska pekplattor:
- Inga rörliga delar: Mekaniska pekplattor använder en gångjärnsyta eller domebrytare som fysiskt trycks ned när användaren klickar. Haptiska pekplattor har en fast, icke-rörlig yta och ger klickfeedback genom vibrationer.
- Enhetlig klickkänsla: På en mekanisk pekplatta varierar klickkraften och känslan beroende på var användaren trycker (vanligtvis styvare nära gångjärnet högst upp). Haptiska pekplattor ger konsekvent feedback oavsett pressplats.
- Programvarukonfigurerbar feedback: Intensiteten och karaktären av haptiska klicksvar kan justeras av värdenheten, vilket möjliggör användarinställbar klickstyrka och stöd för olika mönster av vågformer.
- Tunnare formfaktor: Genom att eliminera den mekaniska gångjärnssammansättningen kan du använda tunnare enhetsdesign.
Haptiska pekplattor har stöd för två lägen med haptisk feedback:
- Enhetsinitierad haptisk feedback: Pekplattan utlöser haptisk feedback när den fastställer att användaren har tryckt på eller släppt ytknappen. Detta ersätter den fysiska klickkänslan av en mekanisk pekplatta. Enheten kan valfritt acceptera SET_FEATURE-rapporter från värden, så att användaren kan anpassa återkopplingens intensitet och den kraft som krävs för att utlösa en knapptryckning.
- Host-initierad haptisk feedback: Windows skickar utdata rapporter till pekplattan för att utlösa haptisk feedback på begäran, oberoende av knapptryckning. Detta möjliggör rikare programdrivna upplevelser som hovringspulser, snap-to-alignment-feedback och stegbekräftelser med hjälp av en definierad uppsättning vågformer.
Fullständig protokollinformation, vågformsdefinitioner, exempelbeskrivningar och vägledning för maskinvaruimplementering finns i implementeringsguiden för haptiska indataenheter.
Funktionsrapport för enhetens kapabiliteter
Funktionsrapporten för enhetsfunktioner begärs av värden för Windows Precision Touchpad för att hämta information om enhetens funktioner för kontaktrapportering och typ av enhetsknapp.
Enhetens kontaktrapporteringsfunktion definieras av det maximala antalet samtidiga ytkontakter som den kan rapportera. En Windows Precision Touchpad bör ha stöd för minst 3 samtidiga kontakter och högst 5 samtidiga kontakter. Pekplattan bör rapportera det här värdet via maximalt antal kontakter (sida 0x0D, användning 0x55) i funktionsrapporten för enhetsfunktioner. När du rapporterar data får en enhet inte rapportera fler kontakter än det maximala antalet kontakter. Om en indataram innehåller och har fler kontakter än det maximala antalet kommer värdsystemet att kassera hela ramen, inklusive data för tidigare rapporterade kontakter. För bästa användarupplevelse bör enheten förhindra rapportering av nya kontakter som identifierats efter att det maximala antalet har nåtts under den nya kontaktens livslängd, även om befintliga kontakter avgår. Befintliga kontakter kan fortsätta att rapporteras, och om några avgår, kan nyanlända kontakter ta deras plats.
Enhetens knapptyp definieras som antingen ett tryckkänsligt utförande (kallas även click-pad-typ) eller ett ej tryckkänsligt utförande (kallas även för tryckplatta). Det är också acceptabelt att en Windows Precision Touchpad har en beröryta utan knappfunktion och istället använda externa knappar.
Knappimplementeringstypen ska anges via värdet för knapptypen (sida 0x0D, användning 0x59) i funktionsrapporten för enhetsfunktioner. Om enheten har en digitaliseringsyta för rapportering som inte har knappar och i stället förlitar sig på externa knappar endast för musklickningar, kan denna användning valfritt rapporteras.
I följande tabell visas användningsvärden för knapptyp.
| Värde för knapptyp | Implementation |
|---|---|
| 0 | Tryckkänslig (click-pad) |
| 1 | Ej tryckbar (Tryckplatta) |
| 2 | Ej klickbar (diskret touchpad) |
Värden kan begära enhetsförmågerapporten för en Windows Precision Touchpad när som helst efter att ha läst rapportbeskrivningen.
Funktionsrapport för enhetscertifieringsstatus
Funktionsrapporten för certifieringsstatus begärs av värddatorn för Windows Precision Touchpad för att hämta information om enhetens 256-byte blob.
Att rapportera en giltig, certifierad blob till värden är valfritt i Windows 10, men krävs för bakåtkompatibilitet med Windows 8.1. En enhet som inte kommunicerar en signerad PTPHQA-blob måste fortfarande rapportera (alla) 256 byte, till exempel exempel bloben nedan. Enheter som inte rapporterar en giltig certifieringsblob fungerar inte i Windows 8.1. Windows interagerar inte med enheter som använder HID Touchpad-användningen men som inte exponerar någon certifieringsstatus i funktionsrapporten Enhetsfunktioner.
256 byte ska anges via den leverantörsspecifika användningen på en leverantörsdefinierad användningssida (sida 0xFF, användning 0xC5) i funktionsrapporten Enhetscertifieringsstatus.
Innan en enhet får en blob med 256 byte som anger dess certifieringsstatus bör den implementera en standardblob enligt följande:
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
Värden kan när som helst begära funktionsrapporten Enhetscertifieringsstatus för en Windows Precision Touchpad när som helst efter att ha läst rapportbeskrivningen.
Rapport om funktion för latensläge
Rapporten om latensläge skickas av värden till en Windows Precision touchpad för att indikera när hög latens är önskvärd för energibesparingar, och omvänt, när normal latens önskas för användning. För USB-anslutna Windows Precision Touchpad-enheter gör detta att enheten kan skilja mellan att pausas för inaktivitet (inaktiv körning) och pausas eftersom systemet anger S3 eller Anslutet vänteläge.
Svarstidsläget bör anges med hjälp av värdet för användning av svarstidsläge ( sida 0x0D, användning 0x60) i funktionsrapporten för svarstidsläge. I följande tabell visas användningsvärden för svarstidsläge.
| Värde för latensläge | Svarstidsläge |
|---|---|
| 0 | Normal svarstid |
| 1 | Långa svarstider |
Indatarapporter för Windows Precision Touchpad
Värden använder de användningsområden som anges i följande tabell när du extraherar kontaktdata från en inmatningsrapport via Windows Precision Touchpad-samlingen. Tabellen innehåller alla obligatoriska användningar och de valfria användningar som stöds relaterade till varje unik digitaliserarkontakt som rapporteras.
| Medlem | Description | Sida | ID-nummer | Obligatoriskt/valfritt |
|---|---|---|---|---|
| Kontakt-ID | Identifierar kontakten unikt inom en viss ram. | 0x0D | 0x51 | Mandatory |
| X | X koordinat för kontaktposition. | 0x01 | 0x30 | Mandatory |
| Y | Y koordinat för kontaktposition. | 0x01 | 0x31 | Mandatory |
| Tips/Råd | Ange om kontakten finns på digitaliserarens yta. | 0x0D | 0x42 | Mandatory |
| Självförtroende | Ange när en kontakt är för stor för att vara ett finger. | 0x0D | 0x47 | Mandatory |
| Bredd | Bredd på avgränsningsrutan runt en kontakt. | 0x0D | 0x48 | Valfritt |
| Höjd | Höjd på avgränsningslådan runt en kontakt. | 0x0D | 0x49 | Valfritt |
| Tryck | Mängden tryck som användaren tillämpar på kontaktpunkten. | 0x0D | 0x30 | Valfritt |
| Azimut | Motsolsroteringen av kontakten om Z-axeln. | 0x0D | 0x3F | Valfritt |
Följande tabell innehåller alla användningar på den översta nivån som ska finnas i alla Windows Precision Touchpad-indatarapporter.
| Medlem | Description | Sida | ID-nummer | Obligatoriskt/valfritt |
|---|---|---|---|---|
| Genomsökningstid | Relativ genomsökningstid. | 0x0D | 0x56 | Mandatory |
| Antal kontakter | Totalt antal kontakter som ska rapporteras i en viss rapport. | 0x0D | 0x54 | Mandatory |
| Mekanisk kraft | Total kraft som appliceras på pekplattans sensor. | 0x20 | 0x494 | Valfritt |
| Knapp 1 | Indikerar knapptillstånd för pekplatta som är integrerad med en digitaliserare. | 0x09 | 0x01 | Valfritt |
| Knapp 2 | Anger knapptillstånd för extern knapp för primärt (standard vänster) klick. | 0x09 | 0x02 | Valfritt |
| Knapp 3 | Anger knappens tillstånd för extern knapp för sekundärt (standard höger) klick. | 0x09 | 0x03 | Valfritt |
Alla enheter som inte rapporterar alla obligatoriska användningar på kontakt- eller rapportnivå fungerar inte som Windows Precision Touchpad. Obligatoriska krav efterföljs strikt av Windows-värden. Om ett logiskt maxvärde inte har begränsats kan värdet optimeras för att minska deskriptorstorleken.
Följande avsnitt innehåller information om medlemmarna i rapporterna. Information om knappmedlemmar finns i Knappar, Användning på rapportnivå.
Kontakt-ID
Identifierar unikt en kontakt inom en rapport under dess livscykel. Kontakt-ID:t måste vara konstant medan kontakten identifieras och rapporteras av enheten. Varje separat samtidig kontakt måste ha en unik identifierare. Identifierare kan återanvändas när den tidigare associerade kontakten inte längre identifieras eller rapporteras. Det finns inget förväntat numeriskt intervall och de värden som används begränsas endast av det angivna logiska maxvärdet i beskrivningen.
X/Y
X- och Y-värdena rapporterar koordinaterna för en viss kontakt. En Windows Precision Touchpad bör rapportera en punkt för varje kontakt. Följande globala objekt bör anges för både X- och Y-användningarna:
Minsta logiska och logiska maximum (som garanterar större än eller lika med 300DPI-indataupplösning).
Not Hela det logiska koordinatintervallet ska vara rapportbart över både X- och Y-axeln.
Fysiskt minimum och fysiskt maximum (se Enhetsintegrering – Storlek).
Enhets- och enhetsexponent.
Koordinaten 0,0 (x, y-värden) anger det övre vänstra hörnet på pekplattan.
Tips
Används för att ange när kontakten är på ytan eller har lämnat digitaliserarens yta. Detta indikeras av ett huvudobjekt med en rapportstorlek på 1 bit. När du levererar en kontaktrapport ska biten anges när kontakten är på digitaliserarytan och rensas när kontakten har lämnat ytan.
När en kontakt rapporteras med spetsbrytaren avsläppt, bör (X, Y)-positionen som rapporteras vara densamma som den senaste rapporterade placeringen när spetsbrytaren var aktiverad.
Med hänvisning till exemplet som beskrivs i föregående diagram placeras två kontakter på en Windows Precision Touchpad, och någon gång senare lyfts den första kontakten medan den andra förblir på ytan under en längre tid. Detta skulle rapporteras enligt beskrivningen i följande tabell.
| Rapport | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Antal kontakter | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 | 1 | 1 | 1 |
| Kontakt 1: tipsbrytare | 1 | 1 | 1 | 1 | 1 | 0 | NR | NR | NR | NR | NR |
| Kontakt 1: X, Y | X₁, Y₁ | X₂, Y₂ | X₃, Y₃ | X₄, Y₄ | X₅, Y₅ | X₆, Y₆ | NR | NR | NR | NR | NR |
| Kontakt 2: tippströmbrytare | 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₁₁ |
Självförtroende
Används för att indikera att kontakten är avsiktlig. Kompatibilitetskrav testas för att säkerställa att den här biten är inställd på "Av" när en kontakt har dimensioner (höjd eller bredd) som är större än 25 mm, vilket innebär att det inte är en oavsiktlig kontakt. Windows Precision Touchpad-enheter bör inte dölja några kontakter vid bearbetning av firmware, men bör skicka vidare alla kontakter till värden och ange tillförlitligheten. Värden kommer sedan att använda tillförsikt för att spåra kontakten som en oavsiktlig sådan.
När en enhet har fastställt att en kontakt är oavsiktlig bör den rensa konfidensbiten för kontaktrapporten och alla efterföljande rapporter. Tills en kontakt har kategoriserats som oavsiktlig bör enheten ange konfidensbiten för kontakten i rapporten.
Bredd och höjd
Användningarna Bredd och Höjd representerar bredden och höjden på avgränsningsrutan runt pekplattans kontakt. De rapporterade värdena får aldrig vara noll (0) förutom när en "UP"-händelse rapporteras, i vilket fall de ska vara noll (0).
Tryck
Tryck är ett mått på den kraft som fingret utövar mot digitaliserarens yta. Det finns inga begränsningar för det intervall som tillåts för tryck.
Azimut
Azimuth anger markörens motsols-rotation runt Z-axeln genom ett fullständigt cirkulärt område. Det fysiska intervallet och det logiska intervallet måste anges. Det fysiska intervallet måste vara 0 till 360 eller motsvarande i radianer, men enheten kan rapportera antingen hela intervallet eller halva intervallet förutsatt att kontaktellipsen är symmetrisk baserat på maskinvarufunktioner. Det logiska intervallet måste vara tillräckligt stort för att leverera data som är korrekta till minst två decimaler.
Genomsökningstid
Skanningstid rapporterar den relativa digitaliseringstiden i 100μs-enheter. Skanningstiden representerar skillnaden från den första bildrutan som rapporterades efter att en enhet har börjat rapportera data efter en period av inaktivitet. Den första mottagna genomsökningstiden behandlas som en bastid för efterföljande rapporterade tider. Deltan mellan rapporterade genomsökningstider bör återspegla digitaliserarens genomsökningsfrekvens. Det är viktigt att observera att till skillnad från andra användningar tillåter värden inte någon flexibilitet för enheten för genomsökningstidsanvändningen. Det måste vara i 100 μs enheter. Värdet förväntas rulla över eftersom endast 2 byte allokeras till räknaren.
Tidsvärdet för genomsökningen ska vara detsamma för alla kontakter inom en ram.
Antal kontakter
Detta används för att ange antalet kontakter som rapporteras i en viss dataram oberoende av deras associerade tipsväxel.
Mekanisk kraft
Detta används för att rapportera den totala kraften som appliceras på pekplatta sensorn, oberoende av det valfria trycket som kan rapporteras för enskilda fingrar. Om trycket också rapporteras för enskilda kontakter, måste enheterna, enhetens exponent, fysiskt intervall och logiskt intervall vara identiska för tryck och mekanisk kraft, och värdet för mekanisk kraft måste=SUM(Tryck för kontakt 1 + Tryck för kontakt 2 + .... o.s.v.) oavsett tillförlitlighetsbiten för var och en av dessa kontakter.