chrome.hid

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 các thiết bị phần cứng. Các lỗi do API này tạo ra sẽ đượ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. Các tham số thông thường của lệnh gọi lại sẽ không xác định trong trường hợp này.

Quyền

hid

Loạ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 trùng khớp.

  • mức sử dụng

    number không bắt buộc

    Giá trị nhận dạng giá trị 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ận dạng 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 bất kỳ bộ lọc nào đã cho sẽ được trả về. Danh sách bộ lọc trống sẽ trả về tất cả cá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ữa

    Tương đương với việc đặt DeviceFilter.productId.

  • vendorId

    number không bắt buộc

    Không dùng nữa

    Tương đương với việc đặt DeviceFilter.vendorId.

HidCollectionInfo

Thuộc tính

  • reportIds

    number[]

    Mã báo cáo thuộc về bộ sưu tập và các mã báo cáo con của bộ sưu tậ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ã nhận dạng không công khai 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 tập hợp cấp cao nhất trong nội dung mô tả báo cáo của thiết bị này.

  • deviceId

    số

    Mã thiết bị không công khai.

  • maxFeatureReportSize

    số

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

  • maxInputReportSize

    số

    Kích thước tối đa của báo cáo đầu vào 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 bộ sưu tậ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ên

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

  • reportDescriptor

    ArrayBuffer

    Trình mô tả báo cáo thiết bị thô (không có trên Windows).

  • serialNumber

    chuỗi

    Chrome 46 trở lên

    Số sê-ri đọc được từ thiết bị (nếu có).

  • vendorId

    số

    Mã nhà cung cấp.

Phương thức

connect()

Promise
chrome.hid.connect(
  deviceId: number,
  callback?: function,
)
: Promise<HidConnectInfo>

Mở một kết nối đến thiết bị HID để giao tiếp.

Thông số

Giá trị trả về

  • Chrome 117 trở lên

    Các promise 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()

Promise
chrome.hid.disconnect(
  connectionId: number,
  callback?: function,
)
: Promise<void>

Ngắt kết nối với một thiết bị. Việc gọi các thao tác trên thiết bị sau khi gọi thao tác này là an toàn nhưng không có hiệu lực.

Thông số

  • connectionId

    số

    connectionId do connect trả về.

  • callback

    hàm không bắt buộc

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

    () => void

Giá trị trả về

  • Promise<void>

    Chrome 117 trở lên

    Các promise 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()

Promise
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ố callback có dạng như sau:

    (devices: HidDeviceInfo[]) => void

Giá trị trả về

  • Promise<HidDeviceInfo[]>

    Chrome 117 trở lên

    Các promise 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ố

    connectionId do connect trả về.

  • callback

    hàm

    Tham số callback 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ó.

    • khác

      ArrayBuffer

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

receiveFeatureReport()

Promise
chrome.hid.receiveFeatureReport(
  connectionId: number,
  reportId: number,
  callback?: function,
)
: Promise<ArrayBuffer>

Yêu cầu báo cáo về tính năng từ thiết bị.

Thông số

  • connectionId

    số

    connectionId do connect trả về.

  • reportId

    số

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

  • callback

    hàm không bắt buộc

    Tham số callback có 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 tiền tố đó.

Giá trị trả về

  • Promise<ArrayBuffer>

    Chrome 117 trở lên

    Các promise 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()

Promise
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ã báo cáo vào data. Nếu cần, chúng tôi sẽ thêm thông tin này.

Thông 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ó.

  • khác

    ArrayBuffer

    Dữ liệu báo cáo.

  • callback

    hàm không bắt buộc

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

    () => void

Giá trị trả về

  • Promise<void>

    Chrome 117 trở lên

    Các promise 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()

Promise
chrome.hid.sendFeatureReport(
  connectionId: number,
  reportId: number,
  data: ArrayBuffer,
  callback?: function,
)
: Promise<void>

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

Lưu ý: Đừng thêm tiền tố mã báo cáo vào data. Nếu cần, chúng tôi sẽ thêm thông tin này.

Thông 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ó.

  • khác

    ArrayBuffer

    Dữ liệu báo cáo.

  • callback

    hàm không bắt buộc

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

    () => void

Giá trị trả về

  • Promise<void>

    Chrome 117 trở lên

    Các promise 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 đến những ứ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 vào thời gian 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ố

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 gửi.

Thông số

  • callback

    hàm

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

    (deviceId: number) => void

    • deviceId

      số