mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-01-06 16:49:59 +01:00
* Input: further work on remapping Xinput and begin work on remapping DS4 * Input: Improve pad_settings_dialog a bit and begin Remapping for XInput * Input: begin evdev remapping and change all handlers to use cfg::string * Input: finish work on remapping evdev and some more crap * Input: finish work on remapping Xinput and DS4 * Input: add DS4 Colors to DS4 config * Input: Improve DS4 deadzone scaling Jarves made some mistakes, so I'll fix them in the follow up commit * Input: fix Jarves fixes on DS4 deadzone and remove unnecessary usage of toUtf8 * Input: add primitive batterychecks to XInput and DS4 * Input: add mmjoystick remapping * Input: Fix evdev and some Vibration issues * Input: adjust capabilities to fix stick input for games like LoS 2 also fix threshold slider minimum also add ps button to all the handlers * Input: Further evdev work based on danilaml code review and own debugging: Fixed path issue, <= 0 issue, some captures, const, axis with same codes. Adds a map to each device that differentiates negative and positive axis mappings. adjusted rest of the file to tabs (ListDevices and beginning of threadProc) * Input: use 20ms vibration update time for xbox one elite controllers. * Input: Fix return type of Clamp() * Input: Evdev Fix * Input: Evdev Optional GetNextButtonPress presumably better than the other * Input: review changes * Input: evdev: fix wrong index in axis handling move bindpadtodevice down to keep consistency between handlers and not get crazy * Input: evdev: fix expensive add_device in GetNextButtonPress * cleanup * Input: mmjoy: fix type * Input: evdev: final fixes * Input: evdev: exclude unnecessary buttons while mapping Xbox 360 or DS4 * Input: add deadzone preview by passing necessary values in callback use 0.5 of max value for threshold in pad dialog * Input: get rid of all-uppercase variables
56 lines
1.3 KiB
C++
56 lines
1.3 KiB
C++
#pragma once
|
|
|
|
#include "gui_settings.h"
|
|
#include "emu_settings.h"
|
|
|
|
#include "Emu/GameInfo.h"
|
|
|
|
#include <QDialog>
|
|
#include <QTabWidget>
|
|
|
|
#include <memory>
|
|
|
|
namespace Ui
|
|
{
|
|
class settings_dialog;
|
|
}
|
|
|
|
class settings_dialog : public QDialog
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit settings_dialog(std::shared_ptr<gui_settings> guiSettings, std::shared_ptr<emu_settings> emuSettings, const int& tabIndex = 0, QWidget *parent = 0, const GameInfo *game = nullptr);
|
|
~settings_dialog();
|
|
int exec() override;
|
|
Q_SIGNALS:
|
|
void GuiSettingsSyncRequest(bool configure_all);
|
|
void GuiStylesheetRequest(const QString& path);
|
|
void GuiSettingsSaveRequest();
|
|
void GuiRepaintRequest();
|
|
private Q_SLOTS:
|
|
void OnBackupCurrentConfig();
|
|
void OnApplyConfig();
|
|
void OnApplyStylesheet();
|
|
private:
|
|
//emulator tab
|
|
void AddConfigs();
|
|
void AddStylesheets();
|
|
QString m_currentStylesheet;
|
|
QString m_currentConfig;
|
|
//gpu tab
|
|
QString m_oldRender = "";
|
|
|
|
int m_tab_Index;
|
|
Ui::settings_dialog *ui;
|
|
std::shared_ptr<gui_settings> xgui_settings;
|
|
std::shared_ptr<emu_settings> xemu_settings;
|
|
|
|
// descriptions
|
|
QList<QPair<QLabel*, QString>> m_description_labels;
|
|
QHash<QObject*, QString> m_descriptions;
|
|
void SubscribeDescription(QLabel* description);
|
|
void SubscribeTooltip(QObject* object, const QString& tooltip);
|
|
bool eventFilter(QObject* object, QEvent* event) override;
|
|
};
|