Added "ToggleDelay" option to Revive menu.
This commit is contained in:
@@ -150,7 +150,7 @@ MyStackViewPage {
|
||||
|
||||
MyComboBox {
|
||||
id: gripButtonModeComboBox
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredWidth: 300
|
||||
model: ["Normal Mode", "Toggle Mode", "Hybrid Mode"]
|
||||
onCurrentIndexChanged: {
|
||||
if (componentCompleted) {
|
||||
@@ -158,6 +158,32 @@ MyStackViewPage {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
MyText {
|
||||
Layout.leftMargin: 50
|
||||
text: "Toggle Delay: "
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
MyTextField {
|
||||
id: toggleDelayText
|
||||
text: "0.50"
|
||||
keyBoardUID: 225
|
||||
Layout.preferredWidth: 100
|
||||
Layout.leftMargin: 10
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
function onInputEvent(input) {
|
||||
var val = parseFloat(input)
|
||||
if (!isNaN(val)) {
|
||||
if (val < 0.0) {
|
||||
val = 0.0
|
||||
}
|
||||
ReviveTabController.setToggleDelay(val.toFixed(2), false)
|
||||
}
|
||||
text = ReviveTabController.toggleDelay.toFixed(2)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
GroupBox {
|
||||
@@ -969,6 +995,7 @@ MyStackViewPage {
|
||||
pixelsPerDisplayPixelText.text = v
|
||||
|
||||
gripButtonModeComboBox.currentIndex = ReviveTabController.gripButtonMode
|
||||
toggleDelayText.text = ReviveTabController.toggleDelay.toFixed(2)
|
||||
|
||||
v = ReviveTabController.thumbDeadzone.toFixed(2)
|
||||
if (v <= thumbDeadzoneSlider.to) {
|
||||
@@ -997,6 +1024,9 @@ MyStackViewPage {
|
||||
onGripButtonModeChanged : {
|
||||
gripButtonModeComboBox.currentIndex = ReviveTabController.gripButtonMode
|
||||
}
|
||||
onToggleDelayChanged : {
|
||||
toggleDelayText.text = ReviveTabController.toggleDelay.toFixed(2)
|
||||
}
|
||||
onPixelsPerDisplayPixelOverrideEnabledChanged : {
|
||||
pixelsPerDisplayPixelToggle.checked = ReviveTabController.pixelsPerDisplayPixelOverrideEnabled
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ namespace advsettings {
|
||||
const char* section_revive = "revive";
|
||||
const char* key_pixelsPerDisplayPixel = "pixelsPerDisplayPixel";
|
||||
const char* key_toggleGrip = "ToggleGrip";
|
||||
const char* key_toggleDelay = "ToggleDelay";
|
||||
const char* key_thumbDeadzone = "ThumbDeadzone";
|
||||
const char* key_thumbSensitivity = "ThumbSensitivity";
|
||||
const char* key_touchPitch = "TouchPitch";
|
||||
@@ -49,6 +50,13 @@ namespace advsettings {
|
||||
m_gripButtonMode = valuei;
|
||||
}
|
||||
|
||||
valuef = vr::VRSettings()->GetFloat(section_revive, key_toggleDelay, &vrSettingsError);
|
||||
if (vrSettingsError != vr::VRSettingsError_None) {
|
||||
LOG(WARNING) << "Could not read \"revive::" << key_toggleDelay << "\" setting: " << vr::VRSettings()->GetSettingsErrorNameFromEnum(vrSettingsError);
|
||||
} else {
|
||||
m_toggleDelay = valuef;
|
||||
}
|
||||
|
||||
valuef = vr::VRSettings()->GetFloat(section_revive, key_thumbDeadzone, &vrSettingsError);
|
||||
if (vrSettingsError != vr::VRSettingsError_None) {
|
||||
LOG(WARNING) << "Could not read \"revive::" << key_thumbDeadzone << "\" setting: " << vr::VRSettings()->GetSettingsErrorNameFromEnum(vrSettingsError);
|
||||
@@ -177,6 +185,11 @@ namespace advsettings {
|
||||
setGripButtonMode(valuei);
|
||||
}
|
||||
|
||||
valuef = vr::VRSettings()->GetFloat(section_revive, key_toggleDelay, &vrSettingsError);
|
||||
if (vrSettingsError == vr::VRSettingsError_None) {
|
||||
setToggleDelay(valuef);
|
||||
}
|
||||
|
||||
valuef = vr::VRSettings()->GetFloat(section_revive, key_thumbDeadzone, &vrSettingsError);
|
||||
if (vrSettingsError == vr::VRSettingsError_None) {
|
||||
setThumbDeadzone(valuef);
|
||||
@@ -263,6 +276,10 @@ namespace advsettings {
|
||||
return m_gripButtonMode;
|
||||
}
|
||||
|
||||
float ReviveTabController::toggleDelay() const {
|
||||
return m_toggleDelay;
|
||||
}
|
||||
|
||||
bool ReviveTabController::isPixelsPerDisplayPixelOverrideEnabled() const {
|
||||
return m_pixelsPerDisplayPixelOverrideEnabled;
|
||||
}
|
||||
@@ -338,6 +355,21 @@ namespace advsettings {
|
||||
}
|
||||
}
|
||||
|
||||
void ReviveTabController::setToggleDelay(float value, bool notify) {
|
||||
if (m_toggleDelay != value) {
|
||||
m_toggleDelay = value;
|
||||
vr::EVRSettingsError vrSettingsError;
|
||||
vr::VRSettings()->SetFloat(section_revive, key_toggleDelay, m_toggleDelay, &vrSettingsError);
|
||||
if (vrSettingsError != vr::VRSettingsError_None) {
|
||||
LOG(WARNING) << "Could not set \"revive::" << key_toggleDelay << "\" setting: " << vr::VRSettings()->GetSettingsErrorNameFromEnum(vrSettingsError);
|
||||
}
|
||||
vr::VRSettings()->Sync();
|
||||
if (notify) {
|
||||
emit toggleDelayChanged(m_toggleDelay);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ReviveTabController::setPixelsPerDisplayPixelOverrideEnabled(bool value, bool notify) {
|
||||
if (m_pixelsPerDisplayPixelOverrideEnabled != value) {
|
||||
m_pixelsPerDisplayPixelOverrideEnabled = value;
|
||||
@@ -599,6 +631,11 @@ namespace advsettings {
|
||||
LOG(WARNING) << "Could not remove \"revive::" << key_toggleGrip << "\" setting: " << vr::VRSettings()->GetSettingsErrorNameFromEnum(vrSettingsError);
|
||||
}
|
||||
|
||||
vr::VRSettings()->RemoveKeyInSection(section_revive, key_toggleDelay, &vrSettingsError);
|
||||
if (vrSettingsError != vr::VRSettingsError_None) {
|
||||
LOG(WARNING) << "Could not remove \"revive::" << key_toggleDelay << "\" setting: " << vr::VRSettings()->GetSettingsErrorNameFromEnum(vrSettingsError);
|
||||
}
|
||||
|
||||
vr::VRSettings()->RemoveKeyInSection(section_revive, key_thumbDeadzone, &vrSettingsError);
|
||||
if (vrSettingsError != vr::VRSettingsError_None) {
|
||||
LOG(WARNING) << "Could not remove \"revive::" << key_thumbDeadzone << "\" setting: " << vr::VRSettings()->GetSettingsErrorNameFromEnum(vrSettingsError);
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace advsettings {
|
||||
Q_PROPERTY(int isOverlayInstalled READ isOverlayInstalled NOTIFY isOverlayInstalledChanged)
|
||||
Q_PROPERTY(int gripButtonMode READ gripButtonMode WRITE setGripButtonMode NOTIFY gripButtonModeChanged)
|
||||
Q_PROPERTY(bool pixelsPerDisplayPixelOverrideEnabled READ isPixelsPerDisplayPixelOverrideEnabled WRITE setPixelsPerDisplayPixelOverrideEnabled NOTIFY pixelsPerDisplayPixelOverrideEnabledChanged)
|
||||
Q_PROPERTY(float toggleDelay READ toggleDelay WRITE setToggleDelay NOTIFY toggleDelayChanged)
|
||||
Q_PROPERTY(float pixelsPerDisplayPixelOverride READ pixelsPerDisplayPixelOverride WRITE setPixelsPerDisplayPixelOverride NOTIFY pixelsPerDisplayPixelOverrideChanged)
|
||||
Q_PROPERTY(float thumbDeadzone READ thumbDeadzone WRITE setThumbDeadzone NOTIFY thumbDeadzoneChanged)
|
||||
Q_PROPERTY(float thumbRange READ thumbRange WRITE setThumbRange NOTIFY thumbRangeChanged)
|
||||
@@ -52,6 +53,7 @@ namespace advsettings {
|
||||
|
||||
bool m_isOverlayInstalled = false;
|
||||
int m_gripButtonMode = 0;
|
||||
float m_toggleDelay = 0.5f;
|
||||
bool m_pixelsPerDisplayPixelOverrideEnabled = false;
|
||||
float m_pixelsPerDisplayPixelOverride = 1.0f;
|
||||
float m_thumbDeadzone = 0.3f;
|
||||
@@ -81,6 +83,7 @@ namespace advsettings {
|
||||
bool isOverlayInstalled() const;
|
||||
|
||||
int gripButtonMode() const;
|
||||
float toggleDelay() const;
|
||||
|
||||
bool isPixelsPerDisplayPixelOverrideEnabled() const;
|
||||
float pixelsPerDisplayPixelOverride() const;
|
||||
@@ -111,6 +114,7 @@ namespace advsettings {
|
||||
|
||||
public slots:
|
||||
void setGripButtonMode(int value, bool notify = true);
|
||||
void setToggleDelay(float value, bool notify = true);
|
||||
|
||||
void setPixelsPerDisplayPixelOverrideEnabled(bool value, bool notify = true);
|
||||
void setPixelsPerDisplayPixelOverride(float value, bool notify = true);
|
||||
@@ -141,6 +145,7 @@ namespace advsettings {
|
||||
void isOverlayInstalledChanged(bool value);
|
||||
|
||||
void gripButtonModeChanged(int value);
|
||||
void toggleDelayChanged(float value);
|
||||
|
||||
void pixelsPerDisplayPixelOverrideEnabledChanged(bool value);
|
||||
void pixelsPerDisplayPixelOverrideChanged(float value);
|
||||
|
||||
Reference in New Issue
Block a user