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 superiorO 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 superiorO 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,
)
Abra uma conexão com um dispositivo HID para comunicação.
Parâmetros
-
deviceId
number
O
HidDeviceInfo.deviceId
do dispositivo que será aberto. -
callback
função opcional
O parâmetro
callback
tem esta aparência:(connection: HidConnectInfo) => void
-
conexão
-
Retorna
-
Promise<HidConnectInfo>
Chrome 117 ou versões mais recentesAs promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
disconnect()
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 porconnect
. -
callback
função opcional
O parâmetro
callback
tem esta aparência:() => void
Retorna
-
Promessa<void>
Chrome 117 ou versões mais recentesAs promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getDevices()
chrome.hid.getDevices(
options: GetDevicesOptions,
callback?: function,
)
Enumerar os dispositivos HID conectados.
Parâmetros
-
opções
As propriedades a serem pesquisadas nos dispositivos de destino.
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(devices: HidDeviceInfo[]) => void
-
dispositivo
-
Retorna
-
Promise<HidDeviceInfo[]>
Chrome 117 ou versões mais recentesAs 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 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
Buffer de matriz
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 recursos do 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 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 recentesAs promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
send()
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 porconnect
. -
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 recentesAs promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
sendFeatureReport()
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 porconnect
. -
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 recentesAs 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
-
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 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
-