chrome.hid

Descrição

Use a API chrome.hid para interagir com dispositivos HID conectados. Essa API fornece 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 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 optional

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

  • utilização

    número optional

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

  • usagePage

    número optional

    Identificador da página de uso do HID.

  • vendorId

    número optional

    ID do fornecedor do dispositivo.

GetDevicesOptions

Propriedades

  • filtros

    DeviceFilter[] opcional

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

  • productId

    número optional

    Descontinuado

    Equivale a definir DeviceFilter.productId.

  • vendorId

    número optional

    Descontinuado

    Equivale a definir DeviceFilter.vendorId.

HidCollectionInfo

Propriedades

  • reportIds

    number[]

    Informa os IDs 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ório deste dispositivo.

  • deviceId

    número

    ID do dispositivo opaco.

  • maxFeatureReportSize

    número

    Tamanho do relatório de destaque máximo da coleção 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()

Promessa
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+

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

disconnect()

Promessa
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 optional

    O parâmetro callback é semelhante a:

    () => void

Retorna

  • Promessa<void>

    Chrome 117+

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

getDevices()

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

Enumerar dispositivos HID conectados.

Parâmetros

  • As propriedades a serem pesquisadas nos dispositivos de destino.

  • callback

    função optional

    O parâmetro callback é semelhante a:

    (devices: HidDeviceInfo[]) => void

Retorna

  • Promise<HidDeviceInfo[]>

    Chrome 117+

    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 é semelhante a:

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

    • reportId

      número

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

    • dados

      ArrayBuffer

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

receiveFeatureReport()

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

Solicita 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 nenhum.

  • callback

    função optional

    O parâmetro callback é semelhante a:

    (data: ArrayBuffer) => void

    • dados

      ArrayBuffer

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

Retorna

  • Promise<ArrayBuffer>

    Chrome 117+

    As promessas só são compatíveis 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,
)
: Promise<void>

Envia 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

    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 optional

    O parâmetro callback é semelhante a:

    () => void

Retorna

  • Promessa<void>

    Chrome 117+

    As promessas só são compatíveis 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,
)
: Promise<void>

Envia um relatório de recursos 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

    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 optional

    O parâmetro callback é semelhante a:

    () => void

Retorna

  • Promessa<void>

    Chrome 117+

    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ã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 onDeviceAdded para saber quais eventos são entregues.

Parâmetros

  • callback

    função

    O parâmetro callback é semelhante a:

    (deviceId: number) => void

    • deviceId

      número