Originally Posted by sbdags
Do we know what @flumpster
did for the TF201 to invert the axis? @that
It's a simple kernel patch:
diff --git a/drivers/input/touchscreen/atmel_maxtouch.c b/drivers/input/touchscreen/atmel_maxtouch.c
index 30238aa..96a65bf 100644
@@ -1842,6 +1842,8 @@ void process_T9_message(u8 *message, struct mxt_data *mxt, int last_touch)
if (mxt->max_y_val < 1024)
ypos >>= 2;
+ // invert x-axis
+ xpos = mxt->max_x_val - xpos;
stored_x[touch_number] = xpos;
stored_y[touch_number] = ypos;
The easiest option is to have two different kernels built, and have aroma choose it.
Otherwise, you can create a more dynamic patch, to detect the hardware version of the panel, and invert automatically. I had this patch laying around, but have lost it, so I can't tell you what version to use.
If you compare the dmesg output for the inverted tf201, and a "normal" one, then we can add C code to dynamically invert the x-axis and not have to worry about different kernels.