Описание
 Используйте 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+Название продукта, считанное с устройства, если доступно. 
- reportDescriptorArrayBuffer Необработанный дескриптор отчета устройства (недоступно в 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 - идентификатор устройствачисло