अर्थ और लेआउट के आधार पर कुंजियाँ चुनें
जब क्रिया उपयोगकर्ता के कीबोर्ड लेआउट से बनने वाले अक्षर पर निर्भर हो, तो KeyboardEvent.key का उपयोग करें; जब भौतिक कुंजी की जगह ज़्यादा मायने रखे, तो KeyboardEvent.code का उपयोग करें। अलग-अलग कीबोर्ड लेआउट में यह अंतर महत्वपूर्ण है। WASD को सार्वभौमिक मानने के बजाय एक सुसंगत मैपिंग दें और निर्देशों में दिखाएँ।
टेक्स्ट फ़ील्ड या संपादन योग्य कंट्रोल पर फ़ोकस होने पर कुंजी इनपुट को न रोकें। पेज स्क्रॉल जैसे ब्राउज़र के डिफ़ॉल्ट व्यवहार को तभी रोकें जब गेम सतह वास्तव में उस कुंजी को संभाल रही हो। इससे गेम इंटरैक्टिव क्षेत्र में आने से पहले सामान्य टाइपिंग नहीं रोकेगा और ब्राउज़र नेविगेशन में बाधा नहीं डालेगा।
दबाई हुई कुंजियों की स्थिति और रिलीज़ ट्रैक करें
लगातार चलने वाली गति के लिए keydown पर कुंजी की दबाई हुई स्थिति चालू करें और keyup पर हटाएँ। कुंजी दबाए रखने पर ब्राउज़र keydown दोहरा सकता है; इसलिए जंप जैसी एकबारगी क्रिया दोहराव को अनदेखा करे, जब तक कि बार-बार सक्रिय होना डिज़ाइन का हिस्सा न हो। गेम का फ़ोकस खोने या विंडो निष्क्रिय होने पर दबाई हुई कुंजियाँ साफ़ करें, क्योंकि फ़ोकस कहीं और जाने के बाद keyup गेम तक न पहुँचे।
एक साथ दो कुंजियाँ, लंबा प्रेस, तेज़ टैप और फ़ोकस खोकर वापस आने की स्थिति जाँचें। एकबारगी क्रिया के लिए दोहराए गए keydown को अनदेखा करें, जब तक दोहराव जानबूझकर न हो। MDN KeyboardEvent.key, KeyboardEvent.code और इवेंट प्रकारों का दस्तावेज़ देता है; मैपिंग के अनुरूप प्रॉपर्टी चुनें।
ब्राउज़र गेम्स के लिए कीबोर्ड नियंत्रण से जुड़े सवाल
गेम कंट्रोल के लिए KeyboardEvent.key या KeyboardEvent.code में से किसका उपयोग करूँ?
जब अक्षर या कीबोर्ड लेआउट से क्रिया तय होनी चाहिए, तब KeyboardEvent.key उपयोग करें। जब भौतिक कुंजी की जगह कंट्रोल तय करती हो, तब KeyboardEvent.code उपयोग करें। चुनाव साफ़ तौर पर बताएँ और दूसरे लेआउट पर भी जाँचें।
पेज फ़ोकस खोने पर दबाई हुई कुंजियाँ क्यों साफ़ करनी चाहिए?
फ़ोकस बदलने के बाद ब्राउज़र keyup रिलीज़ इवेंट गेम तक न भेजे। इनपुट स्थिति साफ़ करने से खिलाड़ी के लौटने पर गेम में गति अटकी नहीं रहती।
आगे पढ़ें
कोई पुरानी जानकारी दिखी? सुधार की जानकारी दें