On 08/20/2010 02:56 AM, Yang, Jianwei wrote:
+    input_report_abs(input, ABS_X, ts->tc.y1);
+    input_report_abs(input, ABS_Y, ts->tc.x1);
Are x1/y1 already swapped? It seemed like the above lines aren't consistent 
with your other patches?
Please don't top post; replying in-line helps maintain context (you can delete the parts of the email that don't have context)

That said -- this is a patch series. The final product of a multi-touch enabled driver isn't realized until all of the patches are applied. When applied independently, they each approach a specific bug or feature. The swapping you are asking about above is correct for the state of the driver created when just this much of the patch series is applied.

In patch 2/4 the above section of the driver (cy8ctmg110_send_event) is removed and re-written into cy7ctmg110_touch_pos. I have pasted below for your reference the part that does the axis swapping.

+    /*
+     * Position coordinates are big-endian
+     *
+     * NOTE:  Protocol byte order is swapped from what the hardware
+     * is reporting, so swap them here.
+     */
+    tsc->tc.y1 = be16_to_cpup((__be16 *)&reg_p[CY8CTMG110_TOUCH_X1]);
+    tsc->tc.x1 = be16_to_cpup((__be16 *)&reg_p[CY8CTMG110_TOUCH_Y1]);
+    tsc->tc.y2 = be16_to_cpup((__be16 *)&reg_p[CY8CTMG110_TOUCH_X2]);
+    tsc->tc.x2 = be16_to_cpup((__be16 *)&reg_p[CY8CTMG110_TOUCH_Y2]);

James

_______________________________________________
MeeGo-dev mailing list
[email protected]
http://lists.meego.com/listinfo/meego-dev

Reply via email to