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.
Questo argomento discute la collezione principale di un Touchpad di Precisione Windows e spiega come la collezione fornisca una segnalazione del touchpad conforme a HID all'host Windows.
Un dispositivo Touchpad di precisione Windows può utilizzare 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 i Descrittori di esempio del report.
È 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.
Touchpad aptici
Un touchpad aptico è un Windows Precision Touchpad che utilizza un attuatore aptico (ad esempio un attuatore lineare a risonanza o un motore piezoelettrico) per simulare la sensazione di un clic meccanico, invece di basarsi su un meccanismo di cerniera fisicamente in movimento. Poiché non c'è alcuna tavola da immersione meccanica o assemblaggio di pulsanti a cerniera, la superficie del touchpad rimane fissa; il feedback del clic viene fornito interamente tramite vibrazioni precisamente controllate.
Differenze principali rispetto ai touchpad meccanici:
- Nessuna parte mobile: i touchpad meccanici usano una superficie a cerniera o un commutatore a cupola che deprime fisicamente quando l'utente fa clic. I touchpad aptici hanno una superficie rigida e non mobile e producono feedback di clic attraverso vibrazioni.
- Sensazione di clic uniforme: su un touchpad meccanico la forza e la sensazione del clic varia a seconda della posizione in cui l'utente preme (tipicamente più rigido in prossimità della cerniera superiore). I touchpad tattili offrono un feedback uniforme indipendentemente dalla posizione del tocco.
- Feedback configurabile dal software: l'intensità e il carattere della risposta del clic aptico possono essere modificati dall'host, abilitando la forza del clic configurabile dall'utente e il supporto per modelli di forma d'onda diversi.
- Fattore di forma più sottile: L'eliminazione dell'assemblaggio della cerniera meccanica consente la progettazione di dispositivi più sottili.
I touchpad aptici supportano due modalità di feedback aptico:
- Feedback aptico avviato dal dispositivo: il touchpad attiva autonomamente il feedback aptico quando determina che l'utente ha premuto o rilasciato il pulsante di superficie. Questo sostituisce la sensazione di clic fisico di un touchpad meccanico. Il dispositivo può facoltativamente accettare SET_FEATURE report dall'host per consentire all'utente di personalizzare l'intensità del feedback e la forza necessaria per attivare una pressione del pulsante.
- Feedback aptico avviato daHost: l'host Windows invia report di output al touchpad per attivare feedback aptico su richiesta, indipendentemente dalle pressioni dei pulsanti. Ciò consente esperienze più avanzate basate sulle applicazioni, ad esempio impulsi al passaggio del mouse, feedback di allineamento e conferme dei passaggi usando un set definito di forme d'onda.
Per dettagli completi sul protocollo, definizioni di forme d'onda, descrittori di esempio e indicazioni sull'implementazione dell'hardware, vedere la Guida all'implementazione degli aptici dei dispositivi di input.
Report capacità 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 di Precisione Windows deve supportare almeno 3 contatti simultanei e un massimo di 5. Il touchpad dovrebbe riportare questo valore tramite il conteggio massimo contatti (Pagina 0x0D, Uso 0x55) 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, se qualcuno parte, i contatti appena arrivati possono prenderne il posto.
Il tipo di pulsante del dispositivo è definito come un'implementazione premibile (detta anche tipo di click-pad) o un'implementazione non premibile (detta anche tipo a pressione). È anche accettabile che un touchpad di precisione Windows abbia una superficie con digitalizzatore priva di pulsanti e invece 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 | Depressibile (click-pad) |
| 1 | Non comprimibile (superficie sensibile alla pressione) |
| 2 | Non cliccabile (touchpad discreto) |
L'host può richiedere il report delle funzionalità del dispositivo di un Windows Precision Touchpad in qualsiasi momento dopo aver letto il descrittore del report.
Report sulla funzione Stato di certificazione del dispositivo
Il report sulle funzionalità di stato della certificazione del dispositivo è richiesto dal dispositivo host di Windows Precision Touchpad 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à retroattiva con Windows 8.1. Un dispositivo che non comunica un blob PTPHQA firmato deve comunque riportare 256 byte, come nel 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.
Il blocco di 256 byte deve essere specificato tramite l'utilizzo specifico del fornitore in una pagina di utilizzo definita dal fornitore (Pagina 0xFF, Utilizzo 0xC5) nel report della funzionalità relativa allo stato di certificazione del dispositivo.
Prima che un dispositivo riceva un BLOB da 256 byte che indica lo stato di certificazione, deve adottare 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 delle funzionalità della modalità latenza
Il report della modalità Latenza viene inviato dall'host a un Windows Precision Touchpad per indicare quando è desiderabile una latenza elevata per il risparmio energetico e, viceversa, quando è preferibile una latenza normale per il funzionamento. Per i dispositivi Windows Precision Touchpad connessi tramite USB, questo consente al dispositivo di distinguere tra la sospensione per inattività (IDLE di runtime) e la sospensione perché il sistema entra in S3 o in 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 |
Rapporti sugli input del touchpad di precisione di Windows
L'host usa gli usi nella tabella seguente per estrarre i dati dei contatti da un report di input tramite la raccolta Windows Precision Touchpad. 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 |
| Fiducia | Impostare quando un contatto è troppo grande per essere un dito. | 0x0D | 0x47 | Obbligatorio |
| Larghezza | Larghezza del contorno intorno a un contatto. | 0x0D | 0x48 | Facoltativo |
| Altezza | Altezza del riquadro delimitatore circa 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 alto livello che devono essere presenti in tutti i report di input del Windows Precision Touchpad.
| 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 per il touchpad integrato con il digitalizzatore. | 0x09 | 0x01 | Facoltativo |
| Pulsante 2 | Indica lo stato del 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 non funzionerà come Windows Precision Touchpad. 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 del pulsante, vedere Pulsanti, Utilizzi 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 di 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).
Unità e esponente di 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 è indicato da un elemento principale con una dimensione del report di 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'interruttore del pennino disattivato, la posizione (X, Y) segnalata deve essere la stessa dell'ultima posizione segnalata con l'interruttore del pennino attivato.
Con riferimento all'esempio descritto nel diagramma precedente, due contatti vengono posizionati su un Touchpad Precisione Windows, successivamente, il primo contatto viene sollevato mentre il secondo rimane sulla superficie per un po' di tempo aggiuntivo. Verrà segnalato come descritto nella tabella seguente.
| Rapporto | 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: interruttore a punta | 1 | 1 | 1 | 1 | 1 | 0 | NR | NR | NR | NR | NR |
| Contatto 1: X, Y | X₁, Y₁ | X₂, Y₂ | X₃, Y₃ | X₄, Y₄ | X₅, Y₅ | X₆, Y₆ | NR | NR | NR | NR | NR |
| Contatto 2: interruttore di punta | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
| Contatto 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₁₁ |
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 durante l'elaborazione del firmware, ma devono inoltrare tutti i contatti all'host e indicare il livello di certezza. L'host userà quindi l'affidabilità per registrare il contatto come accidentale.
Dopo che un dispositivo ha stabilito che un contatto non è intenzionale, deve cancellare il bit di fiducia per il rapporto di contatto e tutti i rapporti 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 circoscritto del contatto sul 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 microsecondi. 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 utilizzato per indicare il numero di contatti segnalati in un determinato frame indipendentemente dal commutatore di punta 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.