Closed SoMuchDay closed 1 year ago
Oh and It was lv_drivers issue :p sorry for my bad
Nevermind. It was device's malfunction :( ABS_MT_TRACKING_ID has to be clear when touch releases but strangely it doesn't. sorry to bother you
Happy to hear that it was resolved :slightly_smiling_face:
Sorry for my english first because english is not my first language :( I'm new in embedded part, and also new in LVGL. Not that old in programming, actually. I've tried to write simple sample code that rotates image with screen touch, but it doesn't work after first touch. Plus, it doesn't work at all if I touch screen before app starts. So I assumed it my code's problem, and uploaded to my board demo app already exists - but it also have same symptom. I tried to debug as insert printf() at many points, and I found these lines in evdev.c. (152 - 157)
So I searched linux documents about that flag, and found this section. Multi-touch Protocol, 3.2. Protocol Usage.
and it also says type A devices has been deprecated at section 3.1:
So I understand it as ABS_MT_TRACKING_ID should increase for identify each touch events - at least to multi-touch device - so I tried to evtest. and this is result. It seems too long but I didn't cut because If upper section of device helps:
Most of ABS_MT_TRACKING_ID seems to have non-zero value - so I changed evdev.c to following lines:
Because I thought all of non-negative value of ABS_MT_TRACKING_ID means touchscreen has pressed. And then I tested my app and demo app again - It works fine.
I think it could be merge to origin because it will be no harm, but I'll be appreciated to tell me if I missed something or wrong.