diff --git a/app/src/main/java/com/limelight/binding/input/capture/AndroidNativePointerCaptureProvider.java b/app/src/main/java/com/limelight/binding/input/capture/AndroidNativePointerCaptureProvider.java index 7247effb..e87de022 100644 --- a/app/src/main/java/com/limelight/binding/input/capture/AndroidNativePointerCaptureProvider.java +++ b/app/src/main/java/com/limelight/binding/input/capture/AndroidNativePointerCaptureProvider.java @@ -39,6 +39,15 @@ public class AndroidNativePointerCaptureProvider extends AndroidPointerIconCaptu continue; } + // Skip touchscreens when considering compatible capture devices. + // Samsung devices on Android 12 will report a sec_touchpad device + // with SOURCE_TOUCHSCREEN, SOURCE_KEYBOARD, and SOURCE_MOUSE. + // Upon enabling pointer capture, that device will switch to + // SOURCE_KEYBOARD and SOURCE_TOUCHPAD. + if (device.supportsSource(InputDevice.SOURCE_TOUCHSCREEN)) { + continue; + } + if (device.supportsSource(InputDevice.SOURCE_MOUSE) || device.supportsSource(InputDevice.SOURCE_MOUSE_RELATIVE) || device.supportsSource(InputDevice.SOURCE_TOUCHPAD)) {