[XPERIA X8 Original Android Development] AnDyX:
This is module that enables dual touch in Cypress touchpad.

Currently there is nothing new to implement unless there will be some breakthrough e.g: datasheet for Cypress chip. I know that FroyoBread people have problems I couldn't solve it without help.

Prerequisites:

- cypress based touchpad,

- X8,

- Baseband x15

Known issues:

- on FroyoBread - you can't accept or reject the incoming call - works if added in hw_config.sh - thanks der_mart

- cypress chip don't report second touch if distance between fingers is lower then about 110 pixels (by AnDyX)

- if you slide one finger to second - chip reports one finger and geometric center will be in the middle of two fingers (by AnDyX)

- sometimes doesn't report second touch if you quickly press both fingers alltogether (by AnDyX)

- on FroyoBread sliding position of touch from first finger to second if you release first and quicly press second finger in another position - could you check both v003 versions guys ?

How to check which chip our X8 has:

- if you already have X8Gesture module from doixanh and it works on your X8 - you have synaptic - so from now stop yelling, screaming and complaining - for me this is disrespect his work !

- run following command in shell (via adb or Terminal Emulator):

dmesg | grep cyttsp-i2c

If you have something like this, that means your X8 is using Cypress chip otherwise your X8 has Synaptic chip (so look at note above):

cyttsp_i2c_probe: Successful registration cyttsp-i2c

if you have "permission denied" you must first enter this in the terminal

su

and then you can enter the above commands.

Manual installation:

- push ax8mt.ko to /system/lib/modules

- run the following command

insmod /system/lib/modules/ax8mt.ko

- run dmesg in shell, must contains following lines:

ax8mt: module v005 loaded
input: cyttsp-spi as /devices/platform/i2c-adapter/i2c-0/0-0024/input/input3
cyttsp-i2c 0-0024: ax8mt_cyttsp_setup_input_dev: Registered input device cyttsp-spi
ax8mt: Enjoy dual touch now :)
ax8mt_init: Mode set to: andyx

Thats all - dual touch should works now.

If system reboot happens, get last kernel messages (get it using adb command:

adb pull /proc/last_kmsg

) and share ;)

Check in Multitouch Visualiser - if it works correctly.

Until you're sure that it works with your hardware, don't install it to hw_config.sh.

Release history

v005:

- now there are four modes in driver (can be switched on the fly) each differently reports touches to OS:

* 'original' - uses code from driver - don't send tracking id that chip reports - so OS must do tracking fingers it by itself,

* original_tid' - uses code from driver - send tracking id from chip - in Multitouch Visualiser/Tester - there are additional id number,

* 'andyx' - default mode - send tracking id to OS - but only reports track id set to 1 or 2 - so there is no additional id number in Multitouch Visualiser,

* 'desire' - don't send tracking id that chip reports - so OS must do tracking fingers it by itself; reports touches similar to driver in HTC Desire.

In XGin - all version works - so by default 'andyx' mode is set, IMHO - don't forces OS to track touches by itself and up to 2 tracking id ( two fingers ;) ), so should be fastest.

How to change mode:

In dmesg output there will be line:

ax8mt: module v005 loaded
input: cyttsp-spi as /devices/platform/i2c-adapter/i2c-0/0-0024/input/input3

Use device name from second line without two last slashes at the end and add '/sys/ at the beginning:

echo "andyx" > /sys/devices/platform/i2c-adapter/i2c-0/0-0024/mode

Dmesg command output should contain:

attr_driver_mode: Mode switched to: andyx

v004:

- driver reports smaller constant touch area,

- this is version that not send tracking id sent to OS,

- added sending the same information from driver to OS like in Synaptic driver - maybe it helps FroyoBread people.

v003:

- removed all hacks - module is initialised in init section,

- two versions with and without tracking id sent to OS.

v002:

- code cleaning,

- module is removable using rmmod command,

- driver send track id to OS - visible in Multitouch Visualiser.

v001:

- just initial version :)

I should mention that der_mart published his version at nearly the same time: DT

Cypress product info:

I found this on cypress page:

So everything depends which version of chip is in our X8.

Note:

It uses code to hijacking methods from doixanh X8Overclock module.

Disclaimer

I'm not responsible if this module damages your lovely phone. Use it at your own risk!