#pragma once #include #include #include #include #include #include class InputSettings : public QWidget { bool grabbing = false; int which_grabbing = -1; std::unique_ptr AB = std::make_unique(); std::unique_ptr ZStart = std::make_unique(); std::unique_ptr LR = std::make_unique(); std::unique_ptr DupDdown = std::make_unique(); std::unique_ptr DleftDright = std::make_unique(); std::unique_ptr CupCdown = std::make_unique(); std::unique_ptr CleftCright = std::make_unique(); std::unique_ptr AupAdown = std::make_unique(); std::unique_ptr AleftAright = std::make_unique(); std::unique_ptr mainLayout = std::make_unique(); std::array, 18> kb_buttons; std::array, 18> n64_button_labels; Q_OBJECT public: InputSettings(nlohmann::json &); nlohmann::json &settings; void keyPressEvent(QKeyEvent *) override; std::array GetMappedKeys() const; Q_SIGNALS: void modified(); };