00:00:00ये है Kanata, एक ओपन-सोर्स टूल जो आपके कीबोर्ड की क्षमता को कई गुना बढ़ा देता है
00:00:03जैसे कि एक ही की को टैप करने पर अलग और दबाए रखने पर अलग फंक्शन देना,
00:00:08एक ही की से कई की-प्रेस ट्रिगर करना,
00:00:10या अलग-अलग कस्टम की-मैपिंग के लिए अलग लेयर्स बनाना।
00:00:12ये मेरे जैसे इंसान के लिए बहुत बढ़िया है जो ज़्यादातर कीबोर्ड का ही इस्तेमाल करना चाहता है।
00:00:16लेकिन इसके अजीब कॉन्फ़िगरेशन सिंटैक्स का क्या चक्कर है?
00:00:19और मैं Karabiner या 'K' से शुरू होने वाले किसी और टूल के बजाय इसे क्यों इस्तेमाल करूं?
00:00:24सब्सक्राइब बटन दबाएं और चलिए इसके बारे में विस्तार से जानते हैं।
00:00:27Kanata असल में 'गाँव' के लिए एक स्वदेशी इरोक्विस नाम है,
00:00:30जिसका कीबोर्ड से दूर-दूर तक कोई लेना-देना नहीं है।
00:00:33लेकिन अगर आप मेरी तरह मैकेनिकल कीबोर्ड के शौकीन हैं, तो शायद आपने QMK के बारे में सुना होगा,
00:00:37जो एक लोकप्रिय ओपन-सोर्स कीबोर्ड फर्मवेयर है,
00:00:39जो आपके मशीन तक सिग्नल पहुँचने से पहले ही कीबोर्ड पर कीज़ को रीमैप करने की सुविधा देता है।
00:00:42Kanata बिल्कुल QMK की तरह है लेकिन ये सॉफ्टवेयर लेवल पर काम करता है,
00:00:46इसलिए ये सभी कीबोर्ड को सपोर्ट करता है, यहाँ तक कि आपके लैपटॉप वाले कीबोर्ड को भी।
00:00:49और चूँकि इसे Rust में लिखा गया है, इसका मतलब है कि ये बहुत तेज़ है
00:00:52और टाइप करते समय आपको बिल्कुल भी देरी या लैग महसूस नहीं होगा।
00:00:55लेकिन इसे सेटअप करना उतना आसान नहीं है,
00:00:57क्योंकि Mac के लिए Karabiner के साथ Kanata इंस्टॉल करने के बाद,
00:01:00इसके बारे में मैं बाद में विस्तार से बताऊंगा,
00:01:02आपको Lisp से प्रेरित इस S-expression सिंटैक्स का उपयोग करके एक कॉन्फ़िगरेशन फ़ाइल लिखनी होगी,
00:01:07जो कि अब तक का सबसे अजीब कॉन्फ़िगरेशन सिंटैक्स है जो मैंने देखा है।
00:01:11क्योंकि जैसा आप उम्मीद करते हैं कि फंक्शन का नाम कोष्ठक के बाहर होना चाहिए,
00:01:16इस कॉन्फ़िगरेशन फ़ाइल में आप इसे कोष्ठक के अंदर ही आर्ग्यूमेंट्स के ठीक बगल में लिखते हैं।
00:01:21लेकिन चीज़ें और भी अजीब हो जाती हैं जब आप फंक्शन्स को नेस्ट करना (एक के अंदर एक) शुरू करते हैं,
00:01:24जो कि इस कॉन्फ़िगरेशन में काफी आम है,
00:01:26क्योंकि फंक्शन के नाम बाहर होने के बजाय,
00:01:30सब कुछ अंदर होता है, जिससे पहली बार में इसे समझना थोड़ा मुश्किल लगता है।
00:01:35लेकिन कुछ समय बाद आपको इसकी आदत हो जाती है।
00:01:36तो एक साधारण कीमैप उदाहरण के तौर पर, मान लीजिए मैं 'A' की को 'X' पर मैप करना चाहता हूँ।
00:01:41मैं 'def source' फंक्शन के ज़रिए 'A' आर्ग्यूमेंट देकर सोर्स कीज़ बता सकता हूँ,
00:01:46और आउटपुट कीज़ बताने के लिए कम से कम एक 'def layer' फंक्शन की ज़रूरत होगी,
00:01:50मैं इसे 'base' नाम दूँगा और 'X' आर्ग्यूमेंट जोड़ूँगा।
00:01:53जो भी कीज़ कॉन्फ़िगरेशन फ़ाइल में नहीं लिखी गई हैं, वे सामान्य रूप से काम करेंगी।
00:01:57तो 'B' और 'C' जैसी और कीज़ जोड़कर उन्हें 'X' और 'Z' पर मैप करना कुछ ऐसा दिखता है।
00:02:02खुशकिस्मती से, इसमें स्पेस और टैब्स का ज़्यादा फर्क नहीं पड़ता,
00:02:04इसलिए आप कीज़ के बीच गैप दे सकते हैं ताकि वे पढ़ने में आसान रहें।
00:02:08इस कॉन्फ़िगरेशन फ़ाइल के साथ आप और भी कई शानदार चीज़ें कर सकते हैं।
00:02:10मैं 'tap hold' कॉन्फ़िगर कर सकता हूँ, जिससे सिर्फ टैप करने पर एक एक्शन हो और दबाए रखने पर दूसरा,
00:02:15इसमें एक टैप-होल्ड टाइमआउट सेट करके वे कीज़ डालनी होंगी जिन पर मैपिंग करनी है।
00:02:19तो इस मामले में, 'A' टैप करने पर 'X' टाइप होगा और इसे दबाए रखने पर 'left shift' का काम करेगा।
00:02:24काम आसान बनाने के लिए, मैं 'def var' फंक्शन से कुछ वेरिएबल्स बना सकता हूँ
00:02:28जिन्हें मैं कॉन्फ़िगरेशन में बार-बार इस्तेमाल कर सकूँ और डॉलर साइन ($) के साथ रेफर कर सकूँ,
00:02:32जो कि होम रो मोड्स (home row mods) के लिए एकदम सही है जहाँ होम कीज़ चार सामान्य मॉडिफायर्स के रूप में काम करती हैं।
00:02:36सच कहूँ तो, शुरुआत में ये बहुत अजीब लगता है,
00:02:39लेकिन अब मुझे इसकी ऐसी आदत हो गई है कि मैं कीबोर्ड इस्तेमाल करने के किसी और तरीके के बारे में सोच भी नहीं सकता।
00:02:42मैं 'editor' जैसे नए नाम के साथ एक नया 'def layer' भी बना सकता हूँ
00:02:46और इसका इस्तेमाल खास तौर पर वीडियो एडिटिंग के लिए कर सकता हूँ ताकि मुझे की-मैप्स का पूरा नया सेट मिल जाए
00:02:51और लेयर स्विच की (layer switch key) की मदद से इस लेयर पर स्विच कर सकूँ।
00:02:54और अगर आप लेयर स्विचिंग या ऐसी ही किसी चीज़ में कुछ वाकई कूल करना चाहते हैं,
00:02:58तो आप Kanata का TCP सर्वर इनेबल कर सकते हैं ताकि दूसरे ऐप्स इसे सुन सकें।
00:03:03मेरे मामले में, SketchyBar Kanata को मॉनिटर कर रहा है
00:03:06ताकि जब भी मैं लेयर्स बदलूँ, तो वो मेरे डेस्कटॉप के टॉप पर दिखाई दे।
00:03:10हाँ, इस लेवल तक पहुँचने के लिए काफी कॉन्फ़िगरेशन लिखना पड़ा,
00:03:13लेकिन ऐसी कोई चीज़ नहीं है जिसमें AI मदद न कर सके।
00:03:16खैर, ये सब तो ठीक है, पर कोई Karabiner Elements के बजाय Kanata क्यों इस्तेमाल करेगा?
00:03:21ये देखते हुए कि Karabiner वो सब कर सकता है जो Kanata करता है और उससे भी कहीं ज़्यादा,
00:03:24जैसे कि खास एप्लीकेशन और कीबोर्ड के हिसाब से की-मैपिंग करना,
00:03:28एक बहुत ही आसान 'इवेंट व्यूअर' के साथ कीज़ को टेस्ट करना,
00:03:30और उन लोगों के लिए एक अच्छा ग्राफिकल इंटरफेस भी है जिन्हें टर्मिनल में कमांड चलाना पसंद नहीं है।
00:03:35लेकिन मेरे लिए, Karabiner का टैप-होल्ड फीचर, खासकर होम रो मोड्स के लिए, काफी कमज़ोर था।
00:03:40इसे सही से चलाने के लिए मुझे बहुत रिसर्च और काफी ज़्यादा कॉन्फ़िगरेशन करना पड़ा।
00:03:45और जब मैंने इसे काम पर लगा भी दिया, तब भी ये उतना स्मूथ नहीं था जितना Kanata है।
00:03:49ये अक्सर 'होल्ड' को 'टैप' की तरह रजिस्टर कर देता था।
00:03:51वहीं Kanata ने इस फीचर को बिना किसी छेड़छाड़ के शुरू से ही बखूबी संभाला,
00:03:56और अब मुझे वापस Karabiner Elements पर जाने की ज़रूरत महसूस नहीं हुई।
00:03:59तो अगर आप वाकई होम रो मोड्स चाहते हैं, तो मैं Kanata इस्तेमाल करने की सलाह दूँगा।
00:04:03पर इसका मतलब ये नहीं कि ये परफेक्ट है।
00:04:05अगर आपके पास अलग-अलग की-मैप्स वाले कई कीबोर्ड हैं, तो आपको कई कॉन्फ़िगरेशन फ़ाइलों की ज़रूरत होगी,
00:04:09जो कि थोड़ा परेशान करने वाला है क्योंकि कीबोर्ड अनप्लग करने पर
00:04:12आपको उस की-मैपिंग पर स्विच करने के लिए कमांड चलानी पड़ती है।
00:04:15मैं अपने कीबोर्ड पर प्ले/पॉज़ बटन को F8 पर रीमैप करने का तरीका नहीं ढूँढ पाया,
00:04:20जबकि Karabiner के साथ मैं ऐसा कर पा रहा था।
00:04:22और MX Master Mouse के साथ Kanata को चलाने के लिए भी कुछ बदलाव करने पड़े।
00:04:26खुशकिस्मती से, मैंने इनमें से ज़्यादातर समस्याओं के समाधान ढूंढ लिए हैं,
00:04:30जिन्हें मैं भविष्य में ओपन-सोर्स कर सकता हूँ।
00:04:31पर मेरी इच्छा है कि Kanata की कम्युनिटी और बड़ी होती,
00:04:34जिसमें ये वीडियो मदद कर सकता है अगर आप इसे अपने दोस्तों और साथियों के साथ शेयर करें, है ना?