Совместимость с ChromeOS — спецификация клавиатуры v1.0

Версия: 1.0.1
Последнее обновление: 1 февраля 2024 г.

Легенда

Глагол продукта Действия по развитию
"ДОЛЖЕН" Обязательное требование к товару
"ДОЛЖЕН" Дополнительная рекомендация
"МОЖЕТ" Приятно иметь

Обзор

В этом документе со спецификациями описаны критерии, которым соответствует клавиатура, совместимая с ChromeOS.

Эта спецификация охватывает внешнюю клавиатуру, которая не является частью основного корпуса устройства. Клавиатуру можно подключить к устройству ChromeOS по беспроводной сети или по проводу.

Клавиатура может продаваться отдельно как аксессуар или в комплекте с устройством ChromeOS.

Глоссарий

  • Специальные клавиши : Tab, Enter, Backspace, Space, 英数, かな, かな<=>英数, Fn, Page Up, Page Down, Home, End, Удалить, Escape, Блокировка, Переключение языка.
  • Клавиши-модификаторы : Launcher, Shift, Control, Alt, Alt Gr, Fn.
  • Символьные клавиши : клавиши, обозначающие письменный язык или математические операции, включая буквы, знаки препинания, символы и диакритические символы.
  • Функциональные клавиши : Пронумерованные клавиши Fn, такие как F1, F2, ....
  • Клавиши навигации : вверх, вниз, влево, вправо.
  • Набор из шести клавиш : в расширенной компоновке два ряда по три клавиши расположены над клавишами навигации.
  • Ключ : небольшой адаптер порта, обеспечивающий связь с аксессуаром в формате, который изначально не поддерживается устройством ChromeOS. Ключ часто содержит радиочастотный приемник.
  • РФ : Радиочастота. Самый распространенный вид беспроводной связи.
  • Модальные клавиши : Caps Lock, Num Lock, Scroll Lock; Клавиши, которые изменяют поведение клавиатуры и продолжают действовать после их отпускания.

Тип

  • Если клавиатура подключается к устройству ChromeOS через проводное соединение, ей СЛЕДУЕТ подключиться к устройству ChromeOS через USB.
  • Если клавиатура использует беспроводное соединение, ее СЛЕДУЕТ подключить к устройству ChromeOS с помощью Bluetooth или USB-адаптера 2,4 ГГц (ключ).

Безопасность

Программа обновления прошивки

Важно обеспечить возможность исправления периферийных устройств на случай обнаружения уязвимостей в будущем. В противном случае подключение к ChromeOS периферийным устройствам с известными уязвимостями будет заблокировано.

  • Беспроводная клавиатура Bluetooth ДОЛЖНА поддерживать возможность обновления прошивки.
  • Клавиатура-ключ 2,4 ГГц ДОЛЖНА поддерживать возможность обновления прошивки.
  • Клавиатура ДОЛЖНА поддерживать обновления прошивки через fwupd.
    • Примечание. Это позволит пользователю без проблем получать обновления во время стандартного обновления ChromeOS (обычно каждые 4 недели).

Возможности подключения

  • Беспроводная клавиатура ДОЛЖНА поддерживать подключение к устройству ChromeOS с помощью одного или обоих:
    • Bluetooth
    • Беспроводной адаптер 2,4 ГГц

Беспроводной адаптер 2,4 ГГц

Клавиатура, поставляемая с беспроводным приемником (ключом) 2,4 ГГц, автоматически соединяется с этим приемником (и только с ним). Для сопряжения клавиатуры с другим приемником или сопряжения новой клавиатуры с существующим приемником требуется действие пользователя (либо на устройстве, либо через приложение). Следующие требования подробно описывают эту функциональность.

  • Если беспроводная клавиатура 2,4 ГГц поставляется вместе с ресивером, ресивер ДОЛЖЕН поддерживать подключение к устройству ChromeOS через USB-A или USB-C.
  • Если беспроводная клавиатура 2,4 ГГц поставляется вместе с приемником, то клавиатура ДОЛЖНА автоматически соединиться с приемником, входящим в комплект поставки клавиатуры.
  • Беспроводная клавиатура 2,4 ГГц, поставляемая вместе с приемником, ДОЛЖНА автоматически соединяться только с приемником, поставляемым в комплекте с клавиатурой.
  • Клавиатура 2,4 ГГц МОЖЕТ позволить пользователю выполнить сопряжение клавиатуры с другим приемником.
  • Приемник МОЖЕТ позволить пользователю подключить к нему еще одну клавиатуру 2,4 ГГц.
  • Клавиатура МОЖЕТ использовать приложение для сопряжения с другими приемниками, инициируемого пользователем.
  • Ресивер МОЖЕТ использовать приложение для сопряжения с другими клавиатурами, инициируемого пользователем.
  • Если приложению требуется изменить сопряжение клавиатуры и приемника, то этому приложению СЛЕДУЕТ работать на ChromeOS.
  • Если используется приложение для сопряжения, оно ДОЛЖНО быть собственным приложением ChromeOS.
    • Примечание. Расширения Chrome часто используются для поддержки настройки оборудования и аксессуаров.
  • Устройство МОЖЕТ использовать прогрессивное веб-приложение (PWA), использующее WebUSB или WebHID для настройки.
  • Если используется приложение для сопряжения, оно МОЖЕТ быть веб-приложением, использующим WebUSB или WebHID.
  • Если сопряжение осуществляется через расширение, то расширение ДОЛЖНО иметь доступ ТОЛЬКО к портам USB.
    • Примечание. Сценарии содержимого явно запрещены.

Bluetooth

  • Если беспроводная клавиатура поддерживает Bluetooth, она ДОЛЖНА соответствовать требованиям, указанным в разделе «Требования Bluetooth, совместимого с ChromeOS» . В частности, следующие разделы:
    • Общие требования к Bluetooth
    • Требования к устройству ввода Bluetooth

Разъемы

Проводные клавиатуры

  • Проводная клавиатура ДОЛЖНА поддерживать один из следующих USB-транспортов:
    • Разъем USB-C на клавиатуре
    • Невыпадающий кабель со штекером USB-A
    • Невыпадающий кабель со штекером USB-C
  • Если проводная клавиатура поддерживает розетку USB-C на устройстве, розетка USB-C ДОЛЖНА соответствовать разделу 4.5.1.3.2 Функциональная модель канала конфигурации приемника .
  • Если проводная клавиатура поддерживает розетку USB-C на устройстве, розетка USB-C ДОЛЖНА соответствовать Рисунку 4-9 Функциональная модель приемника для CC1 и CC2 .
  • Если проводная клавиатура поддерживает невыпадающий кабель со штекером USB-A, в комплект поставки продукта ДОЛЖЕН входить совместимый переходник с разъема USB Type-C на USB 3.1 Standard-A (раздел 3.6.1 спецификации USB Type-C) .
  • Если проводная клавиатура поддерживает невыпадающий кабель со штекером USB-C, штекер USB-C ДОЛЖЕН соответствовать разделу 4.5.2 «Функциональные и поведенческие требования USB Type-C».
    • Примечание. В частности, правила для устройств прямого подключения или устройств с невыпадающим кабелем (эти устройства должны применяться и определять уровни напряжения CC только на контакте A5).
  • Если проводная клавиатура поддерживает невыпадающий кабель со штекером USB-C, в клавиатуре НЕОБХОДИМО отказаться от пассивного адаптера USB Type-C — USB-A.
    • Обоснование: переходники USB Type-C на USB-A запрещены разделом 2.2 спецификации USB Type-C.
  • Если в комплект поставки продукта входит USB-кабель, этот кабель ДОЛЖЕН иметь сертификат USB-IF .

Ключевое поведение

N-клавишный ролловер

  • Если предполагается, что клавиатура будет работать в паре с игровыми устройствами, ей СЛЕДУЕТ поддерживать одновременное нажатие N клавиш (NKRO).
    • Примечание. Клавиатура, поддерживающая NKRO, может сообщать о любом количестве одновременно нажатых клавиш.
  • Если клавиатура не поддерживает NKRO, она ДОЛЖНА поддерживать одновременное нажатие шести клавиш (6KRO) или лучше.
    • Примечание. Клавиатура, поддерживающая 6KRO, может сообщать об одновременном нажатии до 6 клавиш.
  • Если клавиатура поддерживает менее 6KRO, то она ДОЛЖНА иметь защиту от ореолов или другие надежные механизмы для предотвращения регистрации ошибочных нажатий клавиш.

HID-коды

  • Клавиатура ДОЛЖНА отправлять дескриптор отчета HID при запросе, как того требует определение класса устройства для HID v1.11 .
  • Все ключи ДОЛЖНЫ отправлять осмысленные HID-коды действий , сопоставленные с кодом KEY_ или BTN_ ядром Linux .
    • Примечание. Некоторые устаревшие внешние клавиатуры устройств ChromeOS отправляют клавиши F1, F2 и т. д., которые не соответствуют значку на клавише — они несовместимы.

Функциональные клавиши

  • Клавиши МОГУТ иметь вторичное поведение в качестве функциональных клавиш.
  • Если на клавиатуре есть клавиши со вторичным поведением в качестве функциональных клавиш, на клавиатуре ДОЛЖНА быть клавиша Fn.
  • Если клавиша со вторичным поведением в качестве функциональной клавиши связана с клавишей Fn, клавиатура ДОЛЖНА отправить HID-код функциональной клавиши.
  • Клавиатура МОЖЕТ иметь специальные функциональные клавиши.

Рекомендации по созданию глифов

Функциональные клавиши

  • Глифы основных действий ДОЛЖНЫ выглядеть более заметными (крупнее, ярче или тяжелее по весу), чем глифы второстепенных функций.

Клавиши навигации: вверх, вниз, влево и вправо.

  • Если на клавиатуре есть клавиши навигации, на колпачках клавиш ДОЛЖНЫ быть напечатаны символы стрелок.
  • Если на клавиатуре есть клавиша «Влево» и клавиша «Назад», то символ левой клавиши ДОЛЖЕН визуально отличаться от значка клавиши «Назад».
  • Если на клавиатуре есть клавиша «Вправо» и клавиша «Вперед», то символ правой клавиши ДОЛЖЕН визуально отличаться от значка клавиши «Вперед».

Аккумулятор и мощность

  • Если клавиатура содержит батарею, то прошивка клавиатуры ДОЛЖНА сообщать об уровне заряда батареи через HID.
  • Если в клавиатуре установлены батарейки, она МОЖЕТ иметь одну или несколько клавиш, связанных с питанием, индикатор питания и выключатель питания.
  • Если в клавиатуре имеется перезаряжаемая батарея, она ДОЛЖНА поддерживать подзарядку через USB.
  • Если устройство поставляется с зарядным устройством USB-C, оно МОЖЕТ быть сертифицировано USB-IF для подачи питания.

Программное обеспечение

Идентификаторы поставщиков и продуктов

  • Идентификатор поставщика, сообщаемый клавиатурой по всем протоколам, ДОЛЖЕН принадлежать производителю.
  • Комбинации идентификаторов поставщика и продукта, сообщаемые клавиатурой, ДОЛЖНЫ быть уникальными среди других моделей клавиатур.
  • Если существует несколько вариантов одной и той же модели клавиатуры, все они ДОЛЖНЫ иметь один и тот же HID-дескриптор.
  • Если варианты одной и той же модели клавиатуры имеют разные дескрипторы HID, каждый вариант дескриптора HID ДОЛЖЕН сопоставляться с уникальным идентификатором продукта.

Ядро

  • Если используется собственный драйвер ядра, его НЕОБХОДИМО проверить в исходной версии Linux.
  • Если используется собственный драйвер ядра, его НЕОБХОДИМО перенести на ядра Chromium OS 4.14 и выше.
  • Когда клавиатура выключена или отключена, ядро ​​ДОЛЖНО удалить клавиатуру из коллекции устройств ввода.

лист регистраций изменений

Дата Версия Примечания
2024-02-01 1.0.1 Републикация на новой платформе
2023-05-18 1.0 Первоначальная публикация на партнерском сайте