Nội dung mô tả
Dùng API chrome.hid
để tương tác với các thiết bị HID được kết nối. API này cấp quyền truy cập vào các thao tác HID từ trong ngữ 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. Các 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
hid
Loại
DeviceFilter
Thuộc tính
-
productId
số không bắt buộc
Mã sản phẩm của thiết bị, chỉ được kiểm tra khi mã nhà cung cấp trùng khớp.
-
mức sử dụng
số không bắt buộc
Giá trị nhận dạng sử dụng HID, chỉ được kiểm tra nếu trang sử dụng HID khớp.
-
usagePage
số không bắt buộc
Giá trị nhận dạng trang sử dụng HID.
-
vendorId
số 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ề một thiết bị khớp với bộ lọc cụ thể bất kỳ. 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
số không bắt buộc
Không dùng nữaTương đương với việc thiết lập
DeviceFilter.productId
. -
vendorId
số không bắt buộc
Không dùng nữaTương đương với việc thiết lập
DeviceFilter.vendorId
.
HidCollectionInfo
Thuộc tính
-
reportIds
số[]
Mã báo cáo thuộc về tập hợp và tập hợp con.
-
mức sử dụng
number
Giá trị nhận dạng sử dụng do trang xác định.
-
usagePage
number
Giá trị nhận dạng trang sử dụng HID.
HidConnectInfo
Thuộc tính
-
connectionId
number
Mã mờ được 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
Bộ sưu tập cấp cao nhất trong mã mô tả báo cáo của thiết bị này.
-
deviceId
number
Mã thiết bị mờ.
-
maxFeatureReportSize
number
Kích thước báo cáo tính năng tối đa của bộ sưu tập cấp cao nhất.
-
maxInputReportSize
number
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
number
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
number
Mã sản phẩm.
-
productName
string
Chrome 46 trở lênTên sản phẩm sẽ được đọc trên thiết bị (nếu có).
-
reportDescriptor
ArrayBuffer
Mã mô tả báo cáo thiết bị chưa qua xử lý (không dùng được trên Windows).
-
serialNumber
string
Chrome 46 trở lênSố sê-ri được đọc trên thiết bị, nếu có.
-
vendorId
number
Mã nhà cung cấp.
Phương thức
connect()
chrome.hid.connect(
deviceId: number,
callback?: function,
)
Mở kết nối với một thiết bị HID để giao tiếp.
Tham số
-
deviceId
number
HidDeviceInfo.deviceId
của thiết bị sẽ mở. -
số gọi lại
hàm không bắt buộc
Tham số
callback
sẽ có 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,
)
Ngắt kết nối khỏi một thiết bị. Việc gọi các thao tác trên thiết bị sau khi gọi lệnh này an toàn nhưng không có tác dụng.
Tham số
-
connectionId
number
connectionId
đượcconnect
trả về. -
số gọi lại
hàm không bắt buộc
Tham số
callback
sẽ có 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,
)
Liệt kê các thiết bị HID đã kết nối.
Tham 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.
-
số gọi lại
hàm không bắt buộc
Tham số
callback
sẽ có 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,
)
Nhận báo cáo đầu vào tiếp theo từ thiết bị.
Tham số
-
connectionId
number
connectionId
đượcconnect
trả về. -
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(reportId: number, data: ArrayBuffer) => void
-
reportId
number
Mã báo cáo hoặc
0
nếu không có. -
data
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,
)
Yêu cầu báo cáo tính năng từ thiết bị.
Tham số
-
connectionId
number
connectionId
đượcconnect
trả về. -
reportId
number
Mã báo cáo hoặc
0
nếu không có. -
số gọi lại
hàm không bắt buộc
Tham số
callback
sẽ có dạng như sau:(data: ArrayBuffer) => void
-
data
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 dữ liệu này.
-
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,
)
Gửi báo cáo đầu ra cho thiết bị.
Lưu ý: Đừng thêm tiền tố mã báo cáo vào data
. Dữ liệu này sẽ được thêm vào nếu cần.
Tham số
-
connectionId
number
connectionId
đượcconnect
trả về. -
reportId
number
Mã báo cáo để sử dụng hoặc
0
nếu không có. -
data
ArrayBuffer
Dữ liệu báo cáo.
-
số gọi lại
hàm không bắt buộc
Tham số
callback
sẽ có 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,
)
Gửi báo cáo tính năng cho thiết bị.
Lưu ý: Đừng thêm tiền tố mã báo cáo vào data
. Dữ liệu này sẽ được thêm vào nếu cần.
Tham số
-
connectionId
number
connectionId
đượcconnect
trả về. -
reportId
number
Mã báo cáo để sử dụng hoặc
0
nếu không có. -
data
ArrayBuffer
Dữ liệu báo cáo.
-
số gọi lại
hàm không bắt buộc
Tham số
callback
sẽ có 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 đế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
).
Tham số
-
số gọi lại
hàm
Tham số
callback
sẽ có 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
cho những sự kiện được phân phối.
Tham số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(deviceId: number) => void
-
deviceId
number
-