Condividi tramite


Report di input del controller radiale di Windows

In questo argomento viene illustrato in dettaglio il report di input HID usato per il supporto del feedback aptico del controller radiale in Windows 10, versione 1607 e versioni successive dei sistemi operativi.

L'host usa gli utilizzi seguenti durante l'estrazione dei dati da un report di input:

Membro Descrizione Pagina ID Obbligatorio/Facoltativo
Pulsante Stato del pulsante posizionato sul controller radiale 0x09 0x01 Obbligatorio
Dial Rotazione relativa del controller radiale 0x01 0x37 Obbligatorio
X Coordinata X della posizione del contatto 0x01 0x30 Facoltativo
S Coordinata Y della posizione del contatto 0x01 0x31 Facoltativo
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

Utilizzi facoltativi obbligatori e supportati da Windows

Qualsiasi dispositivo che non segnala tutti gli utilizzi obbligatori sarà non funzionale come controller radiale Di Windows. Gli utilizzi obbligatori vengono applicati rigorosamente dall'host di Windows. Se un valore massimo logico non è stato limitato, può essere ottimizzato per ridurre le dimensioni del descrittore.

Le sezioni seguenti forniscono altri dettagli sugli utilizzi facoltativi obbligatori e supportati da Windows presentati nella tabella precedente.

Pulsante

Usato per indicare quando il pulsante primario nel dispositivo controller radiale è premuto. Ciò è indicato da un elemento principale con dimensioni del report pari a 1 bit. Quando si recapita un report di input, il bit deve essere impostato quando questo pulsante viene premuto e cancellato quando viene rilasciato il pulsante.

Dial

Utilizzato per indicare la rotazione in senso orario del controller radiale attorno al proprio asse principale. Quando si recapita un report di input, il valore segnalato deve essere la grandezza della rotazione rispetto al report precedente. Questo valore sarà positivo se il controller radiale viene ruotato in senso orario e negativo se il controller radiale viene ruotato in senso antiorario.

È necessario specificare l'intervallo fisico e l'intervallo logico. I gradi o i radianti possono essere usati per l'intervallo fisico. In entrambi i casi, l'intervallo logico deve essere sufficientemente grande per segnalare valori accurati ad almeno una posizione decimale.

X/Y

X e Y segnalano le coordinate del contatto di un controller radiale sullo schermo. Questa coordinata rappresenta il centro del contatto rispetto alla visualizzazione.

I dispositivi che segnalano X e Y devono anche segnalare un utilizzo di larghezza o altezza. L'host usa la coordinata segnalata per compilare il rettangolo di delimitazione intorno al contatto.

Per gli utilizzi di X e Y è necessario specificare gli elementi globali seguenti:

  • Minimo logico
  • Numero massimo logico
  • Minimo fisico
  • Massimo fisico
  • Unità
  • Esponente unità

L'intervallo fisico per il dispositivo e le unità devono essere segnalate in modo accurato. Se le informazioni non sono accurate, il dispositivo non funzionerà correttamente. I dispositivi devono anche segnalare i dati all'interno dell'intervallo logico specificato nel descrittore del report.

X e Y possono fornire un valore NULL al sistema, implicando che il dispositivo non dispone attualmente di una posizione rispetto a uno schermo, fornendo un valore esterno all'intervallo logico segnalato e aggiungendo supporto Null al report di input dell'utilizzo (Bit 6 {Nessuna posizione Null (0) | Stato Null(1)}).

Larghezza e altezza

L'utilizzo di larghezza e altezza rappresenta la larghezza e l'altezza del rettangolo di selezione intorno al contatto del controller radiale. La larghezza e l'altezza devono essere definite come costanti nel descrittore del report.

Si presuppone che un dispositivo controller radiale Windows sia circolare dal sistema. Per questo motivo, non è necessario segnalare sia la larghezza che l'altezza per un contatto sullo schermo. Se l'altezza o la larghezza è supportata, i limiti del contatto verranno interpretati correttamente dal sistema. Windows non fornisce il supporto per i dispositivi controller radiali con valori diversi per larghezza e altezza.