الاتصال بأجهزة غير شائعة من تطبيقك
ما هي WebHID API؟
إنّ العديد من أجهزة الواجهة البشرية (HID) جديدة جدًا أو قديمة جدًا أو غير شائعة جدًا لدرجة أنّ برامج تشغيل أجهزة الأنظمة لا يمكنها الوصول إليها. تعالج واجهة برمجة التطبيقات WebHID API هذه المشكلة من خلال توفير طريقة لتنفيذ منطق خاص بالجهاز في JavaScript.
حالات الاستخدام المقترَحة لواجهة برمجة التطبيقات WebHID API
يتلقّى جهاز HID إدخالاً من المستخدمين أو يقدّم لهم معلومات. تشمل أمثلة الأجهزة لوحات المفاتيح وأجهزة التأشير (مثل أجهزة الماوس والشاشات التي تعمل باللمس وما إلى ذلك) وأجهزة التحكّم في الألعاب. يتيح بروتوكول HID الوصول إلى هذه الأجهزة على أجهزة الكمبيوتر المكتبي باستخدام برامج تشغيل نظام التشغيل. تتوافق منصة الويب مع الأجهزة HID من خلال الاعتماد على برامج التشغيل هذه.
إنّ عدم التمكّن من الوصول إلى أجهزة HID غير الشائعة أمر مزعج بشكل خاص عند الحديث عن إتاحة استخدام أجهزة التحكّم في الألعاب. غالبًا ما تستخدم لوحات التحكّم في الألعاب المصمّمة لأجهزة الكمبيوتر الشخصي معيار HID لتلقّي inputs (الأزرار وعصا التحكم وأدوات التنشيط) وعرض outputs (مصابيح LED والاهتزاز). ومع ذلك، فإنّ inputs and outputs لأجهزة تحكّم الألعاب ليست موحّدة بشكل جيد، وغالبًا ما تتطلّب متصفّحات الويب استخدام منطق مخصّص لأجهزة معيّنة. وهذا النهج غير مستدام ويؤدي إلى تقديم دعم ضعيف للأجهزة القديمة وغير الشائعة. ويؤدي ذلك أيضًا إلى اعتماد المتصفّح على الأخطاء الموجودة في سلوك أجهزة معيّنة.
العروض التوضيحية، العروض التوضيحية، العروض التوضيحية
إذا أردت معرفة طريقة عمل أيّ من هذه العيّنات، يمكنك الاطّلاع على رمزها المصدر على GitHub. يتوفر مثال على رمز أساسي في الشرح.
الإضاءة الخلفية للوحة مفاتيح MacBook Pro
إنّ أكبر عائق أمام تجربة أيّ من هذه العروض التوضيحية هو عدم التمكّن من الوصول إلى الجهاز. لحسن الحظ، إذا كان لديك جهاز MacBook Pro مزوّد بشاشة TouchBar، لن تحتاج إلى شراء أي جهاز. يتيح لك هذا العرض التقديمي استخدام واجهة برمجة التطبيقات من الكمبيوتر المحمول مباشرةً. ويوضّح أيضًا كيفية استخدام WebHID لإتاحة وظائف الأجهزة المدمجة، وليس الأجهزة الطرفية فقط.
المؤلف: FWeinb
العرض التوضيحي/المصدر: الإضاءة الخلفية للوحة المفاتيح
وحدات التحكّم في الألعاب
وحدة التحكّم اللاسلكية في PlayStation 4
في ما يلي ميزة يقلّ احتمال توفّرها لدى عدد من المستخدمين. DualShock 4 من Sony هو وحدة تحكّم لاسلكية لأجهزة ألعاب PlayStation 4.
يستخدِم تطبيق DualShock 4 Demo واجهة برمجة التطبيقات WebHID لتلقّي تقارير الإدخال الأوّلية من جهاز DualShock 4، كما يقدّم واجهة برمجة تطبيقات عالية المستوى للوصول إلى إشارات جهاز التحكّم في الدوران ومقياس التسارع ولوحة اللمس والأزرار وعصا التحكم. تتيح هذه الميزة أيضًا استخدام ميزة الاهتزاز وضبط لون مصباح LED بألوان الأحمر والأخضر والأزرق والمضمّن في وحدة التحكّم.
المؤلف: TheBITLINK
العرض التوضيحي: العرض التوضيحي لجهاز DualShock 4 (المصدر)
وحدات تحكّم Nintendo Switch Joy-Con
يمكنك تشغيل لعبة الديناصور 🦖 في Chrome بلا إنترنت من خلال القفز باستخدام جهاز تحكّم Joy-Con في Nintendo Switch في جيب بنطلونك. يستند هذا الإصدار التجريبي إلى Joy-Con WebHID، وهو برنامج تشغيل WebHID لأجهزة تحكّم Joy-Con في Nintendo Switch.
المؤلف: توماس شتاينر
الإصدار التجريبي: Chrome Dino WebHID
(مصدر الإصدار التجريبي،
مصدر برنامج التشغيل)
BlinkStick Strip
BlinkStick Strip هو شريط إضاءة متوافق مع HID مزوّد بـ 8 مصابيح LED بألوان الأحمر والأخضر والأزرق. يتيح العرض التمهيدي للمستخدم الاختيار من بين عدة أنماط وميض، بما في ذلك التتبّع والوميض و مسح Larson (المعروف أيضًا باسم Cylon).
المؤلف: روبات ويليامز
الإصدار التجريبي: blinkstick-strip (المصدر)
وميض، وميض، وميض
ما هي الإجراءات التي يتّخذها هذا الإصدار التجريبي؟ (الانتظار) يضيء ويطفأ. في الواقع، هناك ثلاثة نماذج تجريبية تستخدم ضوء الإشعار USB في blink(1).
إنّ دالة blink(1) بسيطة وموثَّقة جيدًا، ما يجعلها خيارًا رائعًا لبدء استخدام HID.
المؤلف: تود إي. كرم
العروض التوضيحية: blink(1) (source)
الشكر والتقدير
نشكر بيت ليبيه وكايسى باسكيز على مراجعتهما لهذه المقالة.
الصورة مقدمة من Ugur Akdemir على Unsplash