chrome.hid

תיאור

אפשר להשתמש ב-API‏ chrome.hid כדי ליצור אינטראקציה עם מכשירי HID מחוברים. ממשק ה-API הזה מספק גישה לפעולות HID מתוך ההקשר של אפליקציה. באמצעות ממשק ה-API הזה, אפליקציות יכולות לפעול כמנהלי התקנים למכשירי חומרה. כדי לדווח על שגיאות שנוצרות על ידי ה-API הזה, צריך להגדיר את runtime.lastError ולהפעיל את הקריאה החוזרת הרגילה של הפונקציה. במקרה כזה, הפרמטרים הרגילים של פונקציית הקריאה החוזרת יהיו לא מוגדרים.

הרשאות

hid

סוגים

DeviceFilter

מאפיינים

  • productId

    מספר אופציונלי

    מזהה המוצר של המכשיר, נבדק רק אם מזהה הספק תואם.

  • שימוש

    מספר אופציונלי

    מזהה השימוש ב-HID, נבדק רק אם דף השימוש ב-HID תואם.

  • usagePage

    מספר אופציונלי

    מזהה דף השימוש של HID.

  • vendorId

    מספר אופציונלי

    מזהה הספק של המכשיר.

GetDevicesOptions

מאפיינים

  • מסננים

    ‫DeviceFilter[] optional

    יוחזר מכשיר שתואם למסנן כלשהו. רשימת סינון ריקה תחזיר את כל המכשירים שהאפליקציה קיבלה הרשאה לגשת אליהם.

  • 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()

Promise
chrome.hid.connect(
  deviceId: number,
  callback?: function,
)
: Promise<HidConnectInfo>

פותחים חיבור למכשיר HID לצורך תקשורת.

פרמטרים

החזרות

  • ‫Chrome 117 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש בפונקציות קריאה חוזרת (callback).

disconnect()

Promise
chrome.hid.disconnect(
  connectionId: number,
  callback?: function,
)
: Promise<void>

התנתקות ממכשיר אחרי שמפעילים את הפונקציה הזו, אפשר להפעיל פעולות במכשיר בצורה בטוחה, אבל הן לא ישפיעו.

פרמטרים

  • connectionId

    number

    הערך connectionId הוחזר על ידי connect.

  • callback

    פונקציה אופציונלי

    הפרמטר callback נראה כך:

    () => void

החזרות

  • Promise<void>

    ‫Chrome 117 ואילך

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

getDevices()

Promise
chrome.hid.getDevices(
  options: GetDevicesOptions,
  callback?: function,
)
: Promise<HidDeviceInfo[]>

מפרט את מכשירי ה-HID המחוברים.

פרמטרים

  • המאפיינים לחיפוש במכשירי היעד.

  • callback

    פונקציה אופציונלי

    הפרמטר callback נראה כך:

    (devices: HidDeviceInfo[]) => void

החזרות

  • Promise<HidDeviceInfo[]>

    ‫Chrome 117 ואילך

    התמיכה ב-Promises קיימת רק ב-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()

Promise
chrome.hid.receiveFeatureReport(
  connectionId: number,
  reportId: number,
  callback?: function,
)
: Promise<ArrayBuffer>

שליחת בקשה לדיווח על תכונה מהמכשיר.

פרמטרים

  • connectionId

    number

    הערך connectionId הוחזר על ידי connect.

  • reportId

    number

    מזהה הדוח, או 0 אם אין כזה.

  • callback

    פונקציה אופציונלי

    הפרמטר callback נראה כך:

    (data: ArrayBuffer) => void

    • נתונים

      ArrayBuffer

      נתוני הדוח, כולל קידומת של מזהה הדוח אם המכשיר שולח אותה.

החזרות

  • Promise<ArrayBuffer>

    ‫Chrome 117 ואילך

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

send()

Promise
chrome.hid.send(
  connectionId: number,
  reportId: number,
  data: ArrayBuffer,
  callback?: function,
)
: Promise<void>

שליחת דוח פלט למכשיר.

הערה: אל תכללו קידומת של מזהה דוח ב-data. אם צריך, הוא יתווסף באופן אוטומטי.

פרמטרים

  • connectionId

    number

    הערך connectionId הוחזר על ידי connect.

  • reportId

    number

    מזהה הדוח שבו רוצים להשתמש, או 0 אם לא רוצים להשתמש באף דוח.

  • נתונים

    ArrayBuffer

    נתוני הדוח.

  • callback

    פונקציה אופציונלי

    הפרמטר callback נראה כך:

    () => void

החזרות

  • Promise<void>

    ‫Chrome 117 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש בפונקציות קריאה חוזרת (callback).

sendFeatureReport()

Promise
chrome.hid.sendFeatureReport(
  connectionId: number,
  reportId: number,
  data: ArrayBuffer,
  callback?: function,
)
: Promise<void>

שליחת דוח תכונות למכשיר.

הערה: אל תכללו קידומת של מזהה דוח ב-data. אם צריך, הוא יתווסף באופן אוטומטי.

פרמטרים

  • connectionId

    number

    הערך connectionId הוחזר על ידי connect.

  • reportId

    number

    מזהה הדוח שבו רוצים להשתמש, או 0 אם לא רוצים להשתמש באף דוח.

  • נתונים

    ArrayBuffer

    נתוני הדוח.

  • callback

    פונקציה אופציונלי

    הפרמטר callback נראה כך:

    () => void

החזרות

  • Promise<void>

    ‫Chrome 117 ואילך

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

אירועים

onDeviceAdded

chrome.hid.onDeviceAdded.addListener(
  callback: function,
)

אירוע שנוצר כשמכשיר נוסף למערכת. האירועים משודרים רק לאפליקציות ולתוספים שיש להם הרשאה לגשת למכשיר. יכול להיות שההרשאה ניתנה בזמן ההתקנה או כשהמשתמש אישר הרשאה אופציונלית (ראו permissions.request).

פרמטרים

onDeviceRemoved

chrome.hid.onDeviceRemoved.addListener(
  callback: function,
)

אירוע שנוצר כשמכשיר מוסר מהמערכת. במאמר onDeviceAdded מפורטים האירועים שמועברים.

פרמטרים

  • callback

    פונקציה

    הפרמטר callback נראה כך:

    (deviceId: number) => void

    • deviceId

      number