您尚未登录。

楼主 #1 2020-06-05 14:34:08

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,212
积分: 1148.5

求教,800*480的电阻触控屏,qt5程序大小设为800*480后,按键就失控。

nuc972做的板,buildroot构建的带qt5.6的文件系统,接的是个7寸的800*480的屏幕,电阻触控面板。

画了个界面,之前用usb鼠标点击,没发现问题。
现在用电阻触摸面板,发现点击很多次以后才有可能有效。
反复试了几次,发现qt程序如果设的比较小,不占满800*480的话,按键都是有效的。
设为800*480后,按键基本失灵,很难按出来。
高度略小一点,比如高度设为450,则大部分按键没问题,有时候,最下边一排,或最左边一排按键不灵敏。

最近编辑记录 Gentlepig (2020-06-05 16:33:42)

离线

楼主 #3 2020-06-05 14:52:34

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,212
积分: 1148.5

Re: 求教,800*480的电阻触控屏,qt5程序大小设为800*480后,按键就失控。

ts_test基本正常,四角和其它区域效果一致。

说基本正常,是因为,运行ts_test用手指画线,有时候画的线,中间有一小截断开的。

编译内核时,关于触摸面板的adc选项里有个sample counter值,默认是200,我改过成0,结果运行ts_test后光标不怎么跟手了。
改为20,用手指画线,不光有断开的地方,有的时候是向某个方向凸出个三角尖峰来。所以后来又改回200了。

离线

楼主 #5 2020-06-05 15:34:32

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,212
积分: 1148.5

Re: 求教,800*480的电阻触控屏,qt5程序大小设为800*480后,按键就失控。

串口右移了10,下移了50:

串口无右移,只下移了50:

现在是将主窗口向下移动到底端了,最左侧的一排按钮失灵,有的按键按下去结果却是其他按键被按下了。(视频应该横着看)

最近编辑记录 Gentlepig (2020-06-05 16:00:48)

离线

楼主 #7 2020-06-05 15:49:31

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,212
积分: 1148.5

Re: 求教,800*480的电阻触控屏,qt5程序大小设为800*480后,按键就失控。

sample_count为200的截图:
887CC16F1D6E5203ACCAA23B00DA49BF.jpg

sample_count为20的截图:
2B6605D6603095A3398AB186522BC95F.jpg

最近编辑记录 Gentlepig (2020-06-05 15:58:32)

离线

楼主 #8 2020-06-05 16:33:00

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,212
积分: 1148.5

Re: 求教,800*480的电阻触控屏,qt5程序大小设为800*480后,按键就失控。

这是全屏后的效果,按键基本失灵:

离线

楼主 #12 2020-06-05 16:54:17

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,212
积分: 1148.5

Re: 求教,800*480的电阻触控屏,qt5程序大小设为800*480后,按键就失控。

# Uncomment if you wish to use the linux input layer event interface
module_raw input

# Uncomment if you're using a Sharp Zaurus SL-5500/SL-5000d
# module_raw collie

# Uncomment if you're using a Sharp Zaurus SL-C700/C750/C760/C860
# module_raw corgi

# Uncomment if you're using a device with a UCB1200/1300/1400 TS interface
# module_raw ucb1x00

# Uncomment if you're using an HP iPaq h3600 or similar
# module_raw h3600

# Uncomment if you're using a Hitachi Webpad
# module_raw mk712

# Uncomment if you're using an IBM Arctic II
# module_raw arctic2

module pthres pmin=1
module variance delta=30
module dejitter delta=100
module linear

因为在fb_test里基本正常,所以我觉得还是qt5的问题,不知道是哪里配置错误了。

最近编辑记录 Gentlepig (2020-06-05 17:05:13)

离线

楼主 #13 2020-06-05 16:56:49

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,212
积分: 1148.5

Re: 求教,800*480的电阻触控屏,qt5程序大小设为800*480后,按键就失控。

工控小白 说:

sample_count 是啥?没听说过

刚看了下,是adc sample counter。

离线

楼主 #15 2020-06-05 17:00:25

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,212
积分: 1148.5

Re: 求教,800*480的电阻触控屏,qt5程序大小设为800*480后,按键就失控。

哇酷小二 说:

/etc/ts.conf 你可以自行调整,直到调到ts_test 最优为止。

谢谢。现在ts_test虽然不是最优,但效果也能用。qt5程序全屏触控失灵,我觉得和ts.conf关系不大吧。

离线

楼主 #17 2020-06-05 17:04:47

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,212
积分: 1148.5

Re: 求教,800*480的电阻触控屏,qt5程序大小设为800*480后,按键就失控。

这是/etc/profile的内容:

export PATH=/bin:/sbin:/usr/bin:/usr/sbin

if [ "$PS1" ]; then
        if [ "`id -u`" -eq 0 ]; then
                export PS1='\u@h \w# '
        else
                export PS1=']u@h \w$ '
        fi
fi

export PAGER='/bin/more '
export EDITOR='/bin/vi'

# Source configuration files from /etc/profile.d
for i in /etc/profile.d/*.sh ; do
        if [ -r "$i" ]; then
                . $i
        fi
        unset i
done

export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal


export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0:size=800x480:mmsize=200x120:offset=0x
export QT_QPA_GENERIC_PLUGINS=tslib:$TSLIB_TSDEVICE

启动程序的命令:/mnt/nfs/calculator

现在的感觉就像是,全屏后,触控坐标和显示坐标对应不上了。

最近编辑记录 Gentlepig (2020-06-05 17:08:32)

离线

楼主 #19 2020-06-05 17:12:28

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,212
积分: 1148.5

Re: 求教,800*480的电阻触控屏,qt5程序大小设为800*480后,按键就失控。

novice 说:

电阻屏触摸采样率200有点浪费了,正常情况下80-120就能保证画线不断了。如果不需要画线等连续追踪坐标的操作,只需要点击操作,可以设定更低的数值。

谢谢。设过20,图在上边,效果有点差,设成0时,光标就不跟手了。

离线

楼主 #21 2020-06-05 17:30:03

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,212
积分: 1148.5

Re: 求教,800*480的电阻触控屏,qt5程序大小设为800*480后,按键就失控。

好,明天试试。

离线

楼主 #22 2020-06-08 09:38:23

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,212
积分: 1148.5

Re: 求教,800*480的电阻触控屏,qt5程序大小设为800*480后,按键就失控。

点击屏幕左上角,按说坐标应该是(0, 0):
1_20200608-0931.jpg

点击屏幕右上角,按说坐标应该是(800, 0):
2_20200608-0931.jpg

点击屏幕右下角,按说坐标应该是(800, 480):
3_20200608-0932.jpg

点击屏幕左下角,按说坐标应该是(048, 0):
4.jpg

点击屏幕中心保持不松开,按说坐标应该是(400, 240):
5.jpg

松开不再保持点击屏幕中心,按说坐标应该是(400, 240):
6.jpg

执行fb-test测试程序,因为布线时R和B整组对调了,所以红蓝显示对调了。但不知为何上下分层?
7.jpg

离线

楼主 #24 2020-06-08 10:06:07

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,212
积分: 1148.5

Re: 求教,800*480的电阻触控屏,qt5程序大小设为800*480后,按键就失控。

小结下测试结果:
x方向:
最左边好像不是从0开始的,大概是50开始。依次向右移动过程中发现,按下是一个值,松开后的值大概是按下值的4倍多。因此向右移动大概到200像素位置以后,松开的坐标值都是799了。

y方向:
先说一直保持按下的状态,从上向下滑动,是从0开始逐渐增大,增大到大概400(与实际位置一致)后,又开始往小的方向变,最降到80多。
如果点击后不保持按下状态,则数据有可能是479,也可能是正常值。

离线

楼主 #25 2020-06-08 10:08:08

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,212
积分: 1148.5

Re: 求教,800*480的电阻触控屏,qt5程序大小设为800*480后,按键就失控。

哇酷小二 说:

有点诡异, 用: ts_print 和 ts_print_raw 这两个程序试一试,

还是怀疑你的tslib校准文件(/etc/pointercal)有问题,

或者 Qt用了错误的校准文件。


ts_print测试是正常的。

-------------------------------------

感谢。

环境变量里,加入以下这两句后,没问题了...
export QT_QPA_EGLFS_TSLIB=1   
export QT_QPA_FB_TSLIB=1

最近编辑记录 Gentlepig (2020-06-08 10:23:56)

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn