diff options
author | bunnei <bunneidev@gmail.com> | 2022-01-11 10:49:23 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-11 10:49:23 -0800 |
commit | c65c651b6fb174084a26039ce6ea78e9cd3aedf0 (patch) | |
tree | 9790b6abe3e9d05649629fe851031438ed6ad139 /src/yuzu/configuration/configure_hotkeys.h | |
parent | b3308830b217cbdd9638b11e8660d079e16b3f01 (diff) | |
parent | 72c8a94a6cdb4d3f322fa6d4b06eab824f53dba6 (diff) |
Merge pull request #7633 from german77/hotkeys
yuzu: Add controller hotkeys
Diffstat (limited to 'src/yuzu/configuration/configure_hotkeys.h')
-rw-r--r-- | src/yuzu/configuration/configure_hotkeys.h | 23 |
1 files changed, 22 insertions, 1 deletions
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 <memory> #include <QWidget> +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<bool, QString> IsUsedKey(QKeySequence key_sequence) const; + std::pair<bool, QString> 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::ConfigureHotkeys> 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<QTimer> timeout_timer; + std::unique_ptr<QTimer> poll_timer; + std::optional<std::function<void(Core::HID::NpadButton, bool)>> input_setter; }; |