I saw that msm_ts.c from pastebin earlier today but the soft buttons don't work with it. I'm working on the touchscreen all day... I hope something comes out of this, found lots of interesting stuff through my research.
EDIT: After looking & porting a lot of code I successfully use msm_ts.c from deadlink with some modifications to board-zte-mooncake.c with working virtual buttons/pinch-zoom/calibration except the virtual buttons don't vibrate. It seems that deadlink used kalltkaffe's sources for touchscreen & virtual buttons. Now I'm working on porting kalltkaffe's screen calibration and include it in RacerParts, almost done
deadlink used synaptics-rmi for the keypad however is not needed, what I did for my driver was to add the following in msm_ts.c in function msm_ts_probe:
input_set_capability(ts->input_dev, EV_KEY, BTN_TOUCH); set_bit(EV_ABS, ts->input_dev->evbit); #if defined(CONFIG_TOUCHSCREEN_VIRTUAL_KEYS) set_bit(EV_KEY, ts->input_dev->evbit); set_bit(KEY_HOME, ts->input_dev->keybit); set_bit(KEY_MENU, ts->input_dev->keybit); set_bit(KEY_BACK, ts->input_dev->keybit); #endif input_set_abs_params(ts->input_dev, ABS_MT_POSITION_X, pdata->min_x, pdata->max_x, 0, 0); ...
Also, you need to be sure (if you use the virtualkey support) that you have the correct values for the array_size:
#if defined(CONFIG_TOUCHSCREEN_VIRTUAL_KEYS) #define virtualkeys virtualkeys.msm-touchscreen #if defined(CONFIG_MACH_MOONCAKE) static const char ts_keys_size = "0x01:102:30:350:40:60:0x01:139:120:350:50:60:0x01:158:210:350:40:60"; #elif defined(CONFIG_MACH_V9) static const char ts_keys_size = "0x01:102:70:850:60:50:0x01:139:230:850:60:50:0x01:158:390:850:60:50"; #endif
Of course, in my case I need to compile the kernel with virtualkeys support (which deadlink didn't need since he used synaptics-rmi), also, this would allow to use touch_to_key to get haptic feedback on the keys, so for my kernel I have initramfs with touch_to_key support enabled and touch_to_key in /system/bin. I don't know yet however how to implement haptic feedback without touch_to_key, never really bother with it to be honest.
Also, thanks for reporting, this has reminded me that I need to update that fricking msm_ts driver in my github xD
Edited by GuyOverThere, 18 October 2012 - 03:56 AM.