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
DescontinuadoEquivale a definir
DeviceFilter.productId
. -
vendorId
number optional
DescontinuadoEquivale 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 recenteO 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 recenteO número de série lido do dispositivo, se disponível.
-
vendorId
número
ID do fornecedor.
Métodos
connect()
chrome.hid.connect(
deviceId: number,
callback?: function,
): Promise<HidConnectInfo>
Abra uma conexão com um dispositivo HID para comunicação.
Parâmetros
-
deviceId
número
O
HidDeviceInfo.deviceId
do dispositivo para abrir. -
callback
função opcional
O parâmetro
callback
tem esta aparência:(connection: HidConnectInfo) => void
-
conexão
-
Retorna
-
Promise<HidConnectInfo>
Chrome 117 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
disconnect()
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 porconnect
. -
callback
função opcional
O parâmetro
callback
tem esta aparência:() => void
Retorna
-
Promise<void>
Chrome 117 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getDevices()
chrome.hid.getDevices(
options: GetDevicesOptions,
callback?: function,
): Promise<HidDeviceInfo[]>
Enumera 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 mais recenteAs 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 porconnect
. -
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()
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 porconnect
. -
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 recenteAs promessas só são compatíveis 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,
): 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 porconnect
. -
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 recenteAs promessas só são compatíveis 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,
): 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 porconnect
. -
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 recenteAs 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
-
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
número
-