chrome.hid

Описание

Используйте chrome.hid API для взаимодействия с подключенными HID-устройствами. Этот API предоставляет доступ к операциям HID из контекста приложения. С помощью этого API приложения могут работать как драйверы для аппаратных устройств. Ошибки, созданные этим API, регистрируются путем настройки runtime.lastError и выполнения обычного обратного вызова функции. В этом случае обычные параметры обратного вызова не будут определены.

Разрешения

hid

Типы

DeviceFilter

Свойства

  • идентификаторТовара

    number (необязательно)

    Идентификатор продукта устройства. Проверяется, только если совпадает идентификатор производителя.

  • использование

    number (необязательно)

    Идентификатор использования HID. Проверяется, только если страница использования HID совпадает.

  • usagePage

    number (необязательно)

    Идентификатор страницы использования HID.

  • vendorId

    number (необязательно)

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

GetDevicesOptions

Свойства

  • фильтры

    DeviceFilter[] необязательный

    Будут возвращены устройства, соответствующие любому из заданных фильтров. Если список фильтров пуст, будут возвращены все устройства, для которых у приложения есть разрешение.

  • идентификаторТовара

    number (необязательно)

    Поддержка прекращена

    Эквивалентно настройке DeviceFilter.productId.

  • vendorId

    number (необязательно)

    Поддержка прекращена

    Эквивалентно настройке DeviceFilter.vendorId.

HidCollectionInfo

Свойства

  • reportIds

    number[]

    Идентификаторы отчетов, которые относятся к коллекции и ее дочерним элементам.

  • использование

    число

    Идентификатор использования, заданный на странице.

  • usagePage

    число

    Идентификатор страницы использования HID.

HidConnectInfo

Свойства

  • connectionId

    число

    Непрозрачный идентификатор, используемый для идентификации этого подключения во всех остальных функциях.

HidDeviceInfo

Свойства

  • подборки

    Коллекции верхнего уровня из дескрипторов отчетов этого устройства.

  • deviceId

    число

    Непрозрачный идентификатор устройства.

  • maxFeatureReportSize

    число

    Максимальный размер отчета об объектах в коллекции верхнего уровня.

  • maxInputReportSize

    число

    Максимальный размер отчета о входных данных для коллекции верхнего уровня.

  • maxOutputReportSize

    число

    Максимальный размер отчета в коллекции верхнего уровня.

  • идентификаторТовара

    число

    Идентификатор товара.

  • названиеТовара

    string

    Chrome 46 и более поздних версий;

    Название товара, считанное с устройства (если доступно).

  • reportDescriptor

    ArrayBuffer

    Необработанный дескриптор отчета об устройстве (недоступно в Windows).

  • serialNumber

    string

    Chrome 46 и более поздних версий;

    Серийный номер, считанный с устройства (если доступен).

  • vendorId

    число

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

Методы

connect()

Promise
chrome.hid.connect(
  deviceId: number,
  callback?: function,
)
: Promise<HidConnectInfo>

Открывать подключение к HID-устройству для обмена данными.

Параметры

  • deviceId

    число

    HidDeviceInfo.deviceId устройства, которое нужно открыть.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (connection: HidConnectInfo) => void

Возвраты

  • Chrome 117 и более поздних версий

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

disconnect()

Promise
chrome.hid.disconnect(
  connectionId: number,
  callback?: function,
)
: Promise<void>

Отключитесь от устройства. Вызов операций на устройстве после вызова этого метода безопасен, но не имеет эффекта.

Параметры

  • connectionId

    число

    connectionId, возвращенный connect.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Promise<void>

    Chrome 117 и более поздних версий

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

getDevices()

Promise
chrome.hid.getDevices(
  options: GetDevicesOptions,
  callback?: function,
)
: Promise<HidDeviceInfo[]>

Перечисление подключенных HID-устройств.

Параметры

  • Параметры

    Свойства, которые нужно найти на целевых устройствах.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (devices: HidDeviceInfo[]) => void

Возвраты

  • Promise<HidDeviceInfo[]>

    Chrome 117 и более поздних версий

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

receive()

chrome.hid.receive(
  connectionId: number,
  callback: function,
)
: void

Получить следующий отчет о вводе с устройства.

Параметры

  • connectionId

    число

    connectionId, возвращенный connect.

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (reportId: number, data: ArrayBuffer) => void

    • reportId

      число

      Идентификатор отчета или 0, если его нет.

    • делал.

      ArrayBuffer

      Данные отчета, префикс идентификатора отчета (если есть) удаляется.

receiveFeatureReport()

Promise
chrome.hid.receiveFeatureReport(
  connectionId: number,
  reportId: number,
  callback?: function,
)
: Promise<ArrayBuffer>

Запросить отчет о функциях с устройства.

Параметры

  • connectionId

    число

    connectionId, возвращенный connect.

  • reportId

    число

    Идентификатор отчета или 0, если его нет.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (data: ArrayBuffer) => void

    • делал.

      ArrayBuffer

      Данные отчета, включая префикс идентификатора отчета, если он отправлен устройством.

Возвраты

  • Promise<ArrayBuffer>

    Chrome 117 и более поздних версий

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

send()

Promise
chrome.hid.send(
  connectionId: number,
  reportId: number,
  data: ArrayBuffer,
  callback?: function,
)
: Promise<void>

Отправляет отчет о выводе на устройство.

Примечание. Не указывайте префикс идентификатора отчета в data. При необходимости он будет добавлен.

Параметры

  • connectionId

    число

    connectionId, возвращенный connect.

  • reportId

    число

    Идентификатор отчета, который нужно использовать, или 0, если его нет.

  • делал.

    ArrayBuffer

    Данные отчета.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Promise<void>

    Chrome 117 и более поздних версий

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

sendFeatureReport()

Promise
chrome.hid.sendFeatureReport(
  connectionId: number,
  reportId: number,
  data: ArrayBuffer,
  callback?: function,
)
: Promise<void>

Отправка отчета о функциях на устройство.

Примечание. Не указывайте префикс идентификатора отчета в data. При необходимости он будет добавлен.

Параметры

  • connectionId

    число

    connectionId, возвращенный connect.

  • reportId

    число

    Идентификатор отчета, который нужно использовать, или 0, если его нет.

  • делал.

    ArrayBuffer

    Данные отчета.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Promise<void>

    Chrome 117 и более поздних версий

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

События

onDeviceAdded

chrome.hid.onDeviceAdded.addListener(
  callback: function,
)

Событие, которое генерируется при добавлении устройства в систему. События передаются только приложениям и расширениям, у которых есть разрешение на доступ к устройству. Разрешение могло быть предоставлено во время установки или когда пользователь принял необязательное разрешение (см. permissions.request).

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (device: HidDeviceInfo) => void

onDeviceRemoved

chrome.hid.onDeviceRemoved.addListener(
  callback: function,
)

Событие, которое создается при удалении устройства из системы. Подробнее о том, какие события доставляютсяonDeviceAdded…

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (deviceId: number) => void

    • deviceId

      число