آلية عمل أداة اختبار لوحة المفاتيح ووظائفها الثنائية
تتيح أداة "Keyboard Test" للمستخدمين فحص الأداء الوظيفي المادي للوحات المفاتيح الخاصة بهم، إلى جانب فحص رموز الأحداث التقنية التي يولدها نظام التشغيل والمتصفح عند الضغط على كل مفتاح. تعمل الأداة من خلال رصد أي ضغطة مفتاح تتم في أي مكان داخل الصفحة، لتظهر النتيجة فوراً على واجهة المستخدم.
تؤدي الأداة وظيفتين أساسيتين في وقت واحد:
- الاختبار المادي المباشر: تتبع المفاتيح التي تم الضغط عليها وتلوينها على مخطط مرئي تفاعلي، مما يساعد على كشف المفاتيح المعطلة أو المفاتيح التي تعاني من مشكلة النقر المزدوج التلقائي.
- تحليل الأحداث البرمجية: تفكيك تفاصيل الحدث البرمجي المصاحب لكل ضغطة، وعرض خصائص مثل الرمز البرمجي والموقع ومفاتيح التعديل النشطة في سجل أحداث تفصيلي.
يساعد هذا الجمع بين الفحص البصري والتحليل البرمجي على التمييز الدقيق بين السلوكيات الطبيعية للأجهزة — مثل ميزة التكرار التلقائي المدعومة من النظام — وبين الأعطال المادية الفعلية في المفاتيح.
مصادر الإدخال وطرق التقاط المفاتيح
تستقبل الأداة البيانات من أربعة مصادر إدخال مختلفة لتغطية كافة سيناريوهات الاختبار:
- ضغطات المفاتيح المادية العامة: يتم التقاطها تلقائياً بمجرد الضغط على أي مفتاح مادي أثناء تواجد المؤشر في أي مكان داخل الصفحة.
- التقاط لوحة المفاتيح المركّز: يتم تفعيله عبر النقر المباشر على مخطط لوحة المفاتيح المعروض على الشاشة. تتيح هذه الطريقة التقاط المفاتيح الخاصة مثل Space و Tab والمفاتيح الوظيفية (F1-F12) دون أن تؤدي إلى تنفيذ إجراءاتها الافتراضية داخل المتصفح (مثل التنقل بين العناصر أو فتح القوائم). ويمكن إلغاء هذا الوضع والعودة للوضع الطبيعي بالضغط على مفتاح Esc.
- إدخال لوحة المفاتيح على الشاشة: حقل مخصص لكتابة النصوص واختبار لوحات المفاتيح الافتراضية أو المخصصة للأجهزة المحمولة.
- أمر مسح السجل: زر تفاعلي يتيح للمستخدم مسح كافة البيانات المسجلة في جدول الأحداث يدوياً للبدء في جلسة اختبار جديدة.
البيانات والمخرجات المعروضة على الشاشة
تقدم الأداة مجموعة متكاملة من المخرجات والبيانات الإحصائية والرسومية التي توضح حالة لوحة المفاتيح بدقة:
آخر حدث للمفتاح
يعرض هذا القسم الخصائص التقنية لآخر مفتاح تم الضغط عليه، وتشمل:
- المفتاح (Key): القيمة الديناميكية للحرف أو الرمز الناتج.
- الرمز (Code): الرمز الثابت للموقع المادي للمفتاح.
- رمز keyCode القديم: القيمة الرقمية التقليدية المرتبطة بالمفتاح في المتصفحات القديمة.
- الموقع: يوضح موضع المفتاح على اللوحة ويظهر إحدى القيم التالية: "Standard" (قياسي)، أو "Left" (يسار)، أو "Right" (يمين)، أو "Numpad" (لوحة الأرقام).
- مفاتيح التعديل: يوضح ما إذا كانت هناك مفاتيح تعديل نشطة أثناء الضغط، ويعرض "None" (لا يوجد) أو المفاتيح النشطة: "Shift"، "Ctrl"، "Alt"، "Meta"، "Caps Lock".
- شارة الحالة (Down / Up): توضح ما إذا كان المفتاح في حالة ضغط (Down) أو إفلات (Up).
- شارة التكرار ("تكرار ×
{count}"): عداد رقمي يظهر لحساب عدد أحداث التكرار التلقائي التي يرسلها النظام عند الاستمرار في الضغط على المفتاح.
مخطط لوحة المفاتيح
مخطط مرئي يعتمد على تخطيط ANSI القياسي، ويقوم بتلوين المفاتيح بناءً على حالتها الآنية:
- مضغوط: المفاتيح التي يتم الضغط عليها في الوقت الحالي.
- تم اختباره: المفاتيح التي تم الضغط عليها وإفلاتها بنجاح خلال جلسة الاختبار الحالية.
الإحصائيات
- المفاتيح المختبرة: عدد المفاتيح الفريدة التي تم الضغط عليها.
- إجمالي الضغطات: العدد الكلي لعمليات الضغط والإفلات التي تم تسجيلها.
- مضغوط الآن: عدد المفاتيح التي لا تزال معلقة ومضغوطة في اللحظة الحالية.
سجل الأحداث
جدول زمني تفصيلي يعرض تاريخ العمليات تحت عنوان "سجل الأحداث" (ويعرض عبارة "لا توجد أحداث مفاتيح بعد — اضغط على أي مفتاح." عندما يكون السجل فارغاً). يحتوي الجدول على الأعمدة التالية:
- الوقت
- الحدث (يظهر إما "ضغط (Down)" أو "إفلات (Up)")
- المفتاح
- الرمز (Code)
- مفاتيح التعديل
ملاحظة: يتم احتساب أحداث التكرار التلقائي الناتجة عن تعليق الضغط على المفتاح ضمن شارة التكرار في قسم آخر حدث، ولكن لا يتم إضافتها كسطور جديدة في سجل الأحداث لتجنب ملء الجدول ببيانات مكررة.
مؤشر حالة التقاط الإدخال
يوضح الحالة التشغيلية الحالية للأداة عبر الرسائل التالية:
- "اضغط على أي مفتاح للبدء"
- "جاري التقاط إدخال المفاتيح"
- "التقاط كامل — يحرر مفتاح Esc لوحة المفاتيح"
فحص لوحة المفاتيح على الشاشة
منطقة مخصصة لاختبار الأجهزة المحمولة تحتوي على:
- حقل إدخال نصي يحمل النص المؤقت "اضغط واكتب...".
- تلميح إرشادي بنص: "اضغط على الحقل واكتب — يظهر كل ما يبلغ عنه المتصفح في الأعلى.".
القواعد التقنية والحالات الاستثنائية
عند استخدام الأداة، هناك مجموعة من المحددات التقنية والسلوكيات التي يجب أخذها بعين الاعتبار لضمان دقة التشخيص:
اختصارات المتصفح ونظام التشغيل
توجد تركيبات مفاتيح محجوزة مسبقاً بواسطة نظام التشغيل أو متصفح الويب (مثل اختصارات إغلاق النوافذ، أو التنقل بين علامات التبويب، أو الانتقال إلى وضع ملء الشاشة، أو فتح شريط البحث بالنظام). هذه الاختصارات يتم اعتراضها مباشرة بواسطة النظام قبل أن تصل إلى صفحة الويب، وبالتالي لن تسجل الأداة أي حدث لها عند الضغط عليها معاً. للتحقق من سلامة هذه المفاتيح مادياً، يجب على المستخدم الضغط على كل مفتاح منها بشكل منفرد.
الفرق بين قيم المفتاح (Key) والرمز (Code)
تتميز قيمة "المفتاح" (Key) بأنها ديناميكية وتتأثر باللغة النشطة ومفاتيح التعديل؛ فعلى سبيل المثال، الضغط على نفس المفتاح المادي قد يعطي القيمة "a" أو القيمة "A" بناءً على حالة مفتاح Shift. في المقابل، تمثل قيمة "الرمز" (Code) الموقع الجغرافي المادي للمفتاح على اللوحة (مثل "KeyA" أو "ShiftLeft" أو "Space")، وهي قيمة ثابتة تماماً لا تتغير بتغير لغة الكتابة أو حالة مفاتيح التعديل.
سلوك التكرار التلقائي (Auto-Repeat)
عند الاستمرار في الضغط على مفتاح معين، يقوم نظام التشغيل بإرسال سلسلة متواصلة من أحداث الضغط المتكررة. تقوم الأداة برصد هذا السلوك وعرضه عبر شارة "تكرار" مخصصة بجانب عداد رقمي متزايد يوضح عدد المرات التي كرر فيها النظام إرسال الحدث.
لوحات المفاتيح الافتراضية للهواتف المحمولة
تتعامل أنظمة تشغيل الهواتف المحمولة (خاصة نظام Android) مع إدخال النصوص بطريقة مختلفة، حيث ترسل لوحات المفاتيح الافتراضية غالباً أحداثاً عامة تفتقر إلى قيم المفاتيح المحددة، مما يؤدي إلى ظهور القيمة "Unidentified" في خانة المفتاح. لحل هذه المشكلة، يجب على مستخدمي الهواتف استخدام حقل "فحص لوحة المفاتيح على الشاشة" المخصص لكتابة النصوص ورصد ما يرسله متصفح الهاتف بدقة.
حدود المخطط المرئي
تم تصميم المخطط المرئي التفاعلي للأداة ليتطابق مع لوحة مفاتيح كاملة الحجم بتخطيط ANSI القياسي. هذا يعني أن بعض المفاتيح غير الموجودة في هذا التخطيط — مثل المفاتيح الإضافية الخاصة بتخطيطات ISO، أو مفاتيح الوظائف الخاصة بالكمبيوتر المحمول (Fn)، أو مفاتيح التحكم بالوسائط — لن تضيء على المخطط المرئي عند الضغط عليها، ولكنها ستسجل بنجاح وتظهر بكافة تفاصيلها التقنية في قسم "آخر حدث للمفتاح" وفي "سجل الأحداث".
استمرارية البيانات
لا تحتفظ الأداة بأي سجلات تاريخية بعد انتهاء الجلسة؛ حيث يؤدي النقر على زر "مسح السجل" أو تحديث الصفحة أو إغلاقها إلى مسح كافة البيانات المسجلة بشكل نهائي وغير قابل للاسترجاع.
معالجة البيانات والخصوصية المحلية
تعتمد الأداة على معالجة محلية كاملة لجميع المدخلات. تتم قراءة ضغطات المفاتيح فقط بواسطة هذه الصفحة لعرض تفاصيل الأحداث والسجل على الصفحة. لا يتم تخزين أو رفع أي شيء إلى خوادم خارجية، ويؤدي مسح السجل أو مغادرة الصفحة إلى محوه تماماً.
الفئات المستفيدة من الأداة
تخدم الأداة مجموعة متنوعة من المستخدمين والمهنيين في مجالات متعددة:
- فنيو صيانة العتاد والمستخدمون: لتشخيص الأعطال المادية مثل المفاتيح التي توقفت عن الاستجابة تماماً، أو المفاتيح التي تعاني من مشكلة تكرار النقرات نتيجة تلف المفتاح الميكانيكي.
- مطوروا الويب والألعاب: للتحقق من كيفية تفسير المتصفحات المختلفة لخصائص الأحداث البرمجية مثل
keyوcodeوkeyCodeالقديمة، وضمان توافق اختصارات ألعابهم وتطبيقاتهم مع مختلف لوحات المفاتيح. - مختبرو الأجهزة المحمولة: لفحص سلوك لوحات المفاتيح الافتراضية أو لوحات المفاتيح الخارجية المتصلة عبر البلوتوث بالهواتف والأجهزة اللوحية.
- هواة تعديل لوحات المفاتيح: لاختبار اللوحات المخصصة أو التي تمت إعادة برمجة مفاتيحها للتأكد من أن كل مفتاح يرسل الإشارة الصحيحة المطابقة للموقع المطلوب.
الأسئلة الشائعة
ما الفرق بين قيمتي المفتاح (key) والرمز (code)؟
قيمة المفتاح (key) هي الحرف أو الإجراء الذي ينتج عن الضغط في الوقت الحالي — وهي تتغير بتغير تخطيط لوحة المفاتيح ومفاتيح التعديل، لذا فإن نفس المفتاح الفعلي يعطي "a" أو "A"، أو حرفاً مختلفاً تماماً في تخطيط لغة أخرى. أما قيمة الرمز (code) فتسمي الموضع الفعلي للمفتاح (مثل KeyA و ShiftLeft و Space) ولا تتغير أبداً، ولهذا السبب تربط الألعاب والتطبيقات اختصاراتها بالرمز (code).
لماذا تظهر لوحة مفاتيح هاتفي القيمة "Unidentified"؟
غالباً ما ترسل لوحات المفاتيح على الشاشة — خاصة على أجهزة Android — أحداثاً عامة بدون قيم مفاتيح حقيقية، ولا يمكن للصفحة إلا عرض ما يبلغ عنه المتصفح. افتح فحص لوحة المفاتيح على الشاشة أسفل التخطيط لرؤية ما ترسله لوحة مفاتيحك بالفعل؛ بينما تعرض لوحة المفاتيح الخارجية أو لوحة مفاتيح الكمبيوتر المحمول التفاصيل الكاملة.
يستمر المفتاح في العمل مراراً وتكراراً أثناء الضغط عليه — فهل هو تالف؟
لا. يؤدي الاستمرار في الضغط على المفتاح إلى إرسال النظام لأحداث ضغط متكررة، تظهر هنا مع شارة Repeat وعداد — وهذا تكرار تلقائي طبيعي. علامات التحذير الحقيقية هي النمط المعاكس: صدور عدة أحداث من ضغطة سريعة واحدة، أو ضغطة لا تسجل أي حدث على الإطلاق، مما يشير إلى مفتاح تالف أو عالق.
لماذا لا تظهر بعض تركيبات المفاتيح؟
الاختصارات المحجوزة بواسطة المتصفح أو نظام التشغيل — مثل إغلاق أو تبديل علامات التبويب والتطبيقات، وملء الشاشة، وبحث النظام — يتم اعتراضها قبل أن تتمكن الصفحة من رؤيتها، لذا لا تظهر هنا أبداً. هذا الصمت طبيعي ولا يعني أن المفتاح معطل: اختبر نفس المفاتيح كل على حدة وسيسجل كل منها بمفرده.