chrome.hid

Descrição

Use a API chrome.hid para interagir com dispositivos HID conectados. Essa API fornece acesso a operações HID no contexto de um app. Usando essa API, os apps podem funcionar como drivers para dispositivos de hardware. Os erros gerados por essa API são informados ao definir runtime.lastError e executar o callback regular da função. Os parâmetros regulares do callback serão indefinidos nesse caso.

Permissões

hid

Tipos

DeviceFilter

Propriedades

  • productId

    número opcional

    ID do produto do dispositivo, marcado apenas se o ID do fornecedor for correspondente.

  • utilização

    número opcional

    Identificador de uso de HID, marcado apenas se a página de uso de HID corresponder.

  • usagePage

    número opcional

    Identificador da página de uso do HID.

  • vendorId

    número opcional

    ID do fornecedor do dispositivo.

GetDevicesOptions

Propriedades

  • filtros

    DeviceFilter[] opcional

    Será retornado um dispositivo que corresponda a qualquer filtro. Uma lista de filtros vazia retornará todos os dispositivos para os quais o app tem permissão.

  • productId

    número opcional

    Descontinuado

    Equivalente a definir DeviceFilter.productId.

  • vendorId

    número opcional

    Descontinuado

    Equivalente a definir DeviceFilter.vendorId.

HidCollectionInfo

Propriedades

  • reportIds

    Número[]

    IDs de relatórios que pertencem à coleção e aos filhos dela.

  • utilização

    number

    Identificador de uso definido pela página.

  • usagePage

    number

    Identificador da página de uso do HID.

HidConnectInfo

Propriedades

  • connectionId

    number

    O ID opaco usado para identificar essa conexão em todas as outras funções.

HidDeviceInfo

Propriedades

  • coleções

    Coleções de nível superior dos descritores de relatório deste dispositivo.

  • deviceId

    number

    ID do dispositivo opaco.

  • maxFeatureReportSize

    number

    Tamanho máximo do relatório de recursos da coleção de nível superior.

  • maxInputReportSize

    number

    Tamanho máximo do relatório de entrada da coleção de nível superior.

  • maxOutputReportSize

    number

    Tamanho máximo do relatório de saída da coleção de nível superior.

  • productId

    number

    ID do produto.

  • productName

    string

    Chrome 46 ou mais recente

    O nome do produto lido no dispositivo, se disponível.

  • reportDescriptor

    ArrayBuffer

    Descritor de relatório do dispositivo bruto (indisponível no Windows).

  • serialNumber

    string

    Chrome 46 ou mais recente

    O número de série lido no dispositivo, se disponível.

  • vendorId

    number

    ID do fornecedor.

Métodos

connect()

Promessa
chrome.hid.connect(
  deviceId: number,
  callback?: function,
)

Abre uma conexão com um dispositivo HID para comunicação.

Parâmetros

Retorna

  • Chrome 117 ou mais recente

    Promessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

disconnect()

Promessa
chrome.hid.disconnect(
  connectionId: number,
  callback?: function,
)

Desconectar de um dispositivo. Invocar operações em um dispositivo após chamar isso é seguro, mas não tem efeito.

Parâmetros

  • connectionId

    number

    O connectionId retornado por connect.

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    ()=>void

Retorna

  • Promise<void>

    Chrome 117 ou mais recente

    Promessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getDevices()

Promessa
chrome.hid.getDevices(
  options: GetDevicesOptions,
  callback?: function,
)

Enumerar dispositivos HID conectados.

Parâmetros

  • As propriedades a serem pesquisadas nos dispositivos de destino.

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    (devices: HidDeviceInfo[])=>void

Retorna

  • Promise<HidDeviceInfo[]>

    Chrome 117 ou mais recente

    Promessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

receive()

chrome.hid.receive(
  connectionId: number,
  callback: function,
)

Receber o próximo relatório de entrada do dispositivo.

Parâmetros

  • connectionId

    number

    O connectionId retornado por connect.

  • callback

    função

    O parâmetro callback tem esta aparência:

    (reportId: number,data: ArrayBuffer)=>void

    • reportId

      number

      O ID do relatório ou 0, se não houver nenhum.

    • dados

      ArrayBuffer

      Os dados do relatório e o prefixo do ID do relatório (se houver) é removido.

receiveFeatureReport()

Promessa
chrome.hid.receiveFeatureReport(
  connectionId: number,
  reportId: number,
  callback?: function,
)

Solicite um relatório de recurso pelo dispositivo.

Parâmetros

  • connectionId

    number

    O connectionId retornado por connect.

  • reportId

    number

    O ID do relatório, ou 0, se não houver nenhum.

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    (data: ArrayBuffer)=>void

    • dados

      ArrayBuffer

      Os dados do relatório, incluindo um prefixo de ID do relatório se ele for enviado pelo dispositivo.

Retorna

  • Promise<ArrayBuffer>

    Chrome 117 ou mais recente

    Promessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

send()

Promessa
chrome.hid.send(
  connectionId: number,
  reportId: number,
  data: ArrayBuffer,
  callback?: function,
)

Enviar um relatório de saída para o dispositivo.

Observação:não inclua um prefixo de ID de relatório no data. Ele será adicionado, se necessário.

Parâmetros

  • connectionId

    number

    O connectionId retornado por connect.

  • reportId

    number

    O ID do relatório a ser usado ou 0 se não houver nenhum.

  • dados

    ArrayBuffer

    Os dados do relatório.

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    ()=>void

Retorna

  • Promise<void>

    Chrome 117 ou mais recente

    Promessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

sendFeatureReport()

Promessa
chrome.hid.sendFeatureReport(
  connectionId: number,
  reportId: number,
  data: ArrayBuffer,
  callback?: function,
)

Enviar um relatório de recursos para o dispositivo.

Observação:não inclua um prefixo de ID de relatório no data. Ele será adicionado, se necessário.

Parâmetros

  • connectionId

    number

    O connectionId retornado por connect.

  • reportId

    number

    O ID do relatório a ser usado ou 0 se não houver nenhum.

  • dados

    ArrayBuffer

    Os dados do relatório.

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    ()=>void

Retorna

  • Promise<void>

    Chrome 117 ou mais recente

    Promessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

Eventos

onDeviceAdded

chrome.hid.onDeviceAdded.addListener(
  callback: function,
)

Evento gerado quando um dispositivo é adicionado ao sistema. Os eventos são transmitidos apenas para apps e extensões que têm permissão para acessar o dispositivo. A permissão pode ter sido concedida no momento da instalação ou quando o usuário aceitou uma permissão opcional (consulte permissions.request).

Parâmetros

onDeviceRemoved

chrome.hid.onDeviceRemoved.addListener(
  callback: function,
)

Evento gerado quando um dispositivo é removido do sistema. Consulte o onDeviceAdded para saber quais eventos são entregues.

Parâmetros

  • callback

    função

    O parâmetro callback tem esta aparência:

    (deviceId: number)=>void

    • deviceId

      number