أي مفتاح أضغط الآن؟
اضغط أي مفتاح وستعرض الصفحة قيمة event.key وevent.code وkeyCode القديم. مثلًا مفتاح A يعطي key "a" وcode "KeyA" وkeyCode 65، ومفتاح Enter يعطي code "Enter" وkeyCode 13.
طريقة الاستخدام
- انقر في أي مكان بالصفحة ثم اضغط مفتاحًا في لوحة المفاتيح. لا حاجة للنقر داخل مربع نص.
- اقرأ في اللوحة اسم المفتاح والكود الفعلي وkeyCode القديم. اضغط Shift أو Ctrl أو Alt أو Cmd لترى حالة المفاتيح المساعدة، وأبقِ مفتاحًا مضغوطًا لترى مؤشر التكرار يضيء.
- استخدم زر النسخ لأخذ القيم إلى شيفرتك. تحتفظ القائمة أدناه بآخر عشر ضغطات.
طريقة الحساب
ترسل المتصفحات حدث keydown مع كل ضغطة. event.key هو القيمة التي ينتجها المفتاح مثل "a" أو "A" أو "Enter"، وتتغير بتغير تخطيط لوحة المفاتيح وحالة Shift. أما event.code فهو المفتاح الفعلي مثل "KeyA" ويبقى ثابتًا في كل التخطيطات، لذلك يناسب التحكم في الألعاب.
event.keyCode هو الكود الرقمي القديم. وهو متروك لكنه ما زال في السكربتات القديمة وشيفرات عصر jQuery، لذا يُعرض هنا. وأثناء تكوين النص بطريقة إدخال (IME) تكون قيمته 229. ويبين event.location موضع المفتاح: 0 عادي، 1 يسار، 2 يمين، 3 لوحة الأرقام.
كي لا تتمرر الصفحة أو تفتح المساعدة أثناء الاختبار، تلغي الأداة الإجراء الافتراضي للمتصفح لمعظم المفاتيح. تُترك Tab وEscape وF5 وF11 وF12 والاختصارات التي تستخدم Ctrl أو Cmd. أما المفاتيح التي يعالجها نظام التشغيل مثل Fn والصوت والسطوع فلا تصل إلى الصفحة أبدًا.
أسئلة شائعة
ما الفرق بين event.key وevent.code؟
event.key هو ما يكتبه المفتاح، فيعتمد على التخطيط وShift. أما event.code فهو الموضع الفعلي. في لوحة مفاتيح فرنسية AZERTY يعطي المفتاح الموجود في موضع Q القيمة code "KeyQ" وkey "a". استخدم code للتحكم في الألعاب وkey للاختصارات التي تعتمد على حرف.
هل ما زلت أستخدم keyCode؟
لا. keyCode وwhich متروكان. في الشيفرة الجديدة استخدم event.key أو event.code. تُعرض الأرقام لتتمكن من قراءة السكربتات القديمة وإصلاحها، حيث 13 مثلًا هو Enter و27 هو Escape و32 هو المسافة.
لماذا يظهر 229 أو "Process"؟
تستحوذ طرق الإدخال للصينية واليابانية والكورية وغيرها على المفتاح أولًا أثناء تكوين النص، فيُبلغ المتصفح عن 229. انتقل إلى تخطيط إنجليزي إن أردت القيم المباشرة.
لماذا لا يظهر اختصاري أو مفتاح الوسائط؟
قد يستولي نظام التشغيل أو المتصفح على المفتاح قبل أن تراه الصفحة. ومن الأمثلة Ctrl+W وAlt+Tab وCmd+Q وصف Fn في كثير من الحواسيب المحمولة. إذا لم تستجب الصفحة فالمفتاح لا يصل إلى شيفرة الويب أصلًا.