Compatibile con ChromeOS - Specifiche della tastiera v1.0

Versione: 1.0.1
Ultimo aggiornamento: 01-02-2024

Legenda

Verbo prodotto Azione di sviluppo
"DEVE" Requisito obbligatorio del prodotto
"DOVREBBE" Consiglio facoltativo
"MAG" Consigliabili

Panoramica

Il presente documento di specifica descrive i criteri soddisfatti da una tastiera compatibile con ChromeOS.

Questa specifica riguarda una tastiera esterna che non fa parte dello chassis principale del dispositivo. La tastiera può essere collegata in modalità wireless o tramite cavo a un dispositivo ChromeOS.

La tastiera può essere venduta separatamente come accessorio o in bundle con un dispositivo ChromeOS.

Glossario

  • Tasti speciali: Tab, Invio, Backspace, Spazio, 英数, ꋱ数, すす, すち<=>英数, Fn, Pagina su, Pagina giù, Home, Fine, Elimina, Esc, Blocca, Cambio lingua.
  • Tasti di modifica: Avvio app, Maiusc, Ctrl, Alt, Alt Gr, Fn.
  • Chiavi dei caratteri: tasti che rappresentano la lingua scritta o operazioni matematiche, che includono lettere, punteggiatura, simboli e caratteri diacritici.
  • Tasti funzione: tasti Fn numerati, ad esempio F1, F2, ...
  • Tasti di navigazione: Su, Giù, Sinistra, Destra.
  • Pacchetto da sei tasti: nel layout esteso, le due file di tre tasti si trovano sopra i tasti di navigazione.
  • Chiavetta: un adattatore per porta di piccole dimensioni che fornisce la comunicazione con un accessorio in un formato non supportato in modo nativo dal dispositivo ChromeOS. Spesso una chiavetta contiene un ricevitore RF.
  • RF: radiofrequenza. La forma più comune di comunicazione wireless.
  • Tasti modali: Bloc Maiusc, Bloc num, Bloc scorr.; tasti che cambiano il comportamento della tastiera e continuano a funzionare anche dopo il rilascio.

Tipo

  • Se la tastiera si collega al dispositivo ChromeOS tramite una connessione cablata, DOVREBBE essere collegata al dispositivo ChromeOS tramite USB.
  • Se la tastiera utilizza una connessione wireless, DOVREBBE collegarla al dispositivo ChromeOS tramite Bluetooth o un adattatore USB da 2,4 GHz (dongle).

Sicurezza

Autore aggiornamento firmware

È importante assicurarsi che sia possibile applicare patch alle periferiche nel caso in cui vengano scoperte vulnerabilità in futuro. In caso contrario, la connessione con ChromeOS alle periferiche con vulnerabilità note verrà bloccata.

  • Una tastiera wireless Bluetooth DEVE supportare l'aggiornabilità del firmware.
  • Una tastiera dongle da 2,4 GHz DOVREBBE supportare l'aggiornabilità del firmware.
  • La tastiera DEVE supportare gli aggiornamenti del firmware tramite fwupd.
    • Nota: ciò consente all'utente di eseguire gli aggiornamenti senza interruzioni durante un aggiornamento standard di ChromeOS (in genere ogni 4 settimane).

Connettività

  • La tastiera wireless DEVE supportare la connessione con il dispositivo ChromeOS utilizzando una o entrambe le modalità:
    • Bluetooth
    • Chiavetta wireless 2,4 GHz

Chiavetta wireless 2,4 GHz

Una tastiera dotata di ricevitore wireless a 2,4 GHz (chiavetta) si accoppia automaticamente con (e solo con) il ricevitore. È richiesta l'azione dell'utente (sul dispositivo o tramite un'app) per accoppiare la tastiera a un altro ricevitore o una nuova tastiera con un ricevitore esistente. I seguenti requisiti descrivono in dettaglio questa funzionalità.

  • Se una tastiera wireless a 2,4 GHz è confezionata insieme a un ricevitore, il ricevitore DEVE supportare la connessione al dispositivo ChromeOS tramite USB-A o USB-C.
  • Se una tastiera wireless a 2,4 GHz è imballata insieme a un ricevitore, la tastiera DEVE essere accoppiata automaticamente con il ricevitore in dotazione.
  • Una tastiera wireless da 2,4 GHz inclusa in un ricevitore DEVE essere accoppiata automaticamente solo con il ricevitore in dotazione.
  • La tastiera a 2,4 GHz POTREBBE consentire all'utente di accoppiare la tastiera con un altro ricevitore.
  • Il ricevitore POTREBBE consentire all'utente di accoppiare un'altra tastiera a 2,4 GHz con il ricevitore.
  • La tastiera POTREBBE dipendere da un'app per l'accoppiamento avviato dall'utente con altri ricevitori.
  • Il ricevitore POTREBBE dipendere da un'app per l'accoppiamento avviato dall'utente con altre tastiere.
  • Se è necessaria un'app per modificare l'accoppiamento della tastiera/ricevitore, l'app DEVE essere eseguita su ChromeOS.
  • Se viene utilizzata un'app di accoppiamento, l'app di accoppiamento DEVE essere un'app nativa di ChromeOS.
    • Nota: le estensioni di Chrome vengono spesso utilizzate per supportare la configurazione di hardware e accessori.
  • Il dispositivo POTREBBE affidarsi a un'app web progressiva (PWA) utilizzando WebUSB o WebHID per la personalizzazione.
  • Se viene utilizzata un'app di accoppiamento, l'app di accoppiamento POTREBBE essere un'app web che utilizza WebUSB o WebHID.
  • Se l'associazione viene implementata tramite un'estensione, quest'ultima DEVE avere accesso SOLO alle porte USB.
    • Nota: gli script di contenuti sono esplicitamente vietati.

Bluetooth

  • Se una tastiera wireless supporta il Bluetooth, DEVE rispettare i requisiti Bluetooth compatibili con ChromeOS. In particolare, le seguenti sezioni:
    • Requisiti Bluetooth generici
    • Requisiti del dispositivo di input Bluetooth

Connettori

Tastiere con cavo

  • Una tastiera con cavo DEVE supportare uno dei seguenti trasporti USB:
    • Presa USB-C sulla tastiera
    • Cavo con connettore USB-A
    • Cavo captive con connettore USB-C
  • Se la tastiera con cavo supporta una presa USB-C sul dispositivo, questa DEVE essere conforme alla Sezione 4.5.1.3.2 Modello funzionale del canale di configurazione del sink.
  • Se la tastiera con cavo supporta una presa USB-C sul dispositivo, questa DEVE essere conforme alla Figura 4-9 Modello funzionale del sink per CC1 e CC2.
  • Se la tastiera con cavo supporta un cavo captive con connettore USB-A, il set di prodotti DEVE includere un adattatore da USB Type-C a USB 3.1 Standard-A standard (sezione 3.6.1 della specifica USB Type-C).
  • Se la tastiera con cavo supporta un cavo captive con connettore USB-C, il connettore USB-C DEVE essere conforme alla Sezione 4.5.2 CC Requisiti funzionali e comportamentali.
    • Nota: in particolare, le regole relative al collegamento diretto del dispositivo o del dispositivo con cavo captive (questi dispositivi devono essere applicati e rilevare i livelli di tensione CC solo sul pin A5).
  • Se la tastiera con cavo supporta un cavo captive con connettore USB-C, DEVE omettere una presa USB Type-C passiva in un adattatore USB-A.
    • Motivazione: gli adattatori USB Type-C e USB-A sono vietati dalla sezione 2.2 della specifica USB Type-C.
  • Se il set di prodotti include un cavo USB, DOVREBBE essere certificato USB-IF.

Comportamento chiave

Rollover con tasti N

  • Se è previsto che la tastiera venga accoppiata a dispositivi per i giochi, DOVREBBE supportare il rollback con tasto NKRO (NKRO).
    • Nota: una tastiera che supporta NKRO può segnalare il numero di tasti premuti contemporaneamente.
  • Se la tastiera non supporta NKRO, DOVREBBE supportare il rollback a sei tasti (6KRO) o migliore.
    • Nota: una tastiera che supporta 6KRO può segnalare la pressione di un massimo di 6 tasti contemporaneamente.
  • Se la tastiera supporta meno di 6KRO, DOVREBBE avere anti-ghosting o altri meccanismi affidabili per evitare la registrazione errata di pressioni dei tasti.

Codici HID

  • La tastiera DEVE inviare un descrittore di report HID quando viene eseguita la query, come richiesto dalla Definizione della classe del dispositivo per HID v1.11.
  • Tutte le chiavi DEVONO inviare codici HID di azione significativi, mappati a un codice KEY_ o BTN_ dal kernel Linux.
    • Nota: alcune tastiere esterne dei dispositivi ChromeOS legacy inviano F1, F2 e così via, che non corrispondono al glifo sul tasto. Queste tastiere non sono conformi.

Tasti funzione

  • I tasti POTREBBERO avere un comportamento secondario come tasti funzione.
  • Se le tastiere hanno tasti con un comportamento secondario come i tasti funzione, la tastiera DEVE avere un tasto Fn.
  • Se un tasto con comportamento secondario come tasto funzione è collegato a un tasto Fn, la tastiera DEVE inviare un codice HID di un tasto funzione.
  • La tastiera POTREBBE avere tasti funzione dedicati.

Linee guida per l'artwork di Glyph

Tasti funzione

  • I glifi delle azioni principali DEVONO apparire più evidenti (più grandi, più luminosi o di peso maggiore) rispetto ai glifi delle funzioni secondarie.

I tasti di navigazione sono Su, Giù, Sinistra e Destra.

  • Se la tastiera dispone di tasti di navigazione, i tasti di navigazione DEVONO avere i glifi stampati sui tasti.
  • Se la tastiera ha un tasto sinistro e un tasto Indietro, il glifo del tasto sinistro DEVE essere visivamente distinto dal glifo del tasto Indietro.
  • Se la tastiera ha un tasto destro e un tasto Avanti, il glifo del tasto destro DEVE essere visivamente distinto dal glifo del tasto Avanti.

Batteria e alimentazione

  • Se la tastiera contiene una batteria, il firmware della tastiera DOVREBBE segnalare il livello della batteria tramite HID.
  • Se contiene batterie, la tastiera POTREBBE includere uno o più tasti relativi all'alimentazione, un indicatore di alimentazione e un interruttore di alimentazione.
  • Se la tastiera contiene una batteria ricaricabile, DOVREBBE supportare la ricarica tramite USB.
  • Se il dispositivo è fornito con un caricabatterie USB-C, il caricabatterie POTREBBE essere certificato USB-IF per l'alimentazione.

Software

ID fornitore e ID prodotto

  • L'ID del fornitore riportato dalla tastiera per tutti i protocolli DEVE appartenere al produttore.
  • Le combinazioni di ID fornitore/ID prodotto segnalate dalla tastiera DEVONO essere univoche rispetto agli altri modelli di tastiera.
  • Se esistono più varianti dello stesso modello di tastiera, DEVONO condividere tutte lo stesso descrittore HID.
  • Se le varianti dello stesso modello di tastiera hanno descrittori HID diversi, ogni variante del descrittore HID DEVE essere mappata a un ID prodotto univoco.

Kernel

  • Se viene utilizzato un driver del kernel personalizzato, DEVE essere controllato nell'upstream Linux
  • Se viene utilizzato un driver kernel personalizzato, DEVE essere eseguito il backporting nei kernel Chromium OS 4.14 e versioni successive.
  • Quando una tastiera è spenta o disconnessa, il kernel DEVE rimuovere la tastiera dalla raccolta di dispositivi di input.

Cronologia revisioni

Data Versione Note
2024-02-01 1.0.1 Repubblica su una nuova piattaforma
2023-05-18 1,0 Pubblicazione iniziale sul sito partner