你前记:
之所以写下这个,是因为最近调试Qt和tslib时,出现Qt程序不能正常响应点击事件,表现是:ts_calibrate ts_test ts_print 等功能都正常,但是在Qt程序里面,无论怎样点击pushButton都没有任何反应。
1、检查环境变量是否正确,QT4和Qt5差异较大,可以查找相关资料进行对比尝试;
2、单独测试tslib,可以检测tslib移植是否正确。
A、可以简单测试tslib校准
root@board# ts_calibrate
xres = 800, yres = 480
Took 48 samples…
Top left : X = 403 Y = 707
Took 50 samples…
Top right : X = 3692 Y = 773
Took 24 samples…
Bot right : X = 3709 Y = 3513
Took 22 samples…
Bot left : X = 359 Y = 3478
Took 44 samples…
Center : X = 2028 Y = 2131
-31.959106 0.210839 0.001050
-48.119202 -0.002090 0.137888
Calibration constants: -2094472 13817 68 -3153540 -136 9036 65536
此时可以在屏幕上进行五点校准,如果显示校准界面,但是不能进行点击校准,说明变量没有设置好,或者硬件链接有问题,优先检测环境变量设置;
B、校准完成后,可以使用tslib的打印功能,检测校准后的坐标输出;
root@board# ts_print
1458731838.534418: 222 292 284
1458731838.536585: 220 292 284
1458731838.549525: 219 293 284
1458731838.551691: 219 294 281
1458731838.558161: 220 294 281
1458731838.560328: 220 295 282
1458731838.588618: 231 295 0
1458731839.537653: 633 372 305
1458731839.539820: 631 372 311
1458731839.541987: 632 372 316
1458731839.544154: 631 371 316
1458731839.548457: 631 372 321
1458731839.550623: 630 372 323
1458731839.552790: 630 372 323
1458731839.563563: 629 372 323
1458731839.574335: 629 370 324
1458731839.587275: 630 370 318
1458731839.630640: 625 370 0
会出现上述数据,二、三列应该是点击的xy坐标,这坐标在未校准之前输出跟实际是会有比较大的差别的,所以需要先按照A进行校准;
如果校准后输出坐标依然不准确,请检查硬件去吧,可能屏幕的触摸部分有问题了。
我的板子问题就是屏幕触摸部分有问题,导致了ts_print打印的坐标值x一直是-18900左右,所以Qt程序根本检测不到button上的触摸事件。