คำอธิบาย
ใช้ 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()
chrome.hid.connect(
deviceId: number,
callback?: function,
): Promise<HidConnectInfo>
เปิดการเชื่อมต่อกับอุปกรณ์ HID เพื่อการสื่อสาร
พารามิเตอร์
-
deviceId
ตัวเลข
HidDeviceInfo.deviceId
ของอุปกรณ์ที่จะเปิด -
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(connection: HidConnectInfo) => void
-
การเชื่อมต่อ
-
การคืนสินค้า
-
Promise<HidConnectInfo>
Chrome 117 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
disconnect()
chrome.hid.disconnect(
connectionId: number,
callback?: function,
): Promise<void>
ยกเลิกการเชื่อมต่อกับอุปกรณ์ การเรียกใช้การดำเนินการในอุปกรณ์หลังจากเรียกใช้ฟังก์ชันนี้จะปลอดภัยแต่ไม่มีผล
พารามิเตอร์
-
connectionId
ตัวเลข
connectionId
ที่ส่งคืนโดยconnect
-
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 117 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
getDevices()
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()
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()
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()
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
ตัวเลข
-