这篇文章主要介绍了linux 触摸屏驱动编写,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

早在诺基亚手机还比较流行的时候,那时候触摸屏用的还不多。但是随着触摸屏手机、即智能手机的流行,触摸屏基本成了手机的标配。所以,今天可以看看触摸屏驱动在linux上是如何进行的。

1、驱动目录

drivers/input

2、看看这个目录的Makefile如何设计

obj-(CONFIGINPUT)+=input−core.oinput−core−y:=input.oinput−compat.oinput−mt.off−core.oobj−(CONFIG_INPUT) += input-core.o input-core-y := input.o input-compat.o input-mt.o ff-core.o obj-(CONFIGI​NPUT)+=input−core.oinput−core−y:=input.oinput−compat.oinput−mt.off−core.oobj−(CONFIG_INPUT_TOUCHSCREEN) += touchscreen/

3、除了input-core.o这个文件外,只需要看touchscreen目录就可以了

config TOUCHSCREEN_S3C2410 tristate “Samsung S3C2410/generic touchscreen input driver” depends on ARCH_S3C24XX || SAMSUNG_DEV_TS depends on S3C_ADC help Say Y here if you have the s3c2410 touchscreen. If unsure, say N. To compile this driver as a module, choose M here: the module will be called s3c2410_ts.

4、看懂了Kconfig之后,再阅读Makefile,注意S3C_ADC宏可以参考arch/arm/plat-samsung/adc.c

obj-$(CONFIG_TOUCHSCREEN_S3C2410) += s3c2410_ts.o

5、继续阅读s3c2410_ts.c文件

static const struct platform_device_id s3cts_driver_ids[] = { { “s3c2410-ts”, 0 }, { “s3c2440-ts”, 0 }, { “s3c64xx-ts”, FEAT_PEN_IRQ }, { } }; MODULE_DEVICE_TABLE(platform, s3cts_driver_ids); static struct platform_driver s3c_ts_driver = { .driver = { .name = “samsung-ts”, #ifdef CONFIG_PM .pm = &s3c_ts_pmops, #endif }, .id_table = s3cts_driver_ids, .probe = s3c2410ts_probe, .remove = s3c2410ts_remove, }; module_platform_driver(s3c_ts_driver);

6、根据probe函数,看看有什么需要注意的内容

ts.client = s3c_adc_register(pdev, s3c24xx_ts_select, s3c24xx_ts_conversion, 1); if (IS_ERR(ts.client)) { dev_err(dev, “failed to register adc client\n”); ret = PTR_ERR(ts.client); goto err_iomap; }

7、接着,查看是否有中断函数被注册

ret = request_irq(ts.irq_tc, stylus_irq, 0, “s3c2410_ts_pen”, ts.input);

8、最后

很明显,触摸屏驱动本质上还是由TOUCHSCREEN_S3C2410和S3C_ADC两个macro一起完成的。

文章来源:http://www.iis7.com/b/ssyqdq/

Linux触屏驱动Windows,linux 触摸屏驱动编写相关推荐

  1. LVGL8.3 集成 ST7789V 显示驱动和 CST816T 触摸屏驱动

    LVGL8.3 集成 ST7789V 显示驱动和 CTS816S 触摸屏驱动 起因 效果(正常显示,触摸屏可调换X,Y轴) 使用方式 前提 操作步骤 最后 参考 起因 LVGL的ESP32 Drive ...

  2. linux spi屏驱动程序,65 linux spi设备驱动之spi LCD屏驱动

    SPI的控制器驱动由平台设备与平台驱动来实现. 驱动后用spi_master对象来描述.在设备驱动中就可以通过函数spi_write, spi_read, spi_w8r16, spi_w8r8等函数 ...

  3. linux 触屏测试

    纠结一天的失去了,终于把能过熟悉使用触屏了,再次感谢前人开源. 由于触屏驱动的分辨率和实际使用显示器的分辨率不同所以要将触屏坐标映射到显示器上的坐标(PS:触屏的分辨率往往要大于显示器的分辨率) 映射 ...

  4. QT实现滑动切换界面,ARM/Linux触屏滑动切换界面,切换Qwidget

    QT实现滑动切换界面,触屏滑动切换界面 实现思想 实现过程 完整代码 实现思想 项目中要用到ARM,要求手势滑动能够切屏,首先我们想到使用 QGestureEvent,但使用起来比较麻烦,并且个人了解 ...

  5. linux卡在x windows,Linux下显卡配置错误 无法进入X Windows的解决

    黑呵曰:你不得不感叹Linux的强大.如果windows因为显卡驱动开不了机你会怎么办?重装....Linux提供了一个强大的命令行(windows的那个简直称不上命令行)让你直接修改设置,修改完成不 ...

  6. linux 录屏软件 按键,linux下常用的截图、录屏工具

    linux下常用的截图.录屏工具 (2010-01-05 10:47:21) 由于和老公一起做一个百度俱乐部的小项目,在编写测试文档时要使用截图.录屏的小工具,于是展开搜索什么工具比较好使. 录屏: ...

  7. python 监控linux硬盘,Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例...

    由于项目的需要,需要做一个简单监控服务器的CPU利用率.CPU负载.硬盘使用率.内存利用率和服务器的各个端口的开启情况的程序,并把结果通知到监控平台,如果出现异常,监控平台打电话或者发短信通知给具体的 ...

  8. linux根目录数量限制,windows,linux文件夹下文件上限最大个数

    1.FAT16文件系统, 可以保存的文件体积最大值是 4 GB - 1 byte (2^32 bytes - 1 byte): 卷的最大体积是4GB:每个卷上最多可以保存的文件数量是65,536个 ( ...

  9. Linux显示文件目录分屏显示,Linux分屏显示文件内容-linux more命令详解-嗨客网

    Linux分屏显示文件内容(more)教程 在使用 more 命令时,最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 Linu ...

最新文章

  1. WCF中服务继承多个契约的使用
  2. Uva1600 巡逻机器人
  3. s插件——SlimScroll滚动美化插件
  4. OpenCASCADE:绘制测试线束之入门
  5. Spring-IOC XML 配置多个相同 ID 的 bean 加载分析
  6. mysql操作窗口如何设置粘贴,Access6.5在表中复制和粘贴数据
  7. 当知识图谱遇上推荐系统之PippleNet模型(论文笔记二)
  8. ajax,jsonp,axios面试题
  9. 安卓手机端口号怎么查看_微信小程序怎么查看手机便签待办事项?
  10. 五、bootstrap-fileinput
  11. 泰康资产:投资人才的经营之道
  12. 黑php的称呼,“黑”起母校都是把好手!这些高校别称你绝对想不到
  13. GD32F103学习笔记(2)——在GD32F103移植STM32F103代码
  14. 51单片机仿真设计项目大全
  15. 每日一練06:javascript原生拖拽写的日食
  16. 对短信验证码发送次数的限制
  17. 鲁东大学linux试题,大学体育试题库
  18. 沥青路面粘弹性力学分析基础研究
  19. 身体好比什么都强 [唱片]
  20. 发布:世界上第一个小米平板4上的Debian Linux 刷机包

热门文章

  1. H323Client-2 H323视频会议开源生态
  2. 为什么现在计算机所有专业的研究生基本都搞机器学习和深度学习,国内真的需要这么多会人工智能的人才吗?...
  3. 什么微型计算机出世,你不知道的秘密 手机屏幕类型全解析
  4. 时域特征值提取的MATLAB代码实现(均方根、峰值因子、脉冲因子、裕度因子、峭度因子、波形因子和偏度等)
  5. 高斯信号和非高斯信号中偏斜度和峭度的问题
  6. 工业机器人综合实训考核装置
  7. 国密SM2前端加密,Java后台解密问题
  8. 基于Python的PyGame模块实现泡泡龙小游戏(Forgger2)
  9. 云桌面是什么意思?与堡垒机有什么区别?
  10. Python是什么?Python能干什么?让我来告诉你