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. Com 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. Nesse caso, os parâmetros regulares do callback serão indefinidos.

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

    É o identificador da página de uso do HID.

  • vendorId

    número opcional

    ID do fornecedor do dispositivo.

GetDevicesOptions

Propriedades

  • filtros

    DeviceFilter[] opcional

    Um dispositivo correspondente a qualquer filtro será retornado. Uma lista de filtros vazia retornará todos os dispositivos para os quais o app tem permissão.

  • productId

    número opcional

    Descontinuado

    É equivalente à configuração de DeviceFilter.productId.

  • vendorId

    número opcional

    Descontinuado

    É equivalente à configuração de 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

    É o 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 superior

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

  • reportDescriptor

    Buffer de matriz

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

  • serialNumber

    string

    Chrome 46 ou superior

    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,
)

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

Parâmetros

Retorna

  • Promise<HidConnectInfo>

    Chrome 117 ou versões mais recentes

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

disconnect()

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

Desconecte-se de um dispositivo. Invocar operações em um dispositivo depois dessa chamada é seguro, mas não tem efeito.

Parâmetros

  • connectionId

    number

    O connectionId retornado por connect.

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promessa<void>

    Chrome 117 ou versões mais recentes

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getDevices()

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

Enumerar 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&lt;HidDeviceInfo[]&gt;

    Chrome 117 ou versões mais recentes

    As promessas só têm suporte no Manifesto 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 entradas 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

      Buffer de matriz

      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 recursos do 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 opcional

    O parâmetro callback tem esta aparência:

    (data: ArrayBuffer) => void

    • dados

      Buffer de matriz

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

Retorna

  • Promessa<ArrayBuffer>

    Chrome 117 ou versões mais recentes

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

send()

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

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

Observação:não inclua um prefixo de ID de relatório em 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

    Buffer de matriz

    Os dados do relatório.

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promessa<void>

    Chrome 117 ou versões mais recentes

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

sendFeatureReport()

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

Envie um relatório de recursos ao dispositivo.

Observação:não inclua um prefixo de ID de relatório em 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

    Buffer de matriz

    Os dados do relatório.

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promessa<void>

    Chrome 117 ou versões mais recentes

    As promessas só têm suporte no Manifesto 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 somente 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

      number