[DEV][UPDATE: 2-10-11][Optimus One multitouch fixes]

kpbotbot

Senior Member
Dec 27, 2010
438
65
0
In an ark.
veryexistence.wordpress.com
This thread has gone on a different approach on resolving this, so I'll be setting aside my old post (I wont be deleting them for some reasons). Everything under the hash army (###) in this single post is about getting the Spica stuff on the O1. We moved to focusing on the O1's ts driver itself.

Other note: Fixes are independent. Choose whichever works for you. A universal fix may come in the future though ;) (Tell me if this post still confuses you. I'll edit ASAP)

Multitouch axis inversion fix (First release: Feb 6, 2011): Forum member waleedq came up with a workaround that inverts the inversion. This seems very straightforward, and it works. Please note, however, that this is a workaround and not a fix. As always, do a backup.

Stuff you should know:
- Most of us who tried it (inc. me), lost our OC.
- mik_os' touchscreen lag fix is here. Tested it with Android Status while touching the screen.
- Axis inversion is still a problem. Check video 2.

Videos: http://forum.xda-developers.com/showpost.php?p=11178060&postcount=67
Link to the download link: http://forum.xda-developers.com/showpost.php?p=11166426&postcount=47
waleedq's source: https://github.com/waleedq/ThunderG-Kernel/blob/thunderg_oc/drivers/input/touchscreen/mcs6000_ts.c

Faster readout fix (First release: Feb 8, 2011) : Der_Caveman released for testing a kernel with some delay fix (modified from stock kernel). Apparent goals were to make touchscreen input readouts faster. Also, useless and non-working functions that doesn't work were removed. No CPU spike (somewhere around 30%cpu use when touching screen)

UPD: v3 is based on drellisdee's kernel source, so yes, it's OCable.

Link to download link: http://forum.xda-developers.com/showpost.php?p=11195243&postcount=84
Link to download link(v3): http://forum.xda-developers.com/showpost.php?p=11221504&postcount=126 or a forum upload http://forum.xda-developers.com/showpost.php?p=11230915&postcount=137
Changes and stuff: http://forum.xda-developers.com/showpost.php?p=11206827&postcount=91

Touchscreen optimization + axis inversion workaround(First release: Feb 10, 2011):Der_Caveman and waleedq's work combined by Sippolo.

Link to download link + source + details: http://forum.xda-developers.com/showpost.php?p=11256797&postcount=198
Link to download link + source + details (v1.1): http://forum.xda-developers.com/showpost.php?p=11270721&postcount=237

#########################################################
Okay, so I just recently found out that the Galaxy Spica (was supposed to choose it over the O1 --') -unofficially- supports multitouch.

A link to the driver's was PMed to me by adi4motion:
https://github.com/Gabriel-LG/i5700-multitouch-kernel

Anyway, is it possible that we could implement their method on our drivers? I understand that there might be some hardware differences between the two. I'm just trying my luck :)

Lastly, for sample videos, check YouTube. I have to say that the performance with those drivers really are impressive (well, I saw the axis invert once) :D
 
Last edited:

kpbotbot

Senior Member
Dec 27, 2010
438
65
0
In an ark.
veryexistence.wordpress.com
only kpbotbot can do tht and i hope he does
Sorry, can't code. But I assure you, I'm trying my best not to just leech :p (And I'm still figuring out how to compile FroYo to learn how ROMs get born)

N3mesis said:
What about O1 brother the LG Chic? Does it have the same issues?
There may be a guy here in the forum that has the Chic. Maybe he can test out the inversion issues :D (If you're reading this and you have the Chic, please test if the axis inverts using a tool like touch test xD)
 

Der_Caveman

Senior Member
Dec 24, 2010
169
99
0
But it's possible that we could write a driver based on those, right?
In the O1 a melfas MCS6000 touchscreen controller reads the capacitive touchscreen. The controller itself got a proprietary firmware in it (don't know if its from melfas or LG)- you can find that somewhere in the system folder (melfas.bin(?)). Then there is the LG kernel driver which "interacts" with the melfas controller ic- it also has the ability to flash the melfas controller.
So if there is a problem in the MCS6000 firmware- we're most likely screwed, because lack of datasheets.

Furthermore I want to know how android gets the multitouch data. Maybe the android interface itself is not that multitouch friendly?

The easiest way would have been that each finger represents a "mouse event", but I doubt that this way was chosen...
 
  • Like
Reactions: kpbotbot

kpbotbot

Senior Member
Dec 27, 2010
438
65
0
In an ark.
veryexistence.wordpress.com
I see. Is it possible to decompile that .bin somehow? I know, that question might sound stupid xD

I too did a search for melfas related stuff including source codes and the like. The only stuff I found was about Samsung phones having the same touch screen.

Let's just hope (for now that we cant do anything about it) that LG -at least- releases an improved version of their drivers for their 2.3 update :)
 

Der_Caveman

Senior Member
Dec 24, 2010
169
99
0
I think is just the crappy touch controller that's installed on our device; It can't spot more than 2 touches, and has got axis inversion. So I don't think there's so much to do with drivers
LG only implemented "two fingers"- one can read that in LG's sources.
Again: axis inversion could also be android related (if android only requests coordinates without "finger assignments" bugs are preassigned).
 

kpbotbot

Senior Member
Dec 27, 2010
438
65
0
In an ark.
veryexistence.wordpress.com
I don't really care whether it would accept more than 2 presses :) That would be awesome for people doing extreme gaming with the phone, but with normal use it's awkward to use 3 fingers.

I bet the axis inversion issue is very much fixable. We just don't know how yet. But considering the fact that the Spica has less of this as a problem, we might fix it a bit, or completely fix it.

This is just my opinion though. I saw some guy explain multitouch with an illustration.
 

kpbotbot

Senior Member
Dec 27, 2010
438
65
0
In an ark.
veryexistence.wordpress.com
I have 2 months of doing absolutely nothing at home (stopped this sem. doctor said i have to rest. and yes, I have a life xD), so I might be able to understand a bit of the code. It really isn't that complex, but my lack of programming knowledge hinders me from modifying the code.

However, I sure do hope that someone figures this out :)