यह Keyboard Tool Karabiner से बेहतर है (यहाँ जानिए क्यों)

BBetter Stack
컴퓨터/소프트웨어게임/e스포츠가전제품/카메라

Transcript

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जिसमें ये वीडियो मदद कर सकता है अगर आप इसे अपने दोस्तों और साथियों के साथ शेयर करें, है ना?

Key Takeaway

Kanata एक तेज़ और अत्यधिक कस्टमाइज़ेबल कीबोर्ड टूल है, जो विशेष रूप से होम रो मोड्स और लेयरिंग के शौकीनों के लिए Karabiner का एक बेहतर विकल्प साबित होता है।

Highlights

Kanata एक शक्तिशाली ओपन-सोर्स सॉफ्टवेयर है जो QMK की तरह ही कीबोर्ड को रीमैप करने की सुविधा देता है।

यह Rust भाषा में लिखा गया है, जिससे यह बहुत तेज़ है और टाइपिंग के दौरान लैग की समस्या नहीं होती।

इसमें 'Tap-Hold' और 'Home Row Mods' जैसे एडवांस फीचर्स मिलते हैं जो Karabiner की तुलना में अधिक स्मूथ हैं।

Kanata का कॉन्फ़िगरेशन सिंटैक्स Lisp से प्रेरित S-expression पर आधारित है, जो शुरुआत में कठिन लग सकता है।

इसमें TCP सर्वर इनेबल करने की सुविधा है, जिससे SketchyBar जैसे ऐप्स के साथ लेयर स्विचिंग को मॉनिटर किया जा सकता है।

मल्टीपल कीबोर्ड और मीडिया कीज़ (जैसे F8) के साथ काम करने में इसमें अभी कुछ सीमाएँ और चुनौतियाँ हैं।

Timeline

Kanata का परिचय और बुनियादी सुविधाएँ

इस शुरुआती खंड में Kanata टूल का परिचय दिया गया है जो कीबोर्ड की क्षमताओं को कई गुना बढ़ा देता है। वक्ता बताते हैं कि यह एक ओपन-सोर्स सॉफ्टवेयर है जो मैकेनिकल और लैपटॉप दोनों तरह के कीबोर्ड पर काम करता है। इसमें टैप और होल्ड के लिए अलग-अलग फंक्शन सेट करने और कस्टम लेयर्स बनाने की सुविधा मिलती है। चूँकि इसे Rust प्रोग्रामिंग भाषा में विकसित किया गया है, इसलिए यह बिना किसी लैग के बहुत तेज़ प्रदर्शन करता है। यह QMK फर्मवेयर जैसा ही अनुभव सॉफ्टवेयर स्तर पर प्रदान करने का दावा करता है।

कॉन्फ़िगरेशन सिंटैक्स और कोडिंग की चुनौतियाँ

Kanata को सेटअप करना थोड़ा चुनौतीपूर्ण हो सकता है क्योंकि इसका सिंटैक्स काफी अनोखा है। लेखक बताते हैं कि यह Lisp से प्रेरित S-expression सिंटैक्स का उपयोग करता है, जहाँ कोष्ठक का उपयोग अलग तरीके से होता है। यहाँ फंक्शन के नाम अक्सर आर्ग्यूमेंट्स के साथ कोष्ठक के अंदर लिखे जाते हैं, जो पहली बार देखने में भ्रमित कर सकता है। जब आप फंक्शन्स को नेस्ट करना शुरू करते हैं, तो यह और भी जटिल हो जाता है। हालाँकि, वक्ता के अनुसार कुछ समय के अभ्यास के बाद उपयोगकर्ता इसके आदी हो जाते हैं।

की-मैपिंग और 'टैप-होल्ड' का उदाहरण

यहाँ वक्ता 'def source' और 'def layer' फंक्शन के माध्यम से की-मैपिंग करने का व्यावहारिक उदाहरण देते हैं। वे समझाते हैं कि कैसे एक ही की को टैप करने पर अलग अक्षर और दबाए रखने पर शिफ्ट जैसा मॉडिफायर बनाया जा सकता है। इसमें वेरिएबल्स का उपयोग करने के लिए 'def var' फंक्शन और डॉलर साइन का इस्तेमाल किया जाता है। यह होम रो मोड्स (home row mods) सेट करने के लिए एक बेहतरीन तरीका माना गया है। लेखक स्वीकार करते हैं कि यह तरीका शुरू में अजीब लगता है लेकिन कार्यक्षमता के मामले में बेजोड़ है।

एडवांस फीचर्स और लेयर स्विचिंग

इस भाग में वीडियो एडिटिंग जैसे विशिष्ट कार्यों के लिए अलग लेयर्स बनाने की प्रक्रिया को समझाया गया है। वक्ता ने Kanata के TCP सर्वर को इनेबल करने के बारे में बताया है जो अन्य ऐप्स को इसके साथ इंटरैक्ट करने की अनुमति देता है। उदाहरण के तौर पर, उन्होंने SketchyBar का उपयोग करके स्क्रीन के शीर्ष पर सक्रिय लेयर को प्रदर्शित करने का तरीका दिखाया है। जटिल कॉन्फ़िगरेशन लिखने में मदद के लिए वे AI टूल्स के उपयोग का सुझाव भी देते हैं। यह सेक्शन दिखाता है कि कैसे सॉफ्टवेयर के जरिए हार्डवेयर की सीमाओं को पार किया जा सकता है।

Kanata बनाम Karabiner Elements

वक्ता यहाँ विस्तार से तुलना करते हैं कि उन्होंने Karabiner को छोड़कर Kanata को क्यों चुना। हालाँकि Karabiner में एक अच्छा ग्राफिकल इंटरफ़ेस और आसान इवेंट व्यूअर है, लेकिन इसका टैप-होल्ड फीचर विश्वसनीय नहीं था। Karabiner अक्सर होल्ड को गलती से टैप की तरह रजिस्टर कर देता था, जिससे टाइपिंग में असुविधा होती थी। Kanata ने इस 'होम रो मोड' की समस्या को पूरी तरह से और बहुत ही स्मूथ तरीके से हल कर दिया है। इसी विश्वसनीयता के कारण लेखक ने अब पूरी तरह से Kanata को अपना लिया है।

कमियाँ और अंतिम निष्कर्ष

वीडियो के अंतिम भाग में Kanata की कुछ मौजूदा सीमाओं और कमियों पर चर्चा की गई है। इसमें कई कीबोर्ड के लिए अलग कॉन्फ़िगरेशन फाइलें मैनेज करना और मैनुअल स्विचिंग करना थोड़ा थकाऊ काम हो सकता है। लेखक ने यह भी बताया कि उन्हें कुछ मीडिया कीज़ (जैसे F8) को मैप करने और माउस के साथ सिंक करने में समस्याओं का सामना करना पड़ा। उन्होंने इन समस्याओं के समाधान खुद खोजे हैं और उन्हें भविष्य में ओपन-सोर्स करने का वादा किया है। अंत में, वे दर्शकों से इस टूल की कम्युनिटी बढ़ाने में मदद करने की अपील करते हैं।

Community Posts

No posts yet. Be the first to write about this video!

Write about this video