Include SOURCE_TOUCHPAD for Virtual Navigation Touchpad

In addition to the existing SOURCE_TOUCH_NAVIGATION, this change
includes SOURCE_TOUCHPAD to the InputDevice and the events for a Virtual
Navigation Touchpad.

Navigation touchpad events should not be affected by the geometry of the
window that receives the events, since they are focus events (as opposed
to pointer events). Adding SOURCE_TOUCHPAD will also add
SOURCE_CLASS_POSITION, which will make the event ignore any local
transforms.

Bug: 343963635
Test: atest inputflinger_tests
Flag: NONE bug fix
Change-Id: I8faefbce0a50377f9e46dbfa419900a00473c262
diff --git a/services/inputflinger/reader/mapper/TouchInputMapper.cpp b/services/inputflinger/reader/mapper/TouchInputMapper.cpp
index a383490..81ec24e 100644
--- a/services/inputflinger/reader/mapper/TouchInputMapper.cpp
+++ b/services/inputflinger/reader/mapper/TouchInputMapper.cpp
@@ -931,7 +931,7 @@
             mSource |= AINPUT_SOURCE_STYLUS;
         }
     } else if (mParameters.deviceType == Parameters::DeviceType::TOUCH_NAVIGATION) {
-        mSource = AINPUT_SOURCE_TOUCH_NAVIGATION;
+        mSource = AINPUT_SOURCE_TOUCH_NAVIGATION | AINPUT_SOURCE_TOUCHPAD;
         mDeviceMode = DeviceMode::NAVIGATION;
     } else {
         ALOGW("Touch device '%s' has invalid parameters or configuration.  The device will be "