chrome.hid

Описание

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

Разрешения

hid

Типы

DeviceFilter

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

  • productId

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

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

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

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

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

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

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

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

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

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

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

GetDevicesOptions

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

  • фильтры

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

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

  • productId

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

    Устаревший

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

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

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

    Устаревший

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

HidCollectionInfo

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

  • reportIds

    число[]

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

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

    число

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

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

    число

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

HidConnectInfo

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

  • connectionId

    число

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

HidDeviceInfo

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

  • коллекции

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

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

    число

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

  • maxFeatureReportSize

    число

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

  • maxInputReportSize

    число

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

  • maxOutputReportSize

    число

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

  • productId

    число

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

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

    нить

    Хром 46+

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

  • reportDescriptor

    ArrayBuffer

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

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

    нить

    Хром 46+

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

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

    число

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

Методы

connect()

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

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

Параметры

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

    число

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

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

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

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

    (connection: HidConnectInfo) => void

Возврат

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

    Хром 117+

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

disconnect()

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

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

Параметры

  • connectionId

    число

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

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

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

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

    () => void

Возврат

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

    Хром 117+

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

getDevices()

Обещать
chrome.hid.getDevices(
  options: GetDevicesOptions,
  callback?: function,
)
: Promise<HidDeviceInfo[]>

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

Параметры

  • параметры

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

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

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

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

    (devices: HidDeviceInfo[]) => void

Возврат

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

    Хром 117+

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

receive()

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

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

Параметры

  • connectionId

    число

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

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

    функция

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

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

    • reportId

      число

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

    • данные

      ArrayBuffer

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

receiveFeatureReport()

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

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

Параметры

  • connectionId

    число

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

  • reportId

    число

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

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

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

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

    (data: ArrayBuffer) => void

    • данные

      ArrayBuffer

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

Возврат

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

    Хром 117+

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

send()

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

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

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

Параметры

  • connectionId

    число

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

  • reportId

    число

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

  • данные

    ArrayBuffer

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

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

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

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

    () => void

Возврат

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

    Хром 117+

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

sendFeatureReport()

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

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

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

Параметры

  • connectionId

    число

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

  • reportId

    число

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

  • данные

    ArrayBuffer

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

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

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

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

    () => void

Возврат

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

    Хром 117+

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

События

onDeviceAdded

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

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

Параметры

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

    функция

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

    (device: HidDeviceInfo) => void

onDeviceRemoved

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

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

Параметры

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

    функция

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

    (deviceId: number) => void

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

      число