diff options
| author | 2023-11-11 20:54:06 -0600 | |
|---|---|---|
| committer | 2023-11-11 21:03:15 -0600 | |
| commit | ae57a99d7d2063661cc15e76e8183122d8e0bc1b (patch) | |
| tree | 206b82f9387b93dbdc08408ceff88c24814f3237 /src | |
| parent | Merge pull request #11980 from german77/moment (diff) | |
| download | yuzu-ae57a99d7d2063661cc15e76e8183122d8e0bc1b.tar.gz yuzu-ae57a99d7d2063661cc15e76e8183122d8e0bc1b.tar.xz yuzu-ae57a99d7d2063661cc15e76e8183122d8e0bc1b.zip | |
core: hid: Split SL and SR buttons
Diffstat (limited to 'src')
| -rw-r--r-- | src/common/settings_input.cpp | 9 | ||||
| -rw-r--r-- | src/common/settings_input.h | 7 | ||||
| -rw-r--r-- | src/core/hid/emulated_controller.cpp | 28 | ||||
| -rw-r--r-- | src/core/hle/service/hid/controllers/npad.cpp | 6 | ||||
| -rw-r--r-- | src/input_common/drivers/gc_adapter.cpp | 8 | ||||
| -rw-r--r-- | src/input_common/drivers/joycon.cpp | 8 | ||||
| -rw-r--r-- | src/input_common/drivers/sdl_driver.cpp | 20 | ||||
| -rw-r--r-- | src/input_common/drivers/sdl_driver.h | 2 | ||||
| -rw-r--r-- | src/input_common/drivers/udp_client.cpp | 8 | ||||
| -rw-r--r-- | src/yuzu/configuration/config.cpp | 1 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_input_player.cpp | 36 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_input_player.ui | 389 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_input_player_widget.cpp | 45 |
13 files changed, 382 insertions, 185 deletions
diff --git a/src/common/settings_input.cpp b/src/common/settings_input.cpp index 0a6eea3cf..a6007e7b2 100644 --- a/src/common/settings_input.cpp +++ b/src/common/settings_input.cpp | |||
| @@ -6,10 +6,11 @@ | |||
| 6 | namespace Settings { | 6 | namespace Settings { |
| 7 | namespace NativeButton { | 7 | namespace NativeButton { |
| 8 | const std::array<const char*, NumButtons> mapping = {{ | 8 | const std::array<const char*, NumButtons> mapping = {{ |
| 9 | "button_a", "button_b", "button_x", "button_y", "button_lstick", | 9 | "button_a", "button_b", "button_x", "button_y", "button_lstick", |
| 10 | "button_rstick", "button_l", "button_r", "button_zl", "button_zr", | 10 | "button_rstick", "button_l", "button_r", "button_zl", "button_zr", |
| 11 | "button_plus", "button_minus", "button_dleft", "button_dup", "button_dright", | 11 | "button_plus", "button_minus", "button_dleft", "button_dup", "button_dright", |
| 12 | "button_ddown", "button_sl", "button_sr", "button_home", "button_screenshot", | 12 | "button_ddown", "button_slleft", "button_srleft", "button_home", "button_screenshot", |
| 13 | "button_slright", "button_srright", | ||
| 13 | }}; | 14 | }}; |
| 14 | } | 15 | } |
| 15 | 16 | ||
diff --git a/src/common/settings_input.h b/src/common/settings_input.h index 46f38c703..53a95ef8f 100644 --- a/src/common/settings_input.h +++ b/src/common/settings_input.h | |||
| @@ -29,12 +29,15 @@ enum Values : int { | |||
| 29 | DRight, | 29 | DRight, |
| 30 | DDown, | 30 | DDown, |
| 31 | 31 | ||
| 32 | SL, | 32 | SLLeft, |
| 33 | SR, | 33 | SRLeft, |
| 34 | 34 | ||
| 35 | Home, | 35 | Home, |
| 36 | Screenshot, | 36 | Screenshot, |
| 37 | 37 | ||
| 38 | SLRight, | ||
| 39 | SRRight, | ||
| 40 | |||
| 38 | NumButtons, | 41 | NumButtons, |
| 39 | }; | 42 | }; |
| 40 | 43 | ||
diff --git a/src/core/hid/emulated_controller.cpp b/src/core/hid/emulated_controller.cpp index b08a71446..34927cddd 100644 --- a/src/core/hid/emulated_controller.cpp +++ b/src/core/hid/emulated_controller.cpp | |||
| @@ -243,10 +243,12 @@ void EmulatedController::LoadTASParams() { | |||
| 243 | tas_button_params[Settings::NativeButton::DUp].Set("button", 13); | 243 | tas_button_params[Settings::NativeButton::DUp].Set("button", 13); |
| 244 | tas_button_params[Settings::NativeButton::DRight].Set("button", 14); | 244 | tas_button_params[Settings::NativeButton::DRight].Set("button", 14); |
| 245 | tas_button_params[Settings::NativeButton::DDown].Set("button", 15); | 245 | tas_button_params[Settings::NativeButton::DDown].Set("button", 15); |
| 246 | tas_button_params[Settings::NativeButton::SL].Set("button", 16); | 246 | tas_button_params[Settings::NativeButton::SLLeft].Set("button", 16); |
| 247 | tas_button_params[Settings::NativeButton::SR].Set("button", 17); | 247 | tas_button_params[Settings::NativeButton::SRLeft].Set("button", 17); |
| 248 | tas_button_params[Settings::NativeButton::Home].Set("button", 18); | 248 | tas_button_params[Settings::NativeButton::Home].Set("button", 18); |
| 249 | tas_button_params[Settings::NativeButton::Screenshot].Set("button", 19); | 249 | tas_button_params[Settings::NativeButton::Screenshot].Set("button", 19); |
| 250 | tas_button_params[Settings::NativeButton::SLRight].Set("button", 20); | ||
| 251 | tas_button_params[Settings::NativeButton::SRRight].Set("button", 21); | ||
| 250 | 252 | ||
| 251 | tas_stick_params[Settings::NativeAnalog::LStick].Set("axis_x", 0); | 253 | tas_stick_params[Settings::NativeAnalog::LStick].Set("axis_x", 0); |
| 252 | tas_stick_params[Settings::NativeAnalog::LStick].Set("axis_y", 1); | 254 | tas_stick_params[Settings::NativeAnalog::LStick].Set("axis_y", 1); |
| @@ -296,10 +298,12 @@ void EmulatedController::LoadVirtualGamepadParams() { | |||
| 296 | virtual_button_params[Settings::NativeButton::DUp].Set("button", 13); | 298 | virtual_button_params[Settings::NativeButton::DUp].Set("button", 13); |
| 297 | virtual_button_params[Settings::NativeButton::DRight].Set("button", 14); | 299 | virtual_button_params[Settings::NativeButton::DRight].Set("button", 14); |
| 298 | virtual_button_params[Settings::NativeButton::DDown].Set("button", 15); | 300 | virtual_button_params[Settings::NativeButton::DDown].Set("button", 15); |
| 299 | virtual_button_params[Settings::NativeButton::SL].Set("button", 16); | 301 | virtual_button_params[Settings::NativeButton::SLLeft].Set("button", 16); |
| 300 | virtual_button_params[Settings::NativeButton::SR].Set("button", 17); | 302 | virtual_button_params[Settings::NativeButton::SRLeft].Set("button", 17); |
| 301 | virtual_button_params[Settings::NativeButton::Home].Set("button", 18); | 303 | virtual_button_params[Settings::NativeButton::Home].Set("button", 18); |
| 302 | virtual_button_params[Settings::NativeButton::Screenshot].Set("button", 19); | 304 | virtual_button_params[Settings::NativeButton::Screenshot].Set("button", 19); |
| 305 | virtual_button_params[Settings::NativeButton::SLRight].Set("button", 20); | ||
| 306 | virtual_button_params[Settings::NativeButton::SRRight].Set("button", 21); | ||
| 303 | 307 | ||
| 304 | virtual_stick_params[Settings::NativeAnalog::LStick].Set("axis_x", 0); | 308 | virtual_stick_params[Settings::NativeAnalog::LStick].Set("axis_x", 0); |
| 305 | virtual_stick_params[Settings::NativeAnalog::LStick].Set("axis_y", 1); | 309 | virtual_stick_params[Settings::NativeAnalog::LStick].Set("axis_y", 1); |
| @@ -867,12 +871,16 @@ void EmulatedController::SetButton(const Common::Input::CallbackStatus& callback | |||
| 867 | controller.npad_button_state.down.Assign(current_status.value); | 871 | controller.npad_button_state.down.Assign(current_status.value); |
| 868 | controller.debug_pad_button_state.d_down.Assign(current_status.value); | 872 | controller.debug_pad_button_state.d_down.Assign(current_status.value); |
| 869 | break; | 873 | break; |
| 870 | case Settings::NativeButton::SL: | 874 | case Settings::NativeButton::SLLeft: |
| 871 | controller.npad_button_state.left_sl.Assign(current_status.value); | 875 | controller.npad_button_state.left_sl.Assign(current_status.value); |
| 876 | break; | ||
| 877 | case Settings::NativeButton::SLRight: | ||
| 872 | controller.npad_button_state.right_sl.Assign(current_status.value); | 878 | controller.npad_button_state.right_sl.Assign(current_status.value); |
| 873 | break; | 879 | break; |
| 874 | case Settings::NativeButton::SR: | 880 | case Settings::NativeButton::SRLeft: |
| 875 | controller.npad_button_state.left_sr.Assign(current_status.value); | 881 | controller.npad_button_state.left_sr.Assign(current_status.value); |
| 882 | break; | ||
| 883 | case Settings::NativeButton::SRRight: | ||
| 876 | controller.npad_button_state.right_sr.Assign(current_status.value); | 884 | controller.npad_button_state.right_sr.Assign(current_status.value); |
| 877 | break; | 885 | break; |
| 878 | case Settings::NativeButton::Home: | 886 | case Settings::NativeButton::Home: |
| @@ -1890,12 +1898,16 @@ NpadButton EmulatedController::GetTurboButtonMask() const { | |||
| 1890 | case Settings::NativeButton::DDown: | 1898 | case Settings::NativeButton::DDown: |
| 1891 | button_mask.down.Assign(1); | 1899 | button_mask.down.Assign(1); |
| 1892 | break; | 1900 | break; |
| 1893 | case Settings::NativeButton::SL: | 1901 | case Settings::NativeButton::SLLeft: |
| 1894 | button_mask.left_sl.Assign(1); | 1902 | button_mask.left_sl.Assign(1); |
| 1903 | break; | ||
| 1904 | case Settings::NativeButton::SLRight: | ||
| 1895 | button_mask.right_sl.Assign(1); | 1905 | button_mask.right_sl.Assign(1); |
| 1896 | break; | 1906 | break; |
| 1897 | case Settings::NativeButton::SR: | 1907 | case Settings::NativeButton::SRLeft: |
| 1898 | button_mask.left_sr.Assign(1); | 1908 | button_mask.left_sr.Assign(1); |
| 1909 | break; | ||
| 1910 | case Settings::NativeButton::SRRight: | ||
| 1899 | button_mask.right_sr.Assign(1); | 1911 | button_mask.right_sr.Assign(1); |
| 1900 | break; | 1912 | break; |
| 1901 | default: | 1913 | default: |
diff --git a/src/core/hle/service/hid/controllers/npad.cpp b/src/core/hle/service/hid/controllers/npad.cpp index 21695bda2..d46bf917e 100644 --- a/src/core/hle/service/hid/controllers/npad.cpp +++ b/src/core/hle/service/hid/controllers/npad.cpp | |||
| @@ -457,12 +457,14 @@ void Controller_NPad::RequestPadStateUpdate(Core::HID::NpadIdType npad_id) { | |||
| 457 | pad_entry.l_stick = stick_state.left; | 457 | pad_entry.l_stick = stick_state.left; |
| 458 | } | 458 | } |
| 459 | 459 | ||
| 460 | if (controller_type == Core::HID::NpadStyleIndex::JoyconLeft) { | 460 | if (controller_type == Core::HID::NpadStyleIndex::JoyconLeft || |
| 461 | controller_type == Core::HID::NpadStyleIndex::JoyconDual) { | ||
| 461 | pad_entry.npad_buttons.left_sl.Assign(button_state.left_sl); | 462 | pad_entry.npad_buttons.left_sl.Assign(button_state.left_sl); |
| 462 | pad_entry.npad_buttons.left_sr.Assign(button_state.left_sr); | 463 | pad_entry.npad_buttons.left_sr.Assign(button_state.left_sr); |
| 463 | } | 464 | } |
| 464 | 465 | ||
| 465 | if (controller_type == Core::HID::NpadStyleIndex::JoyconRight) { | 466 | if (controller_type == Core::HID::NpadStyleIndex::JoyconRight || |
| 467 | controller_type == Core::HID::NpadStyleIndex::JoyconDual) { | ||
| 466 | pad_entry.npad_buttons.right_sl.Assign(button_state.right_sl); | 468 | pad_entry.npad_buttons.right_sl.Assign(button_state.right_sl); |
| 467 | pad_entry.npad_buttons.right_sr.Assign(button_state.right_sr); | 469 | pad_entry.npad_buttons.right_sr.Assign(button_state.right_sr); |
| 468 | } | 470 | } |
diff --git a/src/input_common/drivers/gc_adapter.cpp b/src/input_common/drivers/gc_adapter.cpp index 3ad34884d..1ff296af5 100644 --- a/src/input_common/drivers/gc_adapter.cpp +++ b/src/input_common/drivers/gc_adapter.cpp | |||
| @@ -415,7 +415,7 @@ ButtonMapping GCAdapter::GetButtonMappingForDevice(const Common::ParamPackage& p | |||
| 415 | // This list is missing ZL/ZR since those are not considered buttons. | 415 | // This list is missing ZL/ZR since those are not considered buttons. |
| 416 | // We will add those afterwards | 416 | // We will add those afterwards |
| 417 | // This list also excludes any button that can't be really mapped | 417 | // This list also excludes any button that can't be really mapped |
| 418 | static constexpr std::array<std::pair<Settings::NativeButton::Values, PadButton>, 12> | 418 | static constexpr std::array<std::pair<Settings::NativeButton::Values, PadButton>, 14> |
| 419 | switch_to_gcadapter_button = { | 419 | switch_to_gcadapter_button = { |
| 420 | std::pair{Settings::NativeButton::A, PadButton::ButtonA}, | 420 | std::pair{Settings::NativeButton::A, PadButton::ButtonA}, |
| 421 | {Settings::NativeButton::B, PadButton::ButtonB}, | 421 | {Settings::NativeButton::B, PadButton::ButtonB}, |
| @@ -426,8 +426,10 @@ ButtonMapping GCAdapter::GetButtonMappingForDevice(const Common::ParamPackage& p | |||
| 426 | {Settings::NativeButton::DUp, PadButton::ButtonUp}, | 426 | {Settings::NativeButton::DUp, PadButton::ButtonUp}, |
| 427 | {Settings::NativeButton::DRight, PadButton::ButtonRight}, | 427 | {Settings::NativeButton::DRight, PadButton::ButtonRight}, |
| 428 | {Settings::NativeButton::DDown, PadButton::ButtonDown}, | 428 | {Settings::NativeButton::DDown, PadButton::ButtonDown}, |
| 429 | {Settings::NativeButton::SL, PadButton::TriggerL}, | 429 | {Settings::NativeButton::SLLeft, PadButton::TriggerL}, |
| 430 | {Settings::NativeButton::SR, PadButton::TriggerR}, | 430 | {Settings::NativeButton::SRLeft, PadButton::TriggerR}, |
| 431 | {Settings::NativeButton::SLRight, PadButton::TriggerL}, | ||
| 432 | {Settings::NativeButton::SRRight, PadButton::TriggerR}, | ||
| 431 | {Settings::NativeButton::R, PadButton::TriggerZ}, | 433 | {Settings::NativeButton::R, PadButton::TriggerZ}, |
| 432 | }; | 434 | }; |
| 433 | if (!params.Has("port")) { | 435 | if (!params.Has("port")) { |
diff --git a/src/input_common/drivers/joycon.cpp b/src/input_common/drivers/joycon.cpp index 0aca5a3a3..72d2951f3 100644 --- a/src/input_common/drivers/joycon.cpp +++ b/src/input_common/drivers/joycon.cpp | |||
| @@ -680,8 +680,8 @@ ButtonMapping Joycons::GetButtonMappingForDevice(const Common::ParamPackage& par | |||
| 680 | Common::ParamPackage sr_button_params = button_params; | 680 | Common::ParamPackage sr_button_params = button_params; |
| 681 | sl_button_params.Set("button", static_cast<int>(Joycon::PadButton::LeftSL)); | 681 | sl_button_params.Set("button", static_cast<int>(Joycon::PadButton::LeftSL)); |
| 682 | sr_button_params.Set("button", static_cast<int>(Joycon::PadButton::LeftSR)); | 682 | sr_button_params.Set("button", static_cast<int>(Joycon::PadButton::LeftSR)); |
| 683 | mapping.insert_or_assign(Settings::NativeButton::SL, std::move(sl_button_params)); | 683 | mapping.insert_or_assign(Settings::NativeButton::SLLeft, std::move(sl_button_params)); |
| 684 | mapping.insert_or_assign(Settings::NativeButton::SR, std::move(sr_button_params)); | 684 | mapping.insert_or_assign(Settings::NativeButton::SRLeft, std::move(sr_button_params)); |
| 685 | } | 685 | } |
| 686 | 686 | ||
| 687 | // Map SL and SR buttons for right joycons | 687 | // Map SL and SR buttons for right joycons |
| @@ -693,8 +693,8 @@ ButtonMapping Joycons::GetButtonMappingForDevice(const Common::ParamPackage& par | |||
| 693 | Common::ParamPackage sr_button_params = button_params; | 693 | Common::ParamPackage sr_button_params = button_params; |
| 694 | sl_button_params.Set("button", static_cast<int>(Joycon::PadButton::RightSL)); | 694 | sl_button_params.Set("button", static_cast<int>(Joycon::PadButton::RightSL)); |
| 695 | sr_button_params.Set("button", static_cast<int>(Joycon::PadButton::RightSR)); | 695 | sr_button_params.Set("button", static_cast<int>(Joycon::PadButton::RightSR)); |
| 696 | mapping.insert_or_assign(Settings::NativeButton::SL, std::move(sl_button_params)); | 696 | mapping.insert_or_assign(Settings::NativeButton::SLRight, std::move(sl_button_params)); |
| 697 | mapping.insert_or_assign(Settings::NativeButton::SR, std::move(sr_button_params)); | 697 | mapping.insert_or_assign(Settings::NativeButton::SRRight, std::move(sr_button_params)); |
| 698 | } | 698 | } |
| 699 | 699 | ||
| 700 | return mapping; | 700 | return mapping; |
diff --git a/src/input_common/drivers/sdl_driver.cpp b/src/input_common/drivers/sdl_driver.cpp index 66e3ae9af..78f458afe 100644 --- a/src/input_common/drivers/sdl_driver.cpp +++ b/src/input_common/drivers/sdl_driver.cpp | |||
| @@ -828,16 +828,18 @@ ButtonMapping SDLDriver::GetButtonMappingForDevice(const Common::ParamPackage& p | |||
| 828 | ButtonBindings SDLDriver::GetDefaultButtonBinding( | 828 | ButtonBindings SDLDriver::GetDefaultButtonBinding( |
| 829 | const std::shared_ptr<SDLJoystick>& joystick) const { | 829 | const std::shared_ptr<SDLJoystick>& joystick) const { |
| 830 | // Default SL/SR mapping for other controllers | 830 | // Default SL/SR mapping for other controllers |
| 831 | auto sl_button = SDL_CONTROLLER_BUTTON_LEFTSHOULDER; | 831 | auto sll_button = SDL_CONTROLLER_BUTTON_LEFTSHOULDER; |
| 832 | auto sr_button = SDL_CONTROLLER_BUTTON_RIGHTSHOULDER; | 832 | auto srl_button = SDL_CONTROLLER_BUTTON_RIGHTSHOULDER; |
| 833 | auto slr_button = SDL_CONTROLLER_BUTTON_LEFTSHOULDER; | ||
| 834 | auto srr_button = SDL_CONTROLLER_BUTTON_RIGHTSHOULDER; | ||
| 833 | 835 | ||
| 834 | if (joystick->IsJoyconLeft()) { | 836 | if (joystick->IsJoyconLeft()) { |
| 835 | sl_button = SDL_CONTROLLER_BUTTON_PADDLE2; | 837 | sll_button = SDL_CONTROLLER_BUTTON_PADDLE2; |
| 836 | sr_button = SDL_CONTROLLER_BUTTON_PADDLE4; | 838 | srl_button = SDL_CONTROLLER_BUTTON_PADDLE4; |
| 837 | } | 839 | } |
| 838 | if (joystick->IsJoyconRight()) { | 840 | if (joystick->IsJoyconRight()) { |
| 839 | sl_button = SDL_CONTROLLER_BUTTON_PADDLE3; | 841 | slr_button = SDL_CONTROLLER_BUTTON_PADDLE3; |
| 840 | sr_button = SDL_CONTROLLER_BUTTON_PADDLE1; | 842 | srr_button = SDL_CONTROLLER_BUTTON_PADDLE1; |
| 841 | } | 843 | } |
| 842 | 844 | ||
| 843 | return { | 845 | return { |
| @@ -855,8 +857,10 @@ ButtonBindings SDLDriver::GetDefaultButtonBinding( | |||
| 855 | {Settings::NativeButton::DUp, SDL_CONTROLLER_BUTTON_DPAD_UP}, | 857 | {Settings::NativeButton::DUp, SDL_CONTROLLER_BUTTON_DPAD_UP}, |
| 856 | {Settings::NativeButton::DRight, SDL_CONTROLLER_BUTTON_DPAD_RIGHT}, | 858 | {Settings::NativeButton::DRight, SDL_CONTROLLER_BUTTON_DPAD_RIGHT}, |
| 857 | {Settings::NativeButton::DDown, SDL_CONTROLLER_BUTTON_DPAD_DOWN}, | 859 | {Settings::NativeButton::DDown, SDL_CONTROLLER_BUTTON_DPAD_DOWN}, |
| 858 | {Settings::NativeButton::SL, sl_button}, | 860 | {Settings::NativeButton::SLLeft, sll_button}, |
| 859 | {Settings::NativeButton::SR, sr_button}, | 861 | {Settings::NativeButton::SRLeft, srl_button}, |
| 862 | {Settings::NativeButton::SLRight, slr_button}, | ||
| 863 | {Settings::NativeButton::SRRight, srr_button}, | ||
| 860 | {Settings::NativeButton::Home, SDL_CONTROLLER_BUTTON_GUIDE}, | 864 | {Settings::NativeButton::Home, SDL_CONTROLLER_BUTTON_GUIDE}, |
| 861 | {Settings::NativeButton::Screenshot, SDL_CONTROLLER_BUTTON_MISC1}, | 865 | {Settings::NativeButton::Screenshot, SDL_CONTROLLER_BUTTON_MISC1}, |
| 862 | }; | 866 | }; |
diff --git a/src/input_common/drivers/sdl_driver.h b/src/input_common/drivers/sdl_driver.h index fcba4e3c6..08e49a0da 100644 --- a/src/input_common/drivers/sdl_driver.h +++ b/src/input_common/drivers/sdl_driver.h | |||
| @@ -24,7 +24,7 @@ namespace InputCommon { | |||
| 24 | class SDLJoystick; | 24 | class SDLJoystick; |
| 25 | 25 | ||
| 26 | using ButtonBindings = | 26 | using ButtonBindings = |
| 27 | std::array<std::pair<Settings::NativeButton::Values, SDL_GameControllerButton>, 18>; | 27 | std::array<std::pair<Settings::NativeButton::Values, SDL_GameControllerButton>, 20>; |
| 28 | using ZButtonBindings = | 28 | using ZButtonBindings = |
| 29 | std::array<std::pair<Settings::NativeButton::Values, SDL_GameControllerAxis>, 2>; | 29 | std::array<std::pair<Settings::NativeButton::Values, SDL_GameControllerAxis>, 2>; |
| 30 | 30 | ||
diff --git a/src/input_common/drivers/udp_client.cpp b/src/input_common/drivers/udp_client.cpp index 77db60e92..60821b31a 100644 --- a/src/input_common/drivers/udp_client.cpp +++ b/src/input_common/drivers/udp_client.cpp | |||
| @@ -396,7 +396,7 @@ std::vector<Common::ParamPackage> UDPClient::GetInputDevices() const { | |||
| 396 | 396 | ||
| 397 | ButtonMapping UDPClient::GetButtonMappingForDevice(const Common::ParamPackage& params) { | 397 | ButtonMapping UDPClient::GetButtonMappingForDevice(const Common::ParamPackage& params) { |
| 398 | // This list excludes any button that can't be really mapped | 398 | // This list excludes any button that can't be really mapped |
| 399 | static constexpr std::array<std::pair<Settings::NativeButton::Values, PadButton>, 20> | 399 | static constexpr std::array<std::pair<Settings::NativeButton::Values, PadButton>, 22> |
| 400 | switch_to_dsu_button = { | 400 | switch_to_dsu_button = { |
| 401 | std::pair{Settings::NativeButton::A, PadButton::Circle}, | 401 | std::pair{Settings::NativeButton::A, PadButton::Circle}, |
| 402 | {Settings::NativeButton::B, PadButton::Cross}, | 402 | {Settings::NativeButton::B, PadButton::Cross}, |
| @@ -412,8 +412,10 @@ ButtonMapping UDPClient::GetButtonMappingForDevice(const Common::ParamPackage& p | |||
| 412 | {Settings::NativeButton::R, PadButton::R1}, | 412 | {Settings::NativeButton::R, PadButton::R1}, |
| 413 | {Settings::NativeButton::ZL, PadButton::L2}, | 413 | {Settings::NativeButton::ZL, PadButton::L2}, |
| 414 | {Settings::NativeButton::ZR, PadButton::R2}, | 414 | {Settings::NativeButton::ZR, PadButton::R2}, |
| 415 | {Settings::NativeButton::SL, PadButton::L2}, | 415 | {Settings::NativeButton::SLLeft, PadButton::L2}, |
| 416 | {Settings::NativeButton::SR, PadButton::R2}, | 416 | {Settings::NativeButton::SRLeft, PadButton::R2}, |
| 417 | {Settings::NativeButton::SLRight, PadButton::L2}, | ||
| 418 | {Settings::NativeButton::SRRight, PadButton::R2}, | ||
| 417 | {Settings::NativeButton::LStick, PadButton::L3}, | 419 | {Settings::NativeButton::LStick, PadButton::L3}, |
| 418 | {Settings::NativeButton::RStick, PadButton::R3}, | 420 | {Settings::NativeButton::RStick, PadButton::R3}, |
| 419 | {Settings::NativeButton::Home, PadButton::Home}, | 421 | {Settings::NativeButton::Home, PadButton::Home}, |
diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp index baa3e55f3..09cd8d180 100644 --- a/src/yuzu/configuration/config.cpp +++ b/src/yuzu/configuration/config.cpp | |||
| @@ -35,6 +35,7 @@ const std::array<int, Settings::NativeButton::NumButtons> Config::default_button | |||
| 35 | Qt::Key_G, Qt::Key_Q, Qt::Key_E, Qt::Key_R, Qt::Key_T, | 35 | Qt::Key_G, Qt::Key_Q, Qt::Key_E, Qt::Key_R, Qt::Key_T, |
| 36 | Qt::Key_M, Qt::Key_N, Qt::Key_Left, Qt::Key_Up, Qt::Key_Right, | 36 | Qt::Key_M, Qt::Key_N, Qt::Key_Left, Qt::Key_Up, Qt::Key_Right, |
| 37 | Qt::Key_Down, Qt::Key_Q, Qt::Key_E, 0, 0, | 37 | Qt::Key_Down, Qt::Key_Q, Qt::Key_E, 0, 0, |
| 38 | Qt::Key_Q, Qt::Key_E, | ||
| 38 | }; | 39 | }; |
| 39 | 40 | ||
| 40 | const std::array<int, Settings::NativeMotion::NumMotions> Config::default_motions = { | 41 | const std::array<int, Settings::NativeMotion::NumMotions> Config::default_motions = { |
diff --git a/src/yuzu/configuration/configure_input_player.cpp b/src/yuzu/configuration/configure_input_player.cpp index 576f5b571..9259e2a5d 100644 --- a/src/yuzu/configuration/configure_input_player.cpp +++ b/src/yuzu/configuration/configure_input_player.cpp | |||
| @@ -322,11 +322,12 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i | |||
| 322 | setFocusPolicy(Qt::ClickFocus); | 322 | setFocusPolicy(Qt::ClickFocus); |
| 323 | 323 | ||
| 324 | button_map = { | 324 | button_map = { |
| 325 | ui->buttonA, ui->buttonB, ui->buttonX, ui->buttonY, | 325 | ui->buttonA, ui->buttonB, ui->buttonX, ui->buttonY, |
| 326 | ui->buttonLStick, ui->buttonRStick, ui->buttonL, ui->buttonR, | 326 | ui->buttonLStick, ui->buttonRStick, ui->buttonL, ui->buttonR, |
| 327 | ui->buttonZL, ui->buttonZR, ui->buttonPlus, ui->buttonMinus, | 327 | ui->buttonZL, ui->buttonZR, ui->buttonPlus, ui->buttonMinus, |
| 328 | ui->buttonDpadLeft, ui->buttonDpadUp, ui->buttonDpadRight, ui->buttonDpadDown, | 328 | ui->buttonDpadLeft, ui->buttonDpadUp, ui->buttonDpadRight, ui->buttonDpadDown, |
| 329 | ui->buttonSL, ui->buttonSR, ui->buttonHome, ui->buttonScreenshot, | 329 | ui->buttonSLLeft, ui->buttonSRLeft, ui->buttonHome, ui->buttonScreenshot, |
| 330 | ui->buttonSLRight, ui->buttonSRRight, | ||
| 330 | }; | 331 | }; |
| 331 | 332 | ||
| 332 | analog_map_buttons = {{ | 333 | analog_map_buttons = {{ |
| @@ -1181,10 +1182,13 @@ void ConfigureInputPlayer::UpdateControllerAvailableButtons() { | |||
| 1181 | 1182 | ||
| 1182 | // List of all the widgets that will be hidden by any of the following layouts that need | 1183 | // List of all the widgets that will be hidden by any of the following layouts that need |
| 1183 | // "unhidden" after the controller type changes | 1184 | // "unhidden" after the controller type changes |
| 1184 | const std::array<QWidget*, 11> layout_show = { | 1185 | const std::array<QWidget*, 14> layout_show = { |
| 1185 | ui->buttonShoulderButtonsSLSR, | 1186 | ui->buttonShoulderButtonsSLSRLeft, |
| 1187 | ui->buttonShoulderButtonsSLSRRight, | ||
| 1186 | ui->horizontalSpacerShoulderButtonsWidget, | 1188 | ui->horizontalSpacerShoulderButtonsWidget, |
| 1187 | ui->horizontalSpacerShoulderButtonsWidget2, | 1189 | ui->horizontalSpacerShoulderButtonsWidget2, |
| 1190 | ui->horizontalSpacerShoulderButtonsWidget3, | ||
| 1191 | ui->horizontalSpacerShoulderButtonsWidget4, | ||
| 1188 | ui->buttonShoulderButtonsLeft, | 1192 | ui->buttonShoulderButtonsLeft, |
| 1189 | ui->buttonMiscButtonsMinusScreenshot, | 1193 | ui->buttonMiscButtonsMinusScreenshot, |
| 1190 | ui->bottomLeft, | 1194 | ui->bottomLeft, |
| @@ -1202,16 +1206,19 @@ void ConfigureInputPlayer::UpdateControllerAvailableButtons() { | |||
| 1202 | std::vector<QWidget*> layout_hidden; | 1206 | std::vector<QWidget*> layout_hidden; |
| 1203 | switch (layout) { | 1207 | switch (layout) { |
| 1204 | case Core::HID::NpadStyleIndex::ProController: | 1208 | case Core::HID::NpadStyleIndex::ProController: |
| 1205 | case Core::HID::NpadStyleIndex::JoyconDual: | ||
| 1206 | case Core::HID::NpadStyleIndex::Handheld: | 1209 | case Core::HID::NpadStyleIndex::Handheld: |
| 1207 | layout_hidden = { | 1210 | layout_hidden = { |
| 1208 | ui->buttonShoulderButtonsSLSR, | 1211 | ui->buttonShoulderButtonsSLSRLeft, |
| 1212 | ui->buttonShoulderButtonsSLSRRight, | ||
| 1209 | ui->horizontalSpacerShoulderButtonsWidget2, | 1213 | ui->horizontalSpacerShoulderButtonsWidget2, |
| 1214 | ui->horizontalSpacerShoulderButtonsWidget4, | ||
| 1210 | }; | 1215 | }; |
| 1211 | break; | 1216 | break; |
| 1212 | case Core::HID::NpadStyleIndex::JoyconLeft: | 1217 | case Core::HID::NpadStyleIndex::JoyconLeft: |
| 1213 | layout_hidden = { | 1218 | layout_hidden = { |
| 1219 | ui->buttonShoulderButtonsSLSRRight, | ||
| 1214 | ui->horizontalSpacerShoulderButtonsWidget2, | 1220 | ui->horizontalSpacerShoulderButtonsWidget2, |
| 1221 | ui->horizontalSpacerShoulderButtonsWidget3, | ||
| 1215 | ui->buttonShoulderButtonsRight, | 1222 | ui->buttonShoulderButtonsRight, |
| 1216 | ui->buttonMiscButtonsPlusHome, | 1223 | ui->buttonMiscButtonsPlusHome, |
| 1217 | ui->bottomRight, | 1224 | ui->bottomRight, |
| @@ -1219,16 +1226,17 @@ void ConfigureInputPlayer::UpdateControllerAvailableButtons() { | |||
| 1219 | break; | 1226 | break; |
| 1220 | case Core::HID::NpadStyleIndex::JoyconRight: | 1227 | case Core::HID::NpadStyleIndex::JoyconRight: |
| 1221 | layout_hidden = { | 1228 | layout_hidden = { |
| 1222 | ui->horizontalSpacerShoulderButtonsWidget, | 1229 | ui->buttonShoulderButtonsSLSRLeft, ui->horizontalSpacerShoulderButtonsWidget, |
| 1223 | ui->buttonShoulderButtonsLeft, | 1230 | ui->horizontalSpacerShoulderButtonsWidget4, ui->buttonShoulderButtonsLeft, |
| 1224 | ui->buttonMiscButtonsMinusScreenshot, | 1231 | ui->buttonMiscButtonsMinusScreenshot, ui->bottomLeft, |
| 1225 | ui->bottomLeft, | ||
| 1226 | }; | 1232 | }; |
| 1227 | break; | 1233 | break; |
| 1228 | case Core::HID::NpadStyleIndex::GameCube: | 1234 | case Core::HID::NpadStyleIndex::GameCube: |
| 1229 | layout_hidden = { | 1235 | layout_hidden = { |
| 1230 | ui->buttonShoulderButtonsSLSR, | 1236 | ui->buttonShoulderButtonsSLSRLeft, |
| 1237 | ui->buttonShoulderButtonsSLSRRight, | ||
| 1231 | ui->horizontalSpacerShoulderButtonsWidget2, | 1238 | ui->horizontalSpacerShoulderButtonsWidget2, |
| 1239 | ui->horizontalSpacerShoulderButtonsWidget4, | ||
| 1232 | ui->buttonMiscButtonsMinusGroup, | 1240 | ui->buttonMiscButtonsMinusGroup, |
| 1233 | ui->buttonMiscButtonsScreenshotGroup, | 1241 | ui->buttonMiscButtonsScreenshotGroup, |
| 1234 | }; | 1242 | }; |
diff --git a/src/yuzu/configuration/configure_input_player.ui b/src/yuzu/configuration/configure_input_player.ui index 611a79477..5518cccd1 100644 --- a/src/yuzu/configuration/configure_input_player.ui +++ b/src/yuzu/configuration/configure_input_player.ui | |||
| @@ -1208,6 +1208,159 @@ | |||
| 1208 | <property name="spacing"> | 1208 | <property name="spacing"> |
| 1209 | <number>3</number> | 1209 | <number>3</number> |
| 1210 | </property> | 1210 | </property> |
| 1211 | <item> | ||
| 1212 | <widget class="QWidget" name="buttonShoulderButtonsSLSRLeft" native="true"> | ||
| 1213 | <layout class="QVBoxLayout" name="buttonShoulderButtonsSLSRLeftVerticalLayout"> | ||
| 1214 | <property name="spacing"> | ||
| 1215 | <number>0</number> | ||
| 1216 | </property> | ||
| 1217 | <property name="leftMargin"> | ||
| 1218 | <number>0</number> | ||
| 1219 | </property> | ||
| 1220 | <property name="topMargin"> | ||
| 1221 | <number>0</number> | ||
| 1222 | </property> | ||
| 1223 | <property name="rightMargin"> | ||
| 1224 | <number>0</number> | ||
| 1225 | </property> | ||
| 1226 | <property name="bottomMargin"> | ||
| 1227 | <number>0</number> | ||
| 1228 | </property> | ||
| 1229 | <item alignment="Qt::AlignHCenter"> | ||
| 1230 | <widget class="QGroupBox" name="buttonShoulderButtonsSLLeftGroup"> | ||
| 1231 | <property name="title"> | ||
| 1232 | <string>SL</string> | ||
| 1233 | </property> | ||
| 1234 | <property name="alignment"> | ||
| 1235 | <set>Qt::AlignCenter</set> | ||
| 1236 | </property> | ||
| 1237 | <layout class="QVBoxLayout" name="buttonShoulderButtonsSLLeftVerticalLayout"> | ||
| 1238 | <property name="spacing"> | ||
| 1239 | <number>3</number> | ||
| 1240 | </property> | ||
| 1241 | <property name="leftMargin"> | ||
| 1242 | <number>3</number> | ||
| 1243 | </property> | ||
| 1244 | <property name="topMargin"> | ||
| 1245 | <number>3</number> | ||
| 1246 | </property> | ||
| 1247 | <property name="rightMargin"> | ||
| 1248 | <number>3</number> | ||
| 1249 | </property> | ||
| 1250 | <property name="bottomMargin"> | ||
| 1251 | <number>3</number> | ||
| 1252 | </property> | ||
| 1253 | <item> | ||
| 1254 | <widget class="QPushButton" name="buttonSLLeft"> | ||
| 1255 | <property name="minimumSize"> | ||
| 1256 | <size> | ||
| 1257 | <width>68</width> | ||
| 1258 | <height>0</height> | ||
| 1259 | </size> | ||
| 1260 | </property> | ||
| 1261 | <property name="maximumSize"> | ||
| 1262 | <size> | ||
| 1263 | <width>68</width> | ||
| 1264 | <height>16777215</height> | ||
| 1265 | </size> | ||
| 1266 | </property> | ||
| 1267 | <property name="styleSheet"> | ||
| 1268 | <string notr="true">min-width: 68px;</string> | ||
| 1269 | </property> | ||
| 1270 | <property name="text"> | ||
| 1271 | <string>SL</string> | ||
| 1272 | </property> | ||
| 1273 | </widget> | ||
| 1274 | </item> | ||
| 1275 | </layout> | ||
| 1276 | </widget> | ||
| 1277 | </item> | ||
| 1278 | <item alignment="Qt::AlignHCenter"> | ||
| 1279 | <widget class="QGroupBox" name="buttonShoulderButtonsSRLeftGroup"> | ||
| 1280 | <property name="title"> | ||
| 1281 | <string>SR</string> | ||
| 1282 | </property> | ||
| 1283 | <property name="alignment"> | ||
| 1284 | <set>Qt::AlignCenter</set> | ||
| 1285 | </property> | ||
| 1286 | <layout class="QVBoxLayout" name="buttonShoulderButtonsSRLeftVerticalLayout"> | ||
| 1287 | <property name="spacing"> | ||
| 1288 | <number>3</number> | ||
| 1289 | </property> | ||
| 1290 | <property name="leftMargin"> | ||
| 1291 | <number>3</number> | ||
| 1292 | </property> | ||
| 1293 | <property name="topMargin"> | ||
| 1294 | <number>3</number> | ||
| 1295 | </property> | ||
| 1296 | <property name="rightMargin"> | ||
| 1297 | <number>3</number> | ||
| 1298 | </property> | ||
| 1299 | <property name="bottomMargin"> | ||
| 1300 | <number>3</number> | ||
| 1301 | </property> | ||
| 1302 | <item> | ||
| 1303 | <widget class="QPushButton" name="buttonSRLeft"> | ||
| 1304 | <property name="minimumSize"> | ||
| 1305 | <size> | ||
| 1306 | <width>68</width> | ||
| 1307 | <height>0</height> | ||
| 1308 | </size> | ||
| 1309 | </property> | ||
| 1310 | <property name="maximumSize"> | ||
| 1311 | <size> | ||
| 1312 | <width>68</width> | ||
| 1313 | <height>16777215</height> | ||
| 1314 | </size> | ||
| 1315 | </property> | ||
| 1316 | <property name="styleSheet"> | ||
| 1317 | <string notr="true">min-width: 68px;</string> | ||
| 1318 | </property> | ||
| 1319 | <property name="text"> | ||
| 1320 | <string>SR</string> | ||
| 1321 | </property> | ||
| 1322 | </widget> | ||
| 1323 | </item> | ||
| 1324 | </layout> | ||
| 1325 | </widget> | ||
| 1326 | </item> | ||
| 1327 | </layout> | ||
| 1328 | </widget> | ||
| 1329 | </item> | ||
| 1330 | <item> | ||
| 1331 | <widget class="QWidget" name="horizontalSpacerShoulderButtonsWidget4" native="true"> | ||
| 1332 | <layout class="QHBoxLayout" name="horizontalSpacerShoulderButtonsWidget4Layout"> | ||
| 1333 | <property name="spacing"> | ||
| 1334 | <number>0</number> | ||
| 1335 | </property> | ||
| 1336 | <property name="leftMargin"> | ||
| 1337 | <number>0</number> | ||
| 1338 | </property> | ||
| 1339 | <property name="topMargin"> | ||
| 1340 | <number>0</number> | ||
| 1341 | </property> | ||
| 1342 | <property name="rightMargin"> | ||
| 1343 | <number>0</number> | ||
| 1344 | </property> | ||
| 1345 | <property name="bottomMargin"> | ||
| 1346 | <number>0</number> | ||
| 1347 | </property> | ||
| 1348 | <item> | ||
| 1349 | <spacer name="horizontalSpacerShoulderButtons5"> | ||
| 1350 | <property name="orientation"> | ||
| 1351 | <enum>Qt::Horizontal</enum> | ||
| 1352 | </property> | ||
| 1353 | <property name="sizeHint" stdset="0"> | ||
| 1354 | <size> | ||
| 1355 | <width>0</width> | ||
| 1356 | <height>20</height> | ||
| 1357 | </size> | ||
| 1358 | </property> | ||
| 1359 | </spacer> | ||
| 1360 | </item> | ||
| 1361 | </layout> | ||
| 1362 | </widget> | ||
| 1363 | </item> | ||
| 1211 | <item> | 1364 | <item> |
| 1212 | <widget class="QWidget" name="buttonShoulderButtonsLeft" native="true"> | 1365 | <widget class="QWidget" name="buttonShoulderButtonsLeft" native="true"> |
| 1213 | <layout class="QVBoxLayout" name="buttonShoulderButtonsLeftVerticalLayout"> | 1366 | <layout class="QVBoxLayout" name="buttonShoulderButtonsLeftVerticalLayout"> |
| @@ -1830,125 +1983,125 @@ | |||
| 1830 | </layout> | 1983 | </layout> |
| 1831 | </widget> | 1984 | </widget> |
| 1832 | </item> | 1985 | </item> |
| 1833 | <item> | 1986 | <item> |
| 1834 | <widget class="QWidget" name="buttonShoulderButtonsSLSR" native="true"> | 1987 | <widget class="QWidget" name="buttonShoulderButtonsSLSRRight" native="true"> |
| 1835 | <layout class="QVBoxLayout" name="buttonShoulderButtonsSLSRVerticalLayout"> | 1988 | <layout class="QVBoxLayout" name="buttonShoulderButtonsSLSRRightVerticalLayout"> |
| 1836 | <property name="spacing"> | 1989 | <property name="spacing"> |
| 1837 | <number>0</number> | 1990 | <number>0</number> |
| 1838 | </property> | 1991 | </property> |
| 1839 | <property name="leftMargin"> | 1992 | <property name="leftMargin"> |
| 1840 | <number>0</number> | 1993 | <number>0</number> |
| 1841 | </property> | 1994 | </property> |
| 1842 | <property name="topMargin"> | 1995 | <property name="topMargin"> |
| 1843 | <number>0</number> | 1996 | <number>0</number> |
| 1844 | </property> | 1997 | </property> |
| 1845 | <property name="rightMargin"> | 1998 | <property name="rightMargin"> |
| 1846 | <number>0</number> | 1999 | <number>0</number> |
| 1847 | </property> | 2000 | </property> |
| 1848 | <property name="bottomMargin"> | 2001 | <property name="bottomMargin"> |
| 1849 | <number>0</number> | 2002 | <number>0</number> |
| 1850 | </property> | 2003 | </property> |
| 1851 | <item alignment="Qt::AlignHCenter"> | 2004 | <item alignment="Qt::AlignHCenter"> |
| 1852 | <widget class="QGroupBox" name="buttonShoulderButtonsSLGroup"> | 2005 | <widget class="QGroupBox" name="buttonShoulderButtonsSLRightGroup"> |
| 1853 | <property name="title"> | 2006 | <property name="title"> |
| 1854 | <string>SL</string> | 2007 | <string>SL</string> |
| 1855 | </property> | 2008 | </property> |
| 1856 | <property name="alignment"> | 2009 | <property name="alignment"> |
| 1857 | <set>Qt::AlignCenter</set> | 2010 | <set>Qt::AlignCenter</set> |
| 1858 | </property> | 2011 | </property> |
| 1859 | <layout class="QVBoxLayout" name="buttonShoulderButtonsSLVerticalLayout"> | 2012 | <layout class="QVBoxLayout" name="buttonShoulderButtonsSLRightVerticalLayout"> |
| 1860 | <property name="spacing"> | 2013 | <property name="spacing"> |
| 1861 | <number>3</number> | 2014 | <number>3</number> |
| 1862 | </property> | 2015 | </property> |
| 1863 | <property name="leftMargin"> | 2016 | <property name="leftMargin"> |
| 1864 | <number>3</number> | 2017 | <number>3</number> |
| 1865 | </property> | 2018 | </property> |
| 1866 | <property name="topMargin"> | 2019 | <property name="topMargin"> |
| 1867 | <number>3</number> | 2020 | <number>3</number> |
| 1868 | </property> | 2021 | </property> |
| 1869 | <property name="rightMargin"> | 2022 | <property name="rightMargin"> |
| 1870 | <number>3</number> | 2023 | <number>3</number> |
| 1871 | </property> | 2024 | </property> |
| 1872 | <property name="bottomMargin"> | 2025 | <property name="bottomMargin"> |
| 1873 | <number>3</number> | 2026 | <number>3</number> |
| 1874 | </property> | 2027 | </property> |
| 1875 | <item> | 2028 | <item> |
| 1876 | <widget class="QPushButton" name="buttonSL"> | 2029 | <widget class="QPushButton" name="buttonSLRight"> |
| 1877 | <property name="minimumSize"> | 2030 | <property name="minimumSize"> |
| 1878 | <size> | 2031 | <size> |
| 1879 | <width>68</width> | 2032 | <width>68</width> |
| 1880 | <height>0</height> | 2033 | <height>0</height> |
| 1881 | </size> | 2034 | </size> |
| 1882 | </property> | 2035 | </property> |
| 1883 | <property name="maximumSize"> | 2036 | <property name="maximumSize"> |
| 1884 | <size> | 2037 | <size> |
| 1885 | <width>68</width> | 2038 | <width>68</width> |
| 1886 | <height>16777215</height> | 2039 | <height>16777215</height> |
| 1887 | </size> | 2040 | </size> |
| 1888 | </property> | 2041 | </property> |
| 1889 | <property name="styleSheet"> | 2042 | <property name="styleSheet"> |
| 1890 | <string notr="true">min-width: 68px;</string> | 2043 | <string notr="true">min-width: 68px;</string> |
| 1891 | </property> | 2044 | </property> |
| 1892 | <property name="text"> | 2045 | <property name="text"> |
| 1893 | <string>SL</string> | 2046 | <string>SL</string> |
| 1894 | </property> | 2047 | </property> |
| 1895 | </widget> | 2048 | </widget> |
| 1896 | </item> | 2049 | </item> |
| 1897 | </layout> | 2050 | </layout> |
| 1898 | </widget> | 2051 | </widget> |
| 1899 | </item> | 2052 | </item> |
| 1900 | <item alignment="Qt::AlignHCenter"> | 2053 | <item alignment="Qt::AlignHCenter"> |
| 1901 | <widget class="QGroupBox" name="buttonShoulderButtonsSRGroup"> | 2054 | <widget class="QGroupBox" name="buttonShoulderButtonsSRRightGroup"> |
| 1902 | <property name="title"> | 2055 | <property name="title"> |
| 1903 | <string>SR</string> | 2056 | <string>SR</string> |
| 1904 | </property> | 2057 | </property> |
| 1905 | <property name="alignment"> | 2058 | <property name="alignment"> |
| 1906 | <set>Qt::AlignCenter</set> | 2059 | <set>Qt::AlignCenter</set> |
| 1907 | </property> | 2060 | </property> |
| 1908 | <layout class="QVBoxLayout" name="buttonShoulderButtonsSRVerticalLayout"> | 2061 | <layout class="QVBoxLayout" name="buttonShoulderButtonsSRRightVerticalLayout"> |
| 1909 | <property name="spacing"> | 2062 | <property name="spacing"> |
| 1910 | <number>3</number> | 2063 | <number>3</number> |
| 1911 | </property> | 2064 | </property> |
| 1912 | <property name="leftMargin"> | 2065 | <property name="leftMargin"> |
| 1913 | <number>3</number> | 2066 | <number>3</number> |
| 1914 | </property> | 2067 | </property> |
| 1915 | <property name="topMargin"> | 2068 | <property name="topMargin"> |
| 1916 | <number>3</number> | 2069 | <number>3</number> |
| 1917 | </property> | 2070 | </property> |
| 1918 | <property name="rightMargin"> | 2071 | <property name="rightMargin"> |
| 1919 | <number>3</number> | 2072 | <number>3</number> |
| 1920 | </property> | 2073 | </property> |
| 1921 | <property name="bottomMargin"> | 2074 | <property name="bottomMargin"> |
| 1922 | <number>3</number> | 2075 | <number>3</number> |
| 1923 | </property> | 2076 | </property> |
| 1924 | <item> | 2077 | <item> |
| 1925 | <widget class="QPushButton" name="buttonSR"> | 2078 | <widget class="QPushButton" name="buttonSRRight"> |
| 1926 | <property name="minimumSize"> | 2079 | <property name="minimumSize"> |
| 1927 | <size> | 2080 | <size> |
| 1928 | <width>68</width> | 2081 | <width>68</width> |
| 1929 | <height>0</height> | 2082 | <height>0</height> |
| 1930 | </size> | 2083 | </size> |
| 1931 | </property> | 2084 | </property> |
| 1932 | <property name="maximumSize"> | 2085 | <property name="maximumSize"> |
| 1933 | <size> | 2086 | <size> |
| 1934 | <width>68</width> | 2087 | <width>68</width> |
| 1935 | <height>16777215</height> | 2088 | <height>16777215</height> |
| 1936 | </size> | 2089 | </size> |
| 1937 | </property> | 2090 | </property> |
| 1938 | <property name="styleSheet"> | 2091 | <property name="styleSheet"> |
| 1939 | <string notr="true">min-width: 68px;</string> | 2092 | <string notr="true">min-width: 68px;</string> |
| 1940 | </property> | 2093 | </property> |
| 1941 | <property name="text"> | 2094 | <property name="text"> |
| 1942 | <string>SR</string> | 2095 | <string>SR</string> |
| 1943 | </property> | 2096 | </property> |
| 1944 | </widget> | 2097 | </widget> |
| 1945 | </item> | 2098 | </item> |
| 2099 | </layout> | ||
| 2100 | </widget> | ||
| 2101 | </item> | ||
| 1946 | </layout> | 2102 | </layout> |
| 1947 | </widget> | 2103 | </widget> |
| 1948 | </item> | 2104 | </item> |
| 1949 | </layout> | ||
| 1950 | </widget> | ||
| 1951 | </item> | ||
| 1952 | </layout> | 2105 | </layout> |
| 1953 | </item> | 2106 | </item> |
| 1954 | <item> | 2107 | <item> |
diff --git a/src/yuzu/configuration/configure_input_player_widget.cpp b/src/yuzu/configuration/configure_input_player_widget.cpp index a188eef92..550cff9a0 100644 --- a/src/yuzu/configuration/configure_input_player_widget.cpp +++ b/src/yuzu/configuration/configure_input_player_widget.cpp | |||
| @@ -297,8 +297,8 @@ void PlayerControlPreview::DrawLeftController(QPainter& p, const QPointF center) | |||
| 297 | 297 | ||
| 298 | // Sideview SL and SR buttons | 298 | // Sideview SL and SR buttons |
| 299 | button_color = colors.slider_button; | 299 | button_color = colors.slider_button; |
| 300 | DrawRoundButton(p, center + QPoint(59, 52), button_values[SR], 5, 12, Direction::Left); | 300 | DrawRoundButton(p, center + QPoint(59, 52), button_values[SRLeft], 5, 12, Direction::Left); |
| 301 | DrawRoundButton(p, center + QPoint(59, -69), button_values[SL], 5, 12, Direction::Left); | 301 | DrawRoundButton(p, center + QPoint(59, -69), button_values[SLLeft], 5, 12, Direction::Left); |
| 302 | 302 | ||
| 303 | DrawLeftBody(p, center); | 303 | DrawLeftBody(p, center); |
| 304 | 304 | ||
| @@ -353,8 +353,10 @@ void PlayerControlPreview::DrawLeftController(QPainter& p, const QPointF center) | |||
| 353 | // SR and SL buttons | 353 | // SR and SL buttons |
| 354 | p.setPen(colors.outline); | 354 | p.setPen(colors.outline); |
| 355 | button_color = colors.slider_button; | 355 | button_color = colors.slider_button; |
| 356 | DrawRoundButton(p, center + QPoint(155, 52), button_values[SR], 5.2f, 12, Direction::None, 4); | 356 | DrawRoundButton(p, center + QPoint(155, 52), button_values[SRLeft], 5.2f, 12, Direction::None, |
| 357 | DrawRoundButton(p, center + QPoint(155, -69), button_values[SL], 5.2f, 12, Direction::None, 4); | 357 | 4); |
| 358 | DrawRoundButton(p, center + QPoint(155, -69), button_values[SLLeft], 5.2f, 12, Direction::None, | ||
| 359 | 4); | ||
| 358 | 360 | ||
| 359 | // SR and SL text | 361 | // SR and SL text |
| 360 | p.setPen(colors.transparent); | 362 | p.setPen(colors.transparent); |
| @@ -428,8 +430,10 @@ void PlayerControlPreview::DrawRightController(QPainter& p, const QPointF center | |||
| 428 | 430 | ||
| 429 | // Sideview SL and SR buttons | 431 | // Sideview SL and SR buttons |
| 430 | button_color = colors.slider_button; | 432 | button_color = colors.slider_button; |
| 431 | DrawRoundButton(p, center + QPoint(-59, 52), button_values[SL], 5, 11, Direction::Right); | 433 | DrawRoundButton(p, center + QPoint(-59, 52), button_values[SLRight], 5, 11, |
| 432 | DrawRoundButton(p, center + QPoint(-59, -69), button_values[SR], 5, 11, Direction::Right); | 434 | Direction::Right); |
| 435 | DrawRoundButton(p, center + QPoint(-59, -69), button_values[SRRight], 5, 11, | ||
| 436 | Direction::Right); | ||
| 433 | 437 | ||
| 434 | DrawRightBody(p, center); | 438 | DrawRightBody(p, center); |
| 435 | 439 | ||
| @@ -484,8 +488,10 @@ void PlayerControlPreview::DrawRightController(QPainter& p, const QPointF center | |||
| 484 | // SR and SL buttons | 488 | // SR and SL buttons |
| 485 | p.setPen(colors.outline); | 489 | p.setPen(colors.outline); |
| 486 | button_color = colors.slider_button; | 490 | button_color = colors.slider_button; |
| 487 | DrawRoundButton(p, center + QPoint(-155, 52), button_values[SL], 5, 12, Direction::None, 4.0f); | 491 | DrawRoundButton(p, center + QPoint(-155, 52), button_values[SLRight], 5, 12, Direction::None, |
| 488 | DrawRoundButton(p, center + QPoint(-155, -69), button_values[SR], 5, 12, Direction::None, 4.0f); | 492 | 4.0f); |
| 493 | DrawRoundButton(p, center + QPoint(-155, -69), button_values[SRRight], 5, 12, Direction::None, | ||
| 494 | 4.0f); | ||
| 489 | 495 | ||
| 490 | // SR and SL text | 496 | // SR and SL text |
| 491 | p.setPen(colors.transparent); | 497 | p.setPen(colors.transparent); |
| @@ -557,6 +563,19 @@ void PlayerControlPreview::DrawDualController(QPainter& p, const QPointF center) | |||
| 557 | DrawRoundButton(p, center + QPoint(-154, -72), button_values[Minus], 7, 4, Direction::Up, | 563 | DrawRoundButton(p, center + QPoint(-154, -72), button_values[Minus], 7, 4, Direction::Up, |
| 558 | 1); | 564 | 1); |
| 559 | 565 | ||
| 566 | // Left SR and SL sideview buttons | ||
| 567 | button_color = colors.slider_button; | ||
| 568 | DrawRoundButton(p, center + QPoint(-20, -62), button_values[SLLeft], 4, 11, | ||
| 569 | Direction::Left); | ||
| 570 | DrawRoundButton(p, center + QPoint(-20, 47), button_values[SRLeft], 4, 11, Direction::Left); | ||
| 571 | |||
| 572 | // Right SR and SL sideview buttons | ||
| 573 | button_color = colors.slider_button; | ||
| 574 | DrawRoundButton(p, center + QPoint(20, 47), button_values[SLRight], 4, 11, | ||
| 575 | Direction::Right); | ||
| 576 | DrawRoundButton(p, center + QPoint(20, -62), button_values[SRRight], 4, 11, | ||
| 577 | Direction::Right); | ||
| 578 | |||
| 560 | DrawDualBody(p, center); | 579 | DrawDualBody(p, center); |
| 561 | 580 | ||
| 562 | // Right trigger top view | 581 | // Right trigger top view |
| @@ -1792,16 +1811,6 @@ void PlayerControlPreview::DrawDualBody(QPainter& p, const QPointF center) { | |||
| 1792 | p.setBrush(colors.right); | 1811 | p.setBrush(colors.right); |
| 1793 | DrawPolygon(p, qright_joycon_topview); | 1812 | DrawPolygon(p, qright_joycon_topview); |
| 1794 | 1813 | ||
| 1795 | // Right SR and SL sideview buttons | ||
| 1796 | p.setPen(colors.outline); | ||
| 1797 | p.setBrush(colors.slider_button); | ||
| 1798 | DrawRoundRectangle(p, center + QPoint(19, 47), 7, 22, 1); | ||
| 1799 | DrawRoundRectangle(p, center + QPoint(19, -62), 7, 22, 1); | ||
| 1800 | |||
| 1801 | // Left SR and SL sideview buttons | ||
| 1802 | DrawRoundRectangle(p, center + QPoint(-19, 47), 7, 22, 1); | ||
| 1803 | DrawRoundRectangle(p, center + QPoint(-19, -62), 7, 22, 1); | ||
| 1804 | |||
| 1805 | // Right Sideview body | 1814 | // Right Sideview body |
| 1806 | p.setBrush(colors.slider); | 1815 | p.setBrush(colors.slider); |
| 1807 | DrawPolygon(p, qright_joycon_slider); | 1816 | DrawPolygon(p, qright_joycon_slider); |