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