Submitted by admin on Sun, 12/27/2009 - 20:56
วิธีการใช้ Touch Screen บน X-Window ของ mini2440 ดูเหมือนจะเป็นปัญหาที่สับสน ด้วยเหตุที่ว่า
- จะเซ็ทอัพ xorg.conf อย่างไร
- X-Cursor มักจะวิ่งไปคนละทางกับการเคลื่อนตัวของปากกา และไม่ตรงจุด
- ข้อมูลเกี่ยวกับเรื่องนี้บนเน็ทก็ไม่ค่อยจะครบถ้วนนัก
Driver ที่เกี่ยวกับ Touch screen จะมีอยู่สองตัวหลักๆคือ tslib และ evtouch ซึ่งหลังจากที่ได้ทดสอบและไล่โคดทั้งสองตัวแล้วพบว่า
- tslib ดูเหมือนจะถูกออกแบบมาให้ใช้กับ Qtopia มากกว่าที่จะเป็น X-Windows และ Algorithm ในการ Calibrate เป็นที่งงงวยมาก Scaling ที่ใช้ในโปรแกรมดูเหมือนจะไม่เหมาะกับ X-Window สุดท้ายทำได้อย่างมากที่สุดก็ใกล้เคียงแต่ไม่ตรงในระดับที่ใช้งานได้
- evtouch ดูเหมาะสมกับ X-Window มากกว่าเนื่องจากการเซ็ทอัพค่าของการ Calibrate อยู่ในตัวไฟล์ xorg.conf เลย ปัญหาคือ โปรแกรม Calibrate ของ evtouch มีบั๊กและคำอธิบายก็งงงวยไม่แพ้กับ tslib ซึ่งถ้ารันโปรแกรม Calibrate ไม่ได้ก็ทำให้ไม่สามารถเซ็ทอัพได้ถูกต้องเช่นกัน
หลังจากงมกันอยู่พักใหญ่ สุดท้ายก็ประสบความสำเร็จในการใช้ touch screen ผ่าน evtouch ร่วมกับ mouse ได้อย่างไม่มีปัญหาด้วยสูตรสำเร็จดังนี้ครับ
1. ติดตั้ง evtouch driver ด้วยคำสั่ง
# apt-get install xserver-xorg-input-evtouch |
2. ตัว calibrate.sh ของ evtouch จะมีบั๊ก ซึ่งมันต้องการไฟล์ที่ชื่อ empty_cursor.xbm ซึ่งอยู่ที่ /usr/share/xf86-input-evtouch แต่กลับไปมองหาใน root directory ดังนั้นเราจำเป็นต้อง copy file ตัวนี้ไปไว้ที่ root ก่อนครับ
|
|
3. แก้ไขไฟล์ /etc/X11/xorg.conf โดยเพิ่มเติมส่วนสีน้ำเงิน ดังนี้
|
|
4. การ Calibrate จะต้องใช้คีย์บอร์ดประกอบด้วย ดังนั้นให้เสียบ usb keyboard
5. เรียกใช้โปรแกรม Calibrate.sh
# cd /usr/lib/xf86-input-evtouch |
หน้าจอจะเปลี่ยนไปเป็นดังนี้

6. ให้ใช้ปากกาแตะตรงมุมล่างซ้ายที่สุดของจอที่ชี้โดยจุด A (ไม่ใช่ตรงเครื่องหมาย X นะครับ แต่เป็นมุมสุดท้ายที่จอสว่างก่อนมืด) จะมีตัวหนังสือปรากฏบอกตำแหน่ง Min x,y

7. ใช้ปากกาแตะตรงมุมบนขวาที่สุดของจอที่ชี้โดยจุด B ตัวหนังสือจะบอกตำแหน่ง Max x,y

8. ให้เคาะ Enter ที่คีย์บอร์ด usb หนึ่งครั้ง ลูกศรตรงกลางที่หายไปจะปรากฏขึ้นอีกครั้งหนึ่ง

9. ทำการแตะจุด X ที่หน้าจอทีละครั้งเท่านั้น ตามลำดับหมายเลขดังภาพ

10. ไฟล์ /usr/lib/xf86-input-evtouch/out.txt ที่เก็บค่าของการ Calibrate จะถูกสร้างขึ้นหน้าตาคล้ายๆดังนี้
Option "MinX" "110" |
11. ให้เรานำค่าที่ได้จากข้อ 10 ไปใส่ใน /etc/X11/xorg.conf
!!!โปรดสังเกตุ
- Option "SwapY" "1" ที่เพิ่มเติมขึ้นมา เนื่องจาก evtouch ให้ตำแหน่ง 0,0 อยู่มุมล่างของจอ เราจำเป็นต้องกลับค่าเวลาใช้งานกับ X-Window
- เพิ่มตัวอักษร # หน้า Option "Calibrate" "1" เพื่อ Comment แปลว่าเรากลับไปสู่โหมดใช้งานตามปกติ หากจะ Calibrate ครั้งต่อไปต้องเอา # ออก
ผลสุดท้ายจะเป็นดังนี้
section "ServerLayout" |
12. ครับเพียงเท่านี้เราก็จะสามารถใช้งาน Touch Screen ร่วมกับ Mouse บน X-Window ได้อย่างถูกต้อง ทดสอบโดยคำสั่ง
# X& |
อ้างอิง http://www.conan.de/touchscreen/evtouch.html