Описание
Используйте 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
).
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(device: HidDeviceInfo) => void
- устройство
onDeviceRemoved
chrome.hid.onDeviceRemoved.addListener(
callback: function,
)
Событие генерируется при удалении устройства из системы. См. onDeviceAdded
для которого доставляются события.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(deviceId: number) => void
- идентификатор устройства
число