Scale major axis when finger is oriented.
Change-Id: I281ec25478b4ceffa6ed5a41cb44a7e81d18d8dc
diff --git a/services/input/InputReader.cpp b/services/input/InputReader.cpp
index a4d5f35..05f40ba 100644
--- a/services/input/InputReader.cpp
+++ b/services/input/InputReader.cpp
@@ -2641,9 +2641,11 @@
int32_t c2 = signExtendNybble(in.orientation & 0x0f);
if (c1 != 0 || c2 != 0) {
orientation = atan2f(c1, c2) * 0.5f;
- float minorAxisScale = (16.0f - pythag(c1, c2)) / 16.0f;
- toolMinor *= minorAxisScale;
- touchMinor *= minorAxisScale;
+ float scale = 1.0f + pythag(c1, c2) / 16.0f;
+ touchMajor *= scale;
+ touchMinor /= scale;
+ toolMajor *= scale;
+ toolMinor /= scale;
} else {
orientation = 0;
}