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
DescontinuadoEquivalente a definir
DeviceFilter.productId
. -
vendorId
número opcional
DescontinuadoEquivalente 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 recenteO 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 recenteO número de série lido no dispositivo, se disponível.
-
vendorId
number
ID do fornecedor.
Métodos
connect()
chrome.hid.connect(
deviceId: number,
callback?: function,
)
Abre uma conexão com um dispositivo HID para comunicação.
Parâmetros
-
deviceId
number
O
HidDeviceInfo.deviceId
do dispositivo a ser aberto. -
callback
função optional
O parâmetro
callback
tem esta aparência:(connection: HidConnectInfo) => void
-
conexão
-
Retorna
-
Promise<HidConnectInfo>
Chrome 117 ou mais recentePromessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
disconnect()
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 porconnect
. -
callback
função optional
O parâmetro
callback
tem esta aparência:() => void
Retorna
-
Promise<void>
Chrome 117 ou mais recentePromessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getDevices()
chrome.hid.getDevices(
options: GetDevicesOptions,
callback?: function,
)
Enumerar dispositivos HID conectados.
Parâmetros
-
opções
As propriedades a serem pesquisadas nos dispositivos de destino.
-
callback
função optional
O parâmetro
callback
tem esta aparência:(devices: HidDeviceInfo[]) => void
-
dispositivo
-
Retorna
-
Promise<HidDeviceInfo[]>
Chrome 117 ou mais recentePromessas 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 porconnect
. -
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()
chrome.hid.receiveFeatureReport(
connectionId: number,
reportId: number,
callback?: function,
)
Solicite um relatório de recurso pelo dispositivo.
Parâmetros
-
connectionId
number
O
connectionId
retornado porconnect
. -
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 recentePromessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
send()
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 porconnect
. -
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 recentePromessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
sendFeatureReport()
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 porconnect
. -
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 recentePromessas 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
-
callback
função
O parâmetro
callback
tem esta aparência:(device: HidDeviceInfo) => void
-
dispositivo
-
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
-