From 72c8a94a6cdb4d3f322fa6d4b06eab824f53dba6 Mon Sep 17 00:00:00 2001 From: german77 Date: Mon, 15 Nov 2021 17:57:41 -0600 Subject: yuzu: Add controller hotkeys --- src/yuzu/configuration/configure_hotkeys.h | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'src/yuzu/configuration/configure_hotkeys.h') diff --git a/src/yuzu/configuration/configure_hotkeys.h b/src/yuzu/configuration/configure_hotkeys.h index a2ec3323e..f943ec538 100644 --- a/src/yuzu/configuration/configure_hotkeys.h +++ b/src/yuzu/configuration/configure_hotkeys.h @@ -7,6 +7,16 @@ #include #include +namespace Common { +class ParamPackage; +} + +namespace Core::HID { +class HIDCore; +class EmulatedController; +enum class NpadButton : u64; +} // namespace Core::HID + namespace Ui { class ConfigureHotkeys; } @@ -18,7 +28,7 @@ class ConfigureHotkeys : public QWidget { Q_OBJECT public: - explicit ConfigureHotkeys(QWidget* parent = nullptr); + explicit ConfigureHotkeys(Core::HID::HIDCore& hid_core_, QWidget* parent = nullptr); ~ConfigureHotkeys() override; void ApplyConfiguration(HotkeyRegistry& registry); @@ -35,13 +45,24 @@ private: void RetranslateUI(); void Configure(QModelIndex index); + void ConfigureController(QModelIndex index); std::pair IsUsedKey(QKeySequence key_sequence) const; + std::pair IsUsedControllerKey(const QString& key_sequence) const; void RestoreDefaults(); void ClearAll(); void PopupContextMenu(const QPoint& menu_location); + void RestoreControllerHotkey(QModelIndex index); + void RestoreHotkey(QModelIndex index); std::unique_ptr ui; QStandardItemModel* model; + + void SetPollingResult(Core::HID::NpadButton button, bool cancel); + QString GetButtonName(Core::HID::NpadButton button) const; + Core::HID::EmulatedController* controller; + std::unique_ptr timeout_timer; + std::unique_ptr poll_timer; + std::optional> input_setter; }; -- cgit v1.2.3