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
|