-
Notifications
You must be signed in to change notification settings - Fork 36
Description
My setup: rmkit master (a8ded6b); rm2 with rm2fb in toltec-testing
I noticed a widget was getting a lot of mouse_down events. It seemed like I got a down when I started a touch, but also every time I dragged (without lifting my finger off the screen). Further investigation revealed that the widget was getting a sequence of events like so: down,leave,down,leave,down ...
The attached events.log has a full log of one session with #define DEBUG_INPUT_EVENT 1. I'm no expert in decoding these events, but based on the log it looks like what's happening is that the initial touch (down) event starts with ABS_MT_TRACKING_ID, then gets full position, pressure, etc. info, but subsequent motion events are produced as deltas (i.e. position or pressure change), not as full events. So those motion events are being processed with uninitialized values. In the case of a motion event that doesn't include both X and Y coords, one of those values is way off screen, leading to the extra leave event.