תיאור
שימוש ב-API chrome.hid
כדי לקיים אינטראקציה עם מכשירי ממשק אנושי (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
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
מזהה הספק.
שיטות
connect()
chrome.hid.connect(
deviceId: number,
callback?: function,
)
צריך לפתוח חיבור למכשיר ממשק אנושי (HID) לצורך תקשורת.
פרמטרים
-
deviceId
number
ה-
HidDeviceInfo.deviceId
של המכשיר שרוצים לפתוח. -
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:(connection: HidConnectInfo) => void
-
חיבור
-
החזרות
-
Promise<HidConnectInfo>
Chrome 117 ואילךהבטחות נתמכות רק במניפסט מגרסה V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).
disconnect()
chrome.hid.disconnect(
connectionId: number,
callback?: function,
)
מתנתקים ממכשיר. הפעלת פעולות במכשיר לאחר השיחה היא בטוחה, אבל אין לה השפעה.
פרמטרים
-
connectionId
number
הערך של '
connectionId
' הוחזר על ידיconnect
. -
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:() => void
החזרות
-
הבטחה<Empty>
Chrome 117 ואילךהבטחות נתמכות רק במניפסט מגרסה V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).
getDevices()
chrome.hid.getDevices(
options: GetDevicesOptions,
callback?: function,
)
ספירת מכשירי ממשק אנושי (HID) מחוברים.
פרמטרים
-
אפשרויות
המאפיינים שצריך לחפש במכשירי היעד.
-
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:(devices: HidDeviceInfo[]) => void
-
מכשירים
-
החזרות
-
Promise<HidDeviceInfo[]>
Chrome 117 ואילךהבטחות נתמכות רק במניפסט מגרסה V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).
receive()
chrome.hid.receive(
connectionId: number,
callback: function,
)
מקבלים את דוח הקלט הבא מהמכשיר.
פרמטרים
-
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,
)
מבקשים דוח תכונה מהמכשיר.
פרמטרים
-
connectionId
number
הערך של '
connectionId
' הוחזר על ידיconnect
. -
reportId
number
מזהה הדוח. אם אין,
0
. -
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:(data: ArrayBuffer) => void
-
נתונים
ArrayBuffer
נתוני הדוח, כולל קידומת של מזהה דוח, אם המכשיר שולח קידומת כזו.
-
החזרות
-
Promise<ArrayBuffer>
Chrome 117 ואילךהבטחות נתמכות רק במניפסט מגרסה V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).
send()
chrome.hid.send(
connectionId: number,
reportId: number,
data: ArrayBuffer,
callback?: function,
)
שליחת דוח פלט למכשיר.
הערה: אין לכלול קידומת של מזהה דוח ב-data
. היא תתווסף לפי הצורך.
פרמטרים
-
connectionId
number
הערך של '
connectionId
' הוחזר על ידיconnect
. -
reportId
number
מזהה הדוח שבו צריך להשתמש, או
0
אם אין. -
נתונים
ArrayBuffer
נתוני הדוח.
-
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:() => void
החזרות
-
הבטחה<Empty>
Chrome 117 ואילךהבטחות נתמכות רק במניפסט מגרסה V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).
sendFeatureReport()
chrome.hid.sendFeatureReport(
connectionId: number,
reportId: number,
data: ArrayBuffer,
callback?: function,
)
שליחת דוח תכונה למכשיר.
הערה: אין לכלול קידומת של מזהה דוח ב-data
. היא תתווסף לפי הצורך.
פרמטרים
-
connectionId
number
הערך של '
connectionId
' הוחזר על ידיconnect
. -
reportId
number
מזהה הדוח שבו צריך להשתמש, או
0
אם אין. -
נתונים
ArrayBuffer
נתוני הדוח.
-
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:() => void
החזרות
-
הבטחה<Empty>
Chrome 117 ואילךהבטחות נתמכות רק במניפסט מגרסה 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
number
-