कीबोर्ड नेविगेशन

इस गाइड में बताया गया है कि डिफ़ॉल्ट कीबोर्ड नेविगेशन को कैसे इस्तेमाल किया जाए, क्योंकि फ़िलहाल यह Blockly में लागू है.

कीबोर्ड नेविगेशन का इस्तेमाल करना

कीबोर्ड नेविगेशन की सुविधा का इस्तेमाल करने के लिए ज़रूरी है कि उपयोगकर्ता नीचे दिए गए काम पूरे कर सके:

  • फ़ाइल फ़ोल्डर में इधर-उधर जाना
  • फ़ाइल फ़ोल्डर में ब्लॉक को कनेक्ट करना
  • वर्कस्पेस में कोई ब्लॉक जोड़ना
  • ब्लॉक अलग करें
  • टूलबॉक्स पर नेविगेट करना
  • फ़्लायआउट पर नेविगेट करें
  • फ़्लायआउट से ब्लॉक शामिल करें

यहां बताया गया है कि Blockly का डिफ़ॉल्ट कीबोर्ड नेविगेशन, इन कामों को कैसे पूरा करता है.

कीबोर्ड नेविगेशन चालू करना

उपयोगकर्ता Shift + Ctrl + k दबाकर कीबोर्ड नेविगेशन को चालू और बंद कर सकता है. कीबोर्ड नेविगेशन की सुविधा पहली बार चालू होने पर फ़ाइल फ़ोल्डर पर, लाल रंग की फ़्लैश करती हुई एक लाइन दिखती है. यह कर्सर है. जब उपयोगकर्ता वर्कस्पेस में नेविगेट करता है, तो इस पेज पर उपयोगकर्ता को उनकी मौजूदा जगह की जानकारी और अपडेट दिखते हैं.
जब कोई उपयोगकर्ता shift Control k हिट करता है, तो स्क्रीन पर फ़्लैश करती हुई लाल लाइन दिखाई देती है. यह कर्सर है.

Enter दबाने से, मौजूदा जगह पर एक नीली लाइन बन जाती है. इससे उपयोगकर्ता का मार्कर दिखाया जाता है. ब्लॉक इंसर्शन के लिए, टारगेट की गई जगह दिखाने वाला मार्कर. कर्सर को वर्कस्पेस में घुमाने पर, यह अपडेट नहीं होता.
जब कोई उपयोगकर्ता हिट करता है, तो स्क्रीन पर एक नीली लाइन दिखती है. यही मार्कर है.

डिफ़ॉल्ट कर्सर का इस्तेमाल करना

फ़ाइल फ़ोल्डर में इनपुट, फ़ील्ड, कनेक्शन, ब्लॉक, और फ़ाइल फ़ोल्डर निर्देशांक होते हैं. डिफ़ॉल्ट कर्सर सभी कॉम्पोनेंट को अलग-अलग लेवल में बांटकर, फ़ाइल फ़ोल्डर में इधर-उधर मूव करता है.

लेवल के बीच नेविगेट करने के लिए, A और D बटन का इस्तेमाल करें. किसी लेवल में नेविगेट करने के लिए, W और S कुंजियों का इस्तेमाल करें.

वर्कस्पेस का लेवल

Shift + Ctrl + k दबाकर कीबोर्ड नेविगेशन मोड में जाएं. इससे कर्सर को वर्कस्पेस पर या पहले ब्लॉक पर रखा जाएगा. अगर कर्सर किसी ब्लॉक पर है, तो उसे A को दो बार दबाकर वर्कस्पेस लेवल पर ले जाएं. कर्सर को फ़ाइल फ़ोल्डर पर ले जाने के लिए, Shift + WASD का इस्तेमाल करें. स्टैक लेवल पर जाने के लिए, D बटन का इस्तेमाल करें.
जब उपयोगकर्ता Shift और W A S D बटन दबाता है, तब ब्लॉकल वर्कस्पेस पर कर्सर मूव होता है. जब उपयोगकर्ता d हिट करता है, तो कर्सर ब्लॉक के पहले स्टैक के चारों ओर एक रेक्टैंगल के तौर पर दिखता है

स्टैक लेवल

स्टैक लेवल पर, W और S बटन का इस्तेमाल करके, फ़ाइल फ़ोल्डर में ब्लॉक के स्टैक के बीच नेविगेट किया जा सकता है. इस लेवल पर कर्सर को स्टैक में मौजूद सभी ब्लॉक के चारों ओर एक लाल रंग के रेक्टैंगल से दिखाया जाएगा. चुने गए स्टैक में पहले ब्लॉक पर जाने के लिए, D बटन का इस्तेमाल करें.
जब उपयोगकर्ता s दबाता है, तो कर्सर ब्लॉक के अगले स्टैक पर चला जाता है. जब उपयोगकर्ता d हिट करता है, तो कर्सर, चुने गए स्टैक में पहले ब्लॉक के ऊपर फ़्लैश करती हुई लाल लाइन के तौर पर दिखता है.

ब्लॉक और कनेक्शन लेवल

इस लेवल पर एक ब्लॉक और ब्लॉक के सभी बाहरी कनेक्शन होते हैं. अगर पिछला या आउटपुट कनेक्शन हो, तो डिफ़ॉल्ट कर्सर को ब्लॉक करने के लिए सेट किया गया है. अगर दोनों मौजूद नहीं हैं, तो कर्सर, ब्लॉक पर चला जाएगा, जैसा कि नीचे दिखाया गया है.

जब उपयोगकर्ता d दबाता है, तो कर्सर ब्लॉक के स्टैक के चारों ओर लाल रंग के आयत से बदलकर स्टैक के पहले ब्लॉक के चारों ओर बने आयत का आधा हो जाता है.

बाहरी कनेक्शन के तीन संभावित विकल्प यहां दिए गए हैं.
लाल रंग की लाइन, तीन बाहरी कनेक्शन को हाइलाइट करती है. ये किसी ब्लॉक पर पिछले, अगले और आउटपुट कनेक्शन होते हैं.

ब्लॉक और कनेक्शन लेवल पर, W और S बटन का इस्तेमाल करके, बाहरी कनेक्शन से नेविगेट किया जा सकता है. इस लेवल पर, कर्सर को मौजूदा कनेक्शन की चमकती हुई लाल आउटलाइन से दिखाया जाता है. किसी ब्लॉक पर, पहले फ़ील्ड या इनपुट पर जाने के लिए, D दबाएं.
जब उपयोगकर्ता S बटन दबाता है, तो कर्सर किसी ब्लॉक के अगले कनेक्शन पर लाल रंग की फ़्लैशिंग लाइन के तौर पर दिखता है. जब कोई उपयोगकर्ता d बटन दबाता है, तो कर्सर, ब्लॉक के पहले फ़ील्ड के चारों ओर लाल रंग के रेक्टैंगल के तौर पर दिखता है.

फ़ील्ड और इनपुट लेवल

इस लेवल में, ब्लॉक में मौजूद सभी फ़ील्ड और इनपुट होते हैं. फ़ील्ड और इनपुट कैसे दिखते हैं, इसके उदाहरण नीचे दिखाए गए हैं.
लाल रंग का रेक्टैंगल, किसी ब्लॉक पर इनपुट और फ़ील्ड के उदाहरण को हाइलाइट करता है.
इस लेवल पर, मौजूदा ब्लॉक के बदलाव किए जा सकने वाले फ़ील्ड और इनपुट पर जाने के लिए, W और S का इस्तेमाल किया जा सकता है. फ़ील्ड के लिए, कर्सर एक ठोस लाल आयताकार होता है. इनपुट के लिए, कर्सर का रंग फ़्लैश करता हुआ लाल रंग का पहेली वाला टुकड़ा है. जब कर्सर, इनपुट पर हो, तो कनेक्ट किए गए ब्लॉक पर जाने के लिए D दबाएं.

जब कोई उपयोगकर्ता S बटन को दबाता है, तो कर्सर ब्लॉक के इनपुट और फ़ील्ड में घूमता है. जब कोई उपयोगकर्ता कनेक्ट किए गए ब्लॉक वाले इनपुट पर d हिट करता है, तो कर्सर कनेक्ट किए गए ब्लॉक के ऊपर फ़्लैश करती हुई लाल लाइन के रूप में दिखता है.

जब कर्सर किसी फ़ील्ड पर हो, तो उसमें बदलाव करने के लिए Enter दबाएं.

कर्सर को फ़ील्ड के चारों ओर, लाल रंग के रेक्टैंगल के तौर पर दिखाया जाता है. उपयोगकर्ता के हिट करने पर, एक ड्रॉपडाउन खुलता है. उपयोगकर्ता ड्रॉपडाउन से कोई वैल्यू चुनने के लिए, S बटन पर क्लिक करता है और फिर Enter दबाकर ड्रॉपडाउन बंद कर देता है.

Workspace पर ब्लॉक को कनेक्ट करना

  1. डब्ल्यूएएसडी बटन का इस्तेमाल करके, अपने टारगेट कनेक्शन पर जाएं
  2. Enter बटन का इस्तेमाल करके, कनेक्शन को मार्क करें
  3. डब्ल्यूएएसडी बटन का इस्तेमाल करके, मान्य कनेक्शन पॉइंट पर जाएं
  4. I कुंजी (डालने के लिए) का इस्तेमाल करके दो ब्लॉक को कनेक्ट करें

इनपुट कनेक्शन पर ब्लू पॉइंट मौजूद है. इससे पता चलता है कि यह कनेक्शन मार्क किया गया है. जब उपयोगकर्ता किसी मान्य कनेक्शन पर i पर हिट करता है, तो ब्लॉक मार्क किए गए कनेक्शन पॉइंट पर चला जाता है.

फ़ाइल फ़ोल्डर में किसी ब्लॉक को एक जगह से दूसरी जगह ले जाना

आम तौर पर, Blockly में आप किसी ब्लॉक को उठाकर, उसे अपनी पसंद की जगह पर खींचकर, छोड़ें और उसे वर्कस्पेस में ले जाते हैं. कीबोर्ड शॉर्टकट की मदद से, टारगेट की गई जगह को मार्क किया जा सकता है. इसके बाद, उस ब्लॉक पर जाएँ जिसे आपको मूव करना है और फिर उसे मूव करने के लिए कहें.

  1. Shift + WASD बटन का इस्तेमाल करके फ़ाइल फ़ोल्डर में किसी पोज़िशन पर जाएं
  2. Enter बटन का इस्तेमाल करके, फ़ाइल फ़ोल्डर में उस जगह की जानकारी जोड़ें
  3. डब्ल्यूएएसडी बटन का इस्तेमाल करके, उस ब्लॉक पर जाएं जिसे आपको मूव करना है
  4. I कुंजी का इस्तेमाल करके ब्लॉक को मार्क की गई जगह पर ले जाएं

ब्लॉक किए गए फ़ाइल फ़ोल्डर पर एक कर्सर दिखाया गया है. जब उपयोगकर्ता एंटर दबाते हैं, तो वे अपना स्थान मार्क कर लेते हैं और इस पोज़िशन पर एक नीली लाइन दिखती है. WASD कुंजियों का इस्तेमाल करके वे कर्सर को ब्लॉक के बाहरी कनेक्शन पर ले जाते हैं. जब उपयोगकर्ता i पर हिट करता है, तो वह ब्लॉक मार्क की गई जगह पर चला जाता है.

डिटैचिंग ब्लॉक्स

आम तौर पर, Blockly में आप बाकी ब्लॉक को उठाकर दो ब्लॉक को डिसकनेक्ट करते हैं और फिर उसे पैरंट ब्लॉक से खींचकर दूर रखते हैं. कीबोर्ड शॉर्टकट से, ब्लॉक को डिसकनेक्ट किया जा सकता है. इसके लिए, जिस कनेक्शन को ब्रेक करना है उस पर मौजूद कर्सर से X दबाएं.

  1. WASD कुंजियों का इस्तेमाल करके उस कनेक्शन पर जाएं जिसे आप तोड़ना चाहते हैं
  2. X से कनेक्शन तोड़ें

स्क्रीन पर दो ब्लॉक जुड़े हुए हैं और उनके बीच में कर्सर दिखाया गया है. जब उपयोगकर्ता x बटन को दबाता है, तो ब्लॉक डिसकनेक्ट हो जाते हैं.

टूलबॉक्स से ब्लॉक शामिल करना

  1. टूलबॉक्स खोलने के लिए, T बटन दबाएं
  2. कैटगरी में जाने के लिए, W और S बटन का इस्तेमाल करें
  3. फ़्लाइआउट में मौजूद ब्लॉक पर जाने के लिए, D बटन दबाएं
  4. W और S कुंजियों का इस्तेमाल करके ब्लॉक में नेविगेट करें
  5. फ़्लायआउट से एक ब्लॉक शामिल करने के लिए, Enter बटन दबाएं

जब कोई उपयोगकर्ता t दबाता है, तो एक टूलबॉक्स खुलता है, जिसमें ब्लॉक की अलग-अलग कैटगरी दिखती हैं. हिट करने से आपको अलग-अलग कैटगरी में बांटा जा सकता है. जब कोई उपयोगकर्ता d हिट करता है, तो कैटगरी का पहला ब्लॉक हाइलाइट हो जाता है. Enter दबाने से ब्लॉक, फ़ाइल फ़ोल्डर पर आ जाता है और टूलबॉक्स बंद हो जाता है.

एक्सपेरिमेंट करना

हमारा मानना है कि ये चार मुख्य क्षेत्र हैं जिन पर लोगों की दिलचस्पी हो सकती है:

  1. मुख्य मैपिंग: किन कार्रवाइयों को कुंजी से मैप करना चाहिए.
  2. स्क्रीन रीडर/लॉगिंग/चेतावनियों के लिए टेक्स्ट: स्क्रीन रीडर को कर्सर की जगह की जानकारी और किसी भी गड़बड़ी या चेतावनी को किस तरह पढ़कर सुनाना चाहिए.
  3. Workspace नेविगेशन: उपयोगकर्ता, फ़ाइल फ़ोल्डर में अलग-अलग ब्लॉक, फ़ील्ड, इनपुट, और कनेक्शन पर कैसे नेविगेट करता है.
  4. कर्सर लुक: कर्सर और मार्कर कैसा दिखना चाहिए.

इन एपीआई का इस्तेमाल करने के तरीके के बारे में ज़्यादा जानकारी के लिए, कृपया Blockly कीबोर्ड नेविगेशन कोड लैब देखें.

अगर आपको कोई और ऐसा क्षेत्र देना है जिसके लिए आपको एक्सपेरिमेंट करना है, तो कृपया फ़ॉर्म भरें.

अक्सर पूछे जाने वाले सवाल

सवाल: आपने कीबोर्ड नेविगेशन के लिए, ऐरो बटन का इस्तेमाल क्यों नहीं किया?
जवाब: स्क्रीन रीडर आम तौर पर, ऐरो बटन का इस्तेमाल करते हैं. हम इस प्रोसेस में दखल नहीं देना चाहते थे. इसलिए, हमने WASD कुंजियों का इस्तेमाल करने का विकल्प चुना.
हालांकि, हमारा मानना है कि हर किसी की ज़रूरतें अलग-अलग होती हैं. इसलिए, हमारा सुझाव है कि आप मुख्य मैपिंग को बदलने का आसान तरीका बनाएं.

सवाल: यह काफ़ी मुश्किल लगता है, हमें अलग-अलग लेयर की ज़रूरत क्यों है?
जवाब: कीबोर्ड नेविगेशन के बारे में सोचते समय हमें अलग-अलग ब्लॉक, कनेक्शन, फ़ील्ड, इनपुट, और फ़ाइल फ़ोल्डर कोऑर्डिनेट के हिसाब से एक बेहतर तरीके की ज़रूरत थी.
आम तौर पर, हम इसे ऐब्स्ट्रैक्ट सिंटैक्स ट्री (एएसटी) की मदद से दिखाते हैं. डिफ़ॉल्ट कर्सर लागू करने का तरीका इस मॉडल से ज़्यादा दूर नहीं है.इसका मकसद डेवलपर को बुनियादी आर्किटेक्चर को बेहतर तरीके से समझना है. ऐसे अन्य cursors भी हैं जिन्हें असली उपयोगकर्ता को समझना आसान हो सकता है.

सीमाएं

हम अभी उन कॉम्पोनेंट पर नेविगेट करने की सुविधा नहीं देते जिन्हें ब्लॉक नहीं किया गया है (जैसे कि ट्रैश कैन, ज़ूम बटन, और फ़्लाइआउट बटन). सीमाओं के बारे में ज़्यादा जानकारी के लिए, खुले हुए कीबोर्ड नेविगेशन bugs की सूची देखें.