Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In questo argomento viene illustrata la raccolta di primo livello di un Touchpad di Precisione Windows e viene illustrato come la raccolta fornisce report del touchpad conforme a HID all'host Windows.
Un dispositivo Touchpad precisione Windows può usare il protocollo HID per fornire una raccolta di primo livello visualizzata come digitalizzatore/touchpad (Page 0x0D, Usage 0x05).
La raccolta Windows Precision Touchpad serve allo scopo di fornire report avanzati su più contatti e pulsanti all'host, nonché informazioni sul dispositivo correlate a tali report. La raccolta deve supportare due report sulle funzionalità: uno che consente all'host di ottenere le funzionalità del dispositivo e un altro report per ottenere lo stato di certificazione del dispositivo. Per un esempio del report di input obbligatorio, vedere Descrittori di report di esempio.
È possibile implementare un report delle funzionalità facoltativo (ma altamente consigliato) per ottenere suggerimenti sulla modalità di latenza dall'host, per ottenere il consumo di energia richiesto nei dispositivi USB in modalità sospensione. Le sezioni seguenti forniscono altre informazioni sui report contenuti nella raccolta di primo livello per il Touchpad di precisione di Windows.
Report funzionalità funzionalità del dispositivo
Il report sulle funzionalità del dispositivo viene richiesto dall'host del Touchpad di Precisione Windows per recuperare informazioni sulle funzionalità di segnalazione dei contatti del dispositivo e sul tipo di pulsante del dispositivo.
La funzionalità di segnalazione dei contatti del dispositivo è definita dal numero massimo di contatti della superficie simultanea che può segnalare. Un Touchpad precisione Windows deve supportare almeno 3 contatti simultanei e un massimo di 5 contatti simultanei. Il touchpad deve segnalare questo valore tramite il numero massimo di contatti (pagina 0x0D, 0x55 di utilizzo) nel report delle funzionalità del dispositivo. Durante la segnalazione dei dati, un dispositivo non deve segnalare più contatti rispetto al numero massimo di contatti. Se un frame di input contiene più contatti del massimo, l'host eliminerà l'intero frame, inclusi i dati per i contatti segnalati in precedenza. Per un'esperienza utente ottimale, il dispositivo deve eliminare la segnalazione di eventuali nuovi contatti rilevati dopo il raggiungimento del numero massimo per la durata del nuovo contatto, anche se i contatti esistenti partono. I contatti esistenti possono continuare a essere segnalati e, in caso di partenza, i contatti appena arrivati possono avere luogo.
Il tipo di pulsante del dispositivo è definito come un'implementazione deprimente (detta anche tipo di click-pad) o un'implementazione non depressa (detta anche pressione). È anche accettabile che un touchpad precisione Windows abbia invece una superficie digitalizzatore senza pulsanti e pulsanti esterni.
Il tipo di implementazione del pulsante deve essere specificato tramite il valore per il tipo di pulsante (pagina 0x0D, utilizzo 0x59) nel report delle funzionalità del dispositivo. Se il dispositivo ha una superficie digitalizzatore senza pulsanti e si basa invece su pulsanti esterni solo per i clic del mouse, questo utilizzo può essere facoltativamente segnalato.
Nella tabella seguente vengono illustrati i valori di utilizzo del tipo di pulsante.
| Valore del tipo di pulsante | Implementazione |
|---|---|
| 0 | Depressible (click-pad) |
| 1 | Non depresso (pressione) |
| 2 | Non selezionabile (discreto-pad) |
L'host può richiedere il report delle funzionalità del dispositivo di un Touchpad precisione Windows in qualsiasi momento dopo la lettura del descrittore del report.
Report sulla funzionalità Stato certificazione dispositivo
Il report sulle funzionalità di stato della certificazione del dispositivo viene richiesto dall'host del Touchpad di Precisione windows per recuperare informazioni sul BLOB a 256 byte del dispositivo.
La segnalazione di un BLOB valido e certificato all'host è facoltativa in Windows 10, ma è necessaria per la compatibilità con le versioni precedenti con Windows 8.1. Un dispositivo che non comunica un BLOB PTPHQA firmato deve comunque segnalare (qualsiasi) 256 byte, ad esempio il BLOB di esempio seguente. I dispositivi che non segnalano un BLOB di certificazione valido non funzioneranno in Windows 8.1. Windows non interagisce con i dispositivi che usano l'utilizzo del Touchpad HID, ma non espongono uno stato di certificazione nel report sulle funzionalità del dispositivo.
I 256 byte devono essere specificati tramite l'utilizzo specifico del fornitore in una pagina di utilizzo definita dal fornitore (pagina 0xFF, utilizzo 0xC5) nel report delle funzionalità stato certificazione del dispositivo.
Prima di un dispositivo che riceve un BLOB a 256 byte che ne indica lo stato di certificazione, deve implementare un BLOB predefinito come indicato di seguito:
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
L'host può richiedere il report sullo stato della certificazione del dispositivo di un Touchpad di Precisione Windows in qualsiasi momento dopo la lettura del descrittore del report.
Report funzionalità modalità latenza
Il report sulle funzionalità modalità latenza viene inviato dall'host a un touchpad di precisione di Windows per indicare quando è consigliabile una latenza elevata per il risparmio di energia e viceversa, quando si desidera una latenza normale per l'operazione. Per i dispositivi Windows Precision Touchpad connessi tramite USB, questo consente al dispositivo di distinguere tra la sospensione per l'inattività (IDLE di runtime) e la sospensione perché il sistema sta immettendo S3 o Standby connesso.
La modalità di latenza deve essere indicata usando il valore per l'utilizzo della modalità di latenza (pagina 0x0D, utilizzo 0x60) nel report delle funzionalità in modalità latenza. La tabella seguente illustra i valori di utilizzo della modalità di latenza.
| Valore della modalità latenza | Modalità di latenza |
|---|---|
| 0 | Latenza normale |
| 1 | Latenza elevata |
Report funzionalità intensità aptico (facoltativo)
In Windows 11 è stato implementato un report sulle funzionalità di intensità aptico per fornire ulteriori funzionalità che si basa sui PTP correnti con attuatori aptici. Il report sulle funzionalità di intensità aptico viene inviato dall'host a un Touchpad di precisione windows per impostare l'intensità del feedback aptico per il touchpad. Questo report di funzionalità facoltativo richiede a un dispositivo di segnalare un SimpleHapticsController (Pagina 0x0E, Uso 0x01) che espone un SET_FEATURE con una singola intensità globale (Pagina 0x0E, Uso 0x23).
Per un descrittore di esempio, vedere Descrittori di report di esempio.
Report funzionalità pressione pulsante (facoltativo)
In Windows 11, build 26027+, è stato aggiunto il supporto per la forza di clic configurabile dall'utente tramite le impostazioni del touchpad di Windows (noto anche come Soglia pressione pulsante, soglia applicata al touchpad per generare un clic/pulsante verso il basso). Per supportare il touchpad di precisione, includerà la gestione SET_FEATURE report relativo alla soglia di pressione del pulsante di utilizzo singolo (0x0D pagina, utilizzo 0xB0). Durante l'enumerazione, l'host valuterà l'intervallo logico e fisico supportato dal descrittore e calcola le opzioni esposte per l'interfaccia utente delle impostazioni, incluse le impostazioni predefinite. L'host rilascia il SET_FEATURE per comunicare all'utente la soglia di pressione del pulsante specificata dall'utente; questo rilascio può verificarsi in qualsiasi momento, ma deve verificarsi ogni volta che l'impostazione viene modificata, si verifica un cambio utente e quando il dispositivo viene enumerato o reimpostato.
L'intervallo logico deve essere mappato in modo lineare all'intervallo fisico di valori ed essere distanziato e centrato uniformemente intorno al valore predefinito. Dopo l'acquisizione dell'intervallo logico, il valore predefinito verrà calcolato usando la formula seguente:
Il valore Minimo logico, Predefinito e Massimo logico corrisponderà a 3 livelli distinti di pressione del pulsante esposti a un utente tramite l'interfaccia utente delle impostazioni di Windows (supportando rispettivamente "Low", "Medium" e "High").
L'intervallo fisico consigliato per Button Press Threshold è quello di coprire almeno l'intervallo compreso tra 110g e 190g, corrispondente rispettivamente ai valori minimo e massimo. Per un descrittore di esempio che usa un valore fisico massimo di 190g e Physical Minimum of 110g (in questo modo, in base alla formula precedente, il valore predefinito è 150g) vedere Descrittori di report di esempio.
Report di input touchpad di precisione di Windows
L'host usa gli utilizzi nella tabella seguente durante l'estrazione dei dati dei contatti da un report di input tramite la raccolta Touchpad precisione Windows. La tabella include tutti gli utilizzi obbligatori e gli utilizzi facoltativi supportati correlati a ogni contatto univoco del digitalizzatore segnalato.
| Membro | Descrizione | Pagina | ID | Obbligatorio/Facoltativo |
|---|---|---|---|---|
| ID contatto | Identifica in modo univoco il contatto all'interno di un determinato frame. | 0x0D | 0x51 | Obbligatorio |
| X | Coordinata X della posizione del contatto. | 0x01 | 0x30 | Obbligatorio |
| Y | Coordinata Y della posizione del contatto. | 0x01 | 0x31 | Obbligatorio |
| Suggerimento | Impostare se il contatto si trova sulla superficie del digitalizzatore. | 0x0D | 0x42 | Obbligatorio |
| Attendibilità | Impostare quando un contatto è troppo grande per essere un dito. | 0x0D | 0x47 | Obbligatorio |
| Larghezza | Larghezza del rettangolo di selezione intorno a un contatto. | 0x0D | 0x48 | Facoltativo |
| Altezza | Altezza del rettangolo di selezione intorno a un contatto. | 0x0D | 0x49 | Facoltativo |
| Pressione | Quantità di pressione che l'utente sta applicando al punto di contatto. | 0x0D | 0x30 | Facoltativo |
| Azimut | Rotazione antiorario del contatto sull'asse Z. | 0x0D | 0x3F | Facoltativo |
La tabella seguente include tutti gli utilizzi di primo livello che devono essere presenti in tutti i report di input del Touchpad precisione windows.
| Membro | Descrizione | Pagina | ID | Obbligatorio/Facoltativo |
|---|---|---|---|---|
| Tempo di analisi | Tempo di analisi relativo. | 0x0D | 0x56 | Obbligatorio |
| Conteggio contatti | Numero totale di contatti da segnalare in un determinato report. | 0x0D | 0x54 | Obbligatorio |
| Forza meccanica | Forza totale applicata al sensore touchpad. | 0x20 | 0x494 | Facoltativo |
| Pulsante 1 | Indica lo stato del pulsante Button per touchpad integrato con il digitalizzatore. | 0x09 | 0x01 | Facoltativo |
| Pulsante 2 | Indica lo stato del pulsante per il pulsante esterno per il clic primario (predefinito a sinistra). | 0x09 | 0x02 | Facoltativo |
| Pulsante 3 | Indica lo stato del pulsante per il pulsante esterno per il clic secondario (impostazione predefinita a destra). | 0x09 | 0x03 | Facoltativo |
Qualsiasi dispositivo che non segnala tutti gli utilizzi obbligatori a livello di contatto o report, sarà non funzionale come Touchpad precisione Windows. Gli utilizzi obbligatori vengono applicati rigorosamente dall'host di Windows. Se non è stato limitato un valore massimo logico, il valore può essere ottimizzato per ridurre le dimensioni del descrittore.
Nelle sezioni seguenti vengono fornite informazioni sui membri nei report. Per informazioni sui membri pulsante, vedere Pulsanti, Utilizzo a livello di report.
ID contatto
Identifica in modo univoco un contatto all'interno di un report per il relativo ciclo di vita. L'ID contatto deve rimanere costante mentre il contatto viene rilevato e segnalato dal dispositivo. Ogni contatto simultaneo separato deve avere un identificatore univoco. Gli identificatori possono essere riutilizzati dopo che il contatto associato in precedenza non viene più rilevato o segnalato. Non esiste alcun intervallo numerico previsto e i valori usati sono limitati solo dal massimo logico specificato nel descrittore.
X/Y
I valori X e Y segnalano le coordinate di un determinato contatto. Un Touchpad precisione Windows deve segnalare un punto per ogni contatto. Per gli utilizzi X e Y devono essere specificati gli elementi globali seguenti:
Valore minimo logico e massimo logico (verificando una risoluzione di input maggiore o uguale a 300DPI).
Nota L'intero intervallo di coordinate logiche deve essere segnalabile sia sull'asse X che su quello Y.
Valore minimo fisico e massimo fisico (vedere Integrazione dei dispositivi - Dimensioni).
Esponente unità e unità.
La coordinata 0,0 (x, y values) indica l'angolo superiore sinistro del touchpad.
Suggerimento
Utilizzato per indicare quando il contatto si trova sulla superficie o ha lasciato la superficie del digitalizzatore. Questo elemento è indicato da un elemento principale con dimensioni del report pari a 1 bit. Quando si recapita un rapporto di contatto, il bit deve essere impostato quando il contatto si trova sulla superficie del digitalizzatore e cancellato quando il contatto ha lasciato la superficie.
Quando viene segnalato un contatto con l'opzione di suggerimento deselezionata, la posizione (X, Y) segnalata deve essere la stessa dell'ultima posizione segnalata con l'opzione di suggerimento impostata.
Con riferimento all'esempio descritto nel diagramma precedente, due contatti vengono posizionati su un Touchpad precisione Windows, quindi in un secondo momento, il primo contatto viene sollevato mentre il secondo rimane sulla superficie per un po 'di tempo aggiuntivo. Verrà segnalato come descritto nella tabella seguente.
| Report | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Conteggio contatti | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 | 1 | 1 | 1 |
| Contatto 1: opzione suggerimento | 1 | 1 | 1 | 1 | 1 | 0 | NR | NR | NR | NR | NR |
| Contatto 1: X, Y | X₁, Y₁ | X scalabilità, Y* | X₃, Y₃ | X₄, Y₄ | X₅, Y₅ | X₆, Y₆ | NR | NR | NR | NR | NR |
| Contatto 2: opzione suggerimento | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
| Contatto 2: X, Y | X₁, Y₁ | X scalabilità, Y* | X₃, Y₃ | X₄, Y₄ | X₅, Y₅ | X₆, Y₆ | X₇, Y₇ | X₈, Y₈ | X₉, Y₉ | X₁₀, Y₁₀ | X₁₁, Y₁₁ |
Attendibilità
Utilizzato per indicare che il contatto è intenzionale. Test dei requisiti di compatibilità per assicurarsi che questo bit sia impostato su "Off" quando un contatto ha dimensioni (altezza o larghezza) maggiori di 25mm, il che implica che non è un contatto imprevisto. I dispositivi Touchpad di Precisione Windows non devono nascondere i contatti nell'elaborazione del firmware, ma devono inoltrare tutti i contatti all'host e indicare la confidenza. L'host userà quindi la confidenza per tenere traccia del contatto come accidentale.
Dopo che un dispositivo ha stabilito che un contatto non è intenzionale, deve cancellare il bit di attendibilità per il report di contatto e tutti i report successivi. Fino a quando un contatto non è stato classificato come involontario, il dispositivo deve impostare il bit di attendibilità per tale contatto nel report.
Larghezza e altezza
Gli utilizzi di Width e Height rappresentano la larghezza e l'altezza del rettangolo di selezione intorno al contatto del touchpad. I valori segnalati non devono mai essere zero (0) tranne quando viene segnalato un evento "UP", nel qual caso devono essere zero (0).
Pressione
La pressione è una misura della forza che il dito esercita sulla superficie del digitalizzatore. Non esistono restrizioni sull'intervallo consentito per la pressione.
Azimut
Azimuth specifica la rotazione in senso antiorario del cursore intorno all'asse Z attraverso un intervallo circolare completo. È necessario specificare l'intervallo fisico e l'intervallo logico. L'intervallo fisico deve essere compreso tra 0 e 360 o equivalente in radianti, tuttavia il dispositivo può segnalare l'intervallo completo o metà dell'intervallo presupponendo che i puntini di sospensione del contatto siano simmetrici in base alle funzionalità hardware. L'intervallo logico deve essere sufficientemente grande per recapitare dati accurati ad almeno due posizioni decimali.
Tempo di analisi
Scan Time segnala il tempo del digitalizzatore relativo in unità di 100μs. Il tempo di analisi rappresenta il delta del primo fotogramma segnalato dopo che un dispositivo inizia a segnalare i dati successivi a un periodo di inattività. Il primo tempo di analisi ricevuto viene considerato come un tempo di base per i tempi segnalati successivi. I delta tra i tempi di analisi segnalati devono riflettere la frequenza di scansione del digitalizzatore. È importante notare che, a differenza di altri utilizzi, l'host non consente alcuna flessibilità per l'unità per l'utilizzo del tempo di analisi. Deve essere in unità di 100μs. Si prevede che il rollover del valore venga eseguito, perché solo 2 byte vengono allocati al contatore.
Il valore del tempo di analisi deve essere lo stesso per tutti i contatti all'interno di un frame.
Conteggio contatti
Viene usato per indicare il numero di contatti segnalati in un determinato frame indipendentemente dal relativo interruttore di suggerimento associato.
Forza meccanica
Viene usato per segnalare la forza totale applicata al sensore touchpad, indipendentemente dalla pressione facoltativa che può essere segnalata per le singole dita. Se la pressione viene segnalata anche per singoli contatti, le unità, l'esponente delle unità, l'intervallo fisico e l'intervallo logico devono essere rientrati per la pressione e la forza meccanica e il valore per la forza meccanica deve = SUM(Pressione per contatto 1 + Pressione per contatto 2 + .... ecc) indipendentemente dal bit di attendibilità per ognuno di questi contatti.