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