summaryrefslogtreecommitdiffstats
path: root/src/core/hid
diff options
context:
space:
mode:
authorgerman77 <juangerman-13@hotmail.com>2021-11-04 19:08:54 +0100
committerNarr the Reg <juangerman-13@hotmail.com>2021-11-25 03:30:27 +0100
commit5d0f3540c4b085103afa27d6120ea29e0324a5a2 (patch)
tree9cdfe756391969476385d3f391d74a6e75aa5889 /src/core/hid
parentconfig: Cleanup and documentation (diff)
downloadyuzu-5d0f3540c4b085103afa27d6120ea29e0324a5a2.tar
yuzu-5d0f3540c4b085103afa27d6120ea29e0324a5a2.tar.gz
yuzu-5d0f3540c4b085103afa27d6120ea29e0324a5a2.tar.bz2
yuzu-5d0f3540c4b085103afa27d6120ea29e0324a5a2.tar.lz
yuzu-5d0f3540c4b085103afa27d6120ea29e0324a5a2.tar.xz
yuzu-5d0f3540c4b085103afa27d6120ea29e0324a5a2.tar.zst
yuzu-5d0f3540c4b085103afa27d6120ea29e0324a5a2.zip
Diffstat (limited to 'src/core/hid')
-rw-r--r--src/core/hid/emulated_controller.cpp44
-rw-r--r--src/core/hid/emulated_controller.h18
-rw-r--r--src/core/hid/hid_types.h13
3 files changed, 41 insertions, 34 deletions
diff --git a/src/core/hid/emulated_controller.cpp b/src/core/hid/emulated_controller.cpp
index 6fe3744fd..a200992f2 100644
--- a/src/core/hid/emulated_controller.cpp
+++ b/src/core/hid/emulated_controller.cpp
@@ -13,38 +13,38 @@ EmulatedController::EmulatedController(NpadIdType npad_id_type_) : npad_id_type(
EmulatedController::~EmulatedController() = default;
-NpadType EmulatedController::MapSettingsTypeToNPad(Settings::ControllerType type) {
+NpadStyleIndex EmulatedController::MapSettingsTypeToNPad(Settings::ControllerType type) {
switch (type) {
case Settings::ControllerType::ProController:
- return NpadType::ProController;
+ return NpadStyleIndex::ProController;
case Settings::ControllerType::DualJoyconDetached:
- return NpadType::JoyconDual;
+ return NpadStyleIndex::JoyconDual;
case Settings::ControllerType::LeftJoycon:
- return NpadType::JoyconLeft;
+ return NpadStyleIndex::JoyconLeft;
case Settings::ControllerType::RightJoycon:
- return NpadType::JoyconRight;
+ return NpadStyleIndex::JoyconRight;
case Settings::ControllerType::Handheld:
- return NpadType::Handheld;
+ return NpadStyleIndex::Handheld;
case Settings::ControllerType::GameCube:
- return NpadType::GameCube;
+ return NpadStyleIndex::GameCube;
default:
- return NpadType::ProController;
+ return NpadStyleIndex::ProController;
}
}
-Settings::ControllerType EmulatedController::MapNPadToSettingsType(NpadType type) {
+Settings::ControllerType EmulatedController::MapNPadToSettingsType(NpadStyleIndex type) {
switch (type) {
- case NpadType::ProController:
+ case NpadStyleIndex::ProController:
return Settings::ControllerType::ProController;
- case NpadType::JoyconDual:
+ case NpadStyleIndex::JoyconDual:
return Settings::ControllerType::DualJoyconDetached;
- case NpadType::JoyconLeft:
+ case NpadStyleIndex::JoyconLeft:
return Settings::ControllerType::LeftJoycon;
- case NpadType::JoyconRight:
+ case NpadStyleIndex::JoyconRight:
return Settings::ControllerType::RightJoycon;
- case NpadType::Handheld:
+ case NpadStyleIndex::Handheld:
return Settings::ControllerType::Handheld;
- case NpadType::GameCube:
+ case NpadStyleIndex::GameCube:
return Settings::ControllerType::GameCube;
default:
return Settings::ControllerType::ProController;
@@ -79,9 +79,9 @@ void EmulatedController::ReloadFromSettings() {
// Other or debug controller should always be a pro controller
if (npad_id_type != NpadIdType::Other) {
- SetNpadType(MapSettingsTypeToNPad(player.controller_type));
+ SetNpadStyleIndex(MapSettingsTypeToNPad(player.controller_type));
} else {
- SetNpadType(NpadType::ProController);
+ SetNpadStyleIndex(NpadStyleIndex::ProController);
}
if (player.connected) {
@@ -306,7 +306,7 @@ void EmulatedController::DisableConfiguration() {
if (is_connected) {
Disconnect();
}
- SetNpadType(tmp_npad_type);
+ SetNpadStyleIndex(tmp_npad_type);
}
// Apply temporary connected status to the real controller
@@ -569,10 +569,10 @@ void EmulatedController::SetButton(Common::Input::CallbackStatus callback, std::
}
}
if (!is_connected) {
- if (npad_id_type == NpadIdType::Player1 && npad_type != NpadType::Handheld) {
+ if (npad_id_type == NpadIdType::Player1 && npad_type != NpadStyleIndex::Handheld) {
Connect();
}
- if (npad_id_type == NpadIdType::Handheld && npad_type == NpadType::Handheld) {
+ if (npad_id_type == NpadIdType::Handheld && npad_type == NpadStyleIndex::Handheld) {
Connect();
}
}
@@ -896,14 +896,14 @@ NpadIdType EmulatedController::GetNpadIdType() const {
return npad_id_type;
}
-NpadType EmulatedController::GetNpadType(bool get_temporary_value) const {
+NpadStyleIndex EmulatedController::GetNpadStyleIndex(bool get_temporary_value) const {
if (get_temporary_value) {
return tmp_npad_type;
}
return npad_type;
}
-void EmulatedController::SetNpadType(NpadType npad_type_) {
+void EmulatedController::SetNpadStyleIndex(NpadStyleIndex npad_type_) {
{
std::lock_guard lock{mutex};
diff --git a/src/core/hid/emulated_controller.h b/src/core/hid/emulated_controller.h
index 9a8bdf14d..fa2e89c0b 100644
--- a/src/core/hid/emulated_controller.h
+++ b/src/core/hid/emulated_controller.h
@@ -142,23 +142,23 @@ public:
YUZU_NON_MOVEABLE(EmulatedController);
/// Converts the controller type from settings to npad type
- static NpadType MapSettingsTypeToNPad(Settings::ControllerType type);
+ static NpadStyleIndex MapSettingsTypeToNPad(Settings::ControllerType type);
/// Converts npad type to the equivalent of controller type from settings
- static Settings::ControllerType MapNPadToSettingsType(NpadType type);
+ static Settings::ControllerType MapNPadToSettingsType(NpadStyleIndex type);
/// Gets the NpadIdType for this controller
NpadIdType GetNpadIdType() const;
- /// Sets the NpadType for this controller
- void SetNpadType(NpadType npad_type_);
+ /// Sets the NpadStyleIndex for this controller
+ void SetNpadStyleIndex(NpadStyleIndex npad_type_);
/**
- * Gets the NpadType for this controller
+ * Gets the NpadStyleIndex for this controller
* @param If true tmp_npad_type will be returned
- * @return NpadType set on the controller
+ * @return NpadStyleIndex set on the controller
*/
- NpadType GetNpadType(bool get_temporary_value = false) const;
+ NpadStyleIndex GetNpadStyleIndex(bool get_temporary_value = false) const;
/// Sets the connected status to true
void Connect();
@@ -351,14 +351,14 @@ private:
void TriggerOnChange(ControllerTriggerType type, bool is_service_update);
NpadIdType npad_id_type;
- NpadType npad_type{NpadType::None};
+ NpadStyleIndex npad_type{NpadStyleIndex::None};
bool is_connected{false};
bool is_configuring{false};
f32 motion_sensitivity{0.01f};
bool force_update_motion{false};
// Temporary values to avoid doing changes while the controller is on configuration mode
- NpadType tmp_npad_type{NpadType::None};
+ NpadStyleIndex tmp_npad_type{NpadStyleIndex::None};
bool tmp_is_connected{false};
ButtonParams button_params;
diff --git a/src/core/hid/hid_types.h b/src/core/hid/hid_types.h
index f8a0d5edd..7e4f6a804 100644
--- a/src/core/hid/hid_types.h
+++ b/src/core/hid/hid_types.h
@@ -84,8 +84,8 @@ constexpr NpadIdType IndexToNpadIdType(size_t index) {
}
}
-// This is nn::hid::NpadType
-enum class NpadType : u8 {
+// This is nn::hid::NpadStyleIndex
+enum class NpadStyleIndex : u8 {
None = 0,
ProController = 3,
Handheld = 4,
@@ -94,7 +94,14 @@ enum class NpadType : u8 {
JoyconRight = 7,
GameCube = 8,
Pokeball = 9,
- MaxNpadType = 10,
+ NES = 10,
+ HandheldNES = 11,
+ SNES = 12,
+ N64 = 13,
+ SegaGenesis = 14,
+ SystemExt = 32,
+ System = 33,
+ MaxNpadType = 34,
};
// This is nn::hid::NpadStyleTag