From ac88d3e89f68cf9eac11014225c2847e96f8a620 Mon Sep 17 00:00:00 2001
From: Zach Hilman <zachhilman@gmail.com>
Date: Wed, 13 Jun 2018 20:03:12 -0400
Subject: [PATCH] Narrow down filter of layout configs

---
 src/core/hle/service/hid/hid.cpp | 14 +++++---------
 src/core/hle/service/hid/hid.h   |  1 -
 2 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp
index d4f741505c..2696a8bf03 100644
--- a/src/core/hle/service/hid/hid.cpp
+++ b/src/core/hle/service/hid/hid.cpp
@@ -16,14 +16,6 @@
 
 namespace Service::HID {
 
-int GetNumberLayoutsForController(size_t controller_id) {
-    if (controller_id == Controller_Handheld) {
-        return HID_NUM_LAYOUTS_HANDHELD;
-    } else {
-        return HID_NUM_LAYOUTS;
-    }
-}
-
 // Updating period for each HID device.
 // TODO(shinyquagsire23): These need better values.
 constexpr u64 pad_update_ticks = CoreTiming::BASE_CLOCK_RATE / 10000;
@@ -91,7 +83,11 @@ private:
         controller_header.left_color_buttons = JOYCON_BUTTONS_NEON_BLUE;
 
         for (size_t controller = 0; controller < mem.controllers.size(); controller++) {
-            for (int index = 0; index < GetNumberLayoutsForController(controller); index++) {
+            for (int index = 0; index < HID_NUM_LAYOUTS; index++) {
+                // TODO(DarkLordZach): Is this layout/controller config actually invalid?
+                if (controller == Controller_Handheld && index == Layout_Single)
+                    continue;
+
                 ControllerLayout& layout = mem.controllers[controller].layouts[index];
                 layout.header.num_entries = HID_NUM_ENTRIES;
                 layout.header.max_entry_index = HID_NUM_ENTRIES - 1;
diff --git a/src/core/hle/service/hid/hid.h b/src/core/hle/service/hid/hid.h
index a032f59dcd..b499308d63 100644
--- a/src/core/hle/service/hid/hid.h
+++ b/src/core/hle/service/hid/hid.h
@@ -13,7 +13,6 @@ namespace Service::HID {
 
 constexpr u32 HID_NUM_ENTRIES = 17;
 constexpr u32 HID_NUM_LAYOUTS = 7;
-constexpr u32 HID_NUM_LAYOUTS_HANDHELD = 2;
 constexpr s32 HID_JOYSTICK_MAX = 0x8000;
 constexpr s32 HID_JOYSTICK_MIN = -0x8000;
 
-- 
GitLab