Chinaunix首页 | 论坛 | 博客
  • 博客访问: 192150
  • 博文数量: 111
  • 博客积分: 3010
  • 博客等级: 中校
  • 技术积分: 1240
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-07 07:46
文章分类

全部博文(111)

文章存档

2015年(2)

2014年(1)

2011年(1)

2010年(7)

2009年(100)

我的朋友

分类: LINUX

2009-08-07 10:02:26


转载时请注明出处和作者联系方式

文章出处:http://www.limodev.cn/blog
作者联系方式:李先静

15.X Window支持触摸屏

X Window虽然可以直接支持触摸屏设备,但那样要求驱动程序做更多的工作,比如去抖,滤波和校准等等。这些功能通常是与设备无关的,没有必要与驱动程序 耦合起来。tslib把这一部分功能分离出来,行成一个独立的库,这样所有触摸屏设备都可以重用这些代码了。所以通常的做法是X Window基于tslib,tslib再与具体的设备交互。

下载

svn co svn://svn.berlios.de/tslib/trunk/tslib tslib
(以前的pubcvs.arm.linux.org.uk服务器不能下载了)

编译

参考http://blog.csdn.net/absurd/archive/2006/03/31/646446.aspx

环境变量

TSLIB_TSDEVICE 触摸屏设备文件名。
Default (non inputapi): /dev/touchscreen/ucb1×00
Default (inputapi): /dev/input/event0
TSLIB_CALIBFILE 校准的数据文件,可以用ts_calibrate生成。
Default: ${sysconfdir}/pointercal
TSLIB_CONFFILE 主配置文件名。
Default: ${sysconfdir}/ts.conf
TSLIB_PLUGINDIR 插件目录
Default: ${datadir}/plugins
TSLIB_CONSOLEDEVICE 控制台设备文件名
Default: /dev/tty
TSLIB_FBDEVICE Framebuffer 设备名
Default: /dev/fb0

以上这些环境变量可以根据需要进行修改。

配置文件

触摸屏的配置文件比较简单,但有些参数比较专业,不是很容易理解。幸运的是,一般来说并不需要了解它,只要指明输入数据的原始设备即可,要做到这一点,往往只需要把适当的注释放开就行了。下面是一个常见的例子:

# module_raw corgi

# Uncomment if you're using a device with a UCB1200/1300/1400 TS interface
# module_raw ucb1x00

# Uncomment if you're using an HP iPaq h3600 or similar
# module_raw h3600

# Uncomment if you're using a Hitachi Webpad
# module_raw mk712

# Uncomment if you're using an IBM Arctic II
# module_raw arctic2

module pthres pmin=1
module variance delta=30
module dejitter delta=100
module linear

实际应用中,一定要了解这些参数和其算法的实现,因为国内很多触摸屏往往质量欠佳,要花不少时间去调试,才能找到一组满意的参数。

阅读(1025) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~