aboutsummaryrefslogtreecommitdiff
path: root/linux/3.1.6/0014-s3c2410_ts-HACK-for-tslib-add-fake-pressure-value.patch
blob: d25935560c86ec78e2f05d98490e1f8a2aee12b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
From dee39d8e29e6de3759acc733588bbc691e69114b Mon Sep 17 00:00:00 2001
From: Jiri Pinkava <jiri.pinkava@vscht.cz>
Date: Sat, 5 Jun 2010 12:35:55 +0200
Subject: [PATCH 14/14] s3c2410_ts: HACK for tslib, add fake pressure value

Signed-off-by: Jiri Pinkava <jiri.pinkava@vscht.cz>
---
 drivers/input/touchscreen/s3c2410_ts.c |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/drivers/input/touchscreen/s3c2410_ts.c b/drivers/input/touchscreen/s3c2410_ts.c
index 6085d12..13f8c04 100644
--- a/drivers/input/touchscreen/s3c2410_ts.c
+++ b/drivers/input/touchscreen/s3c2410_ts.c
@@ -124,6 +124,7 @@ static void touch_timer_fire(unsigned long data)
 
 			input_report_abs(ts.input, ABS_X, ts.xp);
 			input_report_abs(ts.input, ABS_Y, ts.yp);
+			input_report_abs(ts.input, ABS_PRESSURE, 1);
 
 			input_report_key(ts.input, BTN_TOUCH, 1);
 			input_sync(ts.input);
@@ -140,6 +141,7 @@ static void touch_timer_fire(unsigned long data)
 		ts.count = 0;
 
 		input_report_key(ts.input, BTN_TOUCH, 0);
+		input_report_abs(ts.input, ABS_PRESSURE, 0);
 		input_sync(ts.input);
 
 		writel(WAIT4INT | INT_DOWN, ts.io + S3C2410_ADCTSC);
@@ -314,10 +316,16 @@ static int __devinit s3c2410ts_probe(struct platform_device *pdev)
 	}
 
 	ts.input = input_dev;
-	ts.input->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
-	ts.input->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH);
+	__set_bit(EV_ABS, ts.input->evbit);
+	__set_bit(ABS_X, ts.input->absbit);
+	__set_bit(ABS_Y, ts.input->absbit);
+	__set_bit(ABS_PRESSURE, ts.input->absbit);
+	__set_bit(EV_SYN, ts.input->evbit);
+	__set_bit(EV_KEY, ts.input->evbit);
+	__set_bit(BTN_TOUCH, ts.input->keybit);
 	input_set_abs_params(ts.input, ABS_X, 0, 0x3FF, 0, 0);
 	input_set_abs_params(ts.input, ABS_Y, 0, 0x3FF, 0, 0);
+	input_set_abs_params(ts.input, ABS_PRESSURE, 0, 1, 0, 0);
 
 	ts.input->name = "S3C24XX TouchScreen";
 	ts.input->id.bustype = BUS_HOST;
-- 
1.7.3.1