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

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

पर जाएं

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

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

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

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

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

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

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

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

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

एक लेवल से दूसरे लेवल पर जाने के लिए, A और D बटन का इस्तेमाल करें. किसी लेवल में नेविगेट करने के लिए, W और S बटन का इस्तेमाल करें.

फ़ाइल फ़ोल्डर का लेवल

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

स्टैक लेवल

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Workspace पर ब्लॉक को एक से दूसरी जगह ले जाना

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

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

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

ब्लॉक अलग करना

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

  1. WASD बटन का इस्तेमाल करके, उस कनेक्शन पर जाएं जिसे आपको हटाना है
  2. X का इस्तेमाल करके कनेक्शन बंद करना

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

टूलबॉक्स से ब्लॉक डालना

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

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

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

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

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

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

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

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

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

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

सीमाएं

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