Sunday, January 14, 2018

กำหนดภาษาแป้นพิมพ์ ให้กับ Raspbian แบบถาวร

ใครใช้ Raspbian (Jessie, Stretch) ก็อาจเจอเรื่องน่าหงุดหงิดก็คือ จะเปลี่ยนภาษาที่ใช้พิมพ์อย่างไร เพราะแป้นที่ถูกกำหนดมาแต่ต้นเป็น GB ซึ่งมีตำแหน่งบางตัวไม่ตรงกับแป้นพิมพ์ในบ้านเราซึ่งเป็น US/TH

ลองดูวิธีนี้ครับ

  • ให้คลิกขวาที่ Task Bar (แถบว่างๆด้านบนที่มี icon นั่นแหละครับ) แล้วเลือก Add / Remove Panel Items
  • ในแท็บ Panel Applets เลือกปุ่ม Add
  • เลือก Keyboard Layout Handler แล้วกด Add
  • จะปรากฎไอคอนเปลี่ยนภาษาที่มุมขวาสุด ซึ่งสามารถคลิกขวาแล้วไปเพิ่มลดภาษาของแป้นพิมพ์ได้ โดยการเลือก Keyboard Layout Handler Settings
  • ให้ tick Keep system layouts ออกก่อน จากนั้น Add ภาษาที่ต้องการได้เลย ถ้า Add ภาษาใหม่แล้วจะสามารถลบ GB ออกได้
  • คลิกกากบาทที่หน้าต่างเพื่อปิดเมนู ก็จะใช้งานภาษาได้
ปัญหาก็คือ เมื่อเรากำหนดภาษาเรียบร้อยแล้ว พอ reboot เสร็จ ทุกอย่างหายหมด กลับไปเป็นแป้น GB เหมือนเดิม (มันเป็น bug มาตั้งนานแล้ว เห็นคน report ไปเยอะแต่ก็ยังเป็นอยู่)

 มาดูวิธีแก้เพิ่มเติมตามนี้ ซึ่งผมสรุปคร่าวๆครับว่า
  • เลือก File Manager
  • กดเมนู View / Show Hidden
  • จะเห็น Folder ชื่อ .config ให้เข้าไปเรื่อยๆ ตามลำดับนี้คือ .config/lxpanel/LXDE-pi/panels
  • จะเจอไฟล์ชื่อ panel ให้ double click เปิดด้วย text editor
  • เลื่อนไปด้านล่างไฟล์ หา Plugin ที่มี type = xkb
  • ปรับแก้ตามนี้
Plugin {
type=xkb
Config {
   Model=pc105
   LayoutsList=us,th
   VariantsList=,
   ToggleOpt=grp:lwin_toggle
   KeepSysLayouts=0
}
 จากนั้นก็ save แล้ว reboot เพื่อดูผลครับ
หมายเหตุ:
grp:lwin_toggle คือกดแป้น Window ซ้ายบนแป้นพิมพ์เพื่อใช้เปลี่ยนภาษานะครับ ใครอยากใช้แป้นอื่นตรวจสอบได้ในหน้าต่างตอนเราเซ็ตแป้นพิมพ์ได้เลยครับ (ไม่มี accent grave, tilde หรือตัวหนอนนะครับ)