جهاز واجهة الإنسان
تحتاج هذه المقالة إلى مصادر إضافية للتحقق . ( سبتمبر 2014 ) |
جهاز واجهة الإنسان ( HID ) هو نوع من أجهزة الكمبيوتر التي يستخدمها البشر عادةً والتي تأخذ المدخلات من البشر أو تقدم المخرجات إليهم.
يشير مصطلح "HID" في أغلب الأحيان إلى مواصفات USB HID . وقد صاغ المصطلح مايك فان فلاندرن من شركة Microsoft عندما اقترح أن تقوم لجنة USB بإنشاء مجموعة عمل لفئة أجهزة الإدخال البشرية. [ متى؟ ] تمت إعادة تسمية مجموعة العمل إلى فئة أجهزة واجهة الإنسان بناءً على اقتراح توم شميدت من DEC لأن المعيار المقترح يدعم الاتصال ثنائي الاتجاه. [ متى؟ ]
|
HIDs للإخراج | |
|
HIDs الشائعة | |
|
مصابيح HID الأقل شيوعًا | |
| |
معيار HID
تم اعتماد معيار HID في المقام الأول لتمكين الابتكار في أجهزة إدخال الكمبيوتر الشخصي وتبسيط عملية تثبيت مثل هذه الأجهزة. قبل تقديم مفهوم HID، كانت الأجهزة تتوافق عادةً مع بروتوكولات محددة بدقة للفأرة ولوحات المفاتيح وعصي التحكم ؛ على سبيل المثال، كان بروتوكول الماوس القياسي في ذلك الوقت يدعم البيانات النسبية على المحورين X وY والإدخال الثنائي لما يصل إلى زرين، دون دعم الإرث. كانت جميع ابتكارات الأجهزة تتطلب إما التحميل الزائد لاستخدام البيانات في بروتوكول موجود أو إنشاء برامج تشغيل مخصصة للأجهزة وتبشير بروتوكول جديد للمطورين. على النقيض من ذلك، توفر جميع الأجهزة المحددة بـ HID حزمًا ذاتية الوصف قد تحتوي على أي عدد من أنواع البيانات والتنسيقات. يقوم برنامج تشغيل HID واحد على الكمبيوتر بتحليل البيانات وتمكين الارتباط الديناميكي لإدخال /إخراج البيانات بوظائف التطبيق، مما مكن من الابتكار والتطوير السريع والتنويع الهائل لأجهزة واجهة المستخدم الجديدة.
طورت لجنة عمل تضم ممثلين من العديد من الشركات البارزة معيار HID. تظهر قائمة المشاركين في وثيقة "تعريف فئة الجهاز لأجهزة واجهة الإنسان (HID)" [1] . جاء مفهوم البروتوكول القابل للتوسيع الذي يصف نفسه في البداية من مايك فان فلاندرن ومانوليتو آدان أثناء العمل على مشروع يسمى "رابتور" في مايكروسوفت ، وبشكل مستقل عن ستيف ماكجوان، الذي عمل على مشروع "SIM" الذي حدد بروتوكول جهاز لسماعة الواقع الافتراضي VFX1 والأجهزة الطرفية الخاصة بها استنادًا إلى ACCESS.bus أثناء وجوده في فورت تكنولوجيز. كان SIM أيضًا يصف نفسه وقابل للتوسيع، ومع ذلك فقد ركز بشكل أكبر على أجهزة المحاكاة المستخدمة في الواقع الافتراضي والتقاط الحركة. بعد مقارنة الملاحظات في مؤتمر مطوري الألعاب الاستهلاكية، وافق ستيف ومايك على التعاون في معيار جديد لناقل التسلسل العالمي الناشئ (USB).
قبل ظهور HID (حوالي عام 1995)، كان من الضروري تثبيت برامج تشغيل خاصة لكل جهاز متصل بجهاز كمبيوتر شخصي تقريبًا. وهذا يعني أن بائعي الأجهزة كانوا بحاجة إلى تتبع إصدارات أنظمة التشغيل، وتقديم برامج تشغيل محدثة بانتظام لأجهزتهم، وتطوير برامج تشغيل لكل نظام تشغيل يريدون دعمه. أيضًا، في ذلك الوقت، كانت أي أجهزة جديدة، مثل عصي التحكم المصممة لمحاكاة الطيران بأزرار إضافية أو لوحات D ، تتطلب دعمًا برمجيًا ليس فقط من قبل برنامج التشغيل، ولكن من قبل كل لعبة تدعمها لتمكين عناصر تحكم جديدة. وهذا يعني أن مطوري الأجهزة لديهم مسؤولية إضافية تتمثل في تمكين كل لعبة يريدون دعمها. لقد فصلت قدرة جهاز HID على وصف نفسه عبر Report Descriptor مطوري الأجهزة عن مطوري الألعاب. كما يعني مفهوم Report Descriptor أن بائعي أنظمة التشغيل يمكنهم كتابة برنامج تشغيل HID (محلل) يمكنه استيعاب أي جهاز HID يمكن للبائع أن يحلم به تقريبًا، دون الحاجة إلى كتابة أو صيانة برنامج تشغيل لكل نظام تشغيل يريدون دعمه.
وبالتالي، فصلت فئة HID بائعي الأجهزة عن بائعي الألعاب وأنظمة التشغيل، مما مكن بائعي الأجهزة من الابتكار بشكل أسرع، وخفض تكاليف التطوير الخاصة بهم (على سبيل المثال، عدم وجود برامج تشغيل أو دعم لمطوري الألعاب). تحدد وثيقة جدول استخدام HID آلاف عناصر التحكم التي يمكن تقديمها بواسطة أجهزة HID. يمكن لبائعي الألعاب الاستعلام عن محلل HID لنظام التشغيل لتحديد مجموعة عناصر التحكم التي يقدمها جهاز، ثم تعيين عناصر التحكم هذه للميزات الموجودة في لعبتهم. منذ إصداره الأصلي، تمت إضافة مئات الاستخدامات الجديدة إلى وثيقة جدول استخدام HID (HUT).
بروتوكول HID له حدوده، ولكن جميع أنظمة التشغيل الحديثة السائدة ستتعرف على أجهزة USB HID القياسية، مثل لوحات المفاتيح والفئران، دون الحاجة إلى برنامج تشغيل متخصص. ومع ذلك، فقد تم إثبات تنوعه من خلال حقيقة أنه لم يتم تحديثه منذ أكثر من 22 عامًا، ولا يزال مدعومًا من قبل كل جهاز كمبيوتر وجهاز لوحي وهاتف محمول في الإنتاج اليوم. يمكن توصيل أجهزة USB، وبالتالي HID، بالتوصيل الساخن، لذلك عند التثبيت، تظهر رسالة تفيد بأنه "تم التعرف على جهاز متوافق مع HID" بشكل عام على الشاشة. وبالمقارنة، لم تظهر هذه الرسالة عادةً للأجهزة المتصلة عبر موصلات PS/2 DIN سداسية الدبابيس التي سبقت USB. لم يدعم PS/2 عادةً التوصيل والتشغيل ، مما يعني أن توصيل لوحة مفاتيح أو ماوس PS/2 مع تشغيل الكمبيوتر لا يعمل دائمًا وقد يشكل خطرًا على اللوحة الأم للكمبيوتر. وبالمثل، لم يدعم معيار PS/2 بروتوكول HID. تصف فئة جهاز واجهة USB البشرية USB HID.
تم تنفيذ بروتوكول HID (وصف التقرير وآلية التقرير) على العديد من الناقلات الأخرى غير USB، بما في ذلك Bluetooth و I2C .
هناك أيضًا عدد من الامتدادات الخاصة بـ HID المحددة في "مستندات جدول الاستخدام المتكامل لـ HID"، بما في ذلك مصادر الطاقة غير المنقطعة ، وأجهزة التحكم في شاشات الفيديو ، وأجهزة نقاط البيع ، وأجهزة الآركيد والألعاب ( ماكينات القمار ).
وصف التقرير
يعرض موصوف التقرير الرسائل التي يتم إنشاؤها أو قبولها بواسطة جهاز HID. يشار إلى كل رسالة باسم "تقرير". يمكن للتقارير تعريف بتات/عناصر تحكم في جهاز يمكن قراءتها أو كتابتها، أو إنشاؤها بشكل دوري لإبقاء المضيف على اطلاع دائم بالحالة الحالية للجهاز. على سبيل المثال، يولد الماوس عادةً تقريرًا 200 مرة في الثانية لإبلاغ المضيف بأي حركة أو ضغط على زر. موصوفات التقرير "موجهة بالبتات"، مما يعني أن عناصر التحكم يمكن أن تقدم ما بين 1 و32 بت من المعلومات. كل عنصر تحكم محدد في موصوف التقرير له معرف ويحدد حجمه وموقعه في تقريره. يمكن لموصوف التقرير تعريف العديد من التقارير، كل منها يبلغ عن مجموعة مختلفة أو مجموعة من المعلومات.
على سبيل المثال، يحدد فأر أساسي تقريرًا مكونًا من 3 بايتات حيث يكون البت الأقل أهمية (0) في التقرير هو الزر الأيسر، والبت التالي (1) هو الزر الأوسط، والبت الثالث (2) هو الزر الأيمن. للسماح لإحداثيات موضعي X وY المكونين من 8 بتات للفأرة بالهبوط بشكل ملائم على حدود البايتات، يتم تعريف "لوحة" مكونة من 5 بتات. ثم يتم تعريف إحداثي X كقيمة نسبية مكونة من 8 بتات (أي عدد "الميكيز" منذ التقرير السابق) والتي توجد في مواضع البتات من 8 إلى 15، ويتم تعريف إحداثي Y كقيمة نسبية مكونة من 8 بتات توجد في مواضع البتات من 16 إلى 24، مما يؤدي إلى عرض حزمة بيانات على المضيف.
إن موصوف التقرير متعدد الاستخدامات للغاية، حيث يسمح للجهاز بتحديد الدقة والنطاق والعديد من الخصائص الأخرى لكل عنصر تحكم يعرضه. ولأنه تم تصميمه في وقت كان فيه جهاز التحكم بالماوس أو لوحة المفاتيح محظوظًا بوجود 1 كيلوبايت من ذاكرة القراءة فقط (ROM) لجميع التعليمات البرمجية والبيانات الخاصة به، فإن بناء جملة موصوف التقرير يحتوي على العديد من الميزات التي تسمح بتقليل حجمه، على سبيل المثال، يمكن أن تستمر معلمات التحكم المحددة عبر تعريفات متعددة لعناصر التحكم، ولا تحتاج إلا إلى إعادة إعلانها إذا تغيرت قيمتها. يمكن وصف التقارير التي يتم إنشاؤها بواسطة فأرة أساسية في 50 بايت، ولوحة مفاتيح 104 في 65 بايت.
الوصف المادي
من بين الميزات غير المعروفة أو غير المفهومة في HID هو الوصف المادي. يستخدم الوصف المادي لتحديد أجزاء الجسم البشري التي تتفاعل مع عناصر التحكم الفردية المحددة في الوصف التقريري. عند التحكم في لعبة، يتم استخدام السبابة والإبهام عادةً لاستدعاء إجراءات متكررة. ولأن هذه الأصابع تعتبر الأسرع استجابة "للارتعاش"، يتم استخدامها عادةً لسحب الزناد في مسدس، أو تنشيط وظيفة مستخدمة كثيرًا في اللعبة. يسمح الوصف المادي لبائع الجهاز بتحديد الأصابع التي تستقر على كل عنصر تحكم وإعطاء الأولوية لمجموعة عناصر التحكم التي يمكن الوصول إليها بإصبع فردي. تمكن هذه الميزة بائع اللعبة من تقديم أفضل تعيين افتراضي للأزرار بذكاء، حتى بالنسبة للجهاز الذي لم يكن موجودًا عند تطوير اللعبة. يتيح الوصف المادي أيضًا تقديم معلومات التقاط حركة الجسم بالكامل بواسطة جهاز HID، أي الزاوية أو الاتجاه أو الموضع النسبي أو المطلق لأي مفصل في جسم الإنسان. ومن خلال الوصف التقريري، يمكن تقديم بيانات التقاط الحركة بأي دقة يمكن للجهاز دعمها.
مكونات بروتوكول HID
في بروتوكول HID، هناك كيانان: "المضيف" و"الجهاز". الجهاز هو الكيان الذي يتفاعل مباشرة مع الإنسان، مثل لوحة المفاتيح أو الماوس. يتواصل المضيف مع الجهاز ويتلقى بيانات الإدخال من الجهاز حول الإجراءات التي يقوم بها الإنسان. تتدفق بيانات الإخراج من المضيف إلى الجهاز ثم إلى الإنسان. المثال الأكثر شيوعًا للمضيف هو الكمبيوتر الشخصي ولكن بعض الهواتف المحمولة وأجهزة المساعد الرقمي الشخصي يمكن أن تكون مضيفين أيضًا.
يجعل بروتوكول HID تنفيذ الأجهزة بسيطًا للغاية. تحدد الأجهزة حزم البيانات الخاصة بها ثم تقدم "واصف HID" إلى المضيف. واصف HID عبارة عن مجموعة مبرمجة من البايتات تصف حزم بيانات الجهاز. وهذا يشمل: عدد الحزم التي يدعمها الجهاز وحجم الحزم والغرض من كل بايت وبت في الحزمة. على سبيل المثال، يمكن للوحة المفاتيح التي تحتوي على زر برنامج الآلة الحاسبة أن تخبر المضيف بأن حالة الضغط على الزر/تحريره مخزنة في البت الثاني في البايت السادس في حزمة البيانات رقم 4 (ملاحظة: هذه المواقع توضيحية فقط وهي خاصة بالجهاز). يخزن الجهاز عادةً واصف HID في ذاكرة القراءة فقط ولا يحتاج إلى فهم أو تحليل واصف HID بشكل جوهري. يتم تنفيذ بعض أجهزة الماوس ولوحة المفاتيح الموجودة في السوق اليوم باستخدام وحدة معالجة مركزية ذات 8 بت فقط .
من المتوقع أن يكون المضيف كيانًا أكثر تعقيدًا من الجهاز. يحتاج المضيف إلى استرداد موصوف HID من الجهاز وتحليله قبل أن يتمكن من التواصل الكامل مع الجهاز. قد يكون تحليل موصوف HID معقدًا. من المعروف أن أنظمة تشغيل متعددة تحتوي على أخطاء في برامج تشغيل الجهاز المسؤولة عن تحليل موصوفات HID بعد سنوات من إصدار برامج تشغيل الجهاز للجمهور في الأصل. ومع ذلك، فإن هذا التعقيد هو السبب وراء إمكانية الابتكار السريع مع أجهزة HID.
تصف الآلية المذكورة أعلاه ما يُعرف بـ "بروتوكول تقرير HID". ولأنه كان من المفهوم أن ليس كل المضيفين قادرين على تحليل موصوفات HID، فإن HID يحدد أيضًا "بروتوكول التمهيد". في بروتوكول التمهيد، يتم دعم أجهزة محددة فقط ذات ميزات محددة فقط لأنه يتم استخدام تنسيقات حزم البيانات الثابتة. لا يتم استخدام موصوف HID في هذا الوضع، لذا فإن الابتكار محدود. ومع ذلك، فإن الفائدة هي أن الحد الأدنى من الوظائف لا يزال ممكنًا على المضيفين الذين لن يتمكنوا بخلاف ذلك من دعم HID. الأجهزة الوحيدة المدعومة في بروتوكول التمهيد هي
- لوحة المفاتيح – يمكن الإبلاغ عن أي من أول 256 رمز مفتاح ("الاستخدامات") المحددة في جداول استخدام HID، صفحة الاستخدام 7 بواسطة لوحة مفاتيح تستخدم بروتوكول التمهيد، ولكن معظم الأنظمة لا تتعامل إلا مع مجموعة فرعية من هذه المفاتيح. تدعم معظم الأنظمة جميع المفاتيح البالغ عددها 104 في تخطيط IBM AT-101 ، بالإضافة إلى المفاتيح الثلاثة الإضافية المصممة لنظام التشغيل Microsoft Windows 95 ( مفتاح Windows الأيسر والأيمن ، ومفتاح القائمة ). كما تدعم العديد من الأنظمة مفاتيح إضافية في تخطيطات المفاتيح الأساسية لغرب أوروبا 105-، والكورية 106-، والبرازيلية ABNT 107-، واليابانية DOS/V 109-. الأزرار والمقابض والمفاتيح التي لم يتم الإبلاغ عنها في صفحة الاستخدام 7 غير متاحة. على سبيل المثال، ستعمل مفاتيح QWERTY الخاصة بلوحة مفاتيح أمريكية معينة ولكن مفاتيح الآلة الحاسبة وتسجيل الخروج لن تعمل لأنها محددة في صفحة الاستخدام 12 ولا يمكن الإبلاغ عنها في بروتوكول التمهيد.
- الماوس – لن يتوفر سوى المحور X والمحور Y والأزرار الثلاثة الأولى. ولن تعمل أي ميزات إضافية في الماوس.
أحد الاستخدامات الشائعة لوضع التمهيد هو أثناء اللحظات الأولى من تسلسل تمهيد الكمبيوتر. غالبًا ما يتم تكوين BIOS للكمبيوتر مباشرةً باستخدام وضع التمهيد فقط. في بعض الأحيان، تظهر رسالة تخبر المستخدم بأن الجهاز قد قام بتثبيت برنامج التشغيل الصحيح ويمكن استخدامه الآن.
تعريف الجهاز
وفقًا لمواصفات HID، يتم وصف الجهاز، أثناء وضع التقرير، كمجموعة من عناصر التحكم أو مجموعة من عناصر التحكم. تتم مطابقة عناصر التحكم بحقل يحتوي على البيانات، وحقل آخر يحتوي على علامة استخدام. يتم وصف كل علامة استخدام في المواصفات على أنها الاستخدام المقترح من قِبل المُنشئ للبيانات الموضحة في وضع التقرير.
أداة عبارة عن تطبيق يعمل بنظام Windows ويمكن استخدامه لتوليد جميع الوصافات المرتبطة بجهاز HID (انظر الرابط أدناه). وهي تقوم بإجراء فحص بناء الجملة، ويمكنها توليد ملفات C وC Header وملفات ثنائية لوصافات HID. كما يمكن توسيع ملفات تعريف جدول الاستخدام المستندة إلى النص بسهولة لتحديد الاستخدامات الملكية (أنواع التحكم) أو جداول الاستخدام (مجموعة الاستخدامات المرتبطة بجهاز أو ميزة).
بروتوكولات أخرى تستخدم HID
منذ التعريف الأصلي لـ HID عبر USB، يتم استخدام HID الآن أيضًا في ناقلات اتصال الكمبيوتر الأخرى . يتيح هذا لأجهزة HID التي كانت موجودة تقليديًا على USB فقط أن يتم استخدامها أيضًا على ناقلات بديلة. يتم ذلك نظرًا لأن الدعم الحالي لأجهزة USB HID يمكن عادةً تكييفه بشكل أسرع كثيرًا من الاضطرار إلى اختراع بروتوكول جديد تمامًا لدعم الماوس ولوحة اللمس ولوحات المفاتيح وما شابه ذلك. الناقلات المعروفة التي تستخدم HID هي:
- Bluetooth HID – يستخدم للفأرة ولوحات المفاتيح المتصلة عبر البلوتوث
- HID التسلسلي – يستخدم في أجهزة استقبال التحكم عن بعد الخاصة بأجهزة الكمبيوتر التي تعمل بنظام Windows Media Center من Microsoft .
- جهاز إدخال Zigbee – يدعم Zigbee ( RF4CE ) أجهزة HID من خلال ملف تعريف جهاز إدخال Zigbee.
- HID عبر I²C – يستخدم للأجهزة المضمنة في Microsoft Windows 8 [2]
- HID عبر SPI – تم تطويره بواسطة Microsoft لتوفير اتصالات أسرع وأقل زمن انتقال بين الأجهزة الثابتة [3]
- HOGP (HID عبر GATT) – يستخدم لأجهزة HID المتصلة باستخدام تقنية Bluetooth Low Energy
انظر أيضا
- إرشادات واجهة الإنسان
- التفاعل بين الإنسان والحاسوب
- فئة أجهزة واجهة المستخدم USB
- منشئ واجهة المستخدم الرسومية
- لينكس على سطح المكتب
- محيطي
- واجهة مستخدم ملموسة
مراجع
- ^ تعريف فئة الجهاز لأجهزة واجهة الإنسان (HID): مواصفات البرامج الثابتة -- النسخة النهائية 1/30/97. منتدى منفذي USB. 1997. تم الاسترجاع في 2014-04-28 .
- ^ "HID عبر I2C". Microsoft . تم الاسترجاع في 2016-01-19 .
- ^ "مقدمة إلى HID عبر SPI - برامج تشغيل Windows". docs.microsoft.com . تم الاسترجاع في 2022-09-06 .
روابط خارجية
- منتدى مطوري HID، USB.org
- مواصفات تعريف فئة جهاز HID 1.11، USB.org
- جداول استخدام HID 1.4 المواصفات، USB.org
- مستندات جدول الاستخدام المتكامل لـ HID، USB.org
- أداة وصف HID، USB.org
