Descripción
Usa la API de chrome.hid
para interactuar con dispositivos HID conectados. Esta API proporciona acceso a las operaciones de HID desde el contexto de una app. Con esta API, las apps pueden funcionar como controladores de dispositivos de hardware. Los errores que genera esta API se registran configurando runtime.lastError
y ejecutando la devolución de llamada normal de la función. En este caso, los parámetros normales de la devolución de llamada no estarán definidos.
Permisos
hid
Tipos
DeviceFilter
Propiedades
-
productId
número opcional
ID del producto del dispositivo, que solo se verifica si coincide el ID del proveedor.
-
uso
número opcional
Es el identificador de uso de HID, que solo se verifica si coincide la página de uso de HID.
-
usagePage
número opcional
Es el identificador de la página de uso de HID.
-
vendorId
número opcional
ID del proveedor del dispositivo.
GetDevicesOptions
Propiedades
-
filtros
DeviceFilter[] opcional
Se devolverá un dispositivo que coincida con cualquier filtro determinado. Una lista de filtros vacía devolverá todos los dispositivos para los que la app tiene permiso.
-
productId
número opcional
ObsoletoEquivale a configurar
DeviceFilter.productId
. -
vendorId
número opcional
ObsoletoEquivale a configurar
DeviceFilter.vendorId
.
HidCollectionInfo
Propiedades
-
reportIds
number[]
Son los IDs de los informes que pertenecen a la colección y a sus elementos secundarios.
-
uso
número
Es el identificador de uso definido por la página.
-
usagePage
número
Es el identificador de la página de uso de HID.
HidConnectInfo
Propiedades
-
connectionId
número
Es el ID opaco que se usa para identificar esta conexión en todas las demás funciones.
HidDeviceInfo
Propiedades
-
colecciones
Son las colecciones de nivel superior de los descriptores de informes de este dispositivo.
-
deviceId
número
ID de dispositivo opaco.
-
maxFeatureReportSize
número
Es el tamaño máximo del informe de atributos de la colección de nivel superior.
-
maxInputReportSize
número
Es el tamaño máximo del informe de entrada de la colección de nivel superior.
-
maxOutputReportSize
número
Es el tamaño máximo del informe de salida de la colección de nivel superior.
-
productId
número
Es el ID del producto.
-
NombreProducto
string
Chrome 46 y versiones posterioresEs el nombre del producto que se lee del dispositivo, si está disponible.
-
reportDescriptor
ArrayBuffer
Descriptor del informe del dispositivo sin procesar (no disponible en Windows).
-
serialNumber
string
Chrome 46 y versiones posterioresNúmero de serie leído del dispositivo, si está disponible.
-
vendorId
número
Es el ID del proveedor.
Métodos
connect()
chrome.hid.connect(
deviceId: number,
callback?: function,
): Promise<HidConnectInfo>
Abre una conexión a un dispositivo HID para la comunicación.
Parámetros
-
deviceId
número
El
HidDeviceInfo.deviceId
del dispositivo que se abrirá. -
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(connection: HidConnectInfo) => void
-
connection
-
Muestra
-
Promise<HidConnectInfo>
Chrome 117 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
disconnect()
chrome.hid.disconnect(
connectionId: number,
callback?: function,
): Promise<void>
Desconéctate de un dispositivo. Invocar operaciones en un dispositivo después de llamar a este método es seguro, pero no tiene ningún efecto.
Parámetros
-
connectionId
número
Es el
connectionId
que devuelveconnect
. -
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promise<void>
Chrome 117 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
getDevices()
chrome.hid.getDevices(
options: GetDevicesOptions,
callback?: function,
): Promise<HidDeviceInfo[]>
Enumera los dispositivos HID conectados.
Parámetros
-
opciones
Son las propiedades que se buscarán en los dispositivos objetivo.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(devices: HidDeviceInfo[]) => void
-
dispositivos
-
Muestra
-
Promise<HidDeviceInfo[]>
Chrome 117 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
receive()
chrome.hid.receive(
connectionId: number,
callback: function,
): void
Recibe el siguiente informe de entrada del dispositivo.
Parámetros
-
connectionId
número
Es el
connectionId
que devuelveconnect
. -
callback
función
El parámetro
callback
se ve de la siguiente manera:(reportId: number, data: ArrayBuffer) => void
-
ID de informe
número
Es el ID del informe o
0
si no hay ninguno. -
datos
ArrayBuffer
Se quitan los datos del informe y el prefijo del ID del informe (si está presente).
-
receiveFeatureReport()
chrome.hid.receiveFeatureReport(
connectionId: number,
reportId: number,
callback?: function,
): Promise<ArrayBuffer>
Solicita un informe de funciones del dispositivo.
Parámetros
-
connectionId
número
Es el
connectionId
que devuelveconnect
. -
ID de informe
número
Es el ID del informe o
0
si no hay ninguno. -
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(data: ArrayBuffer) => void
-
datos
ArrayBuffer
Son los datos del informe, incluido un prefijo del ID del informe si el dispositivo envía uno.
-
Muestra
-
Promesa<ArrayBuffer>
Chrome 117 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
send()
chrome.hid.send(
connectionId: number,
reportId: number,
data: ArrayBuffer,
callback?: function,
): Promise<void>
Envía un informe de salida al dispositivo.
Nota: No incluyas un prefijo de ID de informe en data
. Se agregará si es necesario.
Parámetros
-
connectionId
número
Es el
connectionId
que devuelveconnect
. -
ID de informe
número
Es el ID del informe que se usará o
0
si no hay ninguno. -
datos
ArrayBuffer
Son los datos del informe.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promise<void>
Chrome 117 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
sendFeatureReport()
chrome.hid.sendFeatureReport(
connectionId: number,
reportId: number,
data: ArrayBuffer,
callback?: function,
): Promise<void>
Envía un informe de funciones al dispositivo.
Nota: No incluyas un prefijo de ID de informe en data
. Se agregará si es necesario.
Parámetros
-
connectionId
número
Es el
connectionId
que devuelveconnect
. -
ID de informe
número
Es el ID del informe que se usará o
0
si no hay ninguno. -
datos
ArrayBuffer
Son los datos del informe.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promise<void>
Chrome 117 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
Eventos
onDeviceAdded
chrome.hid.onDeviceAdded.addListener(
callback: function,
)
Es el evento que se genera cuando se agrega un dispositivo al sistema. Los eventos solo se transmiten a las apps y extensiones que tienen permiso para acceder al dispositivo. Es posible que se haya otorgado el permiso durante la instalación o cuando el usuario aceptó un permiso opcional (consulta permissions.request
).
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(device: HidDeviceInfo) => void
-
dispositivo
-
onDeviceRemoved
chrome.hid.onDeviceRemoved.addListener(
callback: function,
)
Evento que se genera cuando se quita un dispositivo del sistema. Consulta onDeviceAdded
para saber qué eventos se entregan.
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(deviceId: number) => void
-
deviceId
número
-