تخطي إلى المحتوى

Barcode Scanner Emulator

شرح إسفين لوحة مفاتيح HID

إسفين لوحة المفاتيح هو وضع التشغيل الافتراضي للغالبية الساحقة من ماسحات الباركود. يشرح هذا الدليل ما هو، وكيف يعمل على مستوى USB، وماذا يعني عند اختبار تطبيقك.

ما هو إسفين لوحة المفاتيح؟

يأتي المصطلح من ماسحات المنفذ التسلسلي الأقدم التي كانت تُحشر حرفيًا بين لوحة المفاتيح ومنفذ الحاسوب، فتعترض إشارة لوحة المفاتيح وتحقن فيها الأحرف الممسوحة. لم تعد الماسحات الحديثة تحتاج إلى حشر مادي: تشير العبارة اليوم إلى أي ماسح يقدّم البيانات الممسوحة كما لو جاءت من لوحة مفاتيح، بغض النظر عن نوع الاتصال.

USB HID ومحاكاة لوحة المفاتيح

يعرّف USB فئة Human Interface Device (HID) خصيصًا للوحات المفاتيح والفأرة وأجهزة الإدخال المشابهة. عندما يُعدَّد الماسح على USB كلوحة مفاتيح HID، يحمّل نظام التشغيل برنامج تشغيل لوحة المفاتيح العام المدمج، ولا يلزم برنامج تشغيل خاص بالماسح. يحوّل البرنامج الثابت كل حرف مفكوك إلى رمز مفتاح HID الذي ترسله لوحة مفاتيح فعلية، وتُسلَّم التقارير بآلية النقل بالمقاطعة نفسها التي تستخدمها أي لوحة مفاتيح USB.

كيف يرى تطبيقك إدخال الماسح

دفعة سريعة من الضغطات مقابل الكتابة البشرية: يرسل الماسح الحمولة كاملة كتسلسل سريع من أزواج keydown/keyup، وينتهي عادة في أقل من ثانية بغض النظر عن طول الباركود.

لا أحداث فأرة: لا تولّد الماسحات في وضع لوحة مفاتيح HID أبدًا أحداث مؤشر أو نقر أو تركيز. إذا لم يكن حقلك مركّزًا عند حدوث المسح، يضيع الإدخال أو يذهب إلى العنصر الذي يملك التركيز.

لا أحداث لصق: لأن البيانات تصل كضغطات منفردة لا كعملية حافظة، لن ترى معالجات حدث paste إدخال الماسح، والأقنعة التي تستمع إلى paste فقط ستفوته بصمت.

مشكلات تخطيط لوحة المفاتيح

لماذا تظهر أحرف خاطئة: يربط الماسح الأحرف المفكوكة برموز مفاتيح HID وفق تخطيط لوحة المفاتيح المضبوط لديه. إذا لم يطابق هذا التخطيط تخطيط نظام التشغيل، يمكن أن تتبادل الأحرف أماكنها. من الأعراض الكلاسيكية أن تُمسح الأرقام أو علامات الترقيم كحرف خاطئ بين أنظمة QWERTY وAZERTY.

عدم تطابق الإعدادات المحلية: هذه مشكلة تهيئة في جانب الماسح لا خللًا برمجيًا. تدعم معظم الماسحات تبديل الإعدادات المحلية عبر باركودات تهيئة مطبوعة في الدليل، والإصلاح يعني إعادة برمجة الماسح ليطابق إعدادات نظام التشغيل المحلية، لا تغيير رمز التطبيق.

البادئات واللاحقات

تدعم الماسحات عادة تسلسلات بادئة ولاحقة قابلة للضبط حول الحمولة. أكثر قيم اللاحقة شيوعًا هي ENTER (CR، 0x0D) وTAB (0x09) وأحيانًا زوج CR+LF كامل. البادئات أقل شيوعًا، لكنها تُستخدم أحيانًا لتوجيه المسح إلى حقول محددة في تطبيقات الطرفية القديمة.

قيود الاختبار في المتصفح

لا يستطيع المتصفح رؤية حزم USB HID الخام، ولا يستطيع تعداد أجهزة HID المتصلة كماسح تحديدًا (خارج واجهة WebHID التي لا تعرض معظم الماسحات البيانات عبرها)، ولا يستطيع تمييز ماسح في وضع لوحة مفاتيح HID عن لوحة مفاتيح حقيقية. لا تتاح لـ JavaScript إلا أحداث لوحة المفاتيح المرئية للمتصفح (keydown وkeyup وkeypress)، وهذا بالضبط ما تفحصه أدوات هذا الموقع.

ذو صلة

استخدم فاحص أحداث لوحة المفاتيح لفحص أحداث لوحة المفاتيح الخام، أو اقرأ دليل لاحقات ENTER وTAB لتفاصيل تهيئة اللاحقة.