mirror of
https://git.suyu.dev/suyu/suyu.git
synced 2024-11-26 05:16:24 -05:00
second commit lion review
This commit is contained in:
parent
730f078302
commit
77fa4d4bf6
28 changed files with 73 additions and 42 deletions
|
@ -29,7 +29,7 @@ enum class InputType {
|
||||||
Ir,
|
Ir,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class BatteryLevel {
|
enum class BatteryLevel : u32 {
|
||||||
None,
|
None,
|
||||||
Empty,
|
Empty,
|
||||||
Critical,
|
Critical,
|
||||||
|
|
|
@ -209,10 +209,11 @@ int EmulatedConsole::SetCallback(ConsoleUpdateCallback update_callback) {
|
||||||
|
|
||||||
void EmulatedConsole::DeleteCallback(int key) {
|
void EmulatedConsole::DeleteCallback(int key) {
|
||||||
std::lock_guard lock{mutex};
|
std::lock_guard lock{mutex};
|
||||||
if (!callback_list.contains(key)) {
|
const auto& iterator = callback_list.find(key);
|
||||||
|
if (iterator == callback_list.end()) {
|
||||||
LOG_ERROR(Input, "Tried to delete non-existent callback {}", key);
|
LOG_ERROR(Input, "Tried to delete non-existent callback {}", key);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
callback_list.erase(key);
|
callback_list.erase(iterator);
|
||||||
}
|
}
|
||||||
} // namespace Core::HID
|
} // namespace Core::HID
|
||||||
|
|
|
@ -993,10 +993,11 @@ int EmulatedController::SetCallback(ControllerUpdateCallback update_callback) {
|
||||||
|
|
||||||
void EmulatedController::DeleteCallback(int key) {
|
void EmulatedController::DeleteCallback(int key) {
|
||||||
std::lock_guard lock{mutex};
|
std::lock_guard lock{mutex};
|
||||||
if (!callback_list.contains(key)) {
|
const auto& iterator = callback_list.find(key);
|
||||||
|
if (iterator == callback_list.end()) {
|
||||||
LOG_ERROR(Input, "Tried to delete non-existent callback {}", key);
|
LOG_ERROR(Input, "Tried to delete non-existent callback {}", key);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
callback_list.erase(key);
|
callback_list.erase(iterator);
|
||||||
}
|
}
|
||||||
} // namespace Core::HID
|
} // namespace Core::HID
|
||||||
|
|
|
@ -362,10 +362,11 @@ int EmulatedDevices::SetCallback(InterfaceUpdateCallback update_callback) {
|
||||||
|
|
||||||
void EmulatedDevices::DeleteCallback(int key) {
|
void EmulatedDevices::DeleteCallback(int key) {
|
||||||
std::lock_guard lock{mutex};
|
std::lock_guard lock{mutex};
|
||||||
if (!callback_list.contains(key)) {
|
const auto& iterator = callback_list.find(key);
|
||||||
|
if (iterator == callback_list.end()) {
|
||||||
LOG_ERROR(Input, "Tried to delete non-existent callback {}", key);
|
LOG_ERROR(Input, "Tried to delete non-existent callback {}", key);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
callback_list.erase(key);
|
callback_list.erase(iterator);
|
||||||
}
|
}
|
||||||
} // namespace Core::HID
|
} // namespace Core::HID
|
||||||
|
|
|
@ -3,6 +3,9 @@
|
||||||
// Refer to the license.txt file included.
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
#include "common/assert.h"
|
#include "common/assert.h"
|
||||||
|
#include "core/hid/emulated_console.h"
|
||||||
|
#include "core/hid/emulated_controller.h"
|
||||||
|
#include "core/hid/emulated_devices.h"
|
||||||
#include "core/hid/hid_core.h"
|
#include "core/hid/hid_core.h"
|
||||||
|
|
||||||
namespace Core::HID {
|
namespace Core::HID {
|
||||||
|
|
|
@ -6,9 +6,13 @@
|
||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
#include "core/hid/emulated_console.h"
|
#include "core/hid/hid_types.h"
|
||||||
#include "core/hid/emulated_controller.h"
|
|
||||||
#include "core/hid/emulated_devices.h"
|
namespace Core::HID {
|
||||||
|
class EmulatedConsole;
|
||||||
|
class EmulatedController;
|
||||||
|
class EmulatedDevices;
|
||||||
|
} // namespace Core::HID
|
||||||
|
|
||||||
namespace Core::HID {
|
namespace Core::HID {
|
||||||
|
|
||||||
|
|
|
@ -4,9 +4,17 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
namespace Input {
|
namespace Common::Input {
|
||||||
struct CallbackStatus;
|
struct CallbackStatus;
|
||||||
};
|
enum class BatteryLevel : u32;
|
||||||
|
using BatteryStatus = BatteryLevel;
|
||||||
|
struct AnalogStatus;
|
||||||
|
struct ButtonStatus;
|
||||||
|
struct MotionStatus;
|
||||||
|
struct StickStatus;
|
||||||
|
struct TouchStatus;
|
||||||
|
struct TriggerStatus;
|
||||||
|
}; // namespace Common::Input
|
||||||
|
|
||||||
namespace Core::HID {
|
namespace Core::HID {
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,8 @@
|
||||||
#include "common/string_util.h"
|
#include "common/string_util.h"
|
||||||
#include "core/core.h"
|
#include "core/core.h"
|
||||||
#include "core/frontend/applets/controller.h"
|
#include "core/frontend/applets/controller.h"
|
||||||
|
#include "core/hid/emulated_controller.h"
|
||||||
|
#include "core/hid/hid_core.h"
|
||||||
#include "core/hle/result.h"
|
#include "core/hle/result.h"
|
||||||
#include "core/hle/service/am/am.h"
|
#include "core/hle/service/am/am.h"
|
||||||
#include "core/hle/service/am/applets/applet_controller.h"
|
#include "core/hle/service/am/applets/applet_controller.h"
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
#include "common/settings.h"
|
#include "common/settings.h"
|
||||||
#include "core/core.h"
|
#include "core/core.h"
|
||||||
#include "core/core_timing.h"
|
#include "core/core_timing.h"
|
||||||
|
#include "core/hid/emulated_console.h"
|
||||||
#include "core/hle/service/hid/controllers/console_sixaxis.h"
|
#include "core/hle/service/hid/controllers/console_sixaxis.h"
|
||||||
|
|
||||||
namespace Service::HID {
|
namespace Service::HID {
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
#include "common/settings.h"
|
#include "common/settings.h"
|
||||||
#include "core/core.h"
|
#include "core/core.h"
|
||||||
#include "core/core_timing.h"
|
#include "core/core_timing.h"
|
||||||
|
#include "core/hid/emulated_controller.h"
|
||||||
#include "core/hid/hid_core.h"
|
#include "core/hid/hid_core.h"
|
||||||
#include "core/hid/hid_types.h"
|
#include "core/hid/hid_types.h"
|
||||||
#include "core/hle/service/hid/controllers/debug_pad.h"
|
#include "core/hle/service/hid/controllers/debug_pad.h"
|
||||||
|
|
|
@ -8,13 +8,10 @@
|
||||||
#include "common/bit_field.h"
|
#include "common/bit_field.h"
|
||||||
#include "common/common_types.h"
|
#include "common/common_types.h"
|
||||||
#include "common/point.h"
|
#include "common/point.h"
|
||||||
|
#include "core/hid/emulated_console.h"
|
||||||
#include "core/hle/service/hid/controllers/controller_base.h"
|
#include "core/hle/service/hid/controllers/controller_base.h"
|
||||||
#include "core/hle/service/hid/ring_lifo.h"
|
#include "core/hle/service/hid/ring_lifo.h"
|
||||||
|
|
||||||
namespace Core::HID {
|
|
||||||
class EmulatedController;
|
|
||||||
} // namespace Core::HID
|
|
||||||
|
|
||||||
namespace Service::HID {
|
namespace Service::HID {
|
||||||
class Controller_Gesture final : public ControllerBase {
|
class Controller_Gesture final : public ControllerBase {
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
#include "common/settings.h"
|
#include "common/settings.h"
|
||||||
#include "core/core.h"
|
#include "core/core.h"
|
||||||
#include "core/core_timing.h"
|
#include "core/core_timing.h"
|
||||||
|
#include "core/hid/emulated_devices.h"
|
||||||
#include "core/hid/hid_core.h"
|
#include "core/hid/hid_core.h"
|
||||||
#include "core/hle/service/hid/controllers/keyboard.h"
|
#include "core/hle/service/hid/controllers/keyboard.h"
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
#include "core/core.h"
|
#include "core/core.h"
|
||||||
#include "core/core_timing.h"
|
#include "core/core_timing.h"
|
||||||
#include "core/frontend/emu_window.h"
|
#include "core/frontend/emu_window.h"
|
||||||
|
#include "core/hid/emulated_devices.h"
|
||||||
#include "core/hid/hid_core.h"
|
#include "core/hid/hid_core.h"
|
||||||
#include "core/hle/service/hid/controllers/mouse.h"
|
#include "core/hle/service/hid/controllers/mouse.h"
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,8 @@
|
||||||
#include "common/settings.h"
|
#include "common/settings.h"
|
||||||
#include "core/core.h"
|
#include "core/core.h"
|
||||||
#include "core/core_timing.h"
|
#include "core/core_timing.h"
|
||||||
|
#include "core/hid/emulated_controller.h"
|
||||||
|
#include "core/hid/hid_core.h"
|
||||||
#include "core/hle/kernel/k_event.h"
|
#include "core/hle/kernel/k_event.h"
|
||||||
#include "core/hle/kernel/k_readable_event.h"
|
#include "core/hle/kernel/k_readable_event.h"
|
||||||
#include "core/hle/kernel/k_writable_event.h"
|
#include "core/hle/kernel/k_writable_event.h"
|
||||||
|
|
|
@ -12,11 +12,15 @@
|
||||||
#include "common/common_types.h"
|
#include "common/common_types.h"
|
||||||
#include "common/quaternion.h"
|
#include "common/quaternion.h"
|
||||||
#include "common/settings.h"
|
#include "common/settings.h"
|
||||||
#include "core/hid/hid_core.h"
|
|
||||||
#include "core/hid/hid_types.h"
|
#include "core/hid/hid_types.h"
|
||||||
#include "core/hle/service/hid/controllers/controller_base.h"
|
#include "core/hle/service/hid/controllers/controller_base.h"
|
||||||
#include "core/hle/service/hid/ring_lifo.h"
|
#include "core/hle/service/hid/ring_lifo.h"
|
||||||
|
|
||||||
|
namespace Core::HID {
|
||||||
|
class EmulatedController;
|
||||||
|
enum class ControllerTriggerType;
|
||||||
|
} // namespace Core::HID
|
||||||
|
|
||||||
namespace Kernel {
|
namespace Kernel {
|
||||||
class KEvent;
|
class KEvent;
|
||||||
class KReadableEvent;
|
class KReadableEvent;
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
#include "common/common_types.h"
|
#include "common/common_types.h"
|
||||||
#include "common/point.h"
|
#include "common/point.h"
|
||||||
#include "common/swap.h"
|
#include "common/swap.h"
|
||||||
|
#include "core/hid/emulated_console.h"
|
||||||
#include "core/hid/hid_core.h"
|
#include "core/hid/hid_core.h"
|
||||||
#include "core/hid/hid_types.h"
|
#include "core/hid/hid_types.h"
|
||||||
#include "core/hle/service/hid/controllers/controller_base.h"
|
#include "core/hle/service/hid/controllers/controller_base.h"
|
||||||
|
|
|
@ -7,6 +7,12 @@
|
||||||
|
|
||||||
namespace InputCommon {
|
namespace InputCommon {
|
||||||
|
|
||||||
|
constexpr PadIdentifier identifier = {
|
||||||
|
.guid = Common::UUID{Common::INVALID_UUID},
|
||||||
|
.port = 0,
|
||||||
|
.pad = 0,
|
||||||
|
};
|
||||||
|
|
||||||
Keyboard::Keyboard(const std::string& input_engine_) : InputEngine(input_engine_) {
|
Keyboard::Keyboard(const std::string& input_engine_) : InputEngine(input_engine_) {
|
||||||
PreSetController(identifier);
|
PreSetController(identifier);
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,13 +32,6 @@ public:
|
||||||
|
|
||||||
/// Used for automapping features
|
/// Used for automapping features
|
||||||
std::vector<Common::ParamPackage> GetInputDevices() const override;
|
std::vector<Common::ParamPackage> GetInputDevices() const override;
|
||||||
|
|
||||||
private:
|
|
||||||
const PadIdentifier identifier = {
|
|
||||||
.guid = Common::UUID{Common::INVALID_UUID},
|
|
||||||
.port = 0,
|
|
||||||
.pad = 0,
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace InputCommon
|
} // namespace InputCommon
|
||||||
|
|
|
@ -14,6 +14,11 @@
|
||||||
namespace InputCommon {
|
namespace InputCommon {
|
||||||
constexpr int touch_axis_x = 10;
|
constexpr int touch_axis_x = 10;
|
||||||
constexpr int touch_axis_y = 11;
|
constexpr int touch_axis_y = 11;
|
||||||
|
constexpr PadIdentifier identifier = {
|
||||||
|
.guid = Common::UUID{Common::INVALID_UUID},
|
||||||
|
.port = 0,
|
||||||
|
.pad = 0,
|
||||||
|
};
|
||||||
|
|
||||||
Mouse::Mouse(const std::string input_engine_) : InputEngine(input_engine_) {
|
Mouse::Mouse(const std::string input_engine_) : InputEngine(input_engine_) {
|
||||||
PreSetController(identifier);
|
PreSetController(identifier);
|
||||||
|
|
|
@ -62,11 +62,6 @@ private:
|
||||||
void UpdateThread(std::stop_token stop_token);
|
void UpdateThread(std::stop_token stop_token);
|
||||||
void StopPanning();
|
void StopPanning();
|
||||||
|
|
||||||
const PadIdentifier identifier = {
|
|
||||||
.guid = Common::UUID{Common::INVALID_UUID},
|
|
||||||
.port = 0,
|
|
||||||
.pad = 0,
|
|
||||||
};
|
|
||||||
Common::Vec2<int> mouse_origin;
|
Common::Vec2<int> mouse_origin;
|
||||||
Common::Vec2<int> last_mouse_position;
|
Common::Vec2<int> last_mouse_position;
|
||||||
Common::Vec2<float> last_mouse_change;
|
Common::Vec2<float> last_mouse_change;
|
||||||
|
|
|
@ -7,6 +7,12 @@
|
||||||
|
|
||||||
namespace InputCommon {
|
namespace InputCommon {
|
||||||
|
|
||||||
|
constexpr PadIdentifier identifier = {
|
||||||
|
.guid = Common::UUID{Common::INVALID_UUID},
|
||||||
|
.port = 0,
|
||||||
|
.pad = 0,
|
||||||
|
};
|
||||||
|
|
||||||
TouchScreen::TouchScreen(const std::string input_engine_) : InputEngine(input_engine_) {
|
TouchScreen::TouchScreen(const std::string input_engine_) : InputEngine(input_engine_) {
|
||||||
PreSetController(identifier);
|
PreSetController(identifier);
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,14 +37,8 @@ public:
|
||||||
*/
|
*/
|
||||||
void TouchReleased(std::size_t finger);
|
void TouchReleased(std::size_t finger);
|
||||||
|
|
||||||
|
/// Resets all inputs to their initial value
|
||||||
void ReleaseAllTouch();
|
void ReleaseAllTouch();
|
||||||
|
|
||||||
private:
|
|
||||||
const PadIdentifier identifier = {
|
|
||||||
.guid = Common::UUID{Common::INVALID_UUID},
|
|
||||||
.port = 0,
|
|
||||||
.pad = 0,
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace InputCommon
|
} // namespace InputCommon
|
||||||
|
|
|
@ -353,11 +353,12 @@ void InputEngine::SetMappingCallback(MappingCallback callback) {
|
||||||
|
|
||||||
void InputEngine::DeleteCallback(int key) {
|
void InputEngine::DeleteCallback(int key) {
|
||||||
std::lock_guard lock{mutex_callback};
|
std::lock_guard lock{mutex_callback};
|
||||||
if (!callback_list.contains(key)) {
|
const auto& iterator = callback_list.find(key);
|
||||||
|
if (iterator == callback_list.end()) {
|
||||||
LOG_ERROR(Input, "Tried to delete non-existent callback {}", key);
|
LOG_ERROR(Input, "Tried to delete non-existent callback {}", key);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
callback_list.erase(key);
|
callback_list.erase(iterator);
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace InputCommon
|
} // namespace InputCommon
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
#include "common/string_util.h"
|
#include "common/string_util.h"
|
||||||
#include "core/core.h"
|
#include "core/core.h"
|
||||||
#include "core/hid/emulated_controller.h"
|
#include "core/hid/emulated_controller.h"
|
||||||
|
#include "core/hid/hid_core.h"
|
||||||
#include "core/hid/hid_types.h"
|
#include "core/hid/hid_types.h"
|
||||||
#include "core/hle/lock.h"
|
#include "core/hle/lock.h"
|
||||||
#include "core/hle/service/hid/controllers/npad.h"
|
#include "core/hle/service/hid/controllers/npad.h"
|
||||||
|
|
|
@ -2594,9 +2594,8 @@ void PlayerControlPreview::DrawArrowButton(QPainter& p, const QPointF center,
|
||||||
arrow_button[point] = center + QPointF(up_arrow_x * size, -up_arrow_y * size);
|
arrow_button[point] = center + QPointF(up_arrow_x * size, -up_arrow_y * size);
|
||||||
break;
|
break;
|
||||||
case Direction::Left:
|
case Direction::Left:
|
||||||
// Compiler doesn't optimize this correctly
|
// Compiler doesn't optimize this correctly check why
|
||||||
arrow_button[point] = center + QPointF(up_arrow_button[point * 2 + 1] * size,
|
arrow_button[point] = center + QPointF(up_arrow_y * size, up_arrow_x * size);
|
||||||
up_arrow_button[point * 2 + 0] * size);
|
|
||||||
break;
|
break;
|
||||||
case Direction::None:
|
case Direction::None:
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
#include <QPointer>
|
#include <QPointer>
|
||||||
#include "common/input.h"
|
#include "common/input.h"
|
||||||
#include "common/settings.h"
|
#include "common/settings.h"
|
||||||
|
#include "core/hid/emulated_controller.h"
|
||||||
#include "core/hid/hid_core.h"
|
#include "core/hid/hid_core.h"
|
||||||
#include "core/hid/hid_types.h"
|
#include "core/hid/hid_types.h"
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,8 @@ class System;
|
||||||
|
|
||||||
namespace Core::HID {
|
namespace Core::HID {
|
||||||
class EmulatedController;
|
class EmulatedController;
|
||||||
}
|
enum class ControllerTriggerType;
|
||||||
|
} // namespace Core::HID
|
||||||
|
|
||||||
class ControllerDialog : public QWidget {
|
class ControllerDialog : public QWidget {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
#include "core/frontend/applets/controller.h"
|
#include "core/frontend/applets/controller.h"
|
||||||
#include "core/frontend/applets/general_frontend.h"
|
#include "core/frontend/applets/general_frontend.h"
|
||||||
#include "core/frontend/applets/software_keyboard.h"
|
#include "core/frontend/applets/software_keyboard.h"
|
||||||
|
#include "core/hid/emulated_controller.h"
|
||||||
#include "core/hid/hid_core.h"
|
#include "core/hid/hid_core.h"
|
||||||
#include "core/hle/service/acc/profile_manager.h"
|
#include "core/hle/service/acc/profile_manager.h"
|
||||||
#include "core/hle/service/am/applet_ae.h"
|
#include "core/hle/service/am/applet_ae.h"
|
||||||
|
|
Loading…
Reference in a new issue