chrome.hid

תיאור

אפשר להשתמש ב-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[]

    מזהי הדוחות ששייכים לאוסף ולדוחות המשניים שלו.

  • שימוש

    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 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.

getDevices()

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

מפרט את התקני ה-HID המחוברים.

פרמטרים

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

  • callback

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

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

    (devices: HidDeviceInfo[]) => void

החזרות

  • Promise<HidDeviceInfo[]>

    Chrome 117 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.

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 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.

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 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.

אירועים

onDeviceAdded

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

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

פרמטרים

onDeviceRemoved

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

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

פרמטרים

  • callback

    פונקציה

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

    (deviceId: number) => void

    • deviceId

      number