Add support for SDL controller accelerometer/gyro events

This commit is contained in:
Ethan Lee 2021-09-08 23:04:46 -04:00
parent 4817b00843
commit 853909996b
6 changed files with 187 additions and 4 deletions

View file

@ -8,11 +8,13 @@
#include <QDialog>
#include "common/param_package.h"
#include "core/settings.h"
#include "input_common/main.h"
#include "input_common/udp/udp.h"
class QVBoxLayout;
class QLabel;
class QPushButton;
class QTimer;
namespace Ui {
class ConfigureMotionTouch;
@ -63,10 +65,21 @@ private:
void SetConfiguration();
void UpdateUiDisplay();
void ConnectEvents();
void SetPollingResult(const Common::ParamPackage& params, bool abort);
bool CanCloseDialog();
std::unique_ptr<Ui::ConfigureMotionTouch> ui;
// Used for SDL input polling
std::string guid;
int port;
std::unique_ptr<QTimer> timeout_timer;
std::unique_ptr<QTimer> poll_timer;
std::vector<std::unique_ptr<InputCommon::Polling::DevicePoller>> device_pollers;
/// This will be the the setting function when an input is awaiting configuration.
std::optional<std::function<void(const Common::ParamPackage&)>> input_setter;
// Coordinate system of the CemuhookUDP touch provider
int min_x, min_y, max_x, max_y;