Monday, December 26, 2011

ปัญหาการจดจำคำโดยอัตโนมัติระหว่างการเล่นเกม

มีผู้ใช้หลายท่านได้แจ้งปัญหาเกี่ยวกับการใช้งานโปรแกรม RightLang ขณะเล่นเกมที่มีการควบคุมด้วยคีย์บอร์ด เช่น การกดปุ่ม W A S D และ Space Bar เพื่อบังคับทิศทาง หรือโปรแกรมอื่นๆ ที่มีการใช้งานคีย์บอร์ดในลักษณะเดียวกัน โดย RightLang จะจดจำการกดปุ่มควบคุมเหล่านั้นเพิ่มเข้าไปในรายการคำที่กำหนดเอง (Custom Dictionary) ด้วย นาน ๆ เข้า รายการคำที่กำหนดเองก็จะเต็มไปด้วยคำที่ไม่มีความหมาย ยิ่งไปกว่านั้น ถ้าเป็นเกมหรือโปรแกรมที่ไม่ได้ทำงานแบบเต็มหน้าจอ (Full Screen) ก็จะทำให้ผู้ใช้ถูกรบกวนด้วยบอลลูนแจ้งเตือนจากโปรแกรม RightLang เมื่อเกิดการจำคำใหม่

ก่อนอื่นต้องขออธิบายกฎเกณฑ์ในการจดจำคำใหม่ของโปรแกรม RightLang ก่อนครับ โดยจะแบ่งออกเป็นสองกรณีดังนี้
  • โปรแกรมจดจำคำทุกคำที่ไม่มีอยู่แล้วในพจนานุกรม ในขณะที่ผู้ใช้พิมพ์ เช่น Please learn this word, Dovahkiin. คำว่า Dovahkiin จะถูกเพิ่มเข้าไปหลังจากเริ่มคำใหม่ (มีการพิมพ์คั่นด้วยช่องว่างแล้วเริ่มพิมพ์คำถัดไป) กรณีนี้จะเกิดขึ้นกับการพิมพ์ข้อความในภาษาอังกฤษเท่านั้น
  • โปรแกรมจดจำคำเมื่อผู้ใช้กดปุ่มลัด Shift + Backspace เพื่อให้ RightLang แก้ไขข้อผิดพลาดให้ เช่น พิมพ์ ga:[6U8 แล้วกด Shift + Backspace จะได้คำว่า เฟซบุ๊ค โดยโปรแกรมจะจำคำนี้เพิ่มเข้าไปด้วย กรณีนี้ใช้ได้กับทั้งสองภาษา
จากกฎข้อแรกจะเห็นว่าหากเป็นเกมที่มีการใช้ปุ่ม Space Bar, Tab, Enter ก็จะทำให้เกิดการเพิ่มคำใหม่ได้ถ้า RightLang ทำงานอยู่ในโหมดอัตโนมัติซึ่งในขณะนี้ยังไม่ฉลาดพอที่จะจำแนกได้ว่าตอนไหนเป็น Game Mode ครับ ดังนั้นในระหว่างที่ผมกำลังพยายามหาวิธีให้มันจำแนกได้ (ซึ่งก็ไม่รับประกันว่าจะหาได้หรือไม่) ผมขอแนะนำวิธีแก้ไขชั่วคราวสองทางเลือกดังนี้ครับ
  • เพิ่มเกมหรือโปรแกรมเข้าไปใน กฎการทำงานร่วมกัน (Application Rules) และตั้งค่าการแก้ไขเป็น ไม่ใช้งาน (Disabled Mode) หรือ โดยผู้ใช้ (Manual Mode)
  • ใช้ปุ่มลัด Ctrl + Caps Lock เพื่อเปลี่ยนการใช้งาน RightLang เป็นโหมด แก้ไขโดยผู้ใช้ (Manual Mode)