แชร์ประสบการณ์ปรับมาใช้ Ergodox และ Dvorak ในหนึ่งเดือน EP 2: Dvorak Keyboard Layout
ใน ตอนที่แล้ว เราพูดถึงคีย์บอร์ด Ergodox EZ ไปแล้ว ในตอนนี้ผมจะมาพูดถึงตัว Dvorak Keyboard Layout บ้างในตอนนี้ว่าทำไม ผมถึงเลือกใช้ตัวนี้และผมเดาว่าหลายๆ คนน่าจะมีคำถามว่า เปลี่ยนแล้วพิมพ์เร็วขึ้นเหรอ เดี๋ยวผมจะมาตอบคำถามในตอนนี้นะครับ
Dvorak
ก่อนอื่น ถ้าใครเคยสังเกตุคีย์บอร์ดที่เราใช้อยู่กันปกติ ถ้าเป็นแป้นภาษาอังกฤษจะอยู่บนพื้นฐานของ Layout ชื่อว่า QWERTY ครับ ซึ่งใช้มาตั้งแต่ยุคเป็นเครื่องพิมพ์ดีดมา ซึ่งลือกันว่าที่ Layout ถูกวางแบบนี้เพื่อที่จะให้แป้นพิมพ์ขัดกันน้อยที่สุดในยุคนั้นครับ แต่จริงๆ เรื่องนี้มีอะไรมากกว่านั้นครับ ถ้าลอง Search ดูจะสนุกมาก แต่ไม่ใช่ประเด็นหลักที่ผมจะมาเล่าวันนี้
Dvorak Heat map จาก daskeyboard.com/blog/the-dvorak-keyboard-la..
ข้ามเรื่อง QWERTY มาจนปี 1932 August Dvorak ได้เปิดตัว Dvorak Simplified Keyboard โดยออกแบบมาเพื่อลดความผิดพลาด, เพิ่มความเร็วและลดความเมื่อยล้าที่เกิดจากการพิมพ์ครับ โดยศึกษาจากความถี่ของตัวอักษรที่ถูกพิมพ์ในภาษาอังกฤษ ฟีเจอร์หลักๆ จะมี
- นำเอาตัวอักษรที่พิมพ์บ่อยที่สุดมาไว้ใน home row ทำให้เรา ไม่ต้องขยับนิ้วขึ้นลงบ่อยๆ เหมือน QWERTY
- ตัวสระในภาษาอังกฤษทั้งหมดก็อยู่ใน home row ด้วยครับ
- ตัวอักษรที่พิมพ์บ่อยๆ Dvorak จะย้ายมันไปอยู่ top row แทน bottom row ครับ เพราะเชื่อว่า เราสามารถยกนิ้วขึ้นไปพิมพ์ได้ง่ายกว่ากดนิ้วลงมาใน bottom row
โดยอัตราส่วนในการพิมพ์ของแต่ละ row (top-home-bottom) ของ Dvorak จะอยู่ที่ 22% - 70% - 8% เทียบกับ QWERTY ซึ่งอยู่ที่ 52% - 32% - 16%
ทำไมถึงไม่ไป Colemak หรือ Workman หรือ ...
ต้องบอกว่านี่เป็นจุดที่ตัดสินใจยากมากๆ จุดนึงเลย เพราะคนที่ผมรู้จักรอบตัวมีทั้ง Dvorak กับ Colemak และฝั่ง Colemak จะบอกเป็นเสียงเดียวกันว่า เปลี่ยนแค่ 17 ปุ่มเองนะ ซึ่งหลังจาก ชั่งน้ำหนักกับหาข้อมูลหนักมากในช่วงนั้นมี 2 เหตุผลหลักๆ ที่ผมเลือกมา Dvorak
เหตุผลแรกคือ Programmer Dvorak ซึ่งเป็นอีก Layout นึง แต่สุดท้ายแล้วผมไม่ได้ไปถึงตรงนั้น เพราะมันประหลาดจริงๆ (ลองไปดูแถวตัวเลขได้) แต่ผมได้ยินมาจากซักคลิปใน Youtube นี่แหละว่า Dvorak มันเหมาะกับการเขียนโปรแกรมกว่า เพราะมันย้าย underscore มาไว้ตรงนิ้วก้อย ซึ่งเป็นหนึ่งในปุ่มที่กดบ่อยที่สุดเวลาเขียนโปรแกรม (ที่แน่ๆ Python ที่ใช้ snake case เป็นหลักภาษานึงละ) อีกปุ่มนึงที่ผมใช้บ่อยตามมาพอกันคือ comma กับ dot ซึ่งพอย้ายไปอยู่ top row ความเห็นส่วนตัวคือมันกดสบายกว่าเยอะเลย จะมีปุ่มเดียวที่ผมไม่ค่อยโอเคเท่าไรคือ semi-colon ที่อยู่ที่นิ้วก้อยซ้าย bottom row
เหตุผลที่สองคือ ข้อได้เปรียบหลายๆ อย่างของ Colemak มันไม่มีประโยชน์ในตอนที่ผมเปลี่ยนมาใช้ Ergodox อยู่ดี อย่างเช่นเปลี่ยนแค่ 17 ปุ่ม แต่ผมเปลี่ยน layout ขอบๆ แทบจะทั้งหมด หรือเคสที่ปุ่ม copy / paste อยู่ตำแหน่งเดิม ผมก็ไม่ได้ใช้ เพราะแมพปุ่ม copy/paste ในปุ่มใหม่เลย
Learning Process
ทีนี้พอตัดสินใจเลือกได้แล้ว ก็ถึงเวลาฝึก ถ้าเราดูหลายๆ ที่จะแนะนำให้ไปฝึกที่เว็บ https://learn.dvorak.nl/ ซึ่งผมลองอยู่แปปนึงแล้วก็คิดว่า เออมันไม่สนุกเลยจนผมไปเจอเว็บ TypingClub ซึ่งมีบทเรียนทั้ง Dvorak และ Colemak เลย
ซึ่งการเรียนใน TypingClub ออกแบบมาดีมากๆ คือ นอกจากค่อยๆ เทรน muscle memory เราให้แต่ละนิ้วก้าวออกไปอย่างที่มันควรจะเป็นแล้ว ในแต่ละบทยังมีเกมให้เราเล่นด้วย ซึ่งช่วงแรกๆ ผมเรียนรัวๆ มากพอเรียนครบทุก row แล้วบทเรียนจะค่อยๆ เปลี่ยนให้เราเพิ่ม Speed + Accuracy ตามมาครับ โดยพิมพ์เป็นบทความมากขึ้นคล้ายๆ กับที่เราพิมพ์ใน MonkeyType แต่ว่าบทความจะคัดมาให้เหมาะกับเรื่องที่เราต้องฝึกเลย และก่อนเข้าบทความก็จะสอน combo ที่เจอบ่อยๆ ให้เราพิมพ์ rolling finger ได้ง่ายขึ้นเช่น est, ing, the อะไรพวกนี้ครับ จังหวะตอนเรียนช่วงนี้เหมือนร่ายมนต์มาก
ช่วงแรกๆ ที่พิมพ์ได้แค่ 10+ wpm นี่เจ็บปวดมาก แต่ก็ค่อยๆ ดีขึ้นตามเวลาครับ
นอกจาก TypingClub ช่วงแรกใช้ 3 layout (en-QWERTY, en-Dvorak, th-QWERTY) ตอนกลางวันทำงานก็จะใช้ QWERTY แต่พอค่ำๆ เลิกงานก็จะสลับมา Dvorak เพราะว่าช่วงที่ความเร็วตกมันแทบจะทำให้ทำงานอะไรไม่ได้เลย ตอนที่พิมพ์ยังไม่ถึง 40 wpm อีกอย่างที่ช่วยคือ ตอนเช้าๆ สิ่งแรกที่ทำหลังจากเปิดคอมคือ มาพิมพ์ประโยค The quick brown fox jumps over the lazy dog ทุกวัน ประโยคนี้เป็น Pangram ให้ฝึกนิ้วเราไปทุกๆ ตัวอักษร ซึ่งผมได้มาตอนฝึก Calligraphy หลายปีละ
แต่จุดเปลี่ยนจริงๆ ของการปรับมาใช้อยู่ที่วันที่คีย์บอร์ดเก่าผมพัง จังหวะพอดีมากๆ ที่พิมพ์ได้ประมาณ 40 wpm อยู่ดีๆ ก็พิมพ์ไม่ติด แล้ว flash firmware ไม่ได้เลยต้องบอกลาตัวเก่า แล้วสลับมาใช้ Ergodox เต็มตัว และด้วยความที่ไม่เคยฝึกพิมพ์ QWERTY ใน Ergodox มาก่อนเลย เพราะฉะนั้นมันเลยบังคับตัวเองให้ใช้แค่ 2 layout คือ en-Dvorak และ th-QWERTY ครับ
แล้วภาษาไทยหละ
ส่วนตัวผมเคยเรียนพิมพ์สัมผัสภาษาไทยตั้งแต่เด็กมากๆ เลยเลือกที่จะยังอยู่บน QWERTY อยู่ครับ แล้วตัวอักษรส่วนใหญ่ยังครอบคลุมได้ใน Ergodox จะมีพวกตัวที่อยู่กับ - = [ ] ซึ่งตรงกับ ข ช บ ล ที่ต้องมาฝึกใหม่ให้หัดมาใช้นิ้วโป้ง ในการกดปุ่มพวกนี้แทน ซึ่งเอาจริงๆ ก็ใช้เวลาแค่ 2 - 3 สัปดาห์ ก็ปรับตัวได้แล้วครับ
จะมีที่น่ารำคาญนิดหน่อยคือ ด้วยความที่ผมแมพ Ergodox ให้ Layer เป็น Dvorak เลย พอจะเปลี่ยนมาใช้ QWERTY ก็ต้อง switch มาอีก layer แล้วต้องเปลี่ยน input language จากภาษาไทยเป็นอังกฤษด้วย ตอนนี้เลยต้องกด 2 ปุ่มคือ ปุ่ม switch layer + ปุ่ม switch language ซึ่งก็ลำบากพอๆ กับตอนใช้คีย์แมคปกติที่กด cmd + space
ซึ่งช่วงแรกๆ ตอนก่อนคีย์บอร์ดพังยังไม่ย้ายมา Dvorak เต็มตัว Layer หลักจะยังเป็น QWERTY อยู่ แต่พอเริ่มอยู่บน Dvorak ได้อย่างปกติสุขแล้ว ก็เปลี่ยน Layer หลักมาเป็น Dvorak และ Layer รองเป็น QWERTY แทนชีวิตก็ง่ายขึ้นเยอะเลย
มันไม่ใช่แค่ Layout เปลี่ยนแต่ Muscle Memory ด้วย
สิ่งที่ผมมาเรียนรู้อย่างนึงพอต้องมาปรับ Layout คือ เราไม่ได้ใช้คีย์บอร์ดแค่พิมพ์คำหรือประโยค แต่มันคือ Input แทบทั้งหมด ซึ่งรวมถึงคีย์ลัดในโปรแกรมต่างๆ อย่าง Text Editor, Browser, Terminal ด้วย ซึ่งแม้กระทั่ง command ง่ายๆ ที่เราเคยใช้ทุกๆ วันอย่าง ls, cd หรือพวก git shortcut ใน zsh อย่าง gst, gd อะไรพวกนี้ต้องมาฝึกกล้ามเนื้อใหม่ด้วย ซึ่งกว่าจะปรับมาคืนได้ อันนี้ก็เกือบๆ เดือนเต็มๆ ครับ
ที่หนักที่สุดและฉิบหายวายป่วงที่สุดสำหรับผมคือการที่ผมเป็นชาว Vim นี่แหละ เพราะว่า Muscle memory ของ Vim จะอยู่บน QWERTY หมดเลย ซึ่งแรกๆ ผมใช้วิธีถ้าอยู่ใน Normal mode จะสลับ layout เป็น QWERTY แล้วถ้า Input ค่อยเปลี่ยนเป็น Dvorak แต่ทำแบบนั้นได้ไม่นานก็รู้สึกว่า ชีวิตมันยากเกินไป เพราะเราต้องจำ 2 state ในหัวคือ state ของ layout กับ state ของ Vim mode ไปพร้อมๆ กัน ซึ่งเละเทะมาก จนผมแทบจะเลิกใช้ Vim ไปเลย
จนกระทั่งตอนที่ผมเริ่มจะ comfort กับ Dvorak จริงๆ ช่วงที่อยู่ประมาณ 60 wpm เป็นช่วงที่ผมเริ่มจะกลับมาฝึกใช้ Vim กับ Dvorak อีกรอบนึง แล้วปรับให้ home row มือขวาใน Layer navigation ของคีย์บอร์ดเป็นลูกศรเรียงแบบ h j k l ใน Vim normal mode และเริ่มฝึก Vim ใหม่กับปุ่มบน Dvorak ซึ่งก็มีดีๆ หลายที่เลยเช่น จะเข้า insert mode กด i มันใกล้มือมากแล้วอยู่ใน home row หรืออย่าง w b ที่เป็น word jump ก็อยู่ใกล้กันมากขึ้น แต่พวก chord ที่เคยกด combo กันอย่าง DT + char พวกนี้ประสบปัญหาเดียวกับ command ใน Terminal ข้างบนเลยคือต้องฝึกใหม่หมด
สรุป
กลับมาตอบคำถามที่ผมทิ้งไว้อันแรกข้างบนคือ พิมพ์เร็วขึ้นมั้ย ผมต้องบอกตามตรงว่าผมยังพิมพ์ไปไม่ถึงความเร็วเฉลี่ยที่ผมพิมพ์ได้ใน QWERTY ที่ 90+ wpm โดยตอนนี้ก็ยังอยู่ได้แค่ที่ 70 - 80 wpm เลยต้องฝึกไปอีกซักพักครับ แต่ถ้ามีจุดต่างแน่ๆ ในมุมของการพิมพ์สัมผัสคือมันเมื่อยน้อยลงอย่างรู้สึกได้ แล้วข้อมือผมไม่ต้องยกบ่อยๆ ถ้าเทียบกับตอนพิมพ์บน QWERTY และก็นิ้วกวาดไปทั่วคีย์บอร์ดอย่างบ้าคลั่ง พอสลับมาใช้ Dvorak แล้วเคยอัด Timelapse ไว้ตอนเรียน HtDP เห็นว่านิ้วตัวเองอยู่ใน Home row เยอะมาก
ตอนนี้ก็น่าจะจบประมาณนี้ก่อน ส่วนตอนหน้าเป็นตอนสุดท้ายผมจะมาเล่าสิ่งที่ได้เรียนรู้นอกจากที่ผมเล่ามาตลอด 2 ตอนด้วย จะเป็นยังไงก็คอยติดตามต่อกันได้ครับ ถ้าใครชอบบทความสามารถกด subscribe ได้ในช่องข้างล่างเลยครับ หรือจะกดไลค์เพจ เขียนงูให้วัวกลัว ก็ได้ แล้วเจอกันใหม่ตอนหน้าครับ