summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Zach Hilman2018-06-13 13:01:05 -0400
committerGravatar Zach Hilman2018-06-13 13:01:05 -0400
commit50153a1cb2edbb9ae3aef79a464779099c1e2827 (patch)
tree4eef099ef0cba7a97260539a505030c11d50af7e /src
parentMerge pull request #560 from Subv/crash_widget (diff)
downloadyuzu-50153a1cb2edbb9ae3aef79a464779099c1e2827.tar.gz
yuzu-50153a1cb2edbb9ae3aef79a464779099c1e2827.tar.xz
yuzu-50153a1cb2edbb9ae3aef79a464779099c1e2827.zip
Avoid initializing single-joycon layouts with handheld controller
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/service/hid/hid.cpp5
-rw-r--r--src/core/hle/service/hid/hid.h1
2 files changed, 5 insertions, 1 deletions
diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp
index 85ca4bf06..d84c0a0b2 100644
--- a/src/core/hle/service/hid/hid.cpp
+++ b/src/core/hle/service/hid/hid.cpp
@@ -83,7 +83,10 @@ private:
83 controller_header.left_color_buttons = JOYCON_BUTTONS_NEON_BLUE; 83 controller_header.left_color_buttons = JOYCON_BUTTONS_NEON_BLUE;
84 84
85 for (size_t controller = 0; controller < mem.controllers.size(); controller++) { 85 for (size_t controller = 0; controller < mem.controllers.size(); controller++) {
86 for (int index = 0; index < HID_NUM_LAYOUTS; index++) { 86 for (int index = 0;
87 index <
88 (controller != Controller_Handheld ? HID_NUM_LAYOUTS : HID_NUM_LAYOUTS_HANDHELD);
89 index++) {
87 ControllerLayout& layout = mem.controllers[controller].layouts[index]; 90 ControllerLayout& layout = mem.controllers[controller].layouts[index];
88 layout.header.num_entries = HID_NUM_ENTRIES; 91 layout.header.num_entries = HID_NUM_ENTRIES;
89 layout.header.max_entry_index = HID_NUM_ENTRIES - 1; 92 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 b499308d6..a032f59dc 100644
--- a/src/core/hle/service/hid/hid.h
+++ b/src/core/hle/service/hid/hid.h
@@ -13,6 +13,7 @@ namespace Service::HID {
13 13
14constexpr u32 HID_NUM_ENTRIES = 17; 14constexpr u32 HID_NUM_ENTRIES = 17;
15constexpr u32 HID_NUM_LAYOUTS = 7; 15constexpr u32 HID_NUM_LAYOUTS = 7;
16constexpr u32 HID_NUM_LAYOUTS_HANDHELD = 2;
16constexpr s32 HID_JOYSTICK_MAX = 0x8000; 17constexpr s32 HID_JOYSTICK_MAX = 0x8000;
17constexpr s32 HID_JOYSTICK_MIN = -0x8000; 18constexpr s32 HID_JOYSTICK_MIN = -0x8000;
18 19