תיאור
משתמשים ב-API של chrome.hid כדי לתקשר עם מכשירי HID מחוברים. ה-API הזה מספק גישה לפעולות HID מתוך ההקשר של אפליקציה. באמצעות ה-API הזה, אפליקציות יכולות לפעול כמנהלי התקנים של מכשירי חומרה. שגיאות שנוצרות על ידי ה-API הזה מדווחות על ידי הגדרת runtime.lastError והפעלת פונקציית ה-callback הרגילה. במקרה כזה, הפרמטרים הרגילים של הקריאה החוזרת לא יוגדרו.
הרשאות
hidסוגים
DeviceFilter
מאפיינים
-
productId
מספר אופציונלי
מזהה המוצר של המכשיר, נבדק רק אם מזהה הספק תואם.
-
שימוש
מספר אופציונלי
מזהה השימוש ב-HID, נבדק רק אם דף השימוש ב-HID תואם.
-
usagePage
מספר אופציונלי
מזהה דף השימוש ב-HID.
-
vendorId
מספר אופציונלי
מזהה ספק המכשיר.
GetDevicesOptions
מאפיינים
-
מסננים
DeviceFilter[] אופציונלי
יוחזר מכשיר שתואם לאחד מהמסננים שצוינו. אם רשימת המסננים ריקה, יוצגו כל המכשירים שלאפליקציה יש הרשאה לגשת אליהם.
-
productId
מספר אופציונלי
הוצא משימוששווה ערך להגדרה
DeviceFilter.productId. -
vendorId
מספר אופציונלי
הוצא משימוששווה ערך להגדרה
DeviceFilter.vendorId.
HidCollectionInfo
מאפיינים
-
reportIds
number[]
מזהי דוחות ששייכים לאוסף ולפריטים המשניים שלו.
-
שימוש
number
מזהה שימוש שמוגדר בדף.
-
usagePage
number
מזהה דף השימוש ב-HID.
HidConnectInfo
מאפיינים
-
connectionId
number
המזהה הלא שקוף שמשמש לזיהוי החיבור הזה בכל הפונקציות האחרות.
HidDeviceInfo
מאפיינים
-
אוספים
אוספים ברמה העליונה מתיאורי הדוחות של המכשיר הזה.
-
deviceId
number
מזהה מכשיר אטום.
-
maxFeatureReportSize
number
הגודל המקסימלי של דוח התכונות של האוסף ברמה העליונה.
-
maxInputReportSize
number
הגודל המקסימלי של דוח הקלט של האוסף ברמה העליונה.
-
maxOutputReportSize
number
הגודל המקסימלי של דוח הפלט של אוסף ברמה העליונה.
-
productId
number
מזהה המוצר.
-
productName
מחרוזת
Chrome מגרסה 46 ואילךשם המוצר שנקרא מהמכשיר, אם הוא זמין.
-
reportDescriptor
ArrayBuffer
מתאר דוח גולמי של המכשיר (לא זמין ב-Windows).
-
serialNumber
מחרוזת
Chrome מגרסה 46 ואילךהמספר הסידורי שנקרא מהמכשיר, אם הוא זמין.
-
vendorId
number
מזהה הספק.
Methods
connect()
chrome.hid.connect(
deviceId: number,
callback?: function,
): Promise<HidConnectInfo>
לפתוח חיבור למכשיר HID לצורך תקשורת.
פרמטרים
-
deviceId
number
HidDeviceInfo.deviceIdשל המכשיר שרוצים לפתוח. -
callback
function optional
הפרמטר
callbackנראה כך:(connection: HidConnectInfo) => void
-
חיבור
-
החזרות
-
Promise<HidConnectInfo>
Chrome מגרסה 117 ואילךהבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).
disconnect()
chrome.hid.disconnect(
connectionId: number,
callback?: function,
): Promise<void>
להתנתק ממכשיר. הפעלת פעולות במכשיר אחרי הקריאה הזו היא בטוחה, אבל אין לה השפעה.
פרמטרים
-
connectionId
number
הערך של
connectionIdשמוחזר על ידיconnect. -
callback
function optional
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome מגרסה 117 ואילךהבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).
getDevices()
chrome.hid.getDevices(
options: GetDevicesOptions,
callback?: function,
): Promise<HidDeviceInfo[]>
למנות את מכשירי ה-HID המחוברים.
פרמטרים
-
אפשרויות
המאפיינים שצריך לחפש במכשירי היעד.
-
callback
function optional
הפרמטר
callbackנראה כך:(devices: HidDeviceInfo[]) => void
-
מכשירים
-
החזרות
-
Promise<HidDeviceInfo[]>
Chrome מגרסה 117 ואילךהבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).
receive()
chrome.hid.receive(
connectionId: number,
callback: function,
): void
קבלת דוח הקלט הבא מהמכשיר.
פרמטרים
-
connectionId
number
הערך של
connectionIdשמוחזר על ידיconnect. -
callback
פונקציה
הפרמטר
callbackנראה כך:(reportId: number, data: ArrayBuffer) => void
-
reportId
number
מזהה הדוח, או
0אם אין מזהה. -
נתונים
ArrayBuffer
נתוני הדוח, הקידומת של מזהה הדוח (אם קיימת) מוסרת.
-
receiveFeatureReport()
chrome.hid.receiveFeatureReport(
connectionId: number,
reportId: number,
callback?: function,
): Promise<ArrayBuffer>
בקשה לקבלת דוח תכונות מהמכשיר.
פרמטרים
-
connectionId
number
הערך של
connectionIdשמוחזר על ידיconnect. -
reportId
number
מזהה הדוח, או
0אם אין מזהה. -
callback
function optional
הפרמטר
callbackנראה כך:(data: ArrayBuffer) => void
-
נתונים
ArrayBuffer
נתוני הדוח, כולל קידומת של מזהה הדוח אם המכשיר שולח אותה.
-
החזרות
-
Promise<ArrayBuffer>
Chrome מגרסה 117 ואילךהבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).
send()
chrome.hid.send(
connectionId: number,
reportId: number,
data: ArrayBuffer,
callback?: function,
): Promise<void>
שליחת דוח פלט למכשיר.
הערה: אל תכללו קידומת של מזהה דוח ב-data. הוא יתווסף אם יהיה צורך.
פרמטרים
-
connectionId
number
הערך של
connectionIdשמוחזר על ידיconnect. -
reportId
number
מזהה הדוח שבו צריך להשתמש, או
0אם אין כזה. -
נתונים
ArrayBuffer
נתוני הדוח.
-
callback
function optional
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome מגרסה 117 ואילךהבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).
sendFeatureReport()
chrome.hid.sendFeatureReport(
connectionId: number,
reportId: number,
data: ArrayBuffer,
callback?: function,
): Promise<void>
שליחת דוח תכונות למכשיר.
הערה: אל תכללו קידומת של מזהה דוח ב-data. הוא יתווסף אם יהיה צורך.
פרמטרים
-
connectionId
number
הערך של
connectionIdשמוחזר על ידיconnect. -
reportId
number
מזהה הדוח שבו צריך להשתמש, או
0אם אין כזה. -
נתונים
ArrayBuffer
נתוני הדוח.
-
callback
function optional
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome מגרסה 117 ואילךהבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).
אירועים
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
number
-