इस गाइड में बताया गया है कि डिफ़ॉल्ट कीबोर्ड नेविगेशन को कैसे इस्तेमाल किया जाए, क्योंकि फ़िलहाल यह Blockly में लागू है.
कीबोर्ड नेविगेशन का इस्तेमाल करना
कीबोर्ड नेविगेशन की सुविधा का इस्तेमाल करने के लिए ज़रूरी है कि उपयोगकर्ता नीचे दिए गए काम पूरे कर सके:
- फ़ाइल फ़ोल्डर में इधर-उधर जाना
- फ़ाइल फ़ोल्डर में ब्लॉक को कनेक्ट करना
- वर्कस्पेस में कोई ब्लॉक जोड़ना
- ब्लॉक अलग करें
- टूलबॉक्स पर नेविगेट करना
- फ़्लायआउट पर नेविगेट करें
- फ़्लायआउट से ब्लॉक शामिल करें
यहां बताया गया है कि Blockly का डिफ़ॉल्ट कीबोर्ड नेविगेशन, इन कामों को कैसे पूरा करता है.
कीबोर्ड नेविगेशन चालू करना
उपयोगकर्ता Shift + Ctrl + k दबाकर कीबोर्ड नेविगेशन को चालू और बंद कर सकता है.
कीबोर्ड नेविगेशन की सुविधा पहली बार चालू होने पर फ़ाइल फ़ोल्डर पर, लाल रंग की फ़्लैश करती हुई एक लाइन दिखती है. यह कर्सर है. जब उपयोगकर्ता वर्कस्पेस में नेविगेट करता है, तो इस पेज पर उपयोगकर्ता को उनकी मौजूदा जगह की जानकारी
और अपडेट दिखते हैं.
Enter दबाने से, मौजूदा जगह पर एक नीली लाइन बन जाती है. इससे उपयोगकर्ता का मार्कर दिखाया जाता है. ब्लॉक इंसर्शन के लिए, टारगेट की गई जगह दिखाने वाला मार्कर. कर्सर को वर्कस्पेस में घुमाने पर, यह अपडेट नहीं होता.
डिफ़ॉल्ट कर्सर का इस्तेमाल करना
फ़ाइल फ़ोल्डर में इनपुट, फ़ील्ड, कनेक्शन, ब्लॉक, और फ़ाइल फ़ोल्डर निर्देशांक होते हैं. डिफ़ॉल्ट कर्सर सभी कॉम्पोनेंट को अलग-अलग लेवल में बांटकर, फ़ाइल फ़ोल्डर में इधर-उधर मूव करता है.
लेवल के बीच नेविगेट करने के लिए, A और D बटन का इस्तेमाल करें. किसी लेवल में नेविगेट करने के लिए, W और S कुंजियों का इस्तेमाल करें.
वर्कस्पेस का लेवल
Shift + Ctrl + k दबाकर कीबोर्ड नेविगेशन मोड में जाएं. इससे कर्सर को वर्कस्पेस पर या पहले ब्लॉक पर रखा जाएगा. अगर कर्सर किसी ब्लॉक पर है, तो उसे A को दो बार दबाकर वर्कस्पेस लेवल पर ले जाएं.
कर्सर को फ़ाइल फ़ोल्डर पर ले जाने के लिए, Shift + WASD का इस्तेमाल करें. स्टैक लेवल पर जाने के लिए, D बटन का इस्तेमाल करें.
स्टैक लेवल
स्टैक लेवल पर, W और S बटन का इस्तेमाल करके, फ़ाइल फ़ोल्डर में ब्लॉक के स्टैक के बीच नेविगेट किया जा सकता है. इस लेवल पर कर्सर को स्टैक में मौजूद सभी ब्लॉक के चारों ओर एक लाल रंग के रेक्टैंगल से दिखाया जाएगा. चुने गए स्टैक में पहले ब्लॉक पर जाने के लिए, D बटन का इस्तेमाल करें.
ब्लॉक और कनेक्शन लेवल
इस लेवल पर एक ब्लॉक और ब्लॉक के सभी बाहरी कनेक्शन होते हैं. अगर पिछला या आउटपुट कनेक्शन हो, तो डिफ़ॉल्ट कर्सर को ब्लॉक करने के लिए सेट किया गया है. अगर दोनों मौजूद नहीं हैं, तो कर्सर, ब्लॉक पर चला जाएगा, जैसा कि नीचे दिखाया गया है.
बाहरी कनेक्शन के तीन संभावित विकल्प यहां दिए गए हैं.
ब्लॉक और कनेक्शन लेवल पर, W और S बटन का इस्तेमाल करके, बाहरी कनेक्शन से नेविगेट किया जा सकता है. इस लेवल पर, कर्सर को मौजूदा कनेक्शन की
चमकती हुई लाल आउटलाइन से दिखाया जाता है. किसी ब्लॉक पर, पहले फ़ील्ड या इनपुट
पर जाने के लिए, D दबाएं.
फ़ील्ड और इनपुट लेवल
इस लेवल में, ब्लॉक में मौजूद सभी फ़ील्ड और इनपुट होते हैं. फ़ील्ड और इनपुट कैसे दिखते हैं, इसके उदाहरण नीचे दिखाए गए हैं.
इस लेवल पर, मौजूदा ब्लॉक के बदलाव किए जा सकने वाले फ़ील्ड और इनपुट पर जाने के लिए, W और S का इस्तेमाल किया जा सकता है. फ़ील्ड के लिए, कर्सर एक ठोस लाल
आयताकार होता है. इनपुट के लिए, कर्सर का रंग फ़्लैश करता हुआ लाल रंग का पहेली वाला टुकड़ा है. जब कर्सर, इनपुट पर हो, तो कनेक्ट किए गए ब्लॉक पर जाने के लिए D दबाएं.
जब कर्सर किसी फ़ील्ड पर हो, तो उसमें बदलाव करने के लिए Enter दबाएं.
Workspace पर ब्लॉक को कनेक्ट करना
- डब्ल्यूएएसडी बटन का इस्तेमाल करके, अपने टारगेट कनेक्शन पर जाएं
- Enter बटन का इस्तेमाल करके, कनेक्शन को मार्क करें
- डब्ल्यूएएसडी बटन का इस्तेमाल करके, मान्य कनेक्शन पॉइंट पर जाएं
- I कुंजी (डालने के लिए) का इस्तेमाल करके दो ब्लॉक को कनेक्ट करें
फ़ाइल फ़ोल्डर में किसी ब्लॉक को एक जगह से दूसरी जगह ले जाना
आम तौर पर, Blockly में आप किसी ब्लॉक को उठाकर, उसे अपनी पसंद की जगह पर खींचकर, छोड़ें और उसे वर्कस्पेस में ले जाते हैं. कीबोर्ड शॉर्टकट की मदद से, टारगेट की गई जगह को मार्क किया जा सकता है. इसके बाद, उस ब्लॉक पर जाएँ जिसे आपको मूव करना है और फिर उसे मूव करने के लिए कहें.
- Shift + WASD बटन का इस्तेमाल करके फ़ाइल फ़ोल्डर में किसी पोज़िशन पर जाएं
- Enter बटन का इस्तेमाल करके, फ़ाइल फ़ोल्डर में उस जगह की जानकारी जोड़ें
- डब्ल्यूएएसडी बटन का इस्तेमाल करके, उस ब्लॉक पर जाएं जिसे आपको मूव करना है
- I कुंजी का इस्तेमाल करके ब्लॉक को मार्क की गई जगह पर ले जाएं
डिटैचिंग ब्लॉक्स
आम तौर पर, Blockly में आप बाकी ब्लॉक को उठाकर दो ब्लॉक को डिसकनेक्ट करते हैं और फिर उसे पैरंट ब्लॉक से खींचकर दूर रखते हैं. कीबोर्ड शॉर्टकट से, ब्लॉक को डिसकनेक्ट किया जा सकता है. इसके लिए, जिस कनेक्शन को ब्रेक करना है उस पर मौजूद कर्सर से X दबाएं.
- WASD कुंजियों का इस्तेमाल करके उस कनेक्शन पर जाएं जिसे आप तोड़ना चाहते हैं
- X से कनेक्शन तोड़ें
टूलबॉक्स से ब्लॉक शामिल करना
- टूलबॉक्स खोलने के लिए, T बटन दबाएं
- कैटगरी में जाने के लिए, W और S बटन का इस्तेमाल करें
- फ़्लाइआउट में मौजूद ब्लॉक पर जाने के लिए, D बटन दबाएं
- W और S कुंजियों का इस्तेमाल करके ब्लॉक में नेविगेट करें
- फ़्लायआउट से एक ब्लॉक शामिल करने के लिए, Enter बटन दबाएं
एक्सपेरिमेंट करना
हमारा मानना है कि ये चार मुख्य क्षेत्र हैं जिन पर लोगों की दिलचस्पी हो सकती है:
- मुख्य मैपिंग: किन कार्रवाइयों को कुंजी से मैप करना चाहिए.
- स्क्रीन रीडर/लॉगिंग/चेतावनियों के लिए टेक्स्ट: स्क्रीन रीडर को कर्सर की जगह की जानकारी और किसी भी गड़बड़ी या चेतावनी को किस तरह पढ़कर सुनाना चाहिए.
- Workspace नेविगेशन: उपयोगकर्ता, फ़ाइल फ़ोल्डर में अलग-अलग ब्लॉक, फ़ील्ड, इनपुट, और कनेक्शन पर कैसे नेविगेट करता है.
- कर्सर लुक: कर्सर और मार्कर कैसा दिखना चाहिए.
इन एपीआई का इस्तेमाल करने के तरीके के बारे में ज़्यादा जानकारी के लिए, कृपया Blockly कीबोर्ड नेविगेशन कोड लैब देखें.
अगर आपको कोई और ऐसा क्षेत्र देना है जिसके लिए आपको एक्सपेरिमेंट करना है, तो कृपया फ़ॉर्म भरें.
अक्सर पूछे जाने वाले सवाल
सवाल: आपने कीबोर्ड नेविगेशन के लिए, ऐरो बटन का इस्तेमाल क्यों नहीं किया?
जवाब: स्क्रीन रीडर आम तौर पर, ऐरो बटन का इस्तेमाल करते हैं. हम इस प्रोसेस में दखल नहीं देना चाहते थे. इसलिए, हमने WASD कुंजियों का इस्तेमाल करने का विकल्प चुना.
हालांकि, हमारा मानना है कि हर किसी की ज़रूरतें
अलग-अलग होती हैं. इसलिए, हमारा सुझाव है कि आप मुख्य मैपिंग को बदलने का आसान तरीका बनाएं.
सवाल: यह काफ़ी मुश्किल लगता है, हमें अलग-अलग लेयर की ज़रूरत क्यों है?
जवाब: कीबोर्ड नेविगेशन के बारे में सोचते समय हमें अलग-अलग ब्लॉक, कनेक्शन, फ़ील्ड, इनपुट, और फ़ाइल फ़ोल्डर कोऑर्डिनेट के हिसाब से
एक बेहतर तरीके की ज़रूरत थी.
आम तौर पर, हम इसे ऐब्स्ट्रैक्ट सिंटैक्स ट्री (एएसटी) की मदद से दिखाते हैं. डिफ़ॉल्ट कर्सर लागू करने का तरीका इस मॉडल से ज़्यादा दूर नहीं है.इसका मकसद डेवलपर को
बुनियादी आर्किटेक्चर को बेहतर तरीके से समझना है. ऐसे अन्य cursors भी हैं
जिन्हें असली उपयोगकर्ता को समझना आसान हो सकता है.
सीमाएं
हम अभी उन कॉम्पोनेंट पर नेविगेट करने की सुविधा नहीं देते जिन्हें ब्लॉक नहीं किया गया है (जैसे कि ट्रैश कैन, ज़ूम बटन, और फ़्लाइआउट बटन). सीमाओं के बारे में ज़्यादा जानकारी के लिए, खुले हुए कीबोर्ड नेविगेशन bugs की सूची देखें.