chrome.hid

الوصف

استخدِم واجهة برمجة التطبيقات chrome.hid للتفاعل مع أجهزة HID المتصلة. تتيح واجهة برمجة التطبيقات هذه الوصول إلى عمليات HID من داخل سياق التطبيق، ويمكن للتطبيقات من خلالها العمل كبرامج تشغيل للأجهزة. يتم الإبلاغ عن الأخطاء التي تنشئها واجهة برمجة التطبيقات هذه من خلال ضبط runtime.lastError وتنفيذ دالة الاستدعاء العادية. ستكون المَعلمات العادية لعملية الاستدعاء غير محدّدة في هذه الحالة.

الأذونات

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

    سلسلة

    الإصدار 46 من Chrome أو الإصدارات الأحدث

    اسم المنتج الذي تمت قراءته من الجهاز، إن توفّر

  • reportDescriptor

    ArrayBuffer

    وصف تقرير الجهاز الأوّلي (غير متاح على نظام التشغيل Windows)

  • serialNumber

    سلسلة

    الإصدار 46 من Chrome أو الإصدارات الأحدث

    الرقم التسلسلي الذي تمت قراءته من الجهاز، إن توفّر

  • vendorId

    الرقم

    معرِّف المورّد:

الطُرق

connect()

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

فتح اتصال بجهاز HID للتواصل

المعلمات

  • deviceId

    الرقم

    HidDeviceInfo.deviceId الجهاز المطلوب فتحه

  • callback

    function اختياري

    تظهر المَعلمة callback على النحو التالي:

    (connection: HidConnectInfo) => void

المرتجعات

  • الإصدار 117 من Chrome والإصدارات الأحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.

disconnect()

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

إلغاء الربط بجهاز إنّ استدعاء العمليات على جهاز بعد استدعاء هذه العملية آمن ولكن ليس له أي تأثير.

المعلمات

  • connectionId

    الرقم

    ‫connectionId التي تعرضها الدالة connect.

  • callback

    function اختياري

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • وعد<فراغ>

    الإصدار 117 من Chrome والإصدارات الأحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.

getDevices()

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

تعداد أجهزة HID المتصلة

المعلمات

  • الخيارات

    الخصائص المطلوب البحث عنها على أجهزة الاختبار

  • callback

    function اختياري

    تظهر المَعلمة callback على النحو التالي:

    (devices: HidDeviceInfo[]) => void

المرتجعات

  • ‫Promise<HidDeviceInfo[]>

    الإصدار 117 من Chrome والإصدارات الأحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.

receive()

chrome.hid.receive(
  connectionId: number,
  callback: function,
)
: void

تلقّي تقرير الإدخال التالي من الجهاز

المعلمات

  • connectionId

    الرقم

    ‫connectionId التي تعرضها الدالة connect.

  • callback

    دالة

    تظهر المَعلمة callback على النحو التالي:

    (reportId: number, data: ArrayBuffer) => void

    • reportId

      الرقم

      رقم تعريف التقرير أو 0 في حال عدم توفّره

    • البيانات

      ArrayBuffer

      تتم إزالة بيانات التقرير وبادئة معرّف التقرير (في حال توفّرها).

receiveFeatureReport()

Promise
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>

    الإصدار 117 من Chrome والإصدارات الأحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.

send()

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

إرسال تقرير إخراج إلى الجهاز

ملاحظة: لا تُدرِج بادئة معرّف التقرير في data. وستتم إضافته إذا لزم الأمر.

المعلمات

  • connectionId

    الرقم

    ‫connectionId التي تعرضها الدالة connect.

  • reportId

    الرقم

    معرّف التقرير المطلوب استخدامه، أو 0 في حال عدم توفّره

  • البيانات

    ArrayBuffer

    بيانات التقرير

  • callback

    function اختياري

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • وعد<فراغ>

    الإصدار 117 من Chrome والإصدارات الأحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.

sendFeatureReport()

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

إرسال تقرير ميزة إلى الجهاز

ملاحظة: لا تُدرِج بادئة معرّف التقرير في data. وستتم إضافته إذا لزم الأمر.

المعلمات

  • connectionId

    الرقم

    ‫connectionId التي تعرضها الدالة connect.

  • reportId

    الرقم

    معرّف التقرير المطلوب استخدامه، أو 0 في حال عدم توفّره

  • البيانات

    ArrayBuffer

    بيانات التقرير

  • callback

    function اختياري

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • وعد<فراغ>

    الإصدار 117 من Chrome والإصدارات الأحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.

الفعاليات

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

      الرقم