chrome.hid

Deskripsi

Menggunakan chrome.hid API untuk berinteraksi dengan perangkat HID yang terhubung. API ini memberikan akses ke operasi HID dari dalam konteks aplikasi. Dengan menggunakan API ini, aplikasi dapat berfungsi sebagai driver untuk perangkat hardware. Error yang dihasilkan oleh API ini dilaporkan dengan menetapkan runtime.lastError dan menjalankan callback reguler fungsi. Dalam kasus ini, parameter reguler callback tidak akan ditentukan.

Izin

hid

Jenis

DeviceFilter

Properti

  • productId

    angka opsional

    ID produk perangkat, hanya diperiksa hanya jika ID vendor cocok.

  • penggunaan

    angka opsional

    ID penggunaan HID, diperiksa hanya jika halaman penggunaan HID cocok.

  • usagePage

    angka opsional

    ID halaman penggunaan HID.

  • vendorId

    angka opsional

    ID vendor perangkat.

GetDevicesOptions

Properti

  • filter

    DeviceFilter[] opsional

    Perangkat yang cocok dengan filter tertentu akan ditampilkan. Daftar filter kosong akan menampilkan semua perangkat yang izinnya dimiliki aplikasi.

  • productId

    angka opsional

    Tidak digunakan lagi

    Setara dengan setelan DeviceFilter.productId.

  • vendorId

    angka opsional

    Tidak digunakan lagi

    Setara dengan setelan DeviceFilter.vendorId.

HidCollectionInfo

Properti

  • reportIds

    angka[]

    ID laporan yang menjadi milik koleksi dan turunannya.

  • penggunaan

    angka

    ID penggunaan yang ditentukan halaman.

  • usagePage

    angka

    ID halaman penggunaan HID.

HidConnectInfo

Properti

  • connectionId

    angka

    ID buram yang digunakan untuk mengidentifikasi koneksi ini di semua fungsi lainnya.

HidDeviceInfo

Properti

  • koleksi

    Kumpulan tingkat teratas dari deskripsi laporan perangkat ini.

  • deviceId

    angka

    ID perangkat buram.

  • maxFeatureReportSize

    angka

    Ukuran laporan fitur maksimum kumpulan tingkat teratas.

  • maxInputReportSize

    angka

    Ukuran laporan input maksimum kumpulan tingkat teratas.

  • maxOutputReportSize

    angka

    Ukuran laporan output maksimum kumpulan tingkat teratas.

  • productId

    angka

    ID Produk.

  • productName

    string

    Chrome 46 dan yang lebih baru

    Nama produk dibaca dari perangkat, jika tersedia.

  • reportDescriptor

    ArrayBuffer

    Deskriptor laporan perangkat mentah (tidak tersedia di Windows).

  • serialNumber

    string

    Chrome 46 dan yang lebih baru

    Nomor seri yang dibaca dari perangkat, jika tersedia.

  • vendorId

    angka

    ID Vendor.

Metode

connect()

Janji
chrome.hid.connect(
  deviceId: number,
  callback?: function,
)

Buka koneksi ke perangkat HID untuk komunikasi.

Parameter

Hasil

  • Promise<HidConnectInfo>

    Chrome 117 dan yang lebih baru

    Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.

disconnect()

Janji
chrome.hid.disconnect(
  connectionId: number,
  callback?: function,
)

Putuskan hubungan dari perangkat. Memanggil operasi pada perangkat setelah memanggil tindakan ini aman tetapi tidak berpengaruh.

Parameter

  • connectionId

    angka

    connectionId yang ditampilkan oleh connect.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    () => void

Hasil

  • Janji<void>

    Chrome 117 dan yang lebih baru

    Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.

getDevices()

Janji
chrome.hid.getDevices(
  options: GetDevicesOptions,
  callback?: function,
)

Memerinci perangkat HID yang terhubung.

Parameter

Hasil

  • Promise&lt;HidDeviceInfo[]&gt;

    Chrome 117 dan yang lebih baru

    Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.

receive()

chrome.hid.receive(
  connectionId: number,
  callback: function,
)

Menerima laporan input berikutnya dari perangkat.

Parameter

  • connectionId

    angka

    connectionId yang ditampilkan oleh connect.

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

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

    • reportId

      angka

      ID laporan atau 0 jika tidak ada.

    • data

      ArrayBuffer

      Data laporan, awalan ID laporan (jika ada) akan dihapus.

receiveFeatureReport()

Janji
chrome.hid.receiveFeatureReport(
  connectionId: number,
  reportId: number,
  callback?: function,
)

Meminta laporan fitur dari perangkat.

Parameter

  • connectionId

    angka

    connectionId yang ditampilkan oleh connect.

  • reportId

    angka

    ID laporan, atau 0 jika tidak ada.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (data: ArrayBuffer) => void

    • data

      ArrayBuffer

      Data laporan, termasuk awalan ID laporan jika dikirim oleh perangkat.

Hasil

  • Promise<ArrayBuffer>

    Chrome 117 dan yang lebih baru

    Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.

send()

Janji
chrome.hid.send(
  connectionId: number,
  reportId: number,
  data: ArrayBuffer,
  callback?: function,
)

Kirim laporan output ke perangkat.

Catatan: Jangan sertakan awalan ID laporan dalam data. Kolom tersebut akan ditambahkan jika perlu.

Parameter

  • connectionId

    angka

    connectionId yang ditampilkan oleh connect.

  • reportId

    angka

    ID laporan yang akan digunakan, atau 0 jika tidak ada.

  • data

    ArrayBuffer

    Data laporan.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    () => void

Hasil

  • Janji<void>

    Chrome 117 dan yang lebih baru

    Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.

sendFeatureReport()

Janji
chrome.hid.sendFeatureReport(
  connectionId: number,
  reportId: number,
  data: ArrayBuffer,
  callback?: function,
)

Kirim laporan fitur ke perangkat.

Catatan: Jangan sertakan awalan ID laporan dalam data. Kolom tersebut akan ditambahkan jika perlu.

Parameter

  • connectionId

    angka

    connectionId yang ditampilkan oleh connect.

  • reportId

    angka

    ID laporan yang akan digunakan, atau 0 jika tidak ada.

  • data

    ArrayBuffer

    Data laporan.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    () => void

Hasil

  • Janji<void>

    Chrome 117 dan yang lebih baru

    Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.

Acara

onDeviceAdded

chrome.hid.onDeviceAdded.addListener(
  callback: function,
)

Peristiwa yang dihasilkan saat perangkat ditambahkan ke sistem. Acara hanya disiarkan ke aplikasi dan ekstensi yang memiliki izin untuk mengakses perangkat. Izin mungkin telah diberikan pada waktu penginstalan atau saat pengguna menerima izin opsional (lihat permissions.request).

Parameter

onDeviceRemoved

chrome.hid.onDeviceRemoved.addListener(
  callback: function,
)

Peristiwa yang dihasilkan saat perangkat dihapus dari sistem. Lihat onDeviceAdded untuk mengetahui peristiwa yang ditayangkan.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (deviceId: number) => void

    • deviceId

      angka