From 86abff48e1212498a3f6361012062458d8ae24ba Mon Sep 17 00:00:00 2001
From: Ameer <aj662@drexel.edu>
Date: Mon, 6 Jul 2020 22:09:07 -0400
Subject: [PATCH] Recalibrate reconnected controllers

---
 src/input_common/gcadapter/gc_adapter.cpp | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/input_common/gcadapter/gc_adapter.cpp b/src/input_common/gcadapter/gc_adapter.cpp
index 8465309d0b..f173a018ac 100644
--- a/src/input_common/gcadapter/gc_adapter.cpp
+++ b/src/input_common/gcadapter/gc_adapter.cpp
@@ -49,6 +49,11 @@ GCPadStatus Adapter::GetPadStatus(int port, const std::array<u8, 37>& adapter_pa
         PadButton::PAD_TRIGGER_L,
     };
 
+    if (adapter_controllers_status[port] == ControllerTypes::None && !get_origin[port]) {
+        // Controller may have been disconnected, recalibrate if reconnected.
+        get_origin[port] = true;
+    }
+
     if (adapter_controllers_status[port] != ControllerTypes::None) {
         const u8 b1 = adapter_payload[1 + (9 * port) + 1];
         const u8 b2 = adapter_payload[1 + (9 * port) + 2];