chrome.hid

คำอธิบาย

ใช้ chrome.hid API เพื่อโต้ตอบกับอุปกรณ์ HID ที่เชื่อมต่อ API นี้ให้สิทธิ์เข้าถึงการดำเนินการ HID จากภายในบริบทของแอป เมื่อใช้ API นี้ แอปต่างๆ จะทำหน้าที่เป็นไดรเวอร์ของอุปกรณ์ฮาร์ดแวร์ได้ ระบบจะรายงานข้อผิดพลาดที่สร้างโดย API นี้โดยการตั้งค่า runtime.lastError และเรียกใช้ Callback ปกติของฟังก์ชัน พารามิเตอร์ปกติของ Callback จะไม่ได้กำหนดในกรณีนี้

สิทธิ์

hid

ประเภท

DeviceFilter

พร็อพเพอร์ตี้

  • productId

    หมายเลข ไม่บังคับ

    เลือกรหัสผลิตภัณฑ์ของอุปกรณ์ก็ต่อเมื่อรหัสผู้ให้บริการตรงกันเท่านั้น

  • การใช้งาน

    หมายเลข ไม่บังคับ

    เลือกตัวระบุการใช้งาน HID เฉพาะเมื่อหน้าการใช้งาน HID ตรงกัน

  • usagePage

    หมายเลข ไม่บังคับ

    ตัวระบุหน้าการใช้งาน HID

  • vendorId

    หมายเลข ไม่บังคับ

    รหัสผู้ให้บริการอุปกรณ์

GetDevicesOptions

พร็อพเพอร์ตี้

  • ตัวกรอง

    DeviceFilter[] ไม่บังคับ

    ระบบจะส่งคืนอุปกรณ์ที่ตรงกับตัวกรองที่ระบุ รายการตัวกรองที่ว่างเปล่าจะแสดงอุปกรณ์ทั้งหมดที่แอปมีสิทธิ์

  • productId

    หมายเลข ไม่บังคับ

    เลิกใช้งานแล้ว

    เทียบเท่ากับการตั้งค่า DeviceFilter.productId

  • vendorId

    หมายเลข ไม่บังคับ

    เลิกใช้งานแล้ว

    เทียบเท่ากับการตั้งค่า DeviceFilter.vendorId

HidCollectionInfo

พร็อพเพอร์ตี้

  • reportIds

    ตัวเลข[]

    รหัสรายงานที่เป็นของคอลเล็กชันและคอลเล็กชันย่อย

  • การใช้งาน

    ตัวเลข

    ตัวระบุการใช้งานที่หน้าเว็บกำหนด

  • usagePage

    ตัวเลข

    ตัวระบุหน้าการใช้งาน HID

HidConnectInfo

พร็อพเพอร์ตี้

  • connectionId

    ตัวเลข

    รหัสแบบทึบที่ใช้ในการระบุการเชื่อมต่อนี้ในฟังก์ชันอื่นๆ ทั้งหมด

HidDeviceInfo

พร็อพเพอร์ตี้

  • คอลเล็กชัน

    คอลเล็กชันระดับบนสุดจากข้อบ่งชี้รายงานของอุปกรณ์นี้

  • deviceId

    ตัวเลข

    รหัสอุปกรณ์ทึบแสง

  • maxFeatureReportSize

    ตัวเลข

    ขนาดรายงานฟีเจอร์สูงสุดของคอลเล็กชันระดับบนสุด

  • maxInputReportSize

    ตัวเลข

    ขนาดรายงานอินพุตสูงสุดของคอลเล็กชันระดับบนสุด

  • maxOutputReportSize

    ตัวเลข

    ขนาดรายงานผลลัพธ์สูงสุดของคอลเล็กชันระดับบนสุด

  • productId

    ตัวเลข

    ID ผลิตภัณฑ์

  • productName

    สตริง

    Chrome 46 ขึ้นไป

    อ่านชื่อผลิตภัณฑ์จากอุปกรณ์ หากมี

  • reportDescriptor

    อาร์เรย์บัฟเฟอร์

    ข้อบ่งชี้รายงานอุปกรณ์ดิบ (ใช้ไม่ได้ใน Windows)

  • serialNumber

    สตริง

    Chrome 46 ขึ้นไป

    หมายเลขซีเรียลอ่านจากอุปกรณ์ หากมี

  • vendorId

    ตัวเลข

    รหัสผู้ให้บริการ

เมธอด

connect()

สัญญา
chrome.hid.connect(
  deviceId: number,
  callback?: function,
)

เปิดการเชื่อมต่อกับอุปกรณ์ HID เพื่อการสื่อสาร

พารามิเตอร์

  • deviceId

    ตัวเลข

    HidDeviceInfo.deviceId ของอุปกรณ์ที่จะเปิด

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (connection: HidConnectInfo) => void

การคืนสินค้า

  • Promise<HidConnectInfo>

    Chrome 117 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

disconnect()

สัญญา
chrome.hid.disconnect(
  connectionId: number,
  callback?: function,
)

ยกเลิกการเชื่อมต่ออุปกรณ์ การเรียกใช้การดำเนินการในอุปกรณ์หลังจากเรียกใช้การดำเนินการนี้ปลอดภัย แต่จะไม่มีผล

พารามิเตอร์

  • connectionId

    ตัวเลข

    connect ได้คืนเงิน connectionId แล้ว

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    () => void

การคืนสินค้า

  • คำมั่นสัญญา<โมฆะ>

    Chrome 117 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

getDevices()

สัญญา
chrome.hid.getDevices(
  options: GetDevicesOptions,
  callback?: function,
)

แจกแจงอุปกรณ์ HID ที่เชื่อมต่อ

พารามิเตอร์

  • ตัวเลือก

    พร็อพเพอร์ตี้ที่จะค้นหาในอุปกรณ์เป้าหมาย

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (devices: HidDeviceInfo[]) => void

การคืนสินค้า

  • Promise&lt;HidDeviceInfo[]&gt;

    Chrome 117 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

receive()

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

รับรายงานอินพุตถัดไปจากอุปกรณ์

พารามิเตอร์

  • connectionId

    ตัวเลข

    connect ได้คืนเงิน connectionId แล้ว

  • Callback

    ฟังก์ชัน

    พารามิเตอร์ callback มีลักษณะดังนี้

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

    • reportId

      ตัวเลข

      รหัสรายงานหรือ 0 หากไม่มี

    • ข้อมูล

      อาร์เรย์บัฟเฟอร์

      ข้อมูลรายงานจะนำคำนำหน้ารหัสรายงาน (หากมี) ออก

receiveFeatureReport()

สัญญา
chrome.hid.receiveFeatureReport(
  connectionId: number,
  reportId: number,
  callback?: function,
)

ขอรายงานฟีเจอร์จากอุปกรณ์

พารามิเตอร์

  • connectionId

    ตัวเลข

    connect ได้คืนเงิน connectionId แล้ว

  • reportId

    ตัวเลข

    รหัสรายงาน หรือ 0 หากไม่มี

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (data: ArrayBuffer) => void

    • ข้อมูล

      อาร์เรย์บัฟเฟอร์

      ข้อมูลรายงาน ซึ่งรวมถึงคำนำหน้ารหัสรายงาน หากอุปกรณ์ส่งข้อมูลดังกล่าวมา

การคืนสินค้า

  • สัญญา <ArrayBuffer>

    Chrome 117 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

send()

สัญญา
chrome.hid.send(
  connectionId: number,
  reportId: number,
  data: ArrayBuffer,
  callback?: function,
)

ส่งรายงานเอาต์พุตไปยังอุปกรณ์

หมายเหตุ: อย่าใส่คำนำหน้ารหัสรายงานใน data และจะเพิ่มหากจำเป็น

พารามิเตอร์

  • connectionId

    ตัวเลข

    connect ได้คืนเงิน connectionId แล้ว

  • reportId

    ตัวเลข

    รหัสรายงานที่จะใช้ หรือ 0 หากไม่มี

  • ข้อมูล

    อาร์เรย์บัฟเฟอร์

    ข้อมูลรายงาน

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    () => void

การคืนสินค้า

  • คำมั่นสัญญา<โมฆะ>

    Chrome 117 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

sendFeatureReport()

สัญญา
chrome.hid.sendFeatureReport(
  connectionId: number,
  reportId: number,
  data: ArrayBuffer,
  callback?: function,
)

ส่งรายงานฟีเจอร์ไปยังอุปกรณ์

หมายเหตุ: อย่าใส่คำนำหน้ารหัสรายงานใน data และจะเพิ่มหากจำเป็น

พารามิเตอร์

  • connectionId

    ตัวเลข

    connect ได้คืนเงิน connectionId แล้ว

  • reportId

    ตัวเลข

    รหัสรายงานที่จะใช้ หรือ 0 หากไม่มี

  • ข้อมูล

    อาร์เรย์บัฟเฟอร์

    ข้อมูลรายงาน

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    () => void

การคืนสินค้า

  • คำมั่นสัญญา<โมฆะ>

    Chrome 117 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

กิจกรรม

onDeviceAdded

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

เหตุการณ์ที่สร้างขึ้นเมื่อมีการเพิ่มอุปกรณ์ลงในระบบ กิจกรรมจะประกาศไปยังแอปและส่วนขยายที่มีสิทธิ์เข้าถึงอุปกรณ์เท่านั้น อาจมีการให้สิทธิ์ ณ เวลาที่ติดตั้งหรือเมื่อผู้ใช้ยอมรับสิทธิ์ที่ไม่บังคับ (ดู permissions.request)

พารามิเตอร์

  • Callback

    ฟังก์ชัน

    พารามิเตอร์ callback มีลักษณะดังนี้

    (device: HidDeviceInfo) => void

onDeviceRemoved

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

เหตุการณ์ที่สร้างขึ้นเมื่อมีการนำอุปกรณ์ออกจากระบบ ดูเหตุการณ์ที่มีการนำส่งใน onDeviceAdded

พารามิเตอร์

  • Callback

    ฟังก์ชัน

    พารามิเตอร์ callback มีลักษณะดังนี้

    (deviceId: number) => void

    • deviceId

      ตัวเลข