- Colemak-DH में स्विच करने का फैसला गति बढ़ाने से ज़्यादा गलत touch typing आदतों और उंगलियों के दर्द को कम करने के लिए था, और इसे Workman की जगह चुना गया
- keybr.com पर रोज़ लगभग 20 मिनट, 4 दिनों तक अभ्यास करके लेआउट सीखा गया, और गति 22wpm से 45wpm तक बढ़ी, लेकिन 95% accuracy पर सुधार करने का बोझ बड़ा था
- 5वें दिन से macOS पर Colemak-DH इंस्टॉल करके इसे वास्तविक काम में इस्तेमाल करने पर shortcuts, Shift, symbols, Vim, commands और passwords जैसे non-letter input में friction सामने आया
- 7वें–8वें दिन full-time उपयोग पर स्विच किया गया और 65wpm तक पहुँचे; monkeytype अभ्यास और opposite-side Shift इस्तेमाल करने से symbols और capital letters की input बेहतर हुई
- लगभग 2 हफ्ते बाद गति 85wpm तक वापस आ गई, और Colemak में हाथों को home row पर बनाए रखना आसान लगा, इसलिए अगर कुछ दिनों की productivity गिरावट झेली जा सकती है तो इसे आज़माना ठीक है
स्विच की पृष्ठभूमि और लक्ष्य
- पहले से QWERTY में typing tests में आसानी से 100wpm तक पहुँच जाते थे, इसलिए speed खुद bottleneck नहीं थी
- सही touch typing सीखे बिना बाएँ हाथ पर ज़रूरत से ज़्यादा निर्भरता बन गई थी, और दायाँ हाथ लगभग सिर्फ छोटी उंगली तक सीमित था
- बहुत typing के बाद उंगलियों में दर्द होने लगा, और लगा कि यह आदत repetitive strain injury (RSI) तक जा सकती है
- सही finger placement को कई बार मजबूरन अपनाने की कोशिश की, लेकिन बार-बार पुरानी posture पर लौट जाते थे
- QWERTY से बेहतर लेआउट खोजते समय पहले आज़माए गए Workman की जगह Colemak-DH चुना गया
- Colemak-DH, Colemak का एक variant है, और Workman की कुछ कमियों से बचने वाला बेहतर लेआउट बताने वाली सामग्री ने इसे फिर से आज़माने की प्रेरणा दी
शुरुआती सीख: 0वें दिन से 1–4वें दिन तक
-
keybr.com से लेआउट सीखना
- शुरुआत से पूरी तरह switch करके काम न कर पाने की स्थिति से बचने के लिए keybr.com से शुरुआत की गई
- keybr.com home row से शुरू करता है और मौजूदा अक्षरों पर पर्याप्त accuracy मिलने पर अगला अक्षर खोलते हुए लेआउट को धीरे-धीरे सिखाता है
- layout emulation feature की वजह से कंप्यूटर पर Colemak-DH इंस्टॉल किए बिना भी अभ्यास किया जा सका
- नीचे सही उंगली को रंगों में दिखाने वाला keyboard दिखाई देता था, जो लेआउट याद होने से पहले reference के तौर पर उपयोगी था
- रोज़ लगभग 20 मिनट, 4 दिनों तक अभ्यास करके सभी अक्षर खोल लिए गए; प्रगति धीमी थी, लेकिन लेआउट का अहसास बनाने में मदद मिली
-
गति और accuracy में बदलाव
- 0वें दिन typing speed 22wpm थी
- 1–4वें दिन तक primary keyboard QWERTY ही रखा गया और सिर्फ keybr lessons किए गए
- 1–4वें दिन के अंत तक speed 45wpm तक पहुँच गई
- accuracy लगभग 95% थी, यानी 20 अक्षरों में 1 गलती; इससे सुधार ज़्यादा करने पड़ते थे और speed पर भी बड़ा असर पड़ता था
5वाँ दिन: वास्तविक Colemak-DH उपयोग की शुरुआत
-
macOS इंस्टॉलेशन
- काम का डिवाइस MacBook Pro था, और macOS में default Colemak layout तो है, लेकिन DH mod built-in नहीं है
- ColemakMods की layout files को Homebrew से इंस्टॉल किया गया
brew install --cask colemak-dh # Install Colemak-DH
- इंस्टॉल के बाद settings में layout दिखाने के लिए logout करके फिर login करना पड़ा
- QWERTY को भी साथ रखा गया और globe key या Ctrl+Space से दोनों layouts के बीच switch करने की व्यवस्था की गई
- यह work laptop था, और Apple keycaps आसानी से हटाने के लिए बने लगते नहीं थे, इसलिए keycaps नहीं बदले गए
-
पहले दिन का अनुभव
- 5वें दिन typing speed 50wpm थी
- QWERTY muscle memory बहुत गहराई से बसी हुई थी, इसलिए दिमाग को नए layout पर switch होने में समय लगा
- दिन के अंत तक अक्षर input कुछ हद तक ठीक लगने लगी, लेकिन corrections ज़्यादा होने से कुल speed अभी भी धीमी रही
- इससे साफ हुआ कि real keyboard usage में सिर्फ अक्षर typing ही नहीं, बल्कि shortcuts, modifier keys, symbols, Vim operations, commands और passwords जैसी चीज़ें भी बहुत होती हैं
स्विच के दौरान सामने आई मुख्य friction
-
keyboard shortcuts
- copy, paste, undo जैसे shortcuts उम्मीद से बड़ी समस्या नहीं बने
- कुछ कोशिशों के बाद ज़्यादातर पर adaptation हो गई, लेकिन URL select (Cmd+L) करना चाहने पर बार-बार नया browser window (Cmd+N) खुल जाता था
- shortcuts अक्सर position-based की बजाय mnemonic-based होते हैं, इसलिए लगा कि कुछ दिनों में इनकी आदत हो जाएगी
-
Shift और modifier keys
- अक्षर keys पर सही उंगलियाँ इस्तेमाल करना शुरू करने पर पता चला कि Shift के लिए लगभग हमेशा सिर्फ right Shift ही इस्तेमाल होता था
- दाईं ओर के capital letters टाइप करते समय अगर right pinky Shift पर बंधी रहे, तो सही finger placement बनाए रखना मुश्किल होता है
- क्योंकि layout को finger positions के रूप में याद किया गया था, इसलिए capital letters में lowercase की तुलना में गलतियाँ बहुत बढ़ गईं
- ऑनलाइन sticky keys इस्तेमाल करने का सुझाव मिला, लेकिन फिलहाल टाइप करने वाले हाथ के opposite-side Shift को जानबूझकर इस्तेमाल करने का अभ्यास किया गया
-
symbols और Portuguese input
- alternative keyboard layouts आम तौर पर symbol keys को बहुत नहीं बदलते, और Colemak-DH भी लगभग ऐसा ही है, लेकिन इंस्टॉल किया गया Colemak layout US layout पर आधारित था
- मूल रूप से जिस input की आदत थी वह Portuguese keyboard layout थी, इसलिए अक्षरों की जगह भले वही रही हो, symbols की जगह पूरी तरह अलग थी
- बिना configured Linux install या PC से Mac पर जाने पर symbol locations बदलने की आदत पहले भी रही थी, लेकिन switch की शुरुआत में symbols की accuracy लगभग 10% जैसी महसूस होती थी
- सही Portuguese लेखन के लिए ज़रूरी accents और ç input मौजूद नहीं थी, इसलिए Portuguese symbol keys वाले custom Colemak-DH layout पर विचार किया गया
- Brazilian Portuguese layout मिला, लेकिन इसे Mac पर काम करने वाले format में कैसे लाया जाए, यह समझ नहीं आया
-
Vim
- Vim keybindings कई जगह उपयोग होते हैं और लेखन Neovim में किया जाता है
- hjkl keys QWERTY home row पर होने की वजह से चुने गए संयोजन हैं, लेकिन Colemak में वे बिखर जाते हैं, इसलिए उपयोग का अनुभव काफी खराब हो गया
- फिलहाल arrow keys का उपयोग किया गया, लेकिन यह संतोषजनक नहीं था
- अगर hjkl को फिर से bind किया जाए तो Colemak में वह mnei बनता है, लेकिन e और i जैसे keys अक्सर word end और insert mode जैसे mnemonic-based bindings के लिए उपयोग होते हैं, इसलिए उन्हें बदलना मुश्किल लगा
- Colemak.org द्वारा सुझाई गई “Extend” layer को बाद में देखने लायक विकल्प माना गया
-
muscle memory और special input
- सामान्य text input की accuracy लगभग 98% तक पहुँच गई, लेकिन command-line commands जैसी muscle memory पर निर्भर input की accuracy बहुत कम रही
cd की जगह ds, jj की जगह nn टाइप हो जाने जैसी गलतियाँ हुईं
- passwords में input दिखती नहीं है और वे वास्तविक अक्षरों से ज़्यादा muscle memory पर निर्भर होते हैं, इसलिए गलतियाँ और बढ़ गईं
- passwords डालते समय फिलहाल वापस QWERTY पर switch किया गया
- फोन पर QWERTY ही बनाए रखा गया
- फोन input autocorrect और swipe typing पर निर्भर होती है, और उसकी muscle memory computer typing से बिल्कुल अलग है, इसलिए वहाँ कोई समस्या नहीं हुई
- mobile पर Colemak, सिर्फ अंगूठों से टाइप करने वाले माहौल की ergonomics समस्या हल नहीं करता, ऐसा माना गया
7वाँ–8वाँ दिन: पूर्ण उपयोग और स्थिरता
- 7वें–8वें दिन typing speed 65wpm थी
- यही वह पहला चरण था जब QWERTY पर वापस गए बिना Colemak को full-time इस्तेमाल किया गया
- speed और accuracy दोनों में सुधार हुआ, और अब बड़ी अटकन नहीं रही
- QWERTY के समय से अभी भी धीमे थे, लेकिन average user range में पहुँच गए थे, और मुख्य समस्या भी “गलत टाइप करना” से बदलकर “धीमे टाइप करना” रह गई
- symbols input और Shift usage भी बेहतर हुआ
- monkeytype की “punctuation” setting से symbol input का अभ्यास किया गया
- monkeytype में opposite-side Shift के उपयोग को force करने का तरीका भी संभव था, जिससे यह आदत सीखने में मदद मिली
- accents को Option/AltGr से डाला जा सकता था, इसलिए फिलहाल layout बदले बिना उसे वैसे ही रखा गया
2 हफ्ते बाद के नतीजे और निष्कर्ष
- लगभग 2 हफ्ते बाद typing speed 85wpm तक पहुँच गई
- हर दिन लगभग 10wpm का सुधार हो रहा है, और लगा कि मूल speed के करीब पहुँचा जा रहा है
- अब भी सबसे कठिन हिस्सा modifier keys दबाते समय accuracy बनाए रखना है
- modifier keys दबाने पर हाथों की position थोड़ा खिसक जाती है, और home row की छोटी उभरी निशानियों को फिर से ढूँढकर उंगलियों को वापस जगह पर लाना पड़ता है
- Colemak, हाथों को वास्तव में home row पर बनाए रखने की क्षमता के कारण QWERTY से बेहतर keyboard layout जैसा महसूस हुआ
- यह Portuguese input के लिए optimized नहीं है, लेकिन QWERTY से बदतर भी नहीं है, और क्योंकि कंप्यूटर पर मुख्य रूप से English लिखी जाती है, इसलिए यह पर्याप्त लगा
- speed change: {l:22,45,50,65,85}
-
Extend layer का उपयोग
- Extend layer में Caps Lock और दूसरी keys को साथ दबाकर page back, arrow key input, page scroll जैसी actions की जाती हैं
- कई कामों में keyboard से हाथ हटाने की ज़रूरत नहीं पड़ती, इसलिए यह सुविधाजनक है
- Vim भी Extend layer के ज़रिए काफी हद तक अनुकूल हो गया
- Extend layer, Colemak के बिना भी लागू की जा सकती है, इसलिए संबंधित दस्तावेज़ पढ़ने लायक हैं
-
अंतिम आकलन
- अगर कुछ दिनों की productivity गिरावट झेली जा सकती है और आप पूरे दिन typing करते हैं, तो इसे आज़माया जा सकता है
- अभी भी सुधार जारी है, लेकिन लगा कि जल्द ही मूल typing speed को पार किया जा सकता है
1 टिप्पणियां
Lobste.rs टिप्पणियाँ
मज़ाक अलग, लेआउट बदलना touch typing में सुधार करने के लिए खुद को मजबूर करने का एक अच्छा मौका ज़रूर है, लेकिन यह काफ़ी radical कदम है, इसलिए सबको इसकी सलाह देना मुश्किल है
जो व्यक्ति हर जगह Vim key bindings इस्तेमाल करता है, उसके लिए
hjklवे keys हैं जिन्हें QWERTY home row के हिसाब से चुना गया था, लेकिन Colemak में वे बिखर जाती हैं, जो काफ़ी परेशान करता है। Dvorak में कम से कमjkबाएँ हाथ में औरhlदाएँ हाथ में हैं, और क्रम भी सही रहता है, इसलिए थोड़ा बेहतर है। bindings बदलना एक slippery slope है, क्योंकि Vim के अलावा भी बहुत-से software Vim mode सपोर्ट करते हैं और default movement/action keys के अक्सर अपने मायने होते हैंमैंने कुल 34-key keyboard पर भी स्विच किया, जो touch typing के लिए सच में अच्छा है, लेकिन व्यवहार में मैं शायद और धीमा हो गया हूँ। फिर भी, मेरे काम में WPM लगभग कभी मुद्दा नहीं होता
जब मैंने पहली बार Vim सीखा, तब मैं इतना जानकार नहीं था कि
hjklको remap करना चाहूँ, और उस समय consulting company में pair programming भी बहुत करता था। नतीजा यह हुआ कि Colemak मेंhjklकी पोज़िशन वैसे ही सीख ली, और अब QWERTY पर Vim कैसे इस्तेमाल करूँ, यह भी नहीं पता 😬Ctrl-AऔरCtrl-PColemak में भी QWERTY जितना ही हाथों को उलझाते हैं, और Emacs में तो यह खास तौर पर बुरा थाउस समय समाधान Kinesis पर स्विच करना था, जिसने अंगूठों से ज़्यादा keys, खासकर Ctrl और Alt, दबाने की सुविधा दी और मदद मिली। अब मैं फिर सामान्य keyboard पर लौट आया हूँ, लेकिन ergonomics और आराम पर ध्यान देकर चोट को संभाल सकता हूँ
laptop के QWERTY keyboard पर typing करते हुए repetitive strain injury शुरू होने लगी, तो Dvorak पर स्विच किया, और बाद में Kinesis Freestyle split keyboard खरीदा। कुछ साल तक इससे मदद मिली, लेकिन शायद कई key bindings की दर्दनाक finger contortions या smartphone इस्तेमाल जैसे keyboard के बाहर के कारणों से लक्षण फिर धीरे-धीरे लौट आए
अब मैं MoErgo Glove80 इस्तेमाल कर रहा हूँ और मुझे यह बहुत पसंद है। मैंने Glorious Engrammer(https://sunaku.github.io/moergo-glove80-keyboard.html) flash किया है, और उसी निर्माता का Enthium layout इस्तेमाल कर रहा हूँ। डेस्क पर अब typing बहुत आरामदायक है, और डेस्क से बाहर मैं QWERTY दोबारा धीरे-धीरे सीखकर इस्तेमाल कर रहा हूँ
नया layout सीखना धीमा है, लेकिन मूल पोस्ट में बताए गए keybr.com जैसे online tools काफ़ी उपयोगी हैं। पेज खोलकर जब तक मन चाहे टाइप करें, तो समय के साथ प्रगति या ठहराव देख सकते हैं
Glove80 खरीदने से पहले repetitive strain injury से जूझते समय मैंने Talon भी इस्तेमाल करना शुरू किया था और उसके लिए पैसे भी दिए थे; यह voice से कंप्यूटर कंट्रोल करने का बेहतरीन software है। अब मैं इसे typing के सहायक साधन के रूप में सीमित तौर पर इस्तेमाल करता हूँ
सब लोग अपना ख़याल रखें
उदाहरण के लिए, column-stagger keyboard पर स्विच करने से उँगलियों की बाएँ-दाएँ मूवमेंट, खासकर सामान्य typing में तर्जनी की मूवमेंट, कम हो सकती है और दबाव घट सकता है। लेकिन ऐसे keyboards पर QWERTY काफ़ी खराब है, क्योंकि इसमें alternate finger input कम है और अक्सर इस्तेमाल होने वाले
TऔरNऐसी जगह हैं जहाँ तर्जनी को diagonal move करना पड़ता है। ऐसे keyboards पर वह layout कहीं बेहतर बैठता है जो उन diagonal positions का दबाव कम करे; उदाहरण के लिए Colemak-DH वहाँbvjkरखता है, जिससे बहुत अधिक इस्तेमाल होने वाले अक्षरों से बचा जाता हैपहला व्यावहारिक समाधान kmonad से Caps को Bks/Ctl dual function और Enter को Ent/Ctl dual function बनाना था। दूसरा Atreus keyboard इस्तेमाल करना था, जिसमें ज़्यादातर modifier keys अंगूठों पर थीं, और तीसरा व हालिया समाधान Atreus को Miryoku layout में बदलना, home row modifiers और thumb layers का इस्तेमाल करना, और दूसरे keyboards पर kanata के जरिए Miryoku-lite लगाकर home row modifiers और Space की एक alternate layer इस्तेमाल करना है
इसमें थोड़ा समय लगा, लेकिन मेहनत काफ़ी कम लगी, और अगर एक ही बार में पूरी तरह बदलना पड़ता, तो शायद मैं कभी स्विच नहीं करता। कुल मिलाकर स्विच करना सही फ़ैसला रहा, और उँगलियों पर तनाव साफ़ तौर पर कम हुआ
grp:switchxkb option इस्तेमाल करता हूँ, जिससे दाएँ Alt को अंगूठे से दबाकर रखने भर से अस्थायी रूप से QWERTY पर स्विच हो जाता हूँ। यह बहुत सुविधाजनक था और सीखना भी आसान थाइसी तरह, WASD ढूँढने वाले games जैसी चीज़ों के लिए
grp:shifts_toggleसे QWERTY toggle कर लेता हूँ। मुझे लगता है कि स्विच करना सही रहाlayout बदलने के बाद speed बढ़ने का जो एहसास होता है, उसके बारे में मुझे लगभग 0.8 भरोसा है कि उसकी वजह layout का अंतर नहीं, बल्कि यह है कि keycaps पर लिखे अक्षर और असली layout मेल नहीं खाते, इसलिए आप keys को देखना छोड़ने पर मजबूर हो जाते हैं
मेरी typing speed में असली सुधार theory सीखने से आया — यानी hand position और सभी उँगलियों का इस्तेमाल जैसी बुनियादी बातें — और कुछ साल बाद keycaps को opaque adhesive tape से ढक देने से, ताकि मैं keys को देख ही न सकूँ
अगर लक्ष्य टाइपिंग स्पीड बढ़ाना है, तो लेआउट बदलने से पहले keycaps को अपारदर्शी स्टिकर से ढकने, या एक शानदार blank keyboard खरीदने की सलाह दूँगा
बस QWERTY में यह आदत कभी बनी नहीं, और लेआउट बदलते ही सही पोज़िशन अपनाना और keycaps की तरफ न देखना अपने-आप साथ आ गया। ऊपर से थोड़ा अधिक ergonomic layout होने का फायदा भी मिला
स्पीड नापी नहीं है, लेकिन महसूस में Colemak और QWERTY लगभग समान हैं। लोग कहते हैं Colemak ज़्यादा ergonomic है, और चूँकि मैं इसे पहले से जानता हूँ, इसलिए इसे इस्तेमाल करता रहता हूँ
लेकिन किसी नए सीखने वाले को मैं Colemak की सलाह नहीं दूँगा। मैं Swedish हूँ और ज़्यादातर Swedish developers के साथ काम करता हूँ, इसलिए उन्हें Colemak की बजाय English QWERTY सीखने को कहूँगा। Swedish QWERTY में programming करते समय special keys काफी असुविधाजनक हैं। Colemak और English QWERTY की तुलना करें, तो English QWERTY 90/10 नियम के ज़्यादा करीब है, जहाँ 10% निवेश पर 90% लाभ मिल जाता है
laptop पर मैं लगभग 2 साल से canary keyboard layout इस्तेमाल कर रहा हूँ, और उससे पहले Programmer's Dvorak इस्तेमाल करता था। Android पर @natkr का flickboard इस्तेमाल करता हूँ, जो सामान्य keyboard नहीं है
ऐसे alternative layouts को आसानी से इस्तेमाल करने में home-row-mods और kmonad जैसे प्रोग्राम बहुत मदद करते हैं, और इनके बिना शायद मैं Emacs इस्तेमाल ही नहीं कर पाता
अगर आप सोचते हैं कि alternative layout पर स्विच करने से आरामदायक सफर शुरू होगा और super saiyan स्तर की स्पीड मिल जाएगी, तो मैं इसकी सिफारिश नहीं करूँगा। कम से कम मेरे साथ ऐसा नहीं हुआ, फिर भी मेरे लिए यह काफ़ी मूल्यवान रहा
हाल ही में Kinesis Advantage खरीदा है और यह मुझे बहुत पसंद है, लेकिन Vim में programming करना काफ़ी भयानक है। हर तरह के brackets दाएँ हाथ की चौथी और पाँचवीं उँगली से टाइप करने पड़ते हैं। सुना है कि इसे हल करने के लिए Programmer's Dvorak layout मौजूद है
निजी तौर पर, मैंने उन programming projects पर n-gram statistics निकाले जिन पर मैं अक्सर काम करता हूँ। हर व्यक्ति की programming languages की मिलावट अलग होती है, इसलिए उसी आधार पर मैंने symbol layer डिज़ाइन की
उदाहरण के लिए, unigram frequency यह बताती है कि कौन-से symbols को home row पर रखना चाहिए, और साथ ही अक्सर आने वाले bigrams को ध्यान में रखकर इस तरह रखा कि एक ही उँगली से लगातार टाइपिंग न हो, या जहाँ संभव हो वहाँ finger rolls बनें
symbols और programming के लिए यह निश्चित रूप से बेहतर है, लेकिन basic Dvorak keyboard सीखने की तुलना में rearranged symbols की आदत डालने में ज़्यादा समय लगा। Moonlander में मैंने numpad layer भी रखी है, और अगर उसमें numbers क्रम में न होते, तो शायद मैं कभी अभ्यस्त नहीं हो पाता। मुझे पता है कि numbers का क्रम तकनीकी रूप से पूरी तरह random नहीं है, लेकिन इसमें ऐसा कोई पैटर्न भी नहीं है जिसे एक वाक्य में समझाया जा सके, इसलिए यह दिमाग में बैठा नहीं
मैं पहले से तेज touch typist था, IBM Selectric पर सीखा था और लगभग 100 WPM तक पहुँचता था, लेकिन repetitive strain injury से जूझना पड़ा और Colemak ने काफी मदद की। पुरानी स्पीड पूरी तरह वापस नहीं आई, इसलिए अब लगभग 85 WPM है, पर यह पर्याप्त तेज है इसलिए ज़्यादा परवाह नहीं करता
इससे भी अधिक optimized keyboard layouts ज़रूर हैं, लेकिन Colemak आजकल लगभग हर जगह इस्तेमाल किया जा सकता है, दूसरे विकल्पों जितना disruptive नहीं है, और एक अच्छा 80% समाधान है
पहले Spanish QWERTY keyboard पर स्पीड तो थी, लेकिन touch typing नहीं कर पाता था। Colemak में touch typing संभव है, लेकिन मेरी नज़र में अभी भी काफी धीमा हूँ और गलतियाँ भी बहुत होती हैं। जब कुछ गंभीर काम करना होता है, तो ज़्यादा फोकस करने के लिए QWERTY laptop पर लौट जाना भी मदद नहीं करता
मैं गंभीरता से इसे छोड़ने के बारे में सोच रहा हूँ। शायद US QWERTY पर touch typing सीखना बेहतर होता। वह Spanish QWERTY से बहुत मिलता-जुलता है, और symbols की positions भी बेहतर लगती हैं। हर नए system पर जाने पर होने वाला configuration overhead भी नहीं चाहिए