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
hidTipos
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
DescontinuadoEquivale a definir
DeviceFilter.productId. -
vendorId
número optional
DescontinuadoEquivale 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 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.deviceIddo dispositivo a ser aberto. -
callback
função optional
O parâmetro
callbacké semelhante a:(connection: HidConnectInfo) => void
-
conexão
-
Retorna
-
Promise<HidConnectInfo>
Chrome 117+As 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
connectionIdretornado porconnect. -
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()
chrome.hid.getDevices(
options: GetDevicesOptions,
callback?: function,
): Promise<HidDeviceInfo[]>
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é semelhante a:(devices: HidDeviceInfo[]) => void
-
dispositivos
-
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
connectionIdretornado porconnect. -
callback
função
O parâmetro
callbacké semelhante a:(reportId: number, data: ArrayBuffer) => void
-
reportId
número
O ID do relatório ou
0se não houver nenhum. -
dados
ArrayBuffer
Os dados do relatório, o prefixo do ID do relatório (se houver) é removido.
-
receiveFeatureReport()
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
connectionIdretornado porconnect. -
reportId
número
O ID do relatório ou
0se 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()
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
connectionIdretornado porconnect. -
reportId
número
O ID do relatório a ser usado ou
0se 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()
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
connectionIdretornado porconnect. -
reportId
número
O ID do relatório a ser usado ou
0se 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
-
callback
função
O parâmetro
callbacké semelhante a:(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é semelhante a:(deviceId: number) => void
-
deviceId
número
-