提交 23c239be 编写于 作者: V Vasily Khoruzhick 提交者: Dmitry Torokhov

Input: s3c24xx_ts - report touch only when stylus is down

Currently driver reports touches when it gets (1 << ts.shift) samples,
even if stylus is up, which is incorrect. We should only report coordinates
and touch condition when stylus is down.
Signed-off-by: NVasily Khoruzhick <anarsoul@gmail.com>
Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
上级 2f095865
......@@ -128,6 +128,7 @@ static void touch_timer_fire(unsigned long data)
down = get_down(data0, data1);
if (down) {
if (ts.count == (1 << ts.shift)) {
ts.xp >>= ts.shift;
ts.yp >>= ts.shift;
......@@ -146,9 +147,10 @@ static void touch_timer_fire(unsigned long data)
ts.count = 0;
}
if (down) {
s3c_adc_start(ts.client, 0, 1 << ts.shift);
} else {
ts.xp = 0;
ts.yp = 0;
ts.count = 0;
input_report_key(ts.input, BTN_TOUCH, 0);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册