CursorInputMapper: Populate axes in navigation mode

A bug in CursorInputMapper resulted in the output of the mapper always
reporting a value of 0 for the x and y axes when it was in navigation
mode. This was not caught by the tests because the tests used an epsilon
of 1.0, while expecting events with magnitudes of around 0.1667. The
relatively large epsilon meant the test was always passing.

Here, we fix the bug, and update the tests for CursorInputMapper to use
a smaller epsilon.

Bug: 179274888
Test: atest inputflinger_tests
Change-Id: I406486069aa42f713b8390364bcdd47ec5b33b82
diff --git a/services/inputflinger/reader/mapper/CursorInputMapper.cpp b/services/inputflinger/reader/mapper/CursorInputMapper.cpp
index d6bd823..ac91d45 100644
--- a/services/inputflinger/reader/mapper/CursorInputMapper.cpp
+++ b/services/inputflinger/reader/mapper/CursorInputMapper.cpp
@@ -365,8 +365,8 @@
         pointerCoords.setAxisValue(AMOTION_EVENT_AXIS_RELATIVE_X, deltaX);
         pointerCoords.setAxisValue(AMOTION_EVENT_AXIS_RELATIVE_Y, deltaY);
         displayId = mPointerController->getDisplayId();
-    } else if (mSource == AINPUT_SOURCE_MOUSE_RELATIVE) {
-        // Pointer capture mode
+    } else {
+        // Pointer capture and navigation modes
         pointerCoords.setAxisValue(AMOTION_EVENT_AXIS_X, deltaX);
         pointerCoords.setAxisValue(AMOTION_EVENT_AXIS_Y, deltaY);
         pointerCoords.setAxisValue(AMOTION_EVENT_AXIS_RELATIVE_X, deltaX);