完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
小弟手头有块TQ2440的板子,用的7寸的屏,所以小弟参考MINI2440的代码做了移植,任务和GUI都跑起来了,现在界面直接放的是例程里demo的代码,但触摸和GUI的交互始终好像跑步起来。按了按钮,gui不响应。通过跟踪后发现,key.c驱动运行正常,跟踪能获得emouse.x和y的数据,然后程序似乎是发给了GUI的Server了,
rtgui_server_post_event(&(kbd_event.parent), sizeof(kbd_event)); 但GUI那头我代码看了许久,似乎是通过系统event捕捉触摸行为的,但调试就是找不到突破口,还请各位大大指条明路啊,问题主要是 1.GUI那侧可以从那个函数入手啊? 2.GUI捕捉到行为后,接下来是否就根据xy坐标值,去找创建在这个rect.x,y的按钮的事件?请问可以这样理解么?这个是我摘下来的代码 next_btn = rtgui_button_create("next"); rtgui_button_set_onbutton(next_btn, demo_view_next); rtgui_widget_set_rect(RTGUI_WIDGET(next_btn), &rect); rtgui_container_add_child(RTGUI_CONTAINER(view), RTGUI_WIDGET(next_btn)); 谢谢! |
|
相关推荐
9个回答
|
|
|
|
|
|
首先谢过shaolin,我后来检查了下touch的代码后再调试,可以看到按钮似乎有反应,还是触发不了翻页,我是这样做的,能否帮忙看下是否正确。
我首先想到的可能是和我的开发板和mini2440设计略有不同的原因,触摸返回的坐标不太对,后发现可能是和x,y坐标转换有关,我略微修改下面代码后,返回的emouse.x和y基本正确了,符合整个坐标的分布,出了再次校正x和y的min和max值之外,还修改了touch.c的一下四处,主要是修改了xy和height以及width的对应关系 touch->x = touch->height * (ts.xp-touch->min_x)/(touch->max_x-touch->min_x); touch->y = touch->width - (touch->width * (ts.yp-touch->min_y)/(touch->max_y-touch->min_y)); 。。。。 emouse.x = touch->y; emouse.y = touch->x; 这样修改好后,返回坐标能在触摸屏的范围内,(我的屏用的是7寸的,返回值和位置关系正确,而且在分辨率800*480之内)触摸后可以看到按钮似乎有动作的,但是并没有翻页触发相应的动作,可以帮忙大致判断下下一步的诊断方向么,谢谢! |
|
|
|
有个calibration.c,把它一起编译,然后在shell下执行相应的命令,就可以对触摸进行校正,然后就好用了。
|
|
|
|
终于弄明白原来按钮是通过event过来的,然后去响应emouse的事件,不过还有点小疑惑,就是如果有多个按钮的时候,我们怎么识别是按下了哪个按钮,是必须通过判别emouse的x和y来判别位置来实现的么?还是有其他什么简便的方法,比如这个emouse是不是有个ID什么的?
|
|
|
|
多个按钮?左键、右键一起按下吗?这个一般称为中键按下
|
|
|
|
不好意思,可能是我没描述清楚。我是指不同的按钮控件,比如demo view那个例子里面的前一页和后一页两个按钮控件,虽然按下时都会触发button down的event给gui的server,但我们在事件处理程序中如何分辨按下了哪个按钮呢?除了判断x和y坐标之外event里面有没有个id代表不同控件对象呢?
因为原来例程是用键盘按钮触发的,现在想用触摸实现,所以碰上这个问题,这个解决就能写应用了,呵呵,还请多多指教啊,谢谢 |
|
|
|
|
|
|
|
我用的是v0.4.0 beta2版本,其中calibration函数调用之后,右上角校正程序部分有问题,导致程序异常退出,这是什么原因?
|
|
|
|
有输出的log吗?
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
683 浏览 0 评论
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
2521 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1314 浏览 0 评论
1915 浏览 0 评论
1494 浏览 0 评论
74890 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 02:26 , Processed in 0.734494 second(s), Total 87, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号