14 #include <QJsonObject>
16 namespace controller {
17 struct InputCalibrationData;
20 class InputPlugin :
public Plugin {
22 virtual void pluginFocusOutEvent() = 0;
23 virtual void pluginUpdate(
float deltaTime,
const controller::InputCalibrationData& inputCalibrationData) = 0;
27 virtual QStringList getSubdeviceNames() {
return { getName() }; };
28 virtual void setConfigurationSettings(
const QJsonObject configurationSettings) { }
29 virtual QJsonObject configurationSettings() {
return QJsonObject(); }
30 virtual QString configurationLayout() {
return QString(); }
31 virtual QString getDeviceName() {
return QString(); }
32 virtual void calibrate() {}
33 virtual bool uncalibrate() {
return false; }
34 virtual bool configurable() {
return false; }
35 virtual bool isHandController()
const {
return false; }
36 virtual bool isHeadController()
const {
return false; }