Описание
Используйте chrome.hid API для взаимодействия с подключенными HID-устройствами. Этот API предоставляет доступ к операциям HID из контекста приложения. С помощью этого API приложения могут работать как драйверы для аппаратных устройств. Ошибки, созданные этим API, регистрируются путем настройки runtime.lastError и выполнения обычного обратного вызова функции. В этом случае обычные параметры обратного вызова не будут определены.
Разрешения
hidТипы
DeviceFilter
Свойства
-
идентификаторТовара
number (необязательно)
Идентификатор продукта устройства. Проверяется, только если совпадает идентификатор производителя.
-
использование
number (необязательно)
Идентификатор использования HID. Проверяется, только если страница использования HID совпадает.
-
usagePage
number (необязательно)
Идентификатор страницы использования HID.
-
vendorId
number (необязательно)
Идентификатор поставщика устройства.
GetDevicesOptions
Свойства
-
фильтры
DeviceFilter[] необязательный
Будут возвращены устройства, соответствующие любому из заданных фильтров. Если список фильтров пуст, будут возвращены все устройства, для которых у приложения есть разрешение.
-
идентификаторТовара
number (необязательно)
Поддержка прекращенаЭквивалентно настройке
DeviceFilter.productId. -
vendorId
number (необязательно)
Поддержка прекращенаЭквивалентно настройке
DeviceFilter.vendorId.
HidCollectionInfo
Свойства
-
reportIds
number[]
Идентификаторы отчетов, которые относятся к коллекции и ее дочерним элементам.
-
использование
число
Идентификатор использования, заданный на странице.
-
usagePage
число
Идентификатор страницы использования HID.
HidConnectInfo
Свойства
-
connectionId
число
Непрозрачный идентификатор, используемый для идентификации этого подключения во всех остальных функциях.
HidDeviceInfo
Свойства
-
подборки
Коллекции верхнего уровня из дескрипторов отчетов этого устройства.
-
deviceId
число
Непрозрачный идентификатор устройства.
-
maxFeatureReportSize
число
Максимальный размер отчета об объектах в коллекции верхнего уровня.
-
maxInputReportSize
число
Максимальный размер отчета о входных данных для коллекции верхнего уровня.
-
maxOutputReportSize
число
Максимальный размер отчета в коллекции верхнего уровня.
-
идентификаторТовара
число
Идентификатор товара.
-
названиеТовара
string
Chrome 46 и более поздних версий;Название товара, считанное с устройства (если доступно).
-
reportDescriptor
ArrayBuffer
Необработанный дескриптор отчета об устройстве (недоступно в Windows).
-
serialNumber
string
Chrome 46 и более поздних версий;Серийный номер, считанный с устройства (если доступен).
-
vendorId
число
Идентификатор поставщика.
Методы
connect()
chrome.hid.connect(
deviceId: number,
callback?: function,
): Promise<HidConnectInfo>
Открывать подключение к HID-устройству для обмена данными.
Параметры
-
deviceId
число
HidDeviceInfo.deviceIdустройства, которое нужно открыть. -
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:(connection: HidConnectInfo) => void
-
Связь
-
Возвраты
-
Promise<HidConnectInfo>
Chrome 117 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
disconnect()
chrome.hid.disconnect(
connectionId: number,
callback?: function,
): Promise<void>
Отключитесь от устройства. Вызов операций на устройстве после вызова этого метода безопасен, но не имеет эффекта.
Параметры
-
connectionId
число
connectionId, возвращенныйconnect. -
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
-
Promise<void>
Chrome 117 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
getDevices()
chrome.hid.getDevices(
options: GetDevicesOptions,
callback?: function,
): Promise<HidDeviceInfo[]>
Перечисление подключенных HID-устройств.
Параметры
-
Параметры
Свойства, которые нужно найти на целевых устройствах.
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:(devices: HidDeviceInfo[]) => void
-
устройства
-
Возвраты
-
Promise<HidDeviceInfo[]>
Chrome 117 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
receive()
chrome.hid.receive(
connectionId: number,
callback: function,
): void
Получить следующий отчет о вводе с устройства.
Параметры
-
connectionId
число
connectionId, возвращенныйconnect. -
обратный вызов
function
Параметр
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, если его нет. -
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:(data: ArrayBuffer) => void
-
делал.
ArrayBuffer
Данные отчета, включая префикс идентификатора отчета, если он отправлен устройством.
-
Возвраты
-
Promise<ArrayBuffer>
Chrome 117 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
send()
chrome.hid.send(
connectionId: number,
reportId: number,
data: ArrayBuffer,
callback?: function,
): Promise<void>
Отправляет отчет о выводе на устройство.
Примечание. Не указывайте префикс идентификатора отчета в data. При необходимости он будет добавлен.
Параметры
-
connectionId
число
connectionId, возвращенныйconnect. -
reportId
число
Идентификатор отчета, который нужно использовать, или
0, если его нет. -
делал.
ArrayBuffer
Данные отчета.
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
-
Promise<void>
Chrome 117 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
sendFeatureReport()
chrome.hid.sendFeatureReport(
connectionId: number,
reportId: number,
data: ArrayBuffer,
callback?: function,
): Promise<void>
Отправка отчета о функциях на устройство.
Примечание. Не указывайте префикс идентификатора отчета в data. При необходимости он будет добавлен.
Параметры
-
connectionId
число
connectionId, возвращенныйconnect. -
reportId
число
Идентификатор отчета, который нужно использовать, или
0, если его нет. -
делал.
ArrayBuffer
Данные отчета.
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
-
Promise<void>
Chrome 117 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
События
onDeviceAdded
chrome.hid.onDeviceAdded.addListener(
callback: function,
)
Событие, которое генерируется при добавлении устройства в систему. События передаются только приложениям и расширениям, у которых есть разрешение на доступ к устройству. Разрешение могло быть предоставлено во время установки или когда пользователь принял необязательное разрешение (см. permissions.request).
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(device: HidDeviceInfo) => void
-
устройство
-
onDeviceRemoved
chrome.hid.onDeviceRemoved.addListener(
callback: function,
)
Событие, которое создается при удалении устройства из системы. Подробнее о том, какие события доставляютсяonDeviceAdded…
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(deviceId: number) => void
-
deviceId
число
-