| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> linux应用编程-tslib库 -> 正文阅读 |
|
[系统运维]linux应用编程-tslib库 |
目录 1、简介tslib是触摸屏驱动和应用层之间的适配层, 它把应用程序中读取触摸屏input_event结构体类型数据并进行解析的操作过程进行了封装,向使用者提供了封装好的 API 接口。 tslib从触摸屏中获得原始的坐标数据, 并通过一系列的去噪、去抖、坐标变换等操作,来去除噪声并将原始的触摸屏坐标转换为相应的屏幕坐标。 注:tslib 可以作为 Qt 的触摸屏输入插件,为 Qt 提供触摸输入支持。 2、源码编译2.1、下载源码https://github.com/libts/tslib/releases 2.2、配置工程1)指定指定交叉编译工具链 ????????--host 选项用于指定交叉编译工具链,通常将--host 设置为交叉编译器名称的前缀,譬如 arm-linux-gnueabi-gcc 前缀就是 arm-linux-gnueabi; 2)指定install路径 ?????????--prefix 选项则用于指定库文件的安装路径。 例如 ./configure --host=arm-linux-gnueabi --prefix=路径 2.3、编译工程使用make命令编译工程 2.4、安装使用make install命令进行安装。 3、编译生成文件
3.1、ts.conftslib 有一个配置文件 ts.conf, 该配置文件中提供了一些配置参数、用户可以对其进行修改!
4、移植4.1、拷贝文件1)bin/目录下的所有可执行文件; 2)etc/目录下的配置文件 ts.conf; 3)lib/目录下的所有库文件; 4.2、配置环境变量
4.3、设置LD_LIBRARY_PATHexport LD_LIBRARY_PATH="运行库路径" 5、tslib库函数5.1、ts_open()函数打开触摸屏设备。
参数 dev_name:指定了触摸屏的设备节点; 参数 nonblock:表示是否以非阻塞方式打开触摸屏设备,如果nonblock 等于 0 表示阻塞方式,如果为非 0 值则表示以非阻塞方式打开。 5.2、ts_setup()函数ts_setup()相比 ts_open(),除了打开触摸屏设备外,还对触摸屏设备进行了配置。
参数 dev_name:指定了触摸屏的设备节点;当 dev_name 设置为 NULL 时, ts_setup()函数内部会读取TSLIB_TSDEVICE 环境变量, 获取该环境变量的内容以得知触摸屏的设备节点。 返回值:调用成功返回一个 struct tsdev *指针, 指向触摸屏设备句柄;如果打开设备失败,将返回 NULL。 5.3、ts_close()函数关闭触摸屏设备。
5.4、ts_config()函数配置触摸屏设备。 注:所谓配置其实指的就是解析 ts.conf 文件中的配置信息,加载相应的插件。
参数 ts:?指向触摸屏句柄。 5.5、ts_read()函数读取单点触摸数据。
参数 ts :指向一个触摸屏设备句柄。 参数samp:指向一个 struct ts_sample 对象。 参数 nr :表示对一个触摸点的采样数。 5.6、ts_read_mt()函数用于读取多点触摸数据。
参数 ts :指向一个触摸屏设备句柄。 参数samp:指向一个struct ts_sample_mt *对象。 参数max_slots :表示触摸屏支持的最大触摸点数(可以通过调用 ioctl()函数获取到)。 参数 nr :表示对一个触摸点的采样数。 5.7、ts_sample结构体struct ts_sample 数据结构描述了触摸点的信息。
5.8、ts_sample_mt结构体多点触摸的每一个触摸点的信息使用 struct ts_sample_mt 数据结构来描述;
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 23:47:41- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |