I don't know where to put this but if anyone is having trouble getting the 'sendevent' code to work on ICS using the method first posted here I've figured out how to do it. It does require SU access though. The problem for me at least was this.
I'll post the code below and then explain each part.
When you do 'getevent' to get the hex code for your touch events on your touchpad (mine was /dev/event1) it spits out a bunch of data that after converting from hex to dec will look like this.
The first group is 7 lines and the next is 9 for a single touch event. Why? no clue. The syntax is this (device) (1, 3, or 0, not understood) (value, which can mean many things. 58 in my case was an identifier for my device, 53 and 54 denote that coordinates are the value) (value, etc)
sendevent /dev/input/event1 3 58 255 #means '3, variable 58 is 255'
sendevent /dev/input/event1 3 53 534 #'3, variable 53 (x axis) is 534
sendevent /dev/input/event1 3 54 321 #'3, variable 54 (y axis) is 534
sendevent /dev/input/event1 3 48 8 #'3, variable 48 (pressure maybe) is 8
sendevent /dev/input/event1 0 2 0 #i think the 0,2,0 means 'finger down or up
sendevent /dev/input/event1 1 330 1 #this, followed by 0,0,0 means 'end of event'
sendevent /dev/input/event1 0 0 0
same with all this, accept this is the other end of the event, if the first part meant #'he put his finger down' this means 'he picked it up.
sendevent /dev/input/event1 3 58 0
sendevent /dev/input/event1 3 53 534
sendevent /dev/input/event1 3 54 321
sendevent /dev/input/event1 3 48 8
sendevent /dev/input/event1 0 2 0
sendevent /dev/input/event1 0 0 0
sendevent /dev/input/event1 1 330 0
sendevent /dev/input/event1 0 2 0
sendevent /dev/input/event1 0 0 0
at first glance this will appear to be two different touch events which is where i went wrong. It's actually a 'call and answer type of situation.' this code will produce a single touch event. by the way i used a shell script and smanager to get this without having to decipher the hex data myself it was called 'sendeventgetevent.sh' google it.
I'm high which makes it hard to explain but the following code if you're root will produce a single touch event on the coordinates provided in 4.0.4 ICS. You'll have to tweak it to get it right of course. download sendeventgetevent.sh, use a script manager like smanager to run it and rock on.
$su
sendevent /dev/input/event1 3 58 255;
sendevent /dev/input/event1 3 53 534;
sendevent /dev/input/event1 3 54 321;
sendevent /dev/input/event1 3 48 8;
sendevent /dev/input/event1 0 2 0;
sendevent /dev/input/event1 1 330 1;
sendevent /dev/input/event1 0 0 0;
sendevent /dev/input/event1 3 58 0;
sendevent /dev/input/event1 3 53 534;
sendevent /dev/input/event1 3 54 321;
sendevent /dev/input/event1 3 48 8;
sendevent /dev/input/event1 0 2 0;
sendevent /dev/input/event1 0 0 0;
sendevent /dev/input/event1 1 330 0;
sendevent /dev/input/event1 0 2 0;
sendevent /dev/input/event1 0 0 0;