[XPERIA X8 General] viper001:
Part 2. Touchscreen Wars.

One of the silliest things you'll see on the X8 is the inconsistency in Hardware. We don't know whether it's for cost or different paces of manufacture or maybe parts availability. We even have 4 types of essentially the same machines the E15i and the cdma version E15a. then lately we have the W8 or E16i and E16a. to further compound the issue we even have different touchscreen controllers. And this is what we're gonna look at today.

So, you had fun compiling, played around with the defconfig yet?

well, if not let's take a look at one particular section:

# 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_SYNAPTICS_I2C_RMI=y

CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI_4X=y

# 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_CY8CTMA300 is not set

# CONFIG_TOUCHSCREEN_CY8CTMA300_SER is not set

CONFIG_TOUCHSCREEN_CYTTSP_I2C=y

CONFIG_TOUCHSCREEN_CYTTSP_CORE=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've extracted this from the semc_shakira_defconfig and you'll see that the synaptics and cyprus are enabled.

The question that comes to mind is why the cyprus have true dual while the synaptics X8 user stuck with only a fake? well, sadly the answer is in hardware. NO, it is not the controller... it is the screen, the touch screen

sensor

itself. like the synaptic advert says, the clearpad 1000 has 1touch + pinch.

What we can do however, especially if you're not planning to distribute your Kernel, is to disable the support for the driver you're not using.... ;) think of it as payback. :p

To anybody interested to take a look. the touch screen drivers are located at (if you're using the format from the beginning of this tutorial) */FXP/drivers/input/touchscreen.

Files of interest are:

synaptics_i2c_rmi4.c

cyttsp_i2c.c

Well, it isn't much of a war...

Bring out the droids. or, semi-automating the process.

are you tired yet of entering those exports and stuff? well there's and easier way...

I've attached a file for your convenience (never say i didn't do you guys

favors.) called fxp2.txt. rename it to fxp2.bash and copy this into your Work directory. Which in this tutorial's case would be

/home/(your username/Kernel/FXP/

now, double click on this file from the home folders or type gedit fxp2.bash from terminal (be sure your in the working directory).

edit this file so that the paths are correct. save and close.

enter in terminal: "bash fxp2.bash"

cool, huh.

what did it do? first it cleaned up all the mess from previous compiles, then it set up the environment, then it made the .config and opened up the semi-GUI config editor. you can edit the configs as you want and when you exit the GUI, all you have to do is type in "make" et voila!!!

Speaking of the Configs. i'm sure that by now you've disregarded my warnings of not to change anything yet:rolleyes:, and i'm very sure that by now you would have found that you can enable swap, setup support for ext234, set up driver support, net filters. etc. Heck, you might have even figured out how to make a kernel for the W8 by now.

But for the guys who did follow my warnings....:p Why did you? That's why you want to compile the kernel... you want to be in charge, you want to be the boss of your own X8... the only thing stopping you is you didn't know how... NOW, YOU DO!!!:D

on the last chapter we'll be dealing with the Code's Revenge... the ramdisk.