From c74ad70c3d28f63d359e41ec342678a5cd1e7034 Mon Sep 17 00:00:00 2001
From: Emmanuel Hansen <emmausssss@gmail.com>
Date: Sun, 24 Dec 2023 20:49:44 +0000
Subject: [PATCH] android - set controller event as handled

---
 .../org/ryujinx/android/PhysicalControllerManager.kt  | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/PhysicalControllerManager.kt b/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/PhysicalControllerManager.kt
index 06f9873b1..12f7a1e43 100644
--- a/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/PhysicalControllerManager.kt
+++ b/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/PhysicalControllerManager.kt
@@ -8,10 +8,10 @@ class PhysicalControllerManager(val activity: MainActivity) {
     private var ryujinxNative: RyujinxNative = RyujinxNative.instance
 
     fun onKeyEvent(event: KeyEvent) : Boolean{
-        if(controllerId != -1 && (event.flags and KeyEvent.FLAG_FALLBACK) == 0) {
-            val id = getGamePadButtonInputId(event.keyCode)
-
-            if(id != GamePadButtonInputId.None) {
+        val id = getGamePadButtonInputId(event.keyCode)
+        if(id != GamePadButtonInputId.None) {
+            val isNotFallback = (event.flags and KeyEvent.FLAG_FALLBACK) == 0
+            if (controllerId != -1 &&  isNotFallback) {
                 when (event.action) {
                     KeyEvent.ACTION_UP -> {
                         ryujinxNative.inputSetButtonReleased(id.ordinal, controllerId)
@@ -23,6 +23,9 @@ class PhysicalControllerManager(val activity: MainActivity) {
                 }
                 return true
             }
+            else if(!isNotFallback){
+                return true
+            }
         }
 
         return  false