Submitted by admin on Sat, 01/15/2011 - 00:08
การใช้ tslib บน X-window ของ Debian มีปัญหาซึ่งจำเป็นต้องแก้ไขและคอมไพล์โปรแกรมใหม่ บทความนี้จะแสดงถึงวิธีการดึงซอสโค๊ดและคอมไพล์ด้วยวิธีแบบ Debian ดังนี้
tslib เป็น Touch screen ที่ได้รับความนิยมเป็นอันดับต้นๆ แต่ lib สำหรับ x-window บน debian มีปัญหาในเรื่องของเสกล ซึ่งปัญหาเกิดจากบั๊กในซอสโค๊ดที่กำหนดขนาดของจอไว้คงที่ดังนี้ (ตัวหนังสือสีเขียวคือโค๊ดที่มีปัญหา สีน้ำเงินคือโค๊ดที่ได้รับการแก้ไข)
|
|
ดังนั้นเราจึงจำเป็นต้องแก้ไขโปรแกรมเพื่อให้อ่านค่าของขนาดจอจาก Option ของ xorg.conf การคอมไพล์จะทำบน mini2440 โดยตรงไม่ผ่าน cross compiler
1. แก้ไขไฟล์ /etc/apt/sources.list โดยเพิ่มบรรทัดดังนี้หากยังไม่มี
|
|
2. ติดตั้งโปรแกรมที่เกี่ยวข้องเพื่อใช้ในการคอมไพล์
|
|
3. ดึงซอสโค๊ดหลักและตัวที่เกี่ยวข้องด้วยคำสั่ง
|
|

4. ทำการ patch file
|
|

5. ตรวจสอบไฟล์ xf86-input-tslib-0.0.4/src/tslib.c ว่าได้ถูกแก้ไขเรียบร้อยดัง patch
6. ใช้คำสั่ง dch ในการกำหนดรายละเอียดของ version และ debuild เพื่อทำการสร้าง package ใหม่
|
|

7. หากไม่มีอะไรผิดพลาด เราก็จะได้ไฟล์ xserver-xorg-input-tslib_0.0.4-5local1_armel.deb ดังนี้

8. และก็ได้เวลาทดสอบแล้วครับ ถ้ายังไม่ได้ติดตั้ง x-window ก็ให้ติดตั้งตามนี้ครับ
|
|
9. หลังจากนั้นก็ติดตั้ง touch screen library ดังนี้
|
|

10. ติดตั้ง package tslib สำหรับ x-window ที่เราสร้างขึ้นมาใหม่ดังนี้
|
|
11. แก้ไขไฟล์ /etc/profile เพื่อเพิ่มเติมเซ็ทอัพเมื่อรีบูทใหม่สำหรับ TouchScreen
|
|
12. ทำการ export ค่าที่จำเป็นต่อการ Calibrate และเริ่มต้น Calibrate ด้วยคำสั่ง ts_calibrate หลังจากนั้นก็แตะจุดตามที่กำหนดบนจอ


13. โปรแกรม ts_calibrate จะสร้างไฟล์ /etc/pointercal มาเก็บค่าไว้ สามารถทดสอบด้วยคำสั่ง ts_test
14. ต่อไปก็จะเริ่มทดสอบกับ x-window ก่อนอื่นให้แก้ไขไฟล์ /etc/X11/xorg.conf ในส่วนของ Input Device ที่เกี่ยวกับ TouchScreen ดังนี้
|
|
15. หลังจากนั้นก็ให้เริ่มต้น X-window ด้วยคำสั่งดังนี้
|
|
ซึ่งเมื่อแตะหน้าจอตัว x ก็จะวิ่งไปยังตำแหน่งที่แตะได้อย่างถูกต้อง

ไฟล์ที่เกี่ยวข้อง
xserver-xorg-input-tslib_0.0.4-5local1_armel.deb
อ้างอิง
http://boundarydevices.com/blogs/debian-in-more-depth-adding-touch-support
http://www.debian.org/doc/FAQ/ch-pkg_basics.en.html
http://www.openminddev.net/projects/wiki/4/Debian_on_a_Chumby
»