该 API 还是实验性的,仅对 dev 分支的 Chrome 用户可用。

chrome.hid

描述 使用 chrome.hid API 与连接的 HID 设备交互。使用该 API 您可以在应用中进行 HID 操作,应用可以作为硬件设备的驱动程序使用。
可用版本 从 Chrome 38 开始支持。警告:目前为 Dev 分支。了解更多内容
权限 "hid"

摘要

方法
getDevices chrome.hid.getDevices(object options, function callback)
connect chrome.hid.connect(integer deviceId, function callback)
disconnect chrome.hid.disconnect(integer connectionId, function callback)
receive chrome.hid.receive(integer connectionId, function callback)
send chrome.hid.send(integer connectionId, integer reportId, ArrayBuffer data, function callback)
receiveFeatureReport chrome.hid.receiveFeatureReport(integer connectionId, integer reportId, function callback)
sendFeatureReport chrome.hid.sendFeatureReport(integer connectionId, integer reportId, ArrayBuffer data, function callback)

方法

getDevices

chrome.hid.getDevices(object options, function callback)

根据制造商标识符/产品标识符/接口标识符枚举所有已连接的 HID 设备。

参数
object options

在目标设备上搜索的属性。

integer vendorId
integer productId
function callback

如果成功,调用时传递 HidDeviceInfo 数组。

callback 参数应该是一个如下形式的函数:

function(array of object devices) {...};
array of object devices

每一个对象的属性

integer deviceId
integer vendorId
integer productId
array of object collections

每一个对象的属性

integer usagePage
integer usage
array of integer reportIds
integer maxInputReportSize
integer maxOutputReportSize
integer maxFeatureReportSize

connect

chrome.hid.connect(integer deviceId, function callback)

连接到 HID 设备进行通信。

参数
integer deviceId

要打开的设备标识符。

function callback

调用时传递 HidConnectInfo

callback 参数应该是一个如下形式的函数:

function(object connection) {...};
object connection
integer connectionId

disconnect

chrome.hid.disconnect(integer connectionId, function callback)

断开设备的连接,调用该函数后继续在设备上进行操作是安全的,只是没有任何效果。

参数
integer connectionId

要关闭的连接。

function (可选)
callback

设备关闭后调用的回调函数。

如果您指定了 callback 参数,它应该是一个如下形式的函数:

function() {...};

receive

chrome.hid.receive(integer connectionId, function callback)

从 HID 设备接收 Input(输入)报告。

输入报告通过 INTERRUPT IN(中断输入)端点返回给主机。

参数
integer connectionId

接收报告的连接。

function callback

调用回调函数时传递接收的报告。

callback 参数应该是一个如下形式的函数:

function(integer reportId, ArrayBuffer data) {...};
integer reportId

报告的标识符。

ArrayBuffer data

报告内容。

send

chrome.hid.send(integer connectionId, integer reportId, ArrayBuffer data, function callback)

向 HID 设备发送 Output(输出)报告。如果存在的话,send 函数在第一个 OUT(输出)端点发送数据;如果不存在,则通过 Control(控制) 端点发送报告。

参数
integer connectionId

发送报告的连接。

integer reportId

使用的报告标识符,如果没有则为 0

ArrayBuffer data

报告数据。

function callback

写入完成后调用的回调函数。

callback 参数应该是一个如下形式的函数:

function() {...};

receiveFeatureReport

chrome.hid.receiveFeatureReport(integer connectionId, integer reportId, function callback)

从设备接收 Feature(特性)报告。

参数
integer connectionId

要读取特性报告的设备。

integer reportId

使用的报告标识符,如果没有则为零。

function callback

操作完成后调用的回调函数。

callback 参数应该是一个如下形式的函数:

function(ArrayBuffer data) {...};
ArrayBuffer data

报告内容。

sendFeatureReport

chrome.hid.sendFeatureReport(integer connectionId, integer reportId, ArrayBuffer data, function callback)

向设备发送 Feature(特性)报告。

特性报告以 Set_Report 传输的形式通过 Control(控制)端点发送。

参数
integer connectionId

发送特性报告的连接。

integer reportId

使用的报告标识符,如果没有则为 0

ArrayBuffer data

报告数据。

function callback

写入完成后调用的回调函数。

callback 参数应该是一个如下形式的函数:

function() {...};