首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

移植tslib库出现selected device is not a touchscreen I understand的解决方法

tslib中的input版本号是在交叉编译的时候指定的,赋值给version,而EV_VERSION是在内核中定义,笔者做tslib时,用的2.6.39内核,这个EV_VERSION定义在linux源码的...include/linux/input.h中,值是0x010001,而tslib中的version是和交叉编译器相同,查看编译器,在 /usr/local/arm/4.3.2/arm-none-linux-gnueabi.../libc/usr/include/linux/input.h中,值是0x010000,这俩明显不相等,当然不会满足version == EV_VERSION,所以导致错误。...所以,以下提供两种解决方法 1.将内核源代码里的include/linux/input.h中的 define EV_VERSION 0x010001 改为: define EV_VERSION 0x010000...2.将arm交叉编译工具中的头文件库中的 linux/input.h中的 define EV_VERSION 0x010000 改为 define EV_VERSION 0x010001 然后再编译

53230

Linux应用开发【第三章】输入系统应用开发

使用hexdump命令来测试键盘事件 这些数值是通过input_event结构体来上报的,它位于/usr/include/linux/input.h这个头文件,input_event结构体描述如下:.../linux/input.h 34 /* 35 * Event types 36 */ 37 38 #define EV_SYN 0x00 //同步事件 39 #define EV_KEY.../input-event-codes.h 当然Linux内核版本较低的有可能在以下路径的这个头文件: /usr/include/linux/input.h 64 /* 65 * Keys and buttons.../input-event-codes.h 当然Linux内核版本较低的有可能在以下路径的这个头文件: /usr/include/linux/input.h 696 /* 697 * Relative...在编写input应用程序之前,在程序中需要包含以下头文件: #include 程序编写步骤: 1 定义一个结构体变量input_event用于描述input事件 struct

1.5K20
您找到你想要的搜索结果了吗?
是的
没有找到

day28-开发板触屏操作(2022.2.25)

出现了原始数据,说明正常, 打开open、读取read、关闭close ============= 1.触摸屏原始数据解析 =================== 输入子系统头文件: /usr/include/linux.../input.h 输入子系统编码文件: /usr/include/linux/input-event-codes.h 输入子系统信息结构体: struct input_event { struct.../input.h> // 输入子系统头文件 int main() { // 1.打开 int ts_fd = open("/dev/input/event0", O_RDONLY); if(ts_fd.../input.h> // 输入子系统头文件 int ts_fd; // 触摸屏文件描述符全局变量 // 获取当前点击坐标 void get_xy(int *x, int *y); int main.../input.h> // 输入子系统头文件 // 打开LCD设备并初始化显存 extern int open_lcd(void); // 关闭LCD设备 extern void close_lcd(void

83710

Linux 下Input系统应用编程实战

这里还是以最常用的操作系统Linux来进行讲解 在Linux内核中,有非常多的子系统,用于管理很多设备,比如显示系统,输入子系统,音频子系统,电源管理子系统,时钟管理子系统等等,本节我们重点关注Linux...Linux系统为我们提供了这个输入系统操作相关的头文件:#include 在这个文件中,我们可以找到这个结构体: 1//用于描述一个输入事件 2struct input_event...接下来,我们来看一下如何来读取鼠标事件,写一段代码测试一下: mouse.c 1#include 2#include 3#include <unistd.h...那肯定是可以的,下面我们就让鼠标自己来画一个正方形,上代码: 1#include 2#include 3#include .../input.h> 7#include 8#include 9#include 10#include 11

2.6K30

【i.MX6ULL】驱动开发13——电容触摸驱动实践(下)

触摸点的信息通过一系列的 ABS_MT事件上报给linux内核,这些事件的定义在include/uapi/linux/input.h中: 比较常用的有: ABS_MT_SLOT :上报触摸点ID ABS_MT_POSITION_X...中,对于输入设备,例如按键、 鼠标、 键盘、 触摸屏等,为了更加方便统一的管理, Linux内核为此专门做了一个input子系统的框架来处理输入事件。...input是输入的意思,就是管理输入的子系统,和 pinctrl、gpio 子系统一样,都是 Linux 内核针对某一类设备而创建的框架。...input 子系统框架图如下: 3.2 input输出事件 3.2.1 事件类型 evbit 表示输入事件类型,可选的事件类型定义在 include/uapi/linux/input.h 文件中,事件类型如下...0x3c /* Center X tool position */ #define ABS_MT_TOOL_Y 0x3d /* Center Y tool position */ 具体的定义在input.h

1.2K30

LVGL V8.2 嵌入式Linux平台使用tslib实现输入接口(以SSD212为例)

但是我不想 改驱动,因此只能在Linux应用上实现坐标转换。tslib对电阻屏的支持是比较好的,而且我的系统里也移植 了tslib相关的库,那么直接拿来用就好了。...实现事件初始化和事件读函数 #include "evdev.h" #include #include #include #include #include "tslib.h" int evdev_root_x; int evdev_root_y; int evdev_button; struct tsdev *ts;...另外,还需要注意的地方是在Makefile中需要添加tslib的路径: # # Makefile # CC := arm-linux-gnueabihf-gcc LVGL_DIR_NAME ?...由于我们这个程序是在ARM平台上使用,因此需要根据不同的交叉编译工具链修改,这里我用的是SSD212平台,因此配置为: CC := arm-linux-gnueabihf-gcc 修改完毕后重新编译程序

80830

Android手机上用户操作模拟方法的研究与实现

Android系统本质上是Linux系统,在Linux中输入子系统是由输入子系统设备驱动层、输入子系统核心层(Input Core)和输入子系统事件处理层(Event Handler)组成。...图1 Linxu系统的Input子系统示意图 再来看看Linux的系统是如何从设备节点文件获取事件的。...详细的代码定义可以参考Android的input.h的源代码或者访问链接。现在得到了这些事件序列,只要我们以同样的序列通过Android系统的sendevent写到系统中就会触发单击操作了。...device failed"); //打开该文件失败,继续打开下一个 continue; } // EVIOCGNAME参考input.h...kmref=search [4] Android Touch Devices. http://source.android.com/tech/input/touch-devices.html [5] Linux

4.2K60
领券