projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
105affb
)
Input: alps - process_bitmap: round down when spreading adjescent fingers over 2...
author
Hans de Goede
<
[email protected]
>
Sat, 26 Jul 2014 05:42:53 +0000
(22:42 -0700)
committer
Dmitry Torokhov
<
[email protected]
>
Sat, 26 Jul 2014 21:03:15 +0000
(14:03 -0700)
This fixes 2 fingers at the same height or width on the touchpad getting
reported at different y / x coordinates.
Note num_bits is always at least 1.
Signed-off-by: Hans de Goede <
[email protected]
>
Signed-off-by: Dmitry Torokhov <
[email protected]
>
drivers/input/mouse/alps.c
patch
|
blob
|
history
diff --git
a/drivers/input/mouse/alps.c
b/drivers/input/mouse/alps.c
index 5b35f4fc4d2f7915154c762be209a6f968e75a76..1c99178289567722b5b56635b005f791378e90d7 100644
(file)
--- a/
drivers/input/mouse/alps.c
+++ b/
drivers/input/mouse/alps.c
@@
-391,13
+391,13
@@
static int alps_process_bitmap(struct alps_data *priv,
* adjacent fingers. Divide the single contact between the two points.
*/
if (fingers_x == 1) {
- i =
x_low.num_bits
/ 2;
+ i =
(x_low.num_bits - 1)
/ 2;
x_low.num_bits = x_low.num_bits - i;
x_high.start_bit = x_low.start_bit + i;
x_high.num_bits = max(i, 1);
}
if (fingers_y == 1) {
- i =
y_low.num_bits
/ 2;
+ i =
(y_low.num_bits - 1)
/ 2;
y_low.num_bits = y_low.num_bits - i;
y_high.start_bit = y_low.start_bit + i;
y_high.num_bits = max(i, 1);