Versão: 1.0.1
Última atualização: 31/01/2024
Legenda
Verbo do produto | Ação de desenvolvimento |
---|---|
"PRECISA" | Requisito obrigatório de produto |
"DEVE" | Recomendação opcional |
"MAIO" | Opcional |
Visão geral
Este documento de especificação descreve os critérios que um mouse compatível com o ChromeOS atende. Essa especificação não deve ser usada para produtos WWCB ou para um produto projetado e certificado junto com um Chromebook.
Este documento se aplica somente a mouses e não inclui trackpads ou trackballs.
Requisitos de segurança
Atualizador de firmware
- Se um mouse sem fio for compatível com Bluetooth, ele DEVE oferecer suporte à atualização de firmware.
- Se um mouse sem fio tiver suporte a 2,4 GHz de dongle, ele DEVE oferecer suporte à atualização de firmware.
- O mouse DEVE realizar atualizações de firmware por fwupd.
- Justificativa: fazer isso permite que as atualizações sejam integradas ao usuário durante uma atualização padrão do ChromeOS (normalmente a cada seis semanas).
- Observação: é importante garantir que os periféricos possam ser corrigidos se vulnerabilidades forem descobertas no futuro. Observação: um periférico com vulnerabilidades conhecidas não poderá se conectar a dispositivos ChromeOS.
- Observação: mouses com fio que não oferecem suporte a Bluetooth ou um dongle de 2,4 GHz estão isentos de oferecer suporte à capacidade de atualização de firmware.
Conectividade
- O mouse sem fio PRECISA oferecer suporte à conexão com o dispositivo ChromeOS usando
um ou ambos:
- Bluetooth
- Dongle sem fio de 2,4 GHz
Dongle sem fio de 2,4 GHz
Um mouse que vem com um receptor sem fio (dongle) de 2,4 GHz faz o pareamento automático com esse receptor, e apenas com ele. A ação do usuário (no dispositivo ou em um app) é necessária para parear os mouses com outro receptor ou parear um novo mouse com um receptor já existente. Os requisitos a seguir detalham essa funcionalidade.
- Um mouse sem fio de 2, 4 GHz é acompanhado por um receptor.O receptor PRECISA oferecer suporte à conexão com o dispositivo ChromeOS via USB-A ou USB-C.
- Um mouse sem fio de 2,4 GHz é acompanhado por um receptor.Em seguida, os mouses PRECISAM ser pareados automaticamente com o receptor que acompanha os mouses.
- Um mouse sem fio de 2,4 GHz enviado junto com um receptor PRECISA ser pareado automaticamente apenas com o receptor que vem junto com os mouses.
- Os mouses de 2,4 GHz PODEM permitir que o usuário pareie os mouses com outro receptor.
- O receptor pode permitir que o usuário pareie outro mouse de 2,4 GHz com o receptor.
- Os mouses PODEM depender de um app para parear iniciado pelo usuário com outros receptores.
- O receptor pode depender de um app para o pareamento iniciado pelo usuário com outros mouses.
- Se um app precisar mudar o pareamento de mouse/receptor, ele PRECISA ser executado no ChromeOS.
- Se um app de pareamento for usado, ele DEVE ser nativo do ChromeOS.
- Observação: as extensões do Chrome geralmente são usadas para oferecer suporte à configuração de hardware e acessórios.
- O dispositivo PODE depender de um App Web Progressivo (PWA) usando WebUSB ou WebHID para personalização.
- Se um app de pareamento for usado, ele PODE ser um app da Web que usa WebUSB ou WebHID.
- Se o pareamento for implementado com uma extensão, ela PRECISA ter acesso SOMENTE às portas USB.
Bluetooth
- Se um teclado sem fio oferecer suporte a Bluetooth, ele PRECISA estar em conformidade
com os Requisitos de Bluetooth compatível com ChromeOS.
Mais especificamente, as seguintes seções:
- Requisitos genéricos do Bluetooth
- Requisitos do dispositivo de entrada Bluetooth
Conectores
Mouses com fio
- Um mouse com fio PRECISA oferecer suporte a um dos seguintes transportes USB:
- Recepção USB-C no mouse
- Cabo cativo com plugue USB-A
- Cabo cativo com plugue USB-C
- Se o mouse com fio for compatível com o receptáculo USB-C no dispositivo, ele PRECISA estar em conformidade com a Seção 4.5.1.3.2 Modelo funcional do canal de configuração do coletor.
- Se o mouse com fio for compatível com o receptáculo USB-C no dispositivo, ele PRECISA estar em conformidade com a Figura 4-9 do modelo funcional do coletor para CC1 e CC2.
- Se o mouse com fio oferecer suporte a cabo cativo com plugue USB-A, o pacote de produtos DEVE incluir um USB-C para adaptador de receptáculo USB 3.1 Standard-A (Seção 3.6.1 da especificação USB-C).
Se o mouse com fio for compatível com cabo cativo com plugue USB-C, o plugue USB-C PRECISA estar em conformidade com a especificação USB-C Seção 4.5.2 Requisitos funcionais e comportamentais do CC.
- Observação: especificamente as regras relacionadas a dispositivos de conexão direta ou dispositivos com cabo cativo.
Esses dispositivos devem aplicar e detectar níveis de tensão CC apenas no pin A5.
Se o mouse com fio oferecer suporte a cabo cativo com plugue USB-C, o mouse NÃO PODE incluir um receptáculo passivo USB-C para USB-A.
- Justificativa: o receptáculo USB-C para adaptadores USB-A são proibidos pela Seção 2.2 da especificação USB-C.
Se o pacote de produtos incluir um cabo USB, o cabo DEVE ter certificação USB-IF.
Hardware e design visual
Mecanismo de rolagem
- O mouse PODE ter um mecanismo de rolagem.
- Observação: um mecanismo de rolagem inclui uma roda de rolagem, uma superfície multitoque etc.
Botões
- O mouse DEVE conseguir gerar cliques com o botão esquerdo e direito usando dois botões separados ou uma única superfície tátil/de clique multitoque.
- O mouse PODE ter botões que executam ações listadas em nossa biblioteca de códigos de tecla universal.
Rastreamento de superfície
- Se o CPI de um mouse é fixo, o CPI do mouse DEVE ser igual a 800 CPI.
- Se o CPI de um mouse for variável, o mouse DEVE ter uma opção de CPI no intervalo de 800 a 1.500.
Modo de baixo consumo de energia
- Quando o mouse passa por um período sem atividade, ele DEVE entrar
em um modo de baixo consumo de energia.
- Observação: um modo de baixo consumo de energia é alcançado com a redução da taxa de verificação.
- Quando o usuário move o mouse, ele DEVE comunicar eventos de movimento ao
dispositivo ChromeOS em até 30 ms.
- Justificativa: 30 ms é considerado um bom tempo máximo de resposta, antes que a experiência do usuário diminua.
Software
IDs de fornecedores e produtos
- O ID do fornecedor informado pelo mouse sobre todos os protocolos PRECISA pertencer ao fabricante.
- As combinações de fornecedor/ID do produto informadas pelo mouse PRECISAM ser exclusivas de outros modelos de mouse.
- Se houver diversas variantes do mesmo modelo de mouse, todas elas DEVEM compartilhar o mesmo descritor de HID.
- Se as variantes do mesmo modelo de mouse tiverem descritores HID diferentes, cada variação do descritor HID PRECISA ser mapeada para um ID de produto exclusivo.
Kernel
- Se um driver de kernel personalizado for usado, ele PRECISA ser verificado no Linux upstream
- Se um driver de kernel personalizado for usado, ele PRECISA ter backport para os kernels do Chromium OS 4.4 e versões mais recentes.
- Quando um mouse é desligado ou desconectado, o kernel PRECISA remover o mouse da coleção de dispositivos de entrada.
Botões
- O botão esquerdo PRECISA informar BTN_LEFT.
- O botão do meio PRECISA informar BTN_MIDDLE.
- O botão direito PRECISA informar BTN_RIGHT.
- Se o mouse tiver um botão com uma função padrão, ele PRECISA
informar a função padrão usando um código KEY_ ou BTN_ correspondente descrito
no kernel do Linux.
- O mouse DEVE informar uma chave apenas se estiver fisicamente presente no mouse ou se puder ser mapeada para um dos botões do mouse usando uma ferramenta de configuração
- O mouse NÃO PODE informar uma interface completa de 104 teclas do teclado.
Carregamento
Como mouses com fio geralmente não precisam de carregamento, pode ser entendido que esta seção se aplica apenas a mouses sem fio.
- Se o mouse usar uma bateria recarregável, ele DEVE oferecer suporte à recarga usando as portas USB-C ou micro USB.
- Se o mouse incluir um carregador USB-C, o carregador DEVE ter a certificação USB-IF.
- Se o mouse incluir um cabo USB-C, o cabo DEVE ter a certificação USB-IF.
Histórico de revisões
Data | Versão | Observações |
---|---|---|
2024-02-01 | 1.0.1 | Republicação em uma nova plataforma |
2023-05-19 | 1.0 | Publicação inicial do site do parceiro |