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

    سلسلة

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

    اسم المنتج الذي تمت قراءته من الجهاز، إذا كان متاحًا.

  • reportDescriptor

    ArrayBuffer

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

  • serialNumber

    سلسلة

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

    الرقم التسلسلي الذي تمّت قراءته من الجهاز، إذا كان متاحًا

  • vendorId

    الرقم

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

الطُرق

connect()

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

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

المعلمات

  • deviceId

    الرقم

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

  • callback

    الدالة اختيارية

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

    (connection: HidConnectInfo) => void

المرتجعات

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

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

disconnect()

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

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

المعلمات

  • connectionId

    الرقم

    تمثّل هذه السمة connectionId التي تعرضها الدالة connect.

  • callback

    الدالة اختيارية

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

    () => void

المرتجعات

  • Promise<void>

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

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

getDevices()

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

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

المعلمات

  • الخيارات

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

  • callback

    الدالة اختيارية

    تظهر المَعلمة 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()

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

طلب تقرير ميزة من الجهاز

المعلمات

  • connectionId

    الرقم

    تمثّل هذه السمة قيمة connectionId التي تعرضها connect.

  • reportId

    الرقم

    معرّف التقرير، أو 0 إذا لم يكن متوفّرًا

  • callback

    الدالة اختيارية

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

    (data: ArrayBuffer) => void

    • البيانات

      ArrayBuffer

      بيانات التقرير، بما في ذلك بادئة معرّف التقرير إذا أرسلها الجهاز

المرتجعات

  • Promise<ArrayBuffer>

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

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

send()

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

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

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

المعلمات

  • connectionId

    الرقم

    تمثّل هذه السمة قيمة connectionId التي تعرضها connect.

  • reportId

    الرقم

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

  • البيانات

    ArrayBuffer

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

  • callback

    الدالة اختيارية

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

    () => void

المرتجعات

  • Promise<void>

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

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

sendFeatureReport()

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

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

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

المعلمات

  • connectionId

    الرقم

    تمثّل هذه السمة قيمة connectionId التي تعرضها connect.

  • reportId

    الرقم

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

  • البيانات

    ArrayBuffer

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

  • callback

    الدالة اختيارية

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

    () => void

المرتجعات

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

      الرقم