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

    ตัวเลข[]

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

  • การใช้งาน

    ตัวเลข

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

  • usagePage

    ตัวเลข

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

HidConnectInfo

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

  • connectionId

    ตัวเลข

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

HidDeviceInfo

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

  • คอลเล็กชัน

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

  • deviceId

    ตัวเลข

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

  • maxFeatureReportSize

    ตัวเลข

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

  • maxInputReportSize

    ตัวเลข

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

  • maxOutputReportSize

    ตัวเลข

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

  • productId

    ตัวเลข

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

  • productName

    string

    Chrome 46 ขึ้นไป

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

  • reportDescriptor

    ArrayBuffer

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

  • serialNumber

    string

    Chrome 46 ขึ้นไป

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

  • vendorId

    ตัวเลข

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

วิธีการ

connect()

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

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

พารามิเตอร์

  • deviceId

    ตัวเลข

    HidDeviceInfo.deviceId ของอุปกรณ์เพื่อเปิด

  • Callback

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

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

    (connection: HidConnectInfo)=>void

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

  • Chrome 117 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

disconnect()

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

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

พารามิเตอร์

  • connectionId

    ตัวเลข

    connectionId ส่งคืนโดย connect

  • Callback

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

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

    ()=>void

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

  • Promise<void>

    Chrome 117 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

getDevices()

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

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

พารามิเตอร์

  • ตัวเลือก

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

  • Callback

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

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

    (devices: HidDeviceInfo[])=>void

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

  • Promise<HidDeviceInfo[]>

    Chrome 117 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

receive()

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

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

พารามิเตอร์

  • connectionId

    ตัวเลข

    connectionId ส่งคืนโดย connect

  • Callback

    ฟังก์ชัน

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

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

    • reportId

      ตัวเลข

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

    • ข้อมูล

      ArrayBuffer

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

receiveFeatureReport()

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

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

พารามิเตอร์

  • connectionId

    ตัวเลข

    connectionId ส่งคืนโดย connect

  • reportId

    ตัวเลข

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

  • Callback

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

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

    (data: ArrayBuffer)=>void

    • ข้อมูล

      ArrayBuffer

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

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

  • Promise<ArrayBuffer>

    Chrome 117 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

send()

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

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

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

พารามิเตอร์

  • connectionId

    ตัวเลข

    connectionId ส่งคืนโดย connect

  • reportId

    ตัวเลข

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

  • ข้อมูล

    ArrayBuffer

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

  • Callback

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

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

    ()=>void

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

  • Promise<void>

    Chrome 117 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

sendFeatureReport()

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

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

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

พารามิเตอร์

  • connectionId

    ตัวเลข

    connectionId ส่งคืนโดย connect

  • reportId

    ตัวเลข

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

  • ข้อมูล

    ArrayBuffer

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

  • Callback

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

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

    ()=>void

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

  • Promise<void>

    Chrome 117 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ 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

      ตัวเลข