summaryrefslogtreecommitdiff
path: root/src/input_common/gcadapter/gc_adapter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/input_common/gcadapter/gc_adapter.cpp')
-rw-r--r--src/input_common/gcadapter/gc_adapter.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/input_common/gcadapter/gc_adapter.cpp b/src/input_common/gcadapter/gc_adapter.cpp
index 0696a96c7..498bd0d6e 100644
--- a/src/input_common/gcadapter/gc_adapter.cpp
+++ b/src/input_common/gcadapter/gc_adapter.cpp
@@ -134,7 +134,7 @@ void Adapter::Read() {
134 payload_size = payload_size_in; 134 payload_size = payload_size_in;
135 } 135 }
136 136
137 GCPadStatus pad[4]; 137 std::array<GCPadStatus, 4> pad;
138 if (payload_size != sizeof(controller_payload_copy) || 138 if (payload_size != sizeof(controller_payload_copy) ||
139 controller_payload_copy[0] != LIBUSB_DT_HID) { 139 controller_payload_copy[0] != LIBUSB_DT_HID) {
140 LOG_ERROR(Input, "error reading payload (size: %d, type: %02x)", payload_size, 140 LOG_ERROR(Input, "error reading payload (size: %d, type: %02x)", payload_size,
@@ -224,9 +224,7 @@ void Adapter::Setup() {
224 current_status = NO_ADAPTER_DETECTED; 224 current_status = NO_ADAPTER_DETECTED;
225 } 225 }
226 226
227 for (int i = 0; i < 4; i++) { 227 adapter_controllers_status.fill(ControllerTypes::None);
228 adapter_controllers_status[i] = ControllerTypes::None;
229 }
230 228
231 libusb_device** devs; // pointer to list of connected usb devices 229 libusb_device** devs; // pointer to list of connected usb devices
232 230
@@ -332,9 +330,7 @@ void Adapter::Reset() {
332 adapter_input_thread.join(); 330 adapter_input_thread.join();
333 } 331 }
334 332
335 for (int i = 0; i < 4; i++) { 333 adapter_controllers_status.fill(ControllerTypes::None);
336 adapter_controllers_status[i] = ControllerTypes::None;
337 }
338 334
339 current_status = NO_ADAPTER_DETECTED; 335 current_status = NO_ADAPTER_DETECTED;
340 336
@@ -354,10 +350,16 @@ void Adapter::ResetDeviceType(int port) {
354} 350}
355 351
356void Adapter::BeginConfiguration() { 352void Adapter::BeginConfiguration() {
353 for (auto& pq : pad_queue) {
354 pq.Clear();
355 }
357 configuring = true; 356 configuring = true;
358} 357}
359 358
360void Adapter::EndConfiguration() { 359void Adapter::EndConfiguration() {
360 for (auto& pq : pad_queue) {
361 pq.Clear();
362 }
361 configuring = false; 363 configuring = false;
362} 364}
363 365