Описание
Используйте 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
- идентификатор устройства
число