chrome.hid

Deskripsi

Gunakan chrome.hid API untuk berinteraksi dengan perangkat HID yang terhubung. API ini menyediakan 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 menyetel runtime.lastError dan mengeksekusi callback reguler fungsi. Parameter reguler callback tidak akan ditentukan dalam kasus ini.

Izin

hid

Jenis

DeviceFilter

Properti

  • productId

    nomor opsional

    ID produk perangkat, hanya diperiksa jika ID vendor cocok.

  • penggunaan

    nomor opsional

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

  • usagePage

    nomor opsional

    ID halaman penggunaan HID.

  • vendorId

    nomor 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 memiliki izin aplikasi.

  • productId

    nomor opsional

    Tidak digunakan lagi

    Setara dengan menyetel DeviceFilter.productId.

  • vendorId

    nomor opsional

    Tidak digunakan lagi

    Setara dengan menyetel DeviceFilter.vendorId.

HidCollectionInfo

Properti

  • reportIds

    number[]

    ID laporan yang termasuk dalam 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 deskriptor laporan perangkat ini.

  • deviceId

    angka

    ID perangkat yang tidak transparan.

  • maxFeatureReportSize

    angka

    Ukuran laporan fitur maksimum koleksi tingkat teratas.

  • maxInputReportSize

    angka

    Ukuran laporan input maksimum koleksi tingkat teratas.

  • maxOutputReportSize

    angka

    Ukuran laporan output maksimum koleksi tingkat teratas.

  • productId

    angka

    ID Produk.

  • productName

    string

    Chrome 46+

    Nama produk yang dibaca dari perangkat, jika tersedia.

  • reportDescriptor

    ArrayBuffer

    Deskriptor laporan perangkat mentah (tidak tersedia di Windows).

  • serialNumber

    string

    Chrome 46+

    Nomor seri yang dibaca dari perangkat, jika tersedia.

  • vendorId

    angka

    ID Vendor.

Metode

connect()

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

Membuka koneksi ke perangkat HID untuk komunikasi.

Parameter

Hasil

  • Chrome 117+

    Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.

disconnect()

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

Putuskan koneksi dari perangkat. Memanggil operasi di perangkat setelah memanggil ini aman, tetapi tidak berpengaruh.

Parameter

  • connectionId

    angka

    connectionId yang ditampilkan oleh connect.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    () => void

Hasil

  • Promise<void>

    Chrome 117+

    Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.

getDevices()

Janji
chrome.hid.getDevices(
  options: GetDevicesOptions,
  callback?: function,
)
: Promise<HidDeviceInfo[]>

Mencantumkan perangkat HID yang terhubung.

Parameter

Hasil

  • Promise<HidDeviceInfo[]>

    Chrome 117+

    Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.

receive()

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

Menerima laporan input berikutnya dari perangkat.

Parameter

  • connectionId

    angka

    connectionId yang ditampilkan oleh connect.

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (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,
)
: Promise<ArrayBuffer>

Minta 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:

    (data: ArrayBuffer) => void

    • data

      ArrayBuffer

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

Hasil

  • Promise<ArrayBuffer>

    Chrome 117+

    Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.

send()

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

Mengirim laporan output ke perangkat.

Catatan: Jangan sertakan awalan ID laporan di data. ID ini akan ditambahkan jika diperlukan.

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:

    () => void

Hasil

  • Promise<void>

    Chrome 117+

    Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.

sendFeatureReport()

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

Mengirim laporan fitur ke perangkat.

Catatan: Jangan sertakan awalan ID laporan di data. ID ini akan ditambahkan jika diperlukan.

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:

    () => void

Hasil

  • Promise<void>

    Chrome 117+

    Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.

Acara

onDeviceAdded

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

Peristiwa yang dihasilkan saat perangkat ditambahkan ke sistem. Peristiwa hanya disiarkan ke aplikasi dan ekstensi yang memiliki izin untuk mengakses perangkat. Izin mungkin telah diberikan pada saat penginstalan atau saat pengguna menyetujui 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 mana yang dikirimkan.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (deviceId: number) => void

    • deviceId

      angka