chrome.hid

Описание

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

Разрешения

hid

Типы

DeviceFilter

Характеристики

  • идентификатор продукта

    номер необязательно

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

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

    номер необязательно

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

  • страница использования

    номер необязательно

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

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

    номер необязательно

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

GetDevicesOptions

Характеристики

  • фильтры

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

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

  • идентификатор продукта

    номер необязательно

    Устарело

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

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

    номер необязательно

    Устарело

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

HidCollectionInfo

Характеристики

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

    число[]

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

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

    число

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

  • страница использования

    число

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

HidConnectInfo

Характеристики

  • идентификатор соединения

    число

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

HidDeviceInfo

Характеристики

  • коллекции

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

  • идентификатор устройства

    число

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

  • maxFeatureReportSize

    число

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

  • МаксИнпутРепортСизе

    число

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

  • Максаутпутрепортсизе

    число

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

  • идентификатор продукта

    число

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

  • название продукта

    нить

    Хром 46+

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

  • дескриптор отчета

    МассивБуфер

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

  • серийный номер

    нить

    Хром 46+

    Серийный номер, считанный с устройства, если таковой имеется.

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

    число

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

Методы

connect()

Обещать
chrome.hid.connect(
  deviceId: number,
  callback?: function,
)

Откройте соединение с HID-устройством для связи.

Параметры

  • идентификатор устройства

    число

    HidDeviceInfo.deviceId открываемого устройства.

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    (connection: HidConnectInfo) => void

Возврат

  • Обещание < HidConnectInfo >

    Хром 117+

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

disconnect()

Обещать
chrome.hid.disconnect(
  connectionId: number,
  callback?: function,
)

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

Параметры

  • идентификатор соединения

    число

    connectionId возвращаемый функцией connect .

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 117+

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

getDevices()

Обещать
chrome.hid.getDevices(
  options: GetDevicesOptions,
  callback?: function,
)

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

Параметры

  • параметры

    Свойства для поиска на целевых устройствах.

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    (devices: HidDeviceInfo[]) => void

Возврат

  • Обещание< HidDeviceInfo []>

    Хром 117+

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

receive()

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

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

Параметры

  • идентификатор соединения

    число

    connectionId возвращаемый функцией connect .

  • перезвонить

    функция

    Параметр callback выглядит так:

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

    • идентификатор отчета

      число

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

    • данные

      МассивБуфер

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

receiveFeatureReport()

Обещать
chrome.hid.receiveFeatureReport(
  connectionId: number,
  reportId: number,
  callback?: function,
)

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

Параметры

  • идентификатор соединения

    число

    connectionId возвращаемый функцией connect .

  • идентификатор отчета

    число

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

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    (data: ArrayBuffer) => void

    • данные

      МассивБуфер

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

Возврат

  • Обещание<ArrayBuffer>

    Хром 117+

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

send()

Обещать
chrome.hid.send(
  connectionId: number,
  reportId: number,
  data: ArrayBuffer,
  callback?: function,
)

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

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

Параметры

  • идентификатор соединения

    число

    connectionId возвращаемый функцией connect .

  • идентификатор отчета

    число

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

  • данные

    МассивБуфер

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

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 117+

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

sendFeatureReport()

Обещать
chrome.hid.sendFeatureReport(
  connectionId: number,
  reportId: number,
  data: ArrayBuffer,
  callback?: function,
)

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

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

Параметры

  • идентификатор соединения

    число

    connectionId возвращаемый функцией connect .

  • идентификатор отчета

    число

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

  • данные

    МассивБуфер

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

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 117+

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

События

onDeviceAdded

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

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

Параметры

onDeviceRemoved

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

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

Параметры

  • перезвонить

    функция

    Параметр callback выглядит так:

    (deviceId: number) => void

    • идентификатор устройства

      число