Mô tả
Sử dụng API chrome.hid để tương tác với các thiết bị HID đã kết nối. API này cung cấp quyền truy cập vào các thao tác HID trong bối cảnh của một ứng dụng. Khi sử dụng API này, các ứng dụng có thể hoạt động như trình điều khiển cho thiết bị phần cứng. Lỗi do API này tạo ra được báo cáo bằng cách đặt runtime.lastError và thực thi lệnh gọi lại thông thường của hàm. Trong trường hợp này, các tham số thông thường của lệnh gọi lại sẽ không được xác định.
Quyền
hidLoại
DeviceFilter
Thuộc tính
-
productId
number không bắt buộc
Mã sản phẩm của thiết bị, chỉ được kiểm tra nếu mã nhà cung cấp khớp.
-
mức sử dụng
number không bắt buộc
Giá trị nhận dạng mức sử dụng HID, chỉ được kiểm tra nếu trang sử dụng HID khớp.
-
usagePage
number không bắt buộc
Giá trị nhận dạng trang sử dụng HID.
-
vendorId
number không bắt buộc
Mã nhà cung cấp thiết bị.
GetDevicesOptions
Thuộc tính
-
bộ lọc
DeviceFilter[] không bắt buộc
Hệ thống sẽ trả về thiết bị khớp với bất kỳ bộ lọc nào đã cho. Danh sách bộ lọc trống sẽ trả về tất cả thiết bị mà ứng dụng có quyền truy cập.
-
productId
number không bắt buộc
Không dùng nữaTương đương với việc đặt
DeviceFilter.productId. -
vendorId
number không bắt buộc
Không dùng nữaTương đương với việc đặt
DeviceFilter.vendorId.
HidCollectionInfo
Thuộc tính
-
reportIds
number[]
Mã báo cáo thuộc về tập hợp và các tập hợp con của tập hợp đó.
-
mức sử dụng
số
Giá trị nhận dạng mức sử dụng do trang xác định.
-
usagePage
số
Giá trị nhận dạng trang sử dụng HID.
HidConnectInfo
Thuộc tính
-
connectionId
số
Mã mờ dùng để xác định kết nối này trong tất cả các hàm khác.
HidDeviceInfo
Thuộc tính
-
bộ sưu tập
Tập hợp cấp cao nhất từ các chỉ số mô tả báo cáo của thiết bị này.
-
deviceId
số
Mã thiết bị không rõ ràng.
-
maxFeatureReportSize
số
Kích thước báo cáo tính năng tối đa của tập hợp cấp cao nhất.
-
maxInputReportSize
số
Kích thước báo cáo đầu vào tối đa của tập hợp cấp cao nhất.
-
maxOutputReportSize
số
Kích thước báo cáo đầu ra tối đa của tập hợp cấp cao nhất.
-
productId
số
Mã sản phẩm.
-
Tên sản phẩm
chuỗi
Chrome 46 trở lênTên sản phẩm được đọc từ thiết bị (nếu có).
-
reportDescriptor
ArrayBuffer
Mô tả chỉ số thiết bị thô (không có trên Windows).
-
serialNumber
chuỗi
Chrome 46 trở lênSố sê-ri đọc được từ thiết bị (nếu có).
-
vendorId
số
Mã nhà cung cấp.
Phương thức
connect()
chrome.hid.connect(
deviceId: number,
callback?: function,
): Promise<HidConnectInfo>
Mở kết nối với thiết bị HID để giao tiếp.
Thông số
-
deviceId
số
HidDeviceInfo.deviceIdcủa thiết bị cần mở. -
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:(connection: HidConnectInfo) => void
-
kết nối
-
Giá trị trả về
-
Promise<HidConnectInfo>
Chrome 117 trở lênLời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
disconnect()
chrome.hid.disconnect(
connectionId: number,
callback?: function,
): Promise<void>
Ngắt kết nối khỏi thiết bị. Việc gọi các thao tác trên thiết bị sau khi gọi phương thức này là an toàn nhưng không có hiệu lực.
Thông số
-
connectionId
số
connectionIddoconnecttrả về. -
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 117 trở lênLời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
getDevices()
chrome.hid.getDevices(
options: GetDevicesOptions,
callback?: function,
): Promise<HidDeviceInfo[]>
Liệt kê các thiết bị HID đã kết nối.
Thông số
-
tùy chọn
Các thuộc tính cần tìm kiếm trên thiết bị mục tiêu.
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:(devices: HidDeviceInfo[]) => void
-
thiết bị
-
Giá trị trả về
-
Promise<HidDeviceInfo[]>
Chrome 117 trở lênLời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
receive()
chrome.hid.receive(
connectionId: number,
callback: function,
): void
Nhận báo cáo đầu vào tiếp theo từ thiết bị.
Thông số
-
connectionId
số
connectionIddoconnecttrả về. -
callback
hàm
Tham số
callbackcó dạng như sau:(reportId: number, data: ArrayBuffer) => void
-
reportId
số
Mã báo cáo hoặc
0nếu không có. -
khác
ArrayBuffer
Dữ liệu báo cáo, tiền tố mã báo cáo (nếu có) sẽ bị xoá.
-
receiveFeatureReport()
chrome.hid.receiveFeatureReport(
connectionId: number,
reportId: number,
callback?: function,
): Promise<ArrayBuffer>
Yêu cầu báo cáo tính năng từ thiết bị.
Thông số
-
connectionId
số
connectionIddoconnecttrả về. -
reportId
số
Mã báo cáo hoặc
0nếu không có. -
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:(data: ArrayBuffer) => void
-
khác
ArrayBuffer
Dữ liệu báo cáo, bao gồm cả tiền tố mã báo cáo nếu thiết bị gửi mã báo cáo.
-
Giá trị trả về
-
Promise<ArrayBuffer>
Chrome 117 trở lênLời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
send()
chrome.hid.send(
connectionId: number,
reportId: number,
data: ArrayBuffer,
callback?: function,
): Promise<void>
Gửi báo cáo đầu ra đến thiết bị.
Lưu ý: Đừng thêm tiền tố mã nhận dạng báo cáo vào data. Chúng tôi sẽ thêm thông tin này nếu cần.
Thông số
-
connectionId
số
connectionIddoconnecttrả về. -
reportId
số
Mã báo cáo cần sử dụng hoặc
0nếu không có. -
khác
ArrayBuffer
Dữ liệu báo cáo.
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 117 trở lênLời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
sendFeatureReport()
chrome.hid.sendFeatureReport(
connectionId: number,
reportId: number,
data: ArrayBuffer,
callback?: function,
): Promise<void>
Gửi báo cáo tính năng đến thiết bị.
Lưu ý: Đừng thêm tiền tố mã nhận dạng báo cáo vào data. Chúng tôi sẽ thêm thông tin này nếu cần.
Thông số
-
connectionId
số
connectionIddoconnecttrả về. -
reportId
số
Mã báo cáo cần sử dụng hoặc
0nếu không có. -
khác
ArrayBuffer
Dữ liệu báo cáo.
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 117 trở lênLời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
Sự kiện
onDeviceAdded
chrome.hid.onDeviceAdded.addListener(
callback: function,
)
Sự kiện được tạo khi một thiết bị được thêm vào hệ thống. Sự kiện chỉ được truyền phát đến các ứng dụng và tiện ích có quyền truy cập vào thiết bị. Quyền có thể đã được cấp tại thời điểm cài đặt hoặc khi người dùng chấp nhận một quyền không bắt buộc (xem permissions.request).
Thông số
-
callback
hàm
Tham số
callbackcó dạng như sau:(device: HidDeviceInfo) => void
-
thiết bị
-
onDeviceRemoved
chrome.hid.onDeviceRemoved.addListener(
callback: function,
)
Sự kiện được tạo khi một thiết bị bị xoá khỏi hệ thống. Xem onDeviceAdded để biết những sự kiện nào được phân phối.
Thông số
-
callback
hàm
Tham số
callbackcó dạng như sau:(deviceId: number) => void
-
deviceId
số
-