chrome.hid

คำอธิบาย

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

สิทธิ์

hid

ประเภท

DeviceFilter

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

  • productId

    number ไม่บังคับ

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

  • การใช้งาน

    number ไม่บังคับ

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

  • usagePage

    number ไม่บังคับ

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

  • vendorId

    number ไม่บังคับ

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

GetDevicesOptions

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

  • ตัวกรอง

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

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

  • productId

    number ไม่บังคับ

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

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

  • vendorId

    number ไม่บังคับ

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

    เทียบเท่ากับการตั้งค่า 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

    function ไม่บังคับ

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

    (connection: HidConnectInfo) => void

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

  • Chrome 117 ขึ้นไป

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

disconnect()

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

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

พารามิเตอร์

  • connectionId

    ตัวเลข

    connectionId ที่แสดงผลโดย connect

  • callback

    function ไม่บังคับ

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

    () => void

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

  • Promise<void>

    Chrome 117 ขึ้นไป

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

getDevices()

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

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

พารามิเตอร์

  • ตัวเลือก

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

  • callback

    function ไม่บังคับ

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

    (devices: HidDeviceInfo[]) => void

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

  • Promise<HidDeviceInfo[]>

    Chrome 117 ขึ้นไป

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

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

    function ไม่บังคับ

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

    (data: ArrayBuffer) => void

    • เพิ่มเติม

      ArrayBuffer

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

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

  • Promise<ArrayBuffer>

    Chrome 117 ขึ้นไป

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

send()

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

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

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

พารามิเตอร์

  • connectionId

    ตัวเลข

    connectionId ที่แสดงผลโดย connect

  • reportId

    ตัวเลข

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

  • เพิ่มเติม

    ArrayBuffer

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

  • callback

    function ไม่บังคับ

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

    () => void

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

  • Promise<void>

    Chrome 117 ขึ้นไป

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

sendFeatureReport()

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

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

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

พารามิเตอร์

  • connectionId

    ตัวเลข

    connectionId ที่แสดงผลโดย connect

  • reportId

    ตัวเลข

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

  • เพิ่มเติม

    ArrayBuffer

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

  • callback

    function ไม่บังคับ

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

    () => void

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

  • Promise<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

      ตัวเลข