QMK Software: ของดีสำหรับผู้ใช้ Custom Keyboard

จากบทความก่อนหน้าที่เราได้รู้จัก VIA Software ไปแล้วนั้น (หากท่านใดยังไม่ได้อ่านสามารถคลิกที่นี่ได้เลย) ยังมีอีกหนึ่ง Software ที่น่าสนใจ นั่นก็คือ QMK นั่นเอง ซึ่งย่อมาจาก Quantum Mechanical Keyboard แต่ถ้าเป็นศัพท์ในวงการนักเล่น Custom Keyboard เขาจะเรียกซอฟต์แวร์นี้ว่า QMK Firmware บ้างก็เรียก QMK Program หรือบางคนเรียก QMK Software (ซึ่งจริงๆ แล้ว ก็คือ โปรแกรมตัวเดียวกันนั่นเอง)

คุณสามารถเลือกอ่านหัวข้อที่สนใจได้ที่นี่:

  • มารู้จัก QMK Software กันเถอะ
  • QMK Software ดียังไง
  • ไม่ต้องเขียน code ก็ใช้ QMK Software เบื้องต้นได้
  • แล้ว QMK Software ทำอะไรได้อีก

มารู้จัก QMK Software กันเถอะ

QMK Software คือ ซอฟต์แวร์ประเภทหนึ่งที่เปิดเผยชุดคำสั่งต่างๆ (source code) ภายในโปรแกรม ให้คนทั่วไปสามารถดัดแปลง แก้ไข พัฒนาต่อยอด และที่สำคัญคือสามารถนำไปใช้ได้ฟรีโดยที่ไม่ต้องจ่ายค่าลิขสิทธิ์ โดยซอฟต์แวร์นี้เผยแพร่ผ่านเว็บไซต์ที่มีชื่อว่า GitHub ซึ่ง QMK Software นั้นเป็นซอฟต์แวร์ที่สามารถทำให้ Mechanical Keyboard นั้นเป็นไปได้มากกว่าแค่ Keyboard ธรรมดาทั่วไป ก็คือ เราสามารถเปลี่ยนปุ่มบนคีย์บอร์ดได้ (Keymap) สร้างชุดคำสั่งเองได้ (Macro) กดปุ่มเพื่อเปลี่ยนแสงไฟคีย์บอร์ดได้ (QMK Lighting) และยังมีความสามารถอื่นๆ อีกมากมาย

เชื่อว่าหลายคนเมื่อเข้าสู่วงการ Custom Keyboard แล้วน่าจะคุ้นเคยกับนักพัฒนาที่ใช้ชื่อว่า Jack Humber กันมาบ้าง ผู้ชายคนนี้นับได้ว่าเป็นผู้คิดค้นและพัฒนา QMK Software รุ่นบุกเบิกเลยทีเดียว และได้ร่วมกับนักพัฒนาที่มีชื่อเสียงในวงการอีกหลายท่าน เช่น Hasu, Zach White และ ZSA Technology Labs มาพัฒนา QMK Software ให้สมบูรณ์มากยิ่งขึ้น จนกระทั่งกลายเป็นซอฟต์แวร์ที่ได้รับความนิยมในปัจจุบัน

QMK Software ดียังไง

หลายคนคงอ่านบทความมาถึงจุดนี้แล้วอาจจะตั้งคำถามว่า โปรแกรม QMK Software นี้ดีกว่าโปรแกรมอื่นยังไง คำตอบก็คือ ผู้ใช้สามารถปรับแต่งคีย์บอร์ดได้อย่างอิสระกว่าการใช้ซอฟต์แวร์ตัวอื่นๆ ยกตัวอย่างเช่น จากบทความก่อนหน้าที่เราพูดถึงการใช้งาน VIA Program ไปแล้วนั้น ก็ยังมีข้อจำกัดในเรื่องไม่สามารถสร้าง Layer ของปุ่มเพิ่มเติมได้ รวมถึงไม่สามารถกดปุ่มบนคีย์บอร์ดเพื่อทำการคลิกเมาส์ได้ แต่ QMK Software ทำได้ แต่ต้องยอมรับก่อนว่าการใช้งาน QMK Software นั้นก็อาจจะยุ่งยากกว่าเล็กน้อย เพราะว่าผู้ใช้อาจจำเป็นต้องศึกษาคู่มือก่อนการใช้งาน และคู่มือเป็นภาษาอังกฤษ รวมถึงในบางฟังก์ชั่น (Function) ผู้ใช้จำเป็นต้องมีความรู้เบื้องต้นเกี่ยวกับการเขียนโปรแกรมร่วมด้วย แต่ที่จริงแล้วไม่ยากอย่างที่คิด ในบทความนี้จะมาบอกวิธีการอย่างง่าย ให้ท่านสามารถใช้ QMK Software ได้อย่างแฮปปี้สุดๆ ไปเลย

ฟังก์ชั่นของ QMK Software นั้นทำได้มากกว่าซอฟต์แวร์ตัวอื่นๆ ซึ่งอาจจะเป็นเหตุผลว่าทำไม QMK Software ถึงได้รับความนิยมในปัจจุบัน ผู้เขียนขอยกตัวอย่างฟังก์ชั่นผ่านการใช้งานบนเว็บไซต์ QMK Configurator ว่าสามารถทำอะไรได้บ้าง ดังนี้

Keymap คือ การเปลี่ยนปุ่ม เช่น เราต้องการเปลี่ยนปุ่ม Insert เป็น Delete เปลี่ยนตัวอักษรอื่นๆ รวมถึงสามารถเปลี่ยนเป็นปุ่มเพื่อใช้สำหรับเปิดโปรแกรมก็ทำได้เช่นกัน
Layer คือ การกำหนดฟังก์ชั่นต่างๆ เวลากดปุ่ม Fn ได้ ยกตัวอย่างเช่น หากต้องการเปิดโปรแกรมเครื่องคิดเลข เราสามารถกดปุ่ม Fn + ปุ่มที่ต้องการ เพื่อเปิดโปรแกรมได้ (หรือจะเปลี่ยนเป็นการเปิดโปรแกรมอื่นๆ ก็ได้เช่นกัน)
Macro คือ การสร้างชุดคำสั่งเองโดยการกดเพียงปุ่มเดียว สถานการณ์ที่ใช้งานบ่อยๆ คือ เวลาเล่นเกม โดยเฉพาะเกมยิง (First-person shooter) หรือเรามักเรียกกันสั้นๆ ว่า FPS บางครั้งเวลาเจอศัตรูแล้วต้องใช้อาวุธเฉพาะทาง ผู้เล่นจำเป็นต้องกดหลายปุ่มเพื่อเลือกปืน เลือกกระสุน เลือกชุดเกราะ ซึ่งในกรณีนี้ต้องเลือก 3 สิ่ง หมายความว่า ผู้เล่นจะต้องกดปุ่ม 3 ครั้งหรือมากกว่า 3 ครั้ง แต่ถ้าผู้เล่นใช้ Macro ก็กดเพียงปุ่มเดียว สามารถเลือกปืน/กระสุน/ชุดเกราะ ได้ในครั้งเดียวเลย เรียกว่าเป็นฟังก์ชั่นที่ชาวเกมเมอร์น่าจะถูกใจทีเดียว
Backlight settings คือ การตั้งค่าปุ่มเพื่อเพิ่ม/ลดความสว่าง, เปิด/ปิดแสง, หรือการแก้ไขการแสดงไฟบนคีย์บอร์ด
RGB Lighting settings คือ การเปลี่ยนแสงสี (RGB) บนคีย์บอร์ด ผู้ใช้สามารถสร้าง custom key เพื่อเปลี่ยนสีไฟ และเปลี่ยนรูปแบบแสงไฟบนคีย์บอร์ดได้อย่างอิสระ
Application คือ การเปิดโปรแกรมด้วยการกดปุ่มบนคีย์บอร์ด เช่น กดปุ่มเพื่อเปิด Google Chrome หรือโปรแกรมอื่นๆ ตามที่เราต้องการได้
Multimedia Keys คือ การตั้งค่าปุ่มให้ เพิ่ม/ลดเสียง, เล่นเพลงก่อนหน้า/เล่นเพลงถัดไป, เปิด/ปิดเสียง เป็นต้น
Mouse key คือ การเปลี่ยนปุ่มบนคีย์บอร์ดเป็นเมาส์ เช่น กดปุ่ม a เพื่อคลิกซ้าย/คลิกขวา/scroll เมาส์ เป็นต้น
Extra Fn keys คือ สามารถเพิ่มปุ่ม F ให้ได้มากกว่าเดิม ปกติเวลาใช้งานบน Windows จะมีปุ่ม F1-F12 แต่หากว่าใช้ QMK Software จะมี F ให้ใช้มากถึง F24 กันเลยทีเดียว

ไม่ต้องเขียน code ก็ใช้ QMK Software เบื้องต้นได้

จะขอยกตัวอย่างการใช้ QMK Software อย่างง่ายโดยไม่ต้องเขียน code เป็นการสาธิตวิธีสร้างปุ่มเครื่องคิดเลข โดยการกดที่คีย์บอร์ดปุ่มเดียวแล้วโปรแกรมเครื่องคิดเลขก็จะปรากฏขึ้นมาทันที ในกรณีนี้จะขอสาธิตโดยใช้คีย์บอร์ด Keychron รุ่น Q1 (หากใช้ Keychron รุ่น Q1 Knob Version, Q2, Q3 ก็สามารถทำตามได้เลย) 

ขั้นตอนในการแก้ไขปุ่มบนคีย์บอร์ด หรือเพิ่มฟังก์ชั่นต่างๆ บนคีย์บอร์ด Keychron ด้วย QMK Configurator นั้นไม่ยาก หลักๆ มีอยู่ 4 ขั้นตอนเท่านั้น

1. แก้ไขปุ่มต่างๆ ผ่านเว็บ QMK Configurator

2. ติดตั้งโปรแกรม QMK Toolbox ลงในคอมพิวเตอร์

3. ตั้งค่าคีย์บอร์ดให้อยู่ใน DFU Mode

4. อัพเดท Firmware ให้กับตัวคีย์บอร์ด

ขั้นตอนที่ 1: แก้ไขปุ่มต่างๆ ผ่านเว็บ QMK Configurator 

  • เข้าเว็บไซต์ https://config.qmk.fm/#/keychron/q1/rev_0100/LAYOUT_ansi_82 
  • เลือกรุ่นคีย์บอร์ด: keychron/q1/rev_0100
  • เลือก layout: LAYOUT_ansi_82
  • ตั้งชื่อ keymap ของท่าน: test (สามารถตั้งชื่ออะไรก็ได้ ในที่นี้ขอใช้ชื่อว่า test)
  • จากนั้น ให้เลื่อนหน้าเพจลงมาด้านล่าง แล้วกดแท็บ App, Media and Mouse 
  • หาปุ่มที่เขียนว่า Calc แล้วลากไปวางทับปุ่ม Insert ที่เป็นรูปคีย์บอร์ดที่อยู่ด้านบน (ดังภาพตัวอย่างด้านล่าง)
  • จากนั้น กดปุ่มเครื่องหมาย download  KEYMAP.JASON
  • ตามด้วยกดปุ่ม COMPILE ที่มุมขวาบน เมื่อกดแล้วจะมีสัญลักษณ์ Baking ขึ้นมา รอสักครู่จนกระทั่งสัญลักษณ์หายไป (ดังภาพตัวอย่างด้านล่าง)
  • หลังจากนั้น ให้กดปุ่มดาวน์โหลด เพื่อดาวน์โหลด firmware ลงเครื่อง จะได้ hex file มา ถือว่าเสร็จสิ้นขั้นตอนที่ 1

ขั้นตอนที่ 2: ติดตั้งโปรแกรม QMK Toolbox ลงเครื่องคอมพิวเตอร์ (มีทั้ง Windows และ MacOS)

  • เข้าเว็บไซต์ https://github.com/qmk/qmk_toolbox/releases และติดตั้ง QMK Toolbox
  • หากใช้ macOS ให้เลือกติดตั้งโปรแกรมชื่อ QMK.Toolbox.pkg (ดังภาพตัวอย่างด้านล่าง)
  • หากใช้ Windows ให้เลือกติดตั้งโปรแกรมชื่อ qmk_toolbox.exe (ดังภาพตัวอย่างด้านล่าง)
  • หลังจากติดตั้งตัวโปรแกรมเรียบร้อย ให้เปิดโปรแกรม QMK Toolbox ขึ้นมา
  • ขั้นตอนต่อจากนี้ไป ระบบปฏิบัติการ macOS และ Windows จะมีขั้นตอนเหมือนกัน สามารถทำตามคู่มือด้านล่างได้เลย
  • ให้กดปุ่ม Open และเลือก hex file ที่ได้ดาวน์โหลดมาจากขั้นตอนก่อนหน้า (ดังภาพตัวอย่างด้านล่าง)

ขั้นตอนที่ 3 : ตั้งค่าคีย์บอร์ดให้อยู่ใน DFU Mode

  • กดปุ่ม reset ที่คีย์บอร์ด ในที่นี้ใช้ Keychron Q1 ให้แกะปุ่ม Spacebar ออกมาก่อน จะเจอสวิตช์เล็กๆ ให้ใช้เข็มจิ้มซิมกดได้เลย (หรือศึกษาเพิ่มเติมได้จากคู่มือ)
  • หลังจากกดปุ่ม reset แล้วจะมีไฟสีแดงขึ้นบริเวณปุ่ม reset แสดงว่าท่านได้ทำการ reset แล้ว

ขั้นตอนที่ 4 : อัปเดต Firmware ให้กับตัวคีย์บอร์ด

  • ให้กลับไปที่หน้าจอโปรแกรม QMK Toolbox เลือก MCU เป็น atmega32u4 แล้วกด Flash ได้เลย 
  • รอสักครู่ (ประมาณ 1-3 วินาที) หรือจนกระทั่งไฟคีย์บอร์ดกะพริบ แสดงว่าเสร็จสิ้นกระบวนการแล้ว สามารถกดปิดโปรแกรม QMK Toolbar ได้เลย
  • จากนั้น ให้ลองกดปุ่ม ins บนคีย์บอร์ดดู จะเห็นว่ามีโปรแกรมเครื่องคิดเลขปรากฏขึ้นมาบนหน้าจอ

การสาธิตข้างต้นสามารถเอาไปประยุกต์ใช้กับการเปิดโปรแกรมสำหรับอ่านอีเมล, เปิดโปรแกรมเล่นเพลง/วิดีโอ, เปิด This PC, เปิด browser และยังมีการตั้งค่าต่างๆ อีกมากมายที่ผู้ใช้สามารถเลือก custom ได้ตามสะดวก รวมถึงมีอีกหลายฟังก์ชั่นที่น่าสนใจ อย่างเช่น การทำ Macro ใช้สำหรับเล่นเกม, การทำ shortcut keys สำหรับทำงานร่วมกับโปรแกรมต่างๆ การสร้างปุ่มเฉพาะเวลากดปุ่ม Fn บนคีย์บอร์ดเพื่อเรียกคำสั่ง และการปรับแสงไฟบนคีย์บอร์ด ซึ่งฟังก์ชั่นที่น่าสนใจเหล่านี้ก็ไม่จำเป็นต้องเขียน code เช่นกัน

หมายเหตุ: การอัปเดต Firmware แบบไม่ถูกต้อง อาจจะทำให้คีย์บอร์ดเสียหายได้ โปรดใช้ความระมัดระวังในการอัปเดต Firmware เพื่อประสบการณ์ที่ดีในการใช้ Keychron Keyboard

แล้ว QMK Software ทำอะไรได้อีก

ความสามารถของ QMK Software ยังไม่หมดเพียงเท่านี้ หากผู้ใช้มีความสามารถทางด้านการเขียนโปรแกรมอีกเล็กน้อย ก็จะสามารถเพิ่มฟังก์ชั่นให้กับคีย์บอร์ดได้อีกเยอะเลย ยกตัวอย่างเช่น นักพัฒนาชื่อ Pascal Getreuer ได้พัฒนา code ของตนเอง เพื่อเพิ่มความสามารถของ custom keyboard เดี๋ยวเรามาดูกันคร่าวๆ ว่า มีฟังก์ชั่นอะไรเพิ่มเติมมาอีกได้บ้าง

Achordaion คือ การกดปุ่มค้างเพื่อเปลี่ยนฟังก์ชั่น
Autocorrection คือ ฟังก์ชั่นการแก้ไขคำผิดในขณะที่พิมพ์ตัวอักษรแบบ Real-time
Caps Word คือ การเปลี่ยนปุ่ม Caps Lock ให้มีความสามารถเพิ่มเติม เช่น กดแล้วเปลี่ยนภาษา กดแล้วเปิดเพลงได้ หรือการปรับแต่งอื่นๆ
Custom shift keys คือ เวลาเรากด shift แล้วตัวอักษรเปลี่ยนไปเพื่อความสะดวกในบางงาน ยกตัวอย่างเช่น โปรแกรมเมอร์มักจะใช้เครื่อง colon (:) กับ semicolon (;) สลับกันบ่อยๆ เวลาเขียนโปรแกรม โปรแกรมเมอร์ต้องการกด semicolon แล้วลืมกด shift ตัว QMK Software ก็จะช่วยแก้ไขให้
Layer Lock key คือ การสร้างปุ่มที่มีความสามารถเฉพาะทางในขณะที่กดปุ่ม Fn บนคีย์บอร์ด ยกตัวอย่างเช่น เวลาใช้งาน laptop ในฝั่ง Windows ต้องการเปลี่ยนชื่อไฟล์ ส่วนมากจะใช้วิธีกดปุ่ม F2 แต่ laptop ส่วนใหญ่เวลากดปุ่ม F2 แล้วจะเป็นฟังก์ชั่นอื่น เช่น ลดแสงบ้าง ลดเสียงบ้าง หากต้องเปลี่ยนชื่อไฟล์ ต้องกดปุ่ม Fn ค้างไว้แล้วค่อยกดปุ่ม F2 เพื่อเปลี่ยนชื่อไฟล์ ทำให้การใช้งานค่อนข้างยุ่งยาก แต่ถ้าหากเราใช้ฟังก์ชั่น Layer lock key ผู้ใช้ก็สามารถกำหนดได้เองเลย
Mouse Turbo Click คือ การตั้งค่าให้กดปุ่มบนคีย์บอร์ดเพื่อทำการคลิกซ้ายหรือคลิกขวา
Word selection คือ กำหนดการตั้งค่าการ select หรือ highlight ข้อความ

บทส่งท้าย ความสามารถต่างๆ ที่กล่าวไปแล้วข้างต้นนั้นสามารถใช้ร่วมกับคีย์บอร์ดของทาง Keychron ได้ โดยเฉพาะรุ่น Q1, Q1 Knob Version, Q2, และ Q3 ที่รองรับการใช้งานร่วมกับ QMK Software ได้เป็นอย่างดี และอีกความพิเศษหนึ่งก็คือการ custom ตัว keycap ที่หลากหลาย สามารถตกแต่งเป็นธีม Christmas, Retro, หรือธีมสีสันต่างๆ รวมถึงการ custom ตัวสวิตช์ และ accessories อื่นๆ อีกมากมาย หากท่านสนใจสินค้า Keychron รุ่นอื่นๆ เพิ่มเติม สามารถเข้ามาเยี่ยมชมได้ที่เว็บไซต์ https://www.keychronthailand.com/ ได้เลย สุดท้ายนี้ ขอให้ทุกท่านใช้งาน Keychron อย่างมีความสุข แล้วพบกันใหม่ในบทความฉบับหน้า