summaryrefslogtreecommitdiffstats
path: root/src/yuzu/debugger/controller.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/yuzu/debugger/controller.h')
-rw-r--r--src/yuzu/debugger/controller.h26
1 files changed, 22 insertions, 4 deletions
diff --git a/src/yuzu/debugger/controller.h b/src/yuzu/debugger/controller.h
index 33f617b9b..ba4185a4b 100644
--- a/src/yuzu/debugger/controller.h
+++ b/src/yuzu/debugger/controller.h
@@ -11,24 +11,33 @@ class QHideEvent;
class QShowEvent;
class PlayerControlPreview;
+namespace InputCommon {
+class InputSubsystem;
+}
+
namespace Core {
class System;
}
-namespace InputCommon {
-class InputSubsystem;
+namespace Core::HID {
+class EmulatedController;
}
class ControllerDialog : public QWidget {
Q_OBJECT
public:
- explicit ControllerDialog(Core::System& system, QWidget* parent = nullptr);
+ explicit ControllerDialog(Core::System& system_,
+ std::shared_ptr<InputCommon::InputSubsystem> input_subsystem_,
+ QWidget* parent = nullptr);
/// Returns a QAction that can be used to toggle visibility of this dialog.
QAction* toggleViewAction();
- // Disables events from the emulated controller
+ /// Reloads the widget to apply any changes in the configuration
+ void refreshConfiguration();
+
+ /// Disables events from the emulated controller
void UnloadController();
protected:
@@ -36,6 +45,15 @@ protected:
void hideEvent(QHideEvent* ev) override;
private:
+ /// Redirects input from the widget to the TAS driver
+ void ControllerUpdate(Core::HID::ControllerTriggerType type);
+
+ int callback_key;
+ bool is_controller_set{};
+ Core::HID::EmulatedController* controller;
+
QAction* toggle_view_action = nullptr;
PlayerControlPreview* widget;
+ Core::System& system;
+ std::shared_ptr<InputCommon::InputSubsystem> input_subsystem;
};