أجهزة الواجهة البشرية على الويب: بعض الأمثلة السريعة

الاتصال بالأجهزة غير المألوفة من تطبيقك

جو ميدلي
جو ميدلي
مات رينولدز
مات رينولدز

ما هي WebHID API؟

إنّ العديد من أجهزة الواجهة البشرية (HID) حديثة جدًا أو قديمة جدًا أو غير مألوفة بحيث يتعذّر الوصول إليها بواسطة برامج تشغيل أجهزة الأنظمة. تعمل WebHID API على حلّ هذه المشكلة من خلال توفير طريقة لتنفيذ منطق خاص بالجهاز في JavaScript.

حالات الاستخدام المقترَحة لواجهة WebHID API

يأخذ جهاز HID مدخلات من المستخدمين أو يقدّم لهم الإخراج. ومن أمثلة الأجهزة لوحات المفاتيح وأجهزة التأشير (أجهزة الماوس والشاشات التي تعمل باللمس وما إلى ذلك) وأجهزة الألعاب. يتيح بروتوكول HID الوصول إلى هذه الأجهزة على أجهزة كمبيوتر مكتبية باستخدام برامج تشغيل نظام التشغيل. ويدعم النظام الأساسي للويب أجهزة HID من خلال الاعتماد على برامج التشغيل هذه.

تكون عدم القدرة على الوصول إلى أجهزة HID غير المألوفة أمرًا صعبًا بشكل خاص عندما يتعلق الأمر بدعم وحدة التحكّم في الألعاب. غالبًا ما تستخدم لوحات الألعاب المصمّمة للكمبيوتر الشخصي واجهة بشرية (HID) لإدخالات لوحة الألعاب (الأزرار وذراع التحكّم ومشغّلات) والمخرجات (مصابيح LED، وحركات القرينة). ومع ذلك، لا تكون مدخلات ومخرجات لوحة الألعاب موحّدة بشكل جيد وغالبًا ما تتطلب متصفحات الويب منطقًا مخصصًا لأجهزة محددة. يُعد ذلك غير مستدام وينتج عنه دعم ضعيف للأجهزة القديمة وغير الشائعة. كما أنها تتسبب في اعتماد المتصفح على الميزات الموجودة في سلوك أجهزة معينة.

العروض التوضيحية والتجريبية

إذا كنت مهتمًا بكيفية عمل أي من هذه العينات، فإن رمز المصدر لجميعها متاح على GitHub. هناك مثال على التعليمات البرمجية للعظام العظمية في الشرح.

الإضاءة الخلفية للوحة مفاتيح MacBook Pro

أكبر عائق أمام تجربة أي من هذه العروض التوضيحية هو عدم الوصول إلى الجهاز. لحسن الحظ، إذا كان لديك جهاز MacBook Pro مع شريط لمس، فلن تحتاج إلى شراء أي شيء. يتيح لك هذا العرض التوضيحي استخدام واجهة برمجة التطبيقات مباشرةً من الكمبيوتر المحمول. كما يعرض كيف يمكن استخدام WebHID لإتاحة وظائف الأجهزة المدمجة، وليس فقط الأجهزة الملحقة.

المؤلف: FWeinb
العرض التوضيحي/المصدر: لوحة المفاتيح الخلفية

أذرعة تحكُّم في الألعاب

وحدة تحكُّم لاسلكية في PlayStation 4

التالي هو شيء من المحتمل أن يكون لدى القليل منكم. DualShock 4 من Sony هي وحدة تحكم لاسلكية لوحدات تحكم الألعاب PlayStation 4.

يستخدم العرض التوضيحي DualShock 4 التجريبي WebHID لتلقّي تقارير الإدخال الأوليّة من DualShock 4، ويوفّر واجهة برمجة تطبيقات عالية المستوى للوصول إلى إدخالات الجيروسكوب ومقياس التسارع ولوحة اللمس والزر وذراع التحكّم في وحدة التحكّم. كما أنه يدعم التناغم وتعيين لون مصباح LED بنموذج أحمر أخضر أزرق الموجود داخل وحدة التحكم.

المؤلف: TheBITLINK
العرض التوضيحي: DualShock 4 Demo (المصدر)

وحدات التحكّم في الألعاب Nintendo Switch Joy-Con

يمكنك لعب لعبة الديناصور في Chrome 🦖 من خلال القفز بدون استخدام جهاز التحكّم Nintendo Switch Joy-Con. هذا العرض التوضيحي مدعوم من خلال Joy-Con WebHID، وهو برنامج تشغيل WebHID لوحدات التحكّم في Nintendo Switch Joy-Con.

المؤلف: توماس شتاينر
العرض التوضيحي: Chrome Dino WebHID (مصدر تجريبي، مصدر برنامج التشغيل)

شريط BlinkStick

شريط BlinkStick Strip هو شريط إضاءة متوافق مع تقنية HID ويحتوي على 8 أضواء LED بنموذج أحمر أخضر أزرق. يسمح الإصدار التجريبي للمستخدم بالاختيار من بين عدة أنماط وامضة بما في ذلك المطاردة والوميض والماسح الضوئي Larson (المعروف أيضًا باسم Cylon).

المؤلف: روبات ويليامز
عرض توضيحي: blinkstick-strip (المصدر)

ما فائدة هذا العرض التوضيحي؟ (انتظر حتى.) تومض. في الواقع، هناك ثلاثة عروض توضيحية تستخدم ضوء إشعار USB الوامض(1).

يعتبر blink(1) بسيطًا وموثقًا جيدًا، مما يجعله خيارًا رائعًا لبدء استخدام HID.

المؤلف: تود إي. Kurt
العروض التوضيحية: blink(1) (المصدر)

شكر وتقدير

شكرًا لكل من Pete LePage وKayce Basques على مراجعة هذه المقالة.

تصوير أوغور أكديمير على UnLaunch