chrome.hid

คำอธิบาย

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

สิทธิ์

hid

ประเภท

DeviceFilter

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

  • productId

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

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

  • การใช้งาน

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

    ตัวระบุการใช้งาน HID ซึ่งจะตรวจสอบก็ต่อเมื่อหน้าการใช้งาน HID ตรงกันเท่านั้น

  • usagePage

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

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

  • vendorId

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

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

GetDevicesOptions

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

  • ตัวกรอง

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

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

  • productId

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

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

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

  • vendorId

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

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

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

HidCollectionInfo

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

  • reportIds

    number[]

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

  • การใช้งาน

    ตัวเลข

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

  • usagePage

    ตัวเลข

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

HidConnectInfo

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

  • connectionId

    ตัวเลข

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

HidDeviceInfo

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

  • คอลเล็กชัน

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

  • deviceId

    ตัวเลข

    รหัสอุปกรณ์ที่ไม่โปร่งใส

  • maxFeatureReportSize

    ตัวเลข

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

  • maxInputReportSize

    ตัวเลข

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

  • maxOutputReportSize

    ตัวเลข

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

  • productId

    ตัวเลข

    รหัสผลิตภัณฑ์

  • productName

    สตริง

    Chrome 46 ขึ้นไป

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

  • reportDescriptor

    ArrayBuffer

    ตัวอธิบายรายงานอุปกรณ์ดิบ (ไม่พร้อมใช้งานใน Windows)

  • serialNumber

    สตริง

    Chrome 46 ขึ้นไป

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

  • vendorId

    ตัวเลข

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

เมธอด

connect()

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

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

พารามิเตอร์

  • deviceId

    ตัวเลข

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

  • callback

    ฟังก์ชัน ไม่บังคับ

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

    (connection: HidConnectInfo) => void

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

  • Chrome 117 ขึ้นไป

    ระบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

disconnect()

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

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

พารามิเตอร์

  • connectionId

    ตัวเลข

    connectionId ที่ส่งคืนโดย connect

  • callback

    ฟังก์ชัน ไม่บังคับ

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

    () => void

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

  • Promise<void>

    Chrome 117 ขึ้นไป

    ระบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

getDevices()

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

แสดงรายการอุปกรณ์ HID ที่เชื่อมต่อ

พารามิเตอร์

  • ตัวเลือก

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

  • callback

    ฟังก์ชัน ไม่บังคับ

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

    (devices: HidDeviceInfo[]) => void

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

  • Promise<HidDeviceInfo[]>

    Chrome 117 ขึ้นไป

    ระบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

receive()

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

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

พารามิเตอร์

  • connectionId

    ตัวเลข

    connectionId ที่ส่งคืนโดย connect

  • callback

    ฟังก์ชัน

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

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

    • reportId

      ตัวเลข

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

    • เพิ่มเติม

      ArrayBuffer

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

receiveFeatureReport()

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

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

พารามิเตอร์

  • connectionId

    ตัวเลข

    connectionId ที่ส่งคืนโดย connect

  • reportId

    ตัวเลข

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

  • callback

    ฟังก์ชัน ไม่บังคับ

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

    (data: ArrayBuffer) => void

    • เพิ่มเติม

      ArrayBuffer

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

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

  • Promise<ArrayBuffer>

    Chrome 117 ขึ้นไป

    ระบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

send()

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

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

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

พารามิเตอร์

  • connectionId

    ตัวเลข

    connectionId ที่ส่งคืนโดย connect

  • reportId

    ตัวเลข

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

  • เพิ่มเติม

    ArrayBuffer

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

  • callback

    ฟังก์ชัน ไม่บังคับ

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

    () => void

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

  • Promise<void>

    Chrome 117 ขึ้นไป

    ระบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

sendFeatureReport()

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

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

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

พารามิเตอร์

  • connectionId

    ตัวเลข

    connectionId ที่ส่งคืนโดย connect

  • reportId

    ตัวเลข

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

  • เพิ่มเติม

    ArrayBuffer

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

  • callback

    ฟังก์ชัน ไม่บังคับ

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

    () => void

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

  • Promise<void>

    Chrome 117 ขึ้นไป

    ระบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

กิจกรรม

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

      ตัวเลข