วันอังคารที่ 1 ธันวาคม พ.ศ. 2552

สอนภาษาไทยให้ FreeBSD 7.2 รู้จัก (ตอนจบ)

ความเดิมจากตอนที่แล้ว FreeBSD ของเรารู้จักfonts ภาษาไทยเรียบร้อยแล้ว แต่ยังมีปัญหาคือ ยังไม่สามารถเปลี่ยนสลับ ไปมาระหว่าง ภาษาไทยกับภาษาอังกฤษได้ ทำให้ไม่สามารถพิมพ์ภาษาไทยได้
ตอนนี้เรามาทำให้ x-server สามารถสลับภาษาไทยได้กัน

เดิมทีเดียวผมใช้วิธีการแก้ไขไฟล์ /etc/X11/xorg.conf โดยเพิ่ม Option XkbLayout และ Option XkbOptions ตามตัวอย่างข้างล่างนี้ลงไป ก็จะสลับภาษาได้โดย ปุ่ม Alt+Shift และ ไฟscroll lock จะสว่างเมื่อสลับไปเป็นLayout ภาษาไทย

Section "InputDevice"
    Identifier    "Keyboard0"
    Driver        "kbd"
    Option        "XkbRules"    "xorg"
    Option        "XkbModel"    "pc104"
    Option        "XkbLayout"    "us,th"    #keyboard USA & Thai
    Option        "XkbOptions"    "grp:alt_shift_toggle,grp_led:scroll"
EndSection

แต่เนื่องจากตั้งแต่Xorg 7.4 เป็นต้นไป อาศัย hald daemon ในการ detect keyboard และ mouse ทำให้การใช้วิธีเดิมให้ผลได้ไม่ถูกต้อง ต้องไปทำอีกวิธีแทนดังนี้

แก้ไข หรือ สร้างไฟล์ "x11-input.fdi"(ถ้ายังไม่มี)ในdirectory
/usr/local/etc/hal/fdi/policy แล้วแก้ไขตามข้างล่างนี้

 
<?xml version="1.0" encoding="ISO-8859-1"?>

<deviceinfo version="0.2">
  <device>
    <match contains="input.keyboard" key="info.capabilities">
      <merge key="input.x11_options.XkbModel" type="string">pc104</merge>
      <merge key="input.x11_options.XkbLayout" type="string">us,th</merge>
      <merge key="input.x11_options.XkbOptions" type="string">grp:alt_shift_toggle,grp_led:num</merge>
    </match>
  </device>

</deviceinfo>


เสร็จแล้ว reboot แล้ว login เข้ามาทดสอบดู จะเห็นว่า สามารถสลับภาษาโดยใช้ ปุ่ม Alt+Shift ได้แล้ว พร้อมมีไฟเตือนเมื่อเลือกภาษาไทยที่เหนือปุ่ม num lock ด้วย
เข้าไปอ่านรายระเอียดได้ที่นี่ครับ
(http://www.freebsd.org/doc/en/books/handbook/x-config.html)

ขอให้มีความสุขกับFreeBSD ภาคภาษาไทยกันนะครับ

อ่าน สอนภาษาไทยให้ FreeBSD 7.2 รู้จัก (ตอนที่1)

ไม่มีความคิดเห็น:

แสดงความคิดเห็น