|
@@ -103,13 +103,23 @@
|
|
|
#define MXT_T9_ORIENT 9
|
|
|
#define MXT_T9_RANGE 18
|
|
|
|
|
|
+/* MXT_TOUCH_MULTI_T9 status */
|
|
|
+#define MXT_T9_UNGRIP (1 << 0)
|
|
|
+#define MXT_T9_SUPPRESS (1 << 1)
|
|
|
+#define MXT_T9_AMP (1 << 2)
|
|
|
+#define MXT_T9_VECTOR (1 << 3)
|
|
|
+#define MXT_T9_MOVE (1 << 4)
|
|
|
+#define MXT_T9_RELEASE (1 << 5)
|
|
|
+#define MXT_T9_PRESS (1 << 6)
|
|
|
+#define MXT_T9_DETECT (1 << 7)
|
|
|
+
|
|
|
struct t9_range {
|
|
|
u16 x;
|
|
|
u16 y;
|
|
|
} __packed;
|
|
|
|
|
|
-/* Touch orient bits */
|
|
|
-#define MXT_XY_SWITCH (1 << 0)
|
|
|
+/* MXT_TOUCH_MULTI_T9 orient */
|
|
|
+#define MXT_T9_ORIENT_SWITCH (1 << 0)
|
|
|
|
|
|
/* MXT_PROCI_GRIPFACE_T20 field */
|
|
|
#define MXT_GRIPFACE_CTRL 0
|
|
@@ -184,16 +194,6 @@ struct t9_range {
|
|
|
#define MXT_BOOT_EXTENDED_ID (1 << 5)
|
|
|
#define MXT_BOOT_ID_MASK 0x1f
|
|
|
|
|
|
-/* Touch status */
|
|
|
-#define MXT_UNGRIP (1 << 0)
|
|
|
-#define MXT_SUPPRESS (1 << 1)
|
|
|
-#define MXT_AMP (1 << 2)
|
|
|
-#define MXT_VECTOR (1 << 3)
|
|
|
-#define MXT_MOVE (1 << 4)
|
|
|
-#define MXT_RELEASE (1 << 5)
|
|
|
-#define MXT_PRESS (1 << 6)
|
|
|
-#define MXT_DETECT (1 << 7)
|
|
|
-
|
|
|
/* Touchscreen absolute values */
|
|
|
#define MXT_MAX_AREA 0xff
|
|
|
|
|
@@ -678,21 +678,21 @@ static void mxt_input_touchevent(struct mxt_data *data,
|
|
|
dev_dbg(dev,
|
|
|
"[%u] %c%c%c%c%c%c%c%c x: %5u y: %5u area: %3u amp: %3u\n",
|
|
|
id,
|
|
|
- (status & MXT_DETECT) ? 'D' : '.',
|
|
|
- (status & MXT_PRESS) ? 'P' : '.',
|
|
|
- (status & MXT_RELEASE) ? 'R' : '.',
|
|
|
- (status & MXT_MOVE) ? 'M' : '.',
|
|
|
- (status & MXT_VECTOR) ? 'V' : '.',
|
|
|
- (status & MXT_AMP) ? 'A' : '.',
|
|
|
- (status & MXT_SUPPRESS) ? 'S' : '.',
|
|
|
- (status & MXT_UNGRIP) ? 'U' : '.',
|
|
|
+ (status & MXT_T9_DETECT) ? 'D' : '.',
|
|
|
+ (status & MXT_T9_PRESS) ? 'P' : '.',
|
|
|
+ (status & MXT_T9_RELEASE) ? 'R' : '.',
|
|
|
+ (status & MXT_T9_MOVE) ? 'M' : '.',
|
|
|
+ (status & MXT_T9_VECTOR) ? 'V' : '.',
|
|
|
+ (status & MXT_T9_AMP) ? 'A' : '.',
|
|
|
+ (status & MXT_T9_SUPPRESS) ? 'S' : '.',
|
|
|
+ (status & MXT_T9_UNGRIP) ? 'U' : '.',
|
|
|
x, y, area, amplitude);
|
|
|
|
|
|
input_mt_slot(input_dev, id);
|
|
|
input_mt_report_slot_state(input_dev, MT_TOOL_FINGER,
|
|
|
- status & MXT_DETECT);
|
|
|
+ status & MXT_T9_DETECT);
|
|
|
|
|
|
- if (status & MXT_DETECT) {
|
|
|
+ if (status & MXT_T9_DETECT) {
|
|
|
input_report_abs(input_dev, ABS_MT_POSITION_X, x);
|
|
|
input_report_abs(input_dev, ABS_MT_POSITION_Y, y);
|
|
|
input_report_abs(input_dev, ABS_MT_PRESSURE, amplitude);
|
|
@@ -1036,7 +1036,7 @@ static int mxt_read_t9_resolution(struct mxt_data *data)
|
|
|
if (range.y == 0)
|
|
|
range.y = 1023;
|
|
|
|
|
|
- if (orient & MXT_XY_SWITCH) {
|
|
|
+ if (orient & MXT_T9_ORIENT_SWITCH) {
|
|
|
data->max_x = range.y;
|
|
|
data->max_y = range.x;
|
|
|
} else {
|