chrome.hid

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

    Obsoleto

    Equivale a configurar DeviceFilter.productId.

  • vendorId

    número opcional

    Obsoleto

    Equivale 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 posteriores

    Es 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 posteriores

    Número de serie leído del dispositivo, si está disponible.

  • vendorId

    número

    Es el ID del proveedor.

Métodos

connect()

Promesa
chrome.hid.connect(
  deviceId: number,
  callback?: function,
)
: Promise<HidConnectInfo>

Abre una conexión a un dispositivo HID para la comunicación.

Parámetros

Muestra

  • Chrome 117 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

disconnect()

Promesa
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 devuelve connect.

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    () => void

Muestra

  • Promise<void>

    Chrome 117 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

getDevices()

Promesa
chrome.hid.getDevices(
  options: GetDevicesOptions,
  callback?: function,
)
: Promise<HidDeviceInfo[]>

Enumera los dispositivos HID conectados.

Parámetros

  • 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

Muestra

  • Promise<HidDeviceInfo[]>

    Chrome 117 y versiones posteriores

    Las 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 devuelve connect.

  • 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()

Promesa
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 devuelve connect.

  • 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 posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

send()

Promesa
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 devuelve connect.

  • 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 posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

sendFeatureReport()

Promesa
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 devuelve connect.

  • 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 posteriores

    Las 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

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