Ticket #2134 (closed defect: fixed)
touchscreen sometimes forgets to report a release?
| Reported by: | lindi | Owned by: | openmoko-kernel |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | kernel | Version: | unspecified |
| Severity: | normal | Keywords: | |
| Cc: | Blocked By: | ||
| Blocking: | Estimated Completion (week): | ||
| HasPatchForReview: | no | PatchReviewResult: | |
| Reproducible: | sometimes |
Description
After moving from
linux-image-2.6.24-openmoko-gta02 20081103.git7172ec57-1
to stable-tracking branch (1b17c67794364bee) I noticed that sometimes
the touchscreen behaves as if it forgot to report a "mouse button" release
completely. If I then click something else then the "button" is
properly released.
Since I suspected that X or xvkbd (the only app where I have seen this
so far) could be the cause I ran evtest /dev/input/event1 for two days
in the background till the bug occured again. In the above log you can
see how touchscreen stays in the "mouse button is down" state for 38
seconds (1227651221.826158 to 1227651259.616190). That time was enough
for me to remove the extra plastic case I have around the phone to
make sure that nothing is touching the screen physically. However, the
touchscreen still would not report button release until I touched the
screen again:
Event: time 1227651220.986232, -------------- Report Sync ------------ Event: time 1227651221.340987, type 3 (Absolute), code 0 (X), value 388 Event: time 1227651221.341176, type 3 (Absolute), code 1 (Y), value 417 Event: time 1227651221.341240, type 1 (Key), code 330 (Touch), value 1 Event: time 1227651221.341301, type 3 (Absolute), code 24 (Pressure), value 1 Event: time 1227651221.341362, -------------- Report Sync ------------ Event: time 1227651221.350942, type 3 (Absolute), code 0 (X), value 389 Event: time 1227651221.351154, -------------- Report Sync ------------ Event: time 1227651221.360960, type 3 (Absolute), code 0 (X), value 388 Event: time 1227651221.361161, -------------- Report Sync ------------ Event: time 1227651221.411001, type 3 (Absolute), code 0 (X), value 389 Event: time 1227651221.411207, -------------- Report Sync ------------ Event: time 1227651221.430992, type 1 (Key), code 330 (Touch), value 0 Event: time 1227651221.431192, type 3 (Absolute), code 24 (Pressure), value 0 Event: time 1227651221.431250, -------------- Report Sync ------------ Event: time 1227651221.610939, type 3 (Absolute), code 0 (X), value 339 Event: time 1227651221.611137, type 3 (Absolute), code 1 (Y), value 375 Event: time 1227651221.611200, type 1 (Key), code 330 (Touch), value 1 Event: time 1227651221.611263, type 3 (Absolute), code 24 (Pressure), value 1 Event: time 1227651221.611323, -------------- Report Sync ------------ Event: time 1227651221.710922, type 1 (Key), code 330 (Touch), value 0 Event: time 1227651221.711128, type 3 (Absolute), code 24 (Pressure), value 0 Event: time 1227651221.711190, -------------- Report Sync ------------ Event: time 1227651221.825903, type 3 (Absolute), code 0 (X), value 216 Event: time 1227651221.826094, type 3 (Absolute), code 1 (Y), value 791 Event: time 1227651221.826158, type 1 (Key), code 330 (Touch), value 1 Event: time 1227651221.826220, type 3 (Absolute), code 24 (Pressure), value 1 Event: time 1227651221.826281, -------------- Report Sync ------------ Event: time 1227651221.846057, type 3 (Absolute), code 1 (Y), value 790 Event: time 1227651221.846243, -------------- Report Sync ------------ Event: time 1227651221.866035, type 3 (Absolute), code 1 (Y), value 789 Event: time 1227651221.866241, -------------- Report Sync ------------ Event: time 1227651221.886024, type 3 (Absolute), code 1 (Y), value 788 Event: time 1227651221.886195, -------------- Report Sync ------------ Event: time 1227651221.896106, type 3 (Absolute), code 1 (Y), value 787 Event: time 1227651221.896239, -------------- Report Sync ------------ Event: time 1227651221.906019, type 3 (Absolute), code 0 (X), value 215 Event: time 1227651221.906200, type 3 (Absolute), code 1 (Y), value 786 Event: time 1227651221.906274, -------------- Report Sync ------------ Event: time 1227651221.926033, type 3 (Absolute), code 1 (Y), value 779 Event: time 1227651221.926218, -------------- Report Sync ------------ Event: time 1227651221.936100, type 3 (Absolute), code 0 (X), value 214 Event: time 1227651221.936224, type 3 (Absolute), code 1 (Y), value 776 Event: time 1227651221.936330, -------------- Report Sync ------------ Event: time 1227651259.536039, type 3 (Absolute), code 0 (X), value 565 Event: time 1227651259.536226, type 3 (Absolute), code 1 (Y), value 488 Event: time 1227651259.536298, -------------- Report Sync ------------ Event: time 1227651259.546089, type 3 (Absolute), code 1 (Y), value 489 Event: time 1227651259.546231, -------------- Report Sync ------------ Event: time 1227651259.566143, type 3 (Absolute), code 1 (Y), value 490 Event: time 1227651259.566279, -------------- Report Sync ------------ Event: time 1227651259.585973, type 3 (Absolute), code 1 (Y), value 491 Event: time 1227651259.586124, -------------- Report Sync ------------ Event: time 1227651259.606126, type 3 (Absolute), code 0 (X), value 564 Event: time 1227651259.606257, type 3 (Absolute), code 1 (Y), value 492 Event: time 1227651259.606337, -------------- Report Sync ------------ Event: time 1227651259.616008, type 1 (Key), code 330 (Touch), value 0 Event: time 1227651259.616190, type 3 (Absolute), code 24 (Pressure), value 0 Event: time 1227651259.616252, -------------- Report Sync ------------ Event: time 1227651260.785895, type 3 (Absolute), code 0 (X), value 232 Event: time 1227651260.786088, type 3 (Absolute), code 1 (Y), value 204 Event: time 1227651260.786152, type 1 (Key), code 330 (Touch), value 1 Event: time 1227651260.786215, type 3 (Absolute), code 24 (Pressure), value 1 Event: time 1227651260.786276, -------------- Report Sync ------------ Event: time 1227651260.795966, type 3 (Absolute), code 0 (X), value 233 Event: time 1227651260.796174, -------------- Report Sync ------------ Event: time 1227651260.826016, type 3 (Absolute), code 0 (X), value 232 Event: time 1227651260.826205, type 3 (Absolute), code 1 (Y), value 205 Event: time 1227651260.826279, -------------- Report Sync ------------ Event: time 1227651260.885894, type 1 (Key), code 330 (Touch), value 0 Event: time 1227651260.886083, type 3 (Absolute), code 24 (Pressure), value 0

1227651221 corresponds to "Wed Nov 26 00:13:41 EET 2008" and
1227651259 to "Wed Nov 26 00:14:19 EET 2008". Syslog/klog output from
that time shows that I had just stopped wlan and was establishing a
GPRS connection when the bug occured:
Timing should be about right since those last sudo lines are about me
running evtest manually to see which way the touchscreen coordinate
axes are.