Imtermitant inability to long press or drag
Hey guys, i really hope you can help me with this problem. ive had my xoom wifi since launch, and have since rooted, changed to various roms, and in general had a grand time playing with it. abiut 3 weeks ago or so i started experiencing a strange problem. what happens is that for most (85%) of the time, i cannot make a swiping motion, it seems to only register it as a touch, and not a drag. Sometimes however, it will drag for a tiny distance, then lose the "connection". This makes it literally impossible to draw or take notes, and also makes it difficult to scroll up and down in the web browser as well as move icons around the homescreen as it drops the touch gesture. Ive searched the web endlessly and have fiund no clue or suggestion as to how to fix it.
things i have tried to rsolve the issue to no avail:
resetting to factory
wiping all data and caches(including dalvik)
completely unrooting, locking, and sbfing to stock rom
opening xoom and checking the connectiin, it was fine.
also, ive noticed that if i download a multitouch app in market it works just fine all day long with no problem. but every other application doesnt work. this inckudes the xoom debug interface.
Rooted Droid 1 CM7
04-29-2012 04:46 PM
Had two of my Xoom Wifi's starting to do this after the ICS upgrade, which I think was just coincidental. Went through factory resets, removed screen protectors, talked over...and over...and over with Motorola support. Finally both went in to Motorola and both came back with new screens. Am glad mine where still under warranty.
On both of mine it seemed to be a heat related issue, if I watched a movie or used tablet for long period of time then it would stop registering long presses. So bad that I couldn't use unlock icon. If I put them on the air vent in the house to cool down, long press worked again for awhile.
If you go to your settings, developer options, then check pointer location.
It will give you an overlay showing all touches and drags. It will show all 10 touch points as well if you use all your fingers. Maybe there is a certain location on the screen that's causing trouble or a good way to test multi-touch.
Thank you both for your replies! I've tried the pointer location option in the developer menu, but it does the same thing, no matter where it is on the screen. I opened it up yet again and looked at the ribbon cable for the digitizer and screen and both are in immaculate condition. This only started happening about 3 weeks to a month ago. I also do not believe it's an over heating problem, as it will happen the moment I power the tablet on from having been off for over an hour, which should have given it time to cool off.
What strikes me as the most odd thing, and makes me believe that it's software related instead of hardware, is that i can use the app Touch Test and it will work flawlessly, i drew one continuous line with 5 points of multi touch for 3 minutes straight with no problems, and it's consistently fine with that app. However it doesn't work in apps such as Skitch, Auto-Desk, and Draw Something. It makes it impossibly hard to draw as it only registers as a tap. It also happens in any browser i use, sometimes it's very very difficult to scroll down...
Here is a video i took of the problem to help show you what it is doing.
Rooted Droid 1 CM7
Multitouch is a little different with how it deals with the hardware events than the regular touch handler in the android device. It is possible that there is software causing enough of a pause that the keypress timing it getting interrupted. Only way to test that is to do a factory reset, and not restore any softare or updates and use it for awhile and see if problem returns. Then restore applications one by one.
With my units the fact that it was a hardware problem was pretty easy to diagnose, as I could tell the screen was not registering the presses properly. I did the following:
I hooked up to the tablet with it in USB debugging mode, ran "adb shell" on my PC then issued the following command through the shell connection:
getevent -lt /dev/input/event6
This starts dumping out all the raw touchscreen events to the console. A lot of info will be displayed, and don't have time to go through all of it. The important thing is that screen reports position of finger at a set interval. Each "report" looks something like this:
768860-376107: EV_ABS ABS_MT_PRESSURE 00000032
768860-376163: EV_ABS ABS_MT_TOUCH_MAJOR 00000002
768860-376184: EV_ABS ABS_MT_POSITION_X 000009a0
768860-376198: EV_ABS ABS_MT_POSITION_Y 00000317
768860-376213: EV_ABS ABS_MT_ORIENTATION 00000000
768860-376222: EV_ABS ABS_MT_TRACKING_ID 00000000
768860-376233: EV_SYN SYN_MT_REPORT 00000000
768860-376246: EV_SYN SYN_REPORT 00000000
When the finger leaves the screen, you see an empty report. So while the event above shows finger is in contact with screen. When finger leaves screen will see something like:
768860-385085: EV_ABS ABS_MT_PRESSURE 00000015
768860-385206: EV_ABS ABS_MT_TOUCH_MAJOR 00000001
768860-385224: EV_ABS ABS_MT_POSITION_X 000009c2
768860-385237: EV_ABS ABS_MT_POSITION_Y 0000032b
768860-385251: EV_ABS ABS_MT_ORIENTATION 00000000
768860-385260: EV_ABS ABS_MT_TRACKING_ID 00000000
768860-385271: EV_SYN SYN_MT_REPORT 00000000
768860-385284: EV_SYN SYN_REPORT 00000000
768860-408583: EV_SYN SYN_MT_REPORT 00000000 <----with second set of report lines without position information
768860-408604: EV_SYN SYN_REPORT 00000000
If while doing a long press on screen, if you see a bunch of events like the second set (with second set of report lines right after the first), then the screen thinks your finger is leaving the screen.
On your PC it might be easier to run something like:
adb shell getevent -lt /dev/input/event6 > output.txt
As that will put the output into a text file on your PC where you can go through it easier, and not have to try to watch the thousands of events scroll by.