Jump to content

Multitouch possible in theory?


Guest lemmyc

Recommended Posts

Guest totiadrenalin
Consider the X axis only; there are two X contacts, but the decoder selects (or can only see) one of them. As you move your fingers together, the two points merge into one, and then as they cross over, they split into two again. After they become two points, the decoder again is faced with a choice, and selects one. You'd expect that sometimes it chooses the same finger, and sometimes the other finger, which is what the video shows.

I'm not sure it helps; it seems to just illuminate the algorithm used to handle multiple inputs in turning them into a single input.

Hay! Maybe that's the pint.

If there's two X, maybe somehow we could confuse тhe touch controller to split the X touch pint's?

BigBear! What do you thing about hacking the Browser application?

Or maybe it's impossible?

Edited by totiadrenalin
Link to comment
Share on other sites

Guest totiadrenalin

I find something interesting in my config.gz/config

heres the strange thing:

#

# Input Device Drivers

#

# CONFIG_INPUT_KEYBOARD is not set

# CONFIG_INPUT_MOUSE is not set

# CONFIG_INPUT_JOYSTICK is not set

# CONFIG_INPUT_TABLET is not set

CONFIG_INPUT_TOUCHSCREEN=y

# CONFIG_TOUCHSCREEN_FUJITSU is not set

# CONFIG_TOUCHSCREEN_GUNZE is not set

# CONFIG_TOUCHSCREEN_ELAN_I2C_8232 is not set

# CONFIG_TOUCHSCREEN_ELO is not set

# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set

# CONFIG_TOUCHSCREEN_MTOUCH is not set

# CONFIG_TOUCHSCREEN_INEXIO is not set

# CONFIG_TOUCHSCREEN_MK712 is not set

# CONFIG_TOUCHSCREEN_PENMOUNT is not set

# CONFIG_TOUCHSCREEN_MSM is not set

# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI is not set

# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set

# CONFIG_TOUCHSCREEN_TOUCHWIN is not set

# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set

# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set

# CONFIG_TOUCHSCREEN_TSC2007 is not set

# CONFIG_TOUCHSCREEN_MSM_LEGACY is not set

CONFIG_TOUCHSCREEN_CYPRESS_CPT=y

CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI_TM1319=y

CONFIG_TOUCHSCREEN_MELFAS=y

CONFIG_TOUCHSCREEN_INNOLUX=y

CONFIG_INPUT_ACCELEROMETER=y

CONFIG_ACCELEROMETER_ADXL345=y

CONFIG_ACCELEROMETER_ST_L1S35DE=y

CONFIG_ACCELEROMETER_MMA7455L=y

CONFIG_INPUT_MISC=y

# CONFIG_INPUT_ATI_REMOTE is not set

# CONFIG_INPUT_ATI_REMOTE2 is not set

# CONFIG_INPUT_KEYSPAN_REMOTE is not set

# CONFIG_INPUT_POWERMATE is not set

# CONFIG_INPUT_YEALINK is not set

# CONFIG_INPUT_CM109 is not set

CONFIG_INPUT_UINPUT=y

CONFIG_INPUT_GPIO=y

CONFIG_INPUT_KEYCHORD=y

# CONFIG_BMA150 is not set

I have =Y on three different drivers.

CONFIG_TOUCHSCREEN_CYPRESS_CPT=y

CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI_TM1319=y

CONFIG_TOUCHSCREEN_MELFAS=y

CONFIG_TOUCHSCREEN_INNOLUX=y

Is it the way it should be or what?

this is from TM-Pulse U8220

Android 2.1

Edited by totiadrenalin
Link to comment
Share on other sites

Guest BigBearMDC
and where do you propose we get said kernel?

I already patched the kernel in every possible way but all to no avail. The touchscreen controller firmware just doesn't support it (yeah I meant firnware, the hardware does indeed support multitouch).

Best regards,

BB

Link to comment
Share on other sites

Guest BigBearMDC
On the Dutch technology site Tweakers they stated that they created MultiTouch for the Spica, should that work too for the Pulse?

Pretty sure not. Huawei modifys everything, so normal patches just don't work. I also had to figure out myself (with great help from Luke Hutch) how to merge in the LH MT hack. Furthermore not the kernel is the problem but the touchscreen controller firmware. If we find a way to get the controller firmware from the G1, I might flash it onto my DEV Pulse and see if my MT kernel works then (I know the kernel works :D ).

Best regards,

BB

Link to comment
Share on other sites

  • 2 weeks later...
Guest BigBearMDC
maybehuawei u8500 that have multitouch can help us to get it on our phone ?

sorry for my bad eng, im from rus

We (well mostly totiadrenalin) are working on getting the Hero's touchscreen controller firmware flashed onto our Pulse. If that works we might maybe end up with multitouch (for Android 1.5 only at the moment) in the coming days :huh:

Thanks for the hint anyway, flashing a firmware from Huawei might be better, once its released ;)

Best regards,

BB

Link to comment
Share on other sites

Guest BigBearMDC
But what if u8500 have the clearpad 3000 or some else touchcontroller?

Nya I don't really think that Huawei - all out of a sudden - decides to use some premium hardware in their products.

Its possible though. Taking the firmware from the Hero or G1 is faster and safer for now I'd say :huh:

Best regards,

BB

Link to comment
Share on other sites

Guest BigBearMDC
BigBearMDC , what is needed from u8500 ?

maybe we get get it from factory example...

or it wiil be soon available in my country with name of MTC EVO

We'd need the Synaptics touchscreen controller firmware. I don't know how to get it off the device, totiadrenalin did this. You can ask him.

But you definitely need some expensive hardware to do that.

Best regards,

BB

Link to comment
Share on other sites

Guest BigBearMDC
I can code in PHP, is it any way comparable to the code Android use?

From what I can tell the syntax is totally different to C / C++.

I never coded in PHP though.

Best regards,

BB

Link to comment
Share on other sites

Guest AdamBaker
We only need the name of the firmware.

Do you mean the file at /system/touch/touchscreen_upgrade.txt that begins

w 0a 00 FF 00 01 02 03 04 05 06 07 38
w 0a [delay=99] 90
r 0a X

w 0a 00 FF 00 01 02 03 04 05 06 07 39 00 01 30 30 30 30 30 30 30 30
w 0a 14 7E 30 30 30 7E 30 30 30 7E 30 30 30 7D 21 BD 7E 7E 30 30 30
w 0a 28 7E 30 30 30 7E 30 30 30 7D 2B 1E 7E 7E 30 30 30 7E 30 30 30
w 0a 3C 7E 30 30 30 7E 30 30 30 7E 30 30 30 7E 30 30 30 7E 30 30 30
w 0a 50 7E 30 30 30 7E 30 30 30 7E 30 30 30 7E 30 30 30 7E 30 30 30
w 0a 64 7E 30 30 30 7E 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
[/codebox]

Link to comment
Share on other sites

Guest totiadrenalin
Do you mean the file at /system/touch/touchscreen_upgrade.txt that begins

w 0a 00 FF 00 01 02 03 04 05 06 07 38
w 0a [delay=99] 90
r 0a X

w 0a 00 FF 00 01 02 03 04 05 06 07 39 00 01 30 30 30 30 30 30 30 30
w 0a 14 7E 30 30 30 7E 30 30 30 7E 30 30 30 7D 21 BD 7E 7E 30 30 30
w 0a 28 7E 30 30 30 7E 30 30 30 7D 2B 1E 7E 7E 30 30 30 7E 30 30 30
w 0a 3C 7E 30 30 30 7E 30 30 30 7E 30 30 30 7E 30 30 30 7E 30 30 30
w 0a 50 7E 30 30 30 7E 30 30 30 7E 30 30 30 7E 30 30 30 7E 30 30 30
w 0a 64 7E 30 30 30 7E 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
[/codebox]

Can you please upload that file here?

Link to comment
Share on other sites

Guest McSpoon

That file never changed. Huawei put it in every cupcake ROM but the contents were always the same. I'm not sure if it was even required, and it doesn't exist in the Pulse 2.1 firmwares.

Link to comment
Share on other sites

Guest totiadrenalin
That file never changed. Huawei put it in every cupcake ROM but the contents were always the same. I'm not sure if it was even required, and it doesn't exist in the Pulse 2.1 firmwares.

It is required from the project menu.

It's the touchscreen firmware.

Link to comment
Share on other sites

It is required from the project menu.

It's the touchscreen firmware.

any success so far?

im not an expert or anything but wouldnt it be possible to decompile the ProjectMenuACT.apk using apktool or something and then look somewhere in the code where this little program looks for the touchscreen firmware when you press upgrade touchscreen firmware?

Edited by mr.a
Link to comment
Share on other sites

Guest BigBearMDC
any success so far?

im not an expert or anything but wouldnt it be possible to decompile the ProjectMenuACT.apk using apktool or something and then look somewhere in the code where this little program looks for the touchscreen firmware when you press upgrade touchscreen firmware?

Already tried that yesterday, but I couldn't manage to properly decompile the .dex file.

Best regards,

BB

Link to comment
Share on other sites

Guest McSpoon

Actually the code for processing that touchscreen_upgrade.txt file is in the kernel - you'll find it towards the end of /drivers/input/touchscreen/cypress_cpt_i2c_ts.c

But it's disabled because CONFIG_UPDATE_TS_FIRMWARE wasn't set in the .config. Even if that was set it would still be irrelevant because that driver isn't used. Ages ago I looked into which touchscreen drivers were actually loading and my Pulse opted for the synaptics_i2c_rmi_tm1319 instead, suggesting it wasn't able to find suitable hardware for the cypress_cpt driver.

The conclusion I reached was that /system/touch/touchscreen_upgrade.txt is never used. I always checked that file whenever Huawei released different 1.5 firmware to see if they had upgraded it but the contents never changed. And it doesn't exist anymore in the new 2.1 firmware so I consider it useless to us.

Link to comment
Share on other sites

Guest BigBearMDC
Actually the code for processing that touchscreen_upgrade.txt file is in the kernel - you'll find it towards the end of /drivers/input/touchscreen/cypress_cpt_i2c_ts.c

But it's disabled because CONFIG_UPDATE_TS_FIRMWARE wasn't set in the .config. Even if that was set it would still be irrelevant because that driver isn't used. Ages ago I looked into which touchscreen drivers were actually loading and my Pulse opted for the synaptics_i2c_rmi_tm1319 instead, suggesting it wasn't able to find suitable hardware for the cypress_cpt driver.

The conclusion I reached was that /system/touch/touchscreen_upgrade.txt is never used. I always checked that file whenever Huawei released different 1.5 firmware to see if they had upgraded it but the contents never changed. And it doesn't exist anymore in the new 2.1 firmware so I consider it useless to us.

Actually there are 5 drivers which could be used. synaptics_i2c_rmi_tm1319 (yap that's the one that is used), synaptics_i2c_rmi_tm16xx (don't remember the exact name right now) with MT support, synaptics_i2c_rmi with MT support, cypress_cpt and cypress_byd with MT support. Nevertheless, its a god info that the touchscreen_upgrade.txt is useless for us, know we know we'll have to search somewhere else. I'm sure though that the touchscreen controller firmware can be upgraded through the service menu. I also think that this upgrade function of the cypress driver has not much to do with the function we're trying to access. My theory is that the upgrade process of the ProjectMenu is handled through some proprietary libs and frameworks from Huawei and does not require special kernel functions as they aren't accessible through an apk anyway.

One reason that the file never changed could be that it never got updated. I think every 1.5 ROM used the same controller firmware. I'm not even entirely sure if 2.1 uses a different one.

Best regards,

BB

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.