Przeglądaj źródła

Return focus from controller applet after completion (#2218)

* Return focus from controller applet after completion

This fixes controller applet related in Mario Kart 8 Deluxe, in 2 player mode or when opening the applet in character select.

* Return focus for player select
riperiperi 5 lat temu
rodzic
commit
dc8c781d7a

+ 2 - 0
Ryujinx.HLE/HOS/Applets/Controller/ControllerApplet.cs

@@ -105,6 +105,8 @@ namespace Ryujinx.HLE.HOS.Applets
             _normalSession.Push(BuildResponse(result));
             _normalSession.Push(BuildResponse(result));
             AppletStateChanged?.Invoke(this, null);
             AppletStateChanged?.Invoke(this, null);
 
 
+            _system.ReturnFocus();
+
             return ResultCode.Success;
             return ResultCode.Success;
         }
         }
 
 

+ 2 - 0
Ryujinx.HLE/HOS/Applets/PlayerSelect/PlayerSelectApplet.cs

@@ -30,6 +30,8 @@ namespace Ryujinx.HLE.HOS.Applets
 
 
             AppletStateChanged?.Invoke(this, null);
             AppletStateChanged?.Invoke(this, null);
 
 
+            _system.ReturnFocus();
+
             return ResultCode.Success;
             return ResultCode.Success;
         }
         }
 
 

+ 5 - 0
Ryujinx.HLE/HOS/Horizon.cs

@@ -330,6 +330,11 @@ namespace Ryujinx.HLE.HOS
             }
             }
         }
         }
 
 
+        public void ReturnFocus()
+        {
+            AppletState.SetFocus(true);
+        }
+
         public void SimulateWakeUpMessage()
         public void SimulateWakeUpMessage()
         {
         {
             AppletState.Messages.Enqueue(MessageInfo.Resume);
             AppletState.Messages.Enqueue(MessageInfo.Resume);