สลับภาษาคีย์บอร์ดบน Windows ด้วย Caps Lock

เรื่องที่คิดว่าไม่น่าจะเกิดก็เกิดขึ้นแล้ว … ก็คือตอนนี้ย้ายมาทำงานที่ใหม่ที่ต้องใช้ Mac เป็นหลัก

ทุกอย่างก็ดำเนินไปได้ด้วยดี เพราะส่วนใหญ่แล้วเราก็ใช้ Web based application กันหมดแล้ว (เค้ายังใช้คำนี้กันมั๊ยนะ) … ตัวแอพอื่นๆบนเครื่องก็ไม่ได้มีปัญหามากนัก เดี๋ยวจะทยอยมาเล่าเรื่องแอพที่ใช้บนแมค จากคนที่ข้ามมาจาก Windows / Surface อีกทีนึง (อีกทีตลอดๆ)

อ่ะ กลับมาเข้าเรื่อง

ปัญหาที่เจอกับตัวเองคือ บน Windows นั้น ทุกวันนี้ใช้ Alt + Shift ในการเปลี่ยนภาษา ด้วยเหตุผลหลักๆสองข้อคือ

  1. มันเป็นค่าเริ่มต้น ไปจับ Windows ไหนๆ เปลี่ยนภาษาด้วยวิธีนี้ก็น่าจะเวิร์ค (ไม่ก็ใช้ Win + Space bar แต่รู้สึกว่านิ้วพันกัน)
  2. ตัว Grave Accent ( ` ) ที่เรานิยมใช้ในสมัยก่อนนั้น ทุกวันนี้เราใช้ตัวนี้มากขึ้นมาก ในการเขียน blog/wiki ด้วยภาษา markdown

ปัญหาก็เลยเกิด เมื่อ Alt + Shift จาก Windows ไปเจอกับปุ่มเปลี่ยนภาษาบน Mac ที่ใช้ Caps Lock

ความจำกัดบน Windows คือ Windows นั้น (แม้จะเป็น Windows 11 แล้วก็ตาม) ให้เลือกปุ่มเปลี่ยนภาษาได้จำกัดมาก เลยต้องหาทางแก้ด้วยทางอื่น เมื่อตัว OS ทำไม่ได้

ตัวเลือกปุ่มที่ใช้ในการเปลี่ยนภาษาของวินโดว์

และปัญหาก็แก้ได้ด้วยการลงโปรแกรม AutoHotKey บน Windows เพื่อจะทำให้เราเปลี่ยนภาษาด้วย Caps Lock ได้เหมือนกัน ตัวโปรแกรมมี concept ง่ายๆมาก คือให้เราเขียน script ไว้ว่าเมื่อเรากดปุ่มใดปุ่มหนึ่งจาก keyboard แล้วนั้น เราอยากให้ Windows เห็นว่าเรากดปุ่มอะไร .. ก็คือปุ่มที่เรากดกับปุ่มที่ Windows เข้าใจว่าเรากดอาจจะไม่เหมือนกันก็ได้ … ไม่ได้ซับซ้อนมากเนอะ

แล้วโปรแกรมนี้จะช่วยเราอย่างไร ?

เราก็เขียน script ว่าเมื่อเรากดปุ่ม Caps Lock บนคีย์บอร์ดนั้น เราอยากให้ Windows เข้าใจว่าเรากด Alt + Shift นั่นเอง โกงกันดื้อๆแหล่ะ (เพื่อยังคง feature เดิมไว้ เราเลยตั้งให้ กด Shift + Caps Lock นั้น ทำหน้าที่แทนการกด Caps Lock แบบเดิมเอาไว้ เผื่อยังต้องการใช้งานอยู่) จบ

มาที่การใช้งานโปรแกรม

Download ได้ที่ https://www.autohotkey.com/ – โปรแกรมพวกนี้แนะนำให้ดาวโหลดเองจากต้นทางเอง เพราะมันทำงานระดับล่างๆ เราไม่อยากโดนโปรแกรมที่โดนแก้ไขมาแล้วแอบส่งข้อมูลคีย์บอร์ดที่เรากดไปหาผู้ไม่ประสงค์ดีหรอกเนอะ มันอาจจะทำงานเป็น Key Logger ได้ถ้าเราไม่ระวัง อย่าพยายามเอาไฟล์ที่ส่งต่อจากคนอื่นมาลง

Download และติดตั้งเสร็จ ก็มาเริ่มเขียน script กัน จุดประสงค์เราชัดเจนอยู่แล้วว่าอยากให้กด Caps Lock แล้วได้ Alt + Shift

เราก็เริ่มจาก หา folder เหมาะๆซักที่นึง อาจจะเป็น My Docs หรือว่าบน OneDrive ที่ Sync มาก็ได้ เปิด File Explorer คลิกขวา New > AutoHotKey Script ตั้งชื่อไฟล์ตามใจชอบ อาจจะเป็นว่า CapsLockToChangeLanguage.ahk ไรงี้ก็ได้

เสร็จแล้วก็เปิดไฟล์ด้วย Notepad หรือ Text editor ใดๆ ใส่ code ด้านล่างไปได้เลย

อธิบายง่ายๆคือ

บรรทัดแรก – ตั้งให้ Caps Lock เป็นค่าปิดไว้เสมอ

บรรทัดที่สอง – ตั้งค่าว่าถ้ากด Shift + Caps Lock ให้ส่งไปว่ากด Caps Lock

บรรทัดที่สี่ – ตั้งค่าว่า ถ้ากด Caps Lock ให้ส่งสัญญาณไปว่า กดปุ่ม Alt กดปุ่ม Shift แล้วปล่อย Shift ปล่อย Alt

SetCapsLockState, AlwaysOff
+CapsLock::CapsLock

CapsLock::Send, {Alt down}{Shift down}{Shift up}{Alt up}
return

หลังจากนี้ก็ Save แล้ว Double click ที่ไฟล์ เพื่อรันสคริปส์ตัวนี้ เป็นอันจบ ลองทดสอบได้ จะมี app AutoHotKey run อยู่เบื้องหลัง เปิดดูได้ที่ system tray icon ของ Windows

ก่อนจะจบโพสต์ นึกขึ้นได้ว่า เราไม่ว่างมารัน script นี้ทุกครั้งที่เปิดเครื่องหรอก

ถ้าอยากให้มันทำงานตอนเปิดเครื่อง ก็มี trick เล็กๆมาฝาก

เปิด Run dialog โดยกด Win + R แล้วพิมพ์ shell:startup เพื่อจะเปิด folder ที่เก็บ shortcut ของแอพที่จะทำงานตอนเปิดเครื่อง

หลังจากเปิด folder ขึ้นมาแล้ว เราก็ไปหา script .ahk ที่เราสร้างไว้ แล้ว กด copy

กลับมาที่ folder startup แทนที่เราจะ paste แบบปกติ ให้เราเลือก Paste shortcut แทน แค่นี้ มันก็ควรจะทำงานทุกครั้งที่เปิดเครื่องแล้ว หากเราอยากแก้ไข script ก็กลับไปแก้ที่ต้นทางของเรา

จริงๆตัวโปรแกรม AutoHotKey มันทำอะไรได้เยอะมาก แต่ด้วยหลังๆมานี้ตั้งใจว่าจะใช้งานทุกๆอย่างแบบง่ายๆ ไม่อยากไป customize อะไรเยอะ เพราะเราก็ต้องจำ ต้องแบกมันไปตลอด เวลามีเครื่องใหม่ ก็ต้องมาทำอะไรซ้ำๆแบบนี้ตลอด

แต่กับเรื่องเปลี่ยนภาษานี่ปล่อยผ่านไปไม่ได้เลย มันผิดสลับกันจนสร้างปัญหา สุดท้ายก็เลยเถิดไปอีกจนได้ หมดกันความ minimal

จริงๆแล้วนี่อยู่ระหว่างการเขียน Year review อยู่ แต่จนแล้วจนรอดก็แอบมาเขียนอันนี้ก่อนอีก เพราะเปลี่ยนภาษาผิดรัวๆ .. แล้วโพสต์นู้นจะเสร็จทันปีนี้มั๊ยนะ

แปะไว้กันลืม อีกแอพบนแมคที่อยากพูดถึงคือ Rectangle ที่เอาไว้จัดการขนาดหน้าต่างบนหน้าจอ สะดวกมากเวลาใช้จอใหญ่ๆแล้วต้องการให้หน้าต่างอยู่แค่ซีกซ้ายหรือซีกขวา หรือ 2/3 ของหน้าจอไรงี้

Scroll to top