Qt: Allow rebinding keyboard controls (#779)
Some checks failed
Android Build / x64 (release) (push) Has been cancelled
Android Build / arm64 (release) (push) Has been cancelled
HTTP Server Build / build (push) Has been cancelled
Hydra Core Build / Windows (push) Has been cancelled
Hydra Core Build / MacOS (push) Has been cancelled
Hydra Core Build / Linux (push) Has been cancelled
Hydra Core Build / Android-x64 (push) Has been cancelled
Hydra Core Build / ARM-Libretro (push) Has been cancelled
Linux AppImage Build / build (push) Has been cancelled
Linux Build / build (push) Has been cancelled
MacOS Build / MacOS-arm64 (push) Has been cancelled
MacOS Build / MacOS-x86_64 (push) Has been cancelled
Qt Build / Windows (push) Has been cancelled
Qt Build / MacOS-arm64 (push) Has been cancelled
Qt Build / MacOS-x86_64 (push) Has been cancelled
Qt Build / Linux (push) Has been cancelled
Windows Build / build (push) Has been cancelled
iOS Simulator Build / build (push) Has been cancelled
MacOS Build / MacOS-Universal (push) Has been cancelled
Qt Build / MacOS-Universal (push) Has been cancelled

* Initial input UI draft

Co-Authored-By: Paris Oplopoios <parisoplop@gmail.com>

* More keybinding work

Co-Authored-By: Paris Oplopoios <parisoplop@gmail.com>

* Nit

Co-Authored-By: Paris Oplopoios <parisoplop@gmail.com>

* More nits

Co-Authored-By: Paris Oplopoios <parisoplop@gmail.com>

---------

Co-authored-by: Paris Oplopoios <parisoplop@gmail.com>
This commit is contained in:
wheremyfoodat 2025-07-18 04:08:08 +03:00 committed by GitHub
parent 3cae1bd256
commit 81f37e1699
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 385 additions and 14 deletions

View file

@ -16,6 +16,8 @@
#include "emulator.hpp"
#include "frontend_settings.hpp"
#include "input_mappings.hpp"
#include "panda_qt/input_window.hpp"
class ConfigWindow : public QDialog {
Q_OBJECT
@ -30,8 +32,9 @@ class ConfigWindow : public QDialog {
QTextEdit* helpText = nullptr;
QListWidget* widgetList = nullptr;
QStackedWidget* widgetContainer = nullptr;
InputWindow* inputWindow = nullptr;
static constexpr size_t settingWidgetCount = 6;
static constexpr size_t settingWidgetCount = 7;
std::array<QString, settingWidgetCount> helpTexts;
// The config class holds a copy of the emulator config which it edits and sends
@ -52,6 +55,7 @@ class ConfigWindow : public QDialog {
~ConfigWindow();
EmulatorConfig& getConfig() { return config; }
InputWindow* getInputWindow() { return inputWindow; }
private:
Emulator* emu;