chrome.hid

Mô tả

Dùng API chrome.hid để tương tác với các thiết bị HID đã kết nối. API này cấp quyền truy cập vào các thao tác HID ngay 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 các 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, 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 đánh dấu nếu 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 cách 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

    Một thiết bị khớp với một bộ lọc nhất định bất kỳ sẽ được trả về. Danh sách bộ lọc trống sẽ trả về tất cả thiết bị mà ứng dụng có quyền.

  • productId

    số không bắt buộc

    Không dùng nữa

    Tươ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ữa

    Tươ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 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 hoạt động 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ã nhận dạng 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

    Các bộ sưu tập cấp cao nhất từ phần mô tả báo cáo của thiết bị này.

  • deviceId

    số

    Mã thiết bị mờ.

  • maxFeatureReportSize

    số

    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

    số

    Kích thước báo cáo dữ liệu đầu vào tối đa của bộ sưu tập cấp cao nhất.

  • maxOutputReportSize

    số

    Kích thước báo cáo đầu ra tối đa của bộ sưu tập cấp cao nhất.

  • productId

    số

    Mã sản phẩm.

  • Tên sản phẩm

    string

    Chrome 46 trở lên

    Tên sản phẩm được đọc từ thiết bị, nếu có.

  • reportDescriptor

    ArrayBuffer

    Chỉ số mô tả báo cáo thiết bị thô (không có trên Windows).

  • serialNumber

    string

    Chrome 46 trở lên

    Số sê-ri đọc trên thiết bị, nếu có.

  • vendorId

    số

    Mã nhà cung cấp.

Phương thức

connect()

Lời hứa
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ố

Giá trị trả về

  • Promise<HidConnectInfo>

    Chrome 117 trở lên

    Lờ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()

Lời hứa
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 là an toàn nhưng không có ảnh hưởng.

Tham số

  • connectionId

    số

    connectionId do connect 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ề

  • Lời hứa<vô hiệu>

    Chrome 117 trở lên

    Lờ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()

Lời hứa
chrome.hid.getDevices(
  options: GetDevicesOptions,
  callback?: function,
)

Liệt kê các thiết bị HID được 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

Giá trị trả về

  • Promise&lt;HidDeviceInfo[]&gt;

    Chrome 117 trở lên

    Lờ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

    số

    connectionId do connect trả về.

  • số gọi lại

    hàm

    Tham số callback sẽ có dạng như sau:

    (reportId: number, data: ArrayBuffer) => void

    • reportId

      số

      Mã báo cáo hoặc 0 nếu không có.

    • dữ liệu

      ArrayBuffer

      Dữ liệu báo cáo, tiền tố mã báo cáo (nếu có) sẽ bị xoá.

receiveFeatureReport()

Lời hứa
chrome.hid.receiveFeatureReport(
  connectionId: number,
  reportId: number,
  callback?: function,
)

Yêu cầu thiết bị gửi báo cáo tính năng.

Tham số

  • connectionId

    số

    connectionId do connect trả về.

  • reportId

    số

    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

    • dữ liệu

      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ề

  • Cam kết<ArrayBuffer>

    Chrome 117 trở lên

    Lờ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()

Lời hứa
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 ý: Không được thêm tiền tố mã báo cáo trong data. Chúng tôi sẽ thêm dữ liệu này nếu cần.

Tham số

  • connectionId

    số

    connectionId do connect trả về.

  • reportId

    số

    Mã báo cáo cần sử dụng hoặc 0 nếu không có.

  • dữ liệu

    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ề

  • Lời hứa<vô hiệu>

    Chrome 117 trở lên

    Lờ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()

Lời hứa
chrome.hid.sendFeatureReport(
  connectionId: number,
  reportId: number,
  data: ArrayBuffer,
  callback?: function,
)

Gửi báo cáo tính năng đến thiết bị.

Lưu ý: Không được thêm tiền tố mã báo cáo trong data. Chúng tôi sẽ thêm dữ liệu này nếu cần.

Tham số

  • connectionId

    số

    connectionId do connect trả về.

  • reportId

    số

    Mã báo cáo cần sử dụng hoặc 0 nếu không có.

  • dữ liệu

    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ề

  • Lời hứa<vô hiệu>

    Chrome 117 trở lên

    Lờ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. Các sự kiện chỉ được truyền phát tới các ứng dụng và tiện ích có quyền truy cập vào thiết bị này. 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

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. Hãy xem onDeviceAdded để biết 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

      số