热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

嵌入式开发板:迅为6818平台下QT鼠标与触摸屏交互问题解析

在迅为6818嵌入式开发平台上,使用QT4.7时,虽然鼠标功能正常,但触摸屏却存在明显问题。特别是在左右滑动QT界面时,触摸响应方向与实际操作相反,导致用户体验极差。本文将深入分析这一现象的原因,并提供有效的解决方案,以改善触摸屏的交互体验。
QT 鼠标和触摸的问题 背景 在使用迅为提供的QT4.7的时候,鼠标可以正常使用,有触摸但是触摸会出现问题。尤其是在左右滑动qt界面的时候,总是会出现往左滑动,画面急速往右走,然而往右滑动,画面急速的往左走。




.解决办法 QT4.7系统 打开/bin/qt4 找到这句话: export QWS_MOUSE_PROTO='MouseMan:/dev/input/mice Tslib:/dev/input/event2' 然后改为这样: export QWS_MOUSE_PROTO='MouseMan:/dev/input/mouse1 Tslib:/dev/input/event2'



然后保存退出,在“插上鼠标”的情况下,重启开发板。(这里注意开机后首先看一下这个文件是不是已经改了,如果没有修改成功,就再按照这个中方法修改一下,确保这个文件修改成功) 这样Qt4.7系统就支持了鼠标和就触摸了




分析和总结 .为什么修改成这样触摸就不会出现问题了呢? 看一下QT4.7改之前的这句话 exportQWS_MOUSE_PROTO='MouseMan:/dev/input/mice Tslib:/dev/input/event2' 其中 MouseMan:/dev/input/mice 用来配置鼠标的节点 Tslib:/dev/input/event2 用来配置触摸 在控制台输入cat MouseMan:/dev/input/mice    然后不论触摸屏幕还是使用鼠标,都会有乱码打印出来。这就证明mice节点会接收来自鼠标和触摸两方面的事件,所以会造成干扰,导致触摸不准确。然后输入cat MouseMan:/dev/input/mouse1 的时候之后再使用鼠标的时候会打印乱码,在触摸时候不会,这样就不会造成干扰。

 

.这样修改之后,系统确实是支持鼠标和触摸了,但是鼠标不能够热插拔。也就是说要想使用鼠标,必须得在插上鼠标的情况下开机。关于这个原因,我在调试的时候发现:

 

之前鼠标使用的节点/dev/input/mice不论鼠标有没有插上都会存在,而之后鼠标用的节点/dev/input/mouse1只有在鼠标插上的时候出现。所以当开机事,开机脚本运行时,如果没有鼠标,可能鼠标的配置就不会生效。



另外在调试过程中可以使用命令 cat /proc/bus/input/devices 来查看各个输入设备是否接入,和他们的设备节点。   以上的步骤只是在迅为的4412精英版上试验过,其他的没有一步步验证,但是道理都是一样的。使用的开发板不同,也许鼠标和触摸驱动对应的节点会不一样。可以使用上面提到的cat /proc/bus/input/devices命令来查看不同输入设备所对应的的设备节点。触摸屏的驱动是Name="ft5x0x_ts";对于鼠标,可以通过拔掉鼠标和插上鼠标两种情况下输入这个命令看一下会增加那一项来确定鼠标的节点。



由于经验有限,以上都是我个人的理解,可能有误。所以请大家以批判的心态来阅读这个文档。多谢在调试过程中对我进行帮助的同事们,今天有空把这个过程整理出来,以防以后忘记。

 

详情了解:http://topeetboard.com  更多了解:https://arm-board.taobao.com

 

 

 

 


推荐阅读
  • 本文详细介绍了使用响应文件在静默模式下安装和配置Oracle 11g的方法。硬件要求包括:内存至少1GB,具体可通过命令`grep -i memtotal /proc/meminfo`进行检查。此外,还提供了详细的步骤和注意事项,确保安装过程顺利进行。 ... [详细]
  • 本文深入探讨了 Vue.js 中异步组件的应用与优化策略。首先,文章介绍了异步组件的基本概念及其在现代前端开发中的重要性。为了确保最佳实践,建议使用 Webpack 作为模块打包工具,因为 Browserify 默认不支持异步组件的加载。接着,详细解释了异步组件的使用方法,并提供了官方文档的相关链接以供参考。此外,文章还讨论了多种优化技巧,包括代码分割、懒加载和性能调优,以提升应用的整体性能和用户体验。 ... [详细]
  • Ceph API微服务实现RBD块设备的高效创建与安全删除
    本文旨在实现Ceph块存储中RBD块设备的高效创建与安全删除功能。开发环境为CentOS 7,使用 IntelliJ IDEA 进行开发。首先介绍了 librbd 的基本概念及其在 Ceph 中的作用,随后详细描述了项目 Gradle 配置的优化过程,确保了开发环境的稳定性和兼容性。通过这一系列步骤,我们成功实现了 RBD 块设备的快速创建与安全删除,提升了系统的整体性能和可靠性。 ... [详细]
  • HBase在金融大数据迁移中的应用与挑战
    随着最后一台设备的下线,标志着超过10PB的HBase数据迁移项目顺利完成。目前,新的集群已在新机房稳定运行超过两个月,监控数据显示,新集群的查询响应时间显著降低,系统稳定性大幅提升。此外,数据消费的波动也变得更加平滑,整体性能得到了显著优化。 ... [详细]
  • Python网络爬虫入门:利用urllib库进行数据抓取
    Python网络爬虫入门:利用urllib库进行数据抓取在数据科学和Web开发领域,Python凭借其简洁高效的特性成为首选语言。本文主要介绍了如何在Windows环境下使用Python的urllib库进行基本的网络数据抓取。考虑到命令行操作的不便,作者选择了Jupyter Notebook作为开发环境,不仅简化了配置过程,还提供了直观的数据处理和可视化功能。通过实例演示,读者可以轻松掌握urllib的基本用法,为深入学习网络爬虫技术打下坚实基础。 ... [详细]
  • Android目录遍历工具 | AppCrawler自动化测试进阶(第二部分):个性化配置详解
    终于迎来了“足不出户也能为社会贡献力量”的时刻,但有追求的测试工程师绝不会让自己的生活变得乏味。与其在家消磨时光,不如利用这段时间深入研究和提升自己的技术能力,特别是对AppCrawler自动化测试工具的个性化配置进行详细探索。这不仅能够提高测试效率,还能为项目带来更多的价值。 ... [详细]
  • 在Linux环境下,本文详细探讨了Apache服务器中CGI技术的应用与实现。首先,通过使用yum包管理器安装了必要的软件,如PHP。安装完成后,对Apache服务器进行了配置,确保CGI功能正常运行。此外,还介绍了如何编写和调试CGI脚本,以及如何在实际环境中部署这些脚本以提供动态网页内容。实验结果表明,通过合理的配置和优化,Apache服务器能够高效地支持CGI应用程序,为用户提供丰富的交互体验。 ... [详细]
  • 在CentOS上部署和配置FreeSWITCH
    在CentOS系统上部署和配置FreeSWITCH的过程涉及多个步骤。本文详细介绍了从源代码安装FreeSWITCH的方法,包括必要的依赖项安装、编译和配置过程。此外,还提供了常见的配置选项和故障排除技巧,帮助用户顺利完成部署并确保系统的稳定运行。 ... [详细]
  • 本项目在Java Maven框架下,利用POI库实现了Excel数据的高效导入与导出功能。通过优化数据处理流程,提升了数据操作的性能和稳定性。项目已发布至GitHub,当前最新版本为0.0.5。该项目不仅适用于小型应用,也可扩展用于大型企业级系统,提供了灵活的数据管理解决方案。GitHub地址:https://github.com/83945105/holygrail,Maven坐标:`com.github.83945105:holygrail:0.0.5`。 ... [详细]
  • 成功实现Asp.Net MVC3网站与MongoDB数据库的高效集成
    我们成功地构建了一个基于Asp.NET MVC3框架的网站,并实现了与MongoDB数据库的高效集成。此次更新不仅完善了基本的创建和显示功能,还全面实现了数据的增删改查操作。在创建功能方面,我们修复了之前代码中的错误,确保每个属性都能正确生成。此外,我们还对数据模型进行了优化,以提高系统的性能和稳定性。 ... [详细]
  • 需求:在指定的DIV区域内点击时,需展示该区域内的附加操作面板;而在区域外点击时,则应自动隐藏该附加操作面板。通过精准的事件监听与处理,确保用户交互体验的流畅性和直观性。 ... [详细]
  • 在Android平台上利用FFmpeg的Swscale组件实现YUV与RGB格式互转
    本文探讨了在Android平台上利用FFmpeg的Swscale组件实现YUV与RGB格式互转的技术细节。通过详细分析Swscale的工作原理和实际应用,展示了如何在Android环境中高效地进行图像格式转换。此外,还介绍了FFmpeg的全平台编译过程,包括x264和fdk-aac的集成,并在Ubuntu系统中配置Nginx和Nginx-RTMP-Module以支持直播推流服务。这些技术的结合为音视频处理提供了强大的支持。 ... [详细]
  • 如何在Android应用中设计和实现专业的启动欢迎界面(Splash Screen)
    在Android应用开发中,设计与实现一个专业的启动欢迎界面(Splash Screen)至关重要。尽管Android设计指南对使用Splash Screen的态度存在争议,但一个精心设计的启动界面不仅能提升用户体验,还能增强品牌识别度。本文将探讨如何在遵循最佳实践的同时,通过技术手段实现既美观又高效的启动欢迎界面,包括加载动画、过渡效果以及性能优化等方面。 ... [详细]
  • Django框架进阶教程:掌握Ajax请求的基础知识与应用技巧
    本教程深入探讨了Django框架中Ajax请求的核心概念与实用技巧,帮助开发者掌握异步数据交互的方法,提升Web应用的响应速度和用户体验。通过实例解析,详细介绍了如何在Django项目中高效实现Ajax请求,涵盖从基础配置到复杂场景的应用。 ... [详细]
  • 在操作系统中,阻塞状态与挂起状态有着显著的区别。阻塞状态通常是指进程因等待某一事件(如I/O操作完成)而暂时停止执行,而挂起状态则是指进程被系统暂时移出内存,以释放资源或降低系统负载。此外,本文还深入分析了`sleep()`函数的实现机制,探讨了其在不同操作系统中的具体实现方式及其对进程调度的影响。通过这些分析,读者可以更好地理解操作系统如何管理进程的不同状态以及`sleep()`函数在其中的作用。 ... [详细]
author-avatar
YYYan1023
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有