คำอธิบาย
ใช้ 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
-
การเชื่อมต่อ
-
การคืนสินค้า
-
Promise<HidConnectInfo>
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
ตัวเลข
-