lkml.org 
[lkml]   [2012]   [Mar]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 13/20] Input: atmel_mxt_ts - parse vector field of data packets
Date
The atmel_mxt_ts T9 data contains information orientation in its 'vector'
field. Parse and debug print its contents, although its value isn't
actually used yet.

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
---
drivers/input/touchscreen/atmel_mxt_ts.c | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c
index fa692e5..e05540d 100644
--- a/drivers/input/touchscreen/atmel_mxt_ts.c
+++ b/drivers/input/touchscreen/atmel_mxt_ts.c
@@ -528,6 +528,7 @@ static void mxt_input_touchevent(struct mxt_data *data,
int y;
int area;
int amplitude;
+ int vector1, vector2;

status = message->message[0];
x = (message->message[1] << 4) | ((message->message[3] >> 4) & 0xf);
@@ -540,8 +541,12 @@ static void mxt_input_touchevent(struct mxt_data *data,
area = message->message[4];
amplitude = message->message[5];

+ /* The two vector components are 4-bit signed ints (2s complement) */
+ vector1 = (signed)((signed char)message->message[6]) >> 4;
+ vector2 = (signed)((signed char)(message->message[6] << 4)) >> 4;
+
dev_dbg(dev,
- "[%d] %c%c%c%c%c%c%c%c x: %d y: %d area: %d amp: %d\n",
+ "[%d] %c%c%c%c%c%c%c%c x: %d y: %d area: %d amp: %d vector: [%d,%d]\n",
id,
(status & MXT_DETECT) ? 'D' : '.',
(status & MXT_PRESS) ? 'P' : '.',
@@ -551,7 +556,7 @@ static void mxt_input_touchevent(struct mxt_data *data,
(status & MXT_AMP) ? 'A' : '.',
(status & MXT_SUPPRESS) ? 'S' : '.',
(status & MXT_UNGRIP) ? 'U' : '.',
- x, y, area, amplitude);
+ x, y, area, amplitude, vector1, vector2);

input_mt_slot(input_dev, id);
input_mt_report_slot_state(input_dev, MT_TOOL_FINGER,
@@ -563,6 +568,7 @@ static void mxt_input_touchevent(struct mxt_data *data,
input_report_abs(input_dev, ABS_MT_PRESSURE, amplitude);
/* TODO: This should really be sqrt(area) */
input_report_abs(input_dev, ABS_MT_TOUCH_MAJOR, area);
+ /* TODO: Use vector to report ORIENTATION & TOUCH_MINOR */
}

input_mt_report_pointer_emulation(input_dev, false);
--
1.7.7.3


\
 
 \ /
  Last update: 2012-03-13 13:13    [W:0.529 / U:0.180 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site