chrome.hid

Descrição

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

Permissões

hid

Tipos

DeviceFilter

Propriedades

  • productId

    number optional

    ID do produto do dispositivo, verificado apenas se o ID do fornecedor corresponder.

  • utilização

    number optional

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

  • usagePage

    number optional

    Identificador da página de uso do HID.

  • vendorId

    number optional

    ID do fornecedor do dispositivo.

GetDevicesOptions

Propriedades

  • filtros

    DeviceFilter[] opcional

    Um dispositivo que corresponda a qualquer filtro será retornado. Uma lista de filtros vazia vai retornar todos os dispositivos em que o app tem permissão.

  • productId

    number optional

    Descontinuado

    Equivale a definir DeviceFilter.productId.

  • vendorId

    number optional

    Descontinuado

    Equivale a definir DeviceFilter.vendorId.

HidCollectionInfo

Propriedades

  • reportIds

    number[]

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

  • utilização

    número

    Identificador de uso definido pela página.

  • usagePage

    número

    Identificador da página de uso do HID.

HidConnectInfo

Propriedades

  • connectionId

    número

    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órios deste dispositivo.

  • deviceId

    número

    ID do dispositivo opaco.

  • maxFeatureReportSize

    número

    Tamanho máximo do relatório de recursos da coleta de nível superior.

  • maxInputReportSize

    número

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

  • maxOutputReportSize

    número

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

  • productId

    número

    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 de dispositivo bruto (não disponível no Windows).

  • serialNumber

    string

    Chrome 46 ou mais recente

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

  • vendorId

    número

    ID do fornecedor.

Métodos

connect()

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

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

Parâmetros

Retorna

  • Chrome 117 ou mais recente

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

disconnect()

Promise
chrome.hid.disconnect(
  connectionId: number,
  callback?: function,
)
: Promise<void>

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

Parâmetros

  • connectionId

    número

    O connectionId retornado por connect.

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promise<void>

    Chrome 117 ou mais recente

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

getDevices()

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

Enumera os dispositivos HID conectados.

Parâmetros

  • As propriedades a serem pesquisadas nos dispositivos de destino.

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    (devices: HidDeviceInfo[]) => void

Retorna

  • Promise<HidDeviceInfo[]>

    Chrome 117 ou mais recente

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

receive()

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

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

Parâmetros

  • connectionId

    número

    O connectionId retornado por connect.

  • callback

    função

    O parâmetro callback tem esta aparência:

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

    • reportId

      número

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

    • dados

      ArrayBuffer

      Os dados do relatório e o prefixo do ID do relatório (se houver) são removidos.

receiveFeatureReport()

Promise
chrome.hid.receiveFeatureReport(
  connectionId: number,
  reportId: number,
  callback?: function,
)
: Promise<ArrayBuffer>

Solicite um relatório de recursos do dispositivo.

Parâmetros

  • connectionId

    número

    O connectionId retornado por connect.

  • reportId

    número

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

  • callback

    função opcional

    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 um for enviado pelo dispositivo.

Retorna

  • Promise<ArrayBuffer>

    Chrome 117 ou mais recente

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

send()

Promise
chrome.hid.send(
  connectionId: number,
  reportId: number,
  data: ArrayBuffer,
  callback?: function,
)
: Promise<void>

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

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

Parâmetros

  • connectionId

    número

    O connectionId retornado por connect.

  • reportId

    número

    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 opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promise<void>

    Chrome 117 ou mais recente

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

sendFeatureReport()

Promise
chrome.hid.sendFeatureReport(
  connectionId: number,
  reportId: number,
  data: ArrayBuffer,
  callback?: function,
)
: Promise<void>

Envie um relatório de recurso para o dispositivo.

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

Parâmetros

  • connectionId

    número

    O connectionId retornado por connect.

  • reportId

    número

    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 opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promise<void>

    Chrome 117 ou mais recente

    As promessas só são compatíveis 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ó são transmitidos 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 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

      número