diff --git a/BigPictureTV/BigPictureTV.cpp b/BigPictureTV/BigPictureTV.cpp
index 1f034e5..3e9c71b 100644
--- a/BigPictureTV/BigPictureTV.cpp
+++ b/BigPictureTV/BigPictureTV.cpp
@@ -81,6 +81,9 @@ void BigPictureTV::checkWindowTitle()
gamemodeActive = true;
handleActions(false);
handleMonitorChanges(false, disable_monitor_switch);
+ if (skip_intro) {
+ Utils::skipBigPictureIntro();
+ }
handleAudioChanges(false, disable_audio_switch);
settings.setValue("gamemode", gamemodeActive);
} else if (!isRunning && gamemodeActive) {
@@ -201,6 +204,7 @@ void BigPictureTV::loadSettings()
disable_nightlight_action = settings.value("disable_nightlight_action").toBool();
target_window_mode = settings.value("target_window_mode").toInt();
custom_window_title = settings.value("custom_window_title").toString();
+ skip_intro = settings.value("skip_intro").toBool();
}
void BigPictureTV::showSettings()
diff --git a/BigPictureTV/BigPictureTV.h b/BigPictureTV/BigPictureTV.h
index 56cec9e..2eaac4b 100644
--- a/BigPictureTV/BigPictureTV.h
+++ b/BigPictureTV/BigPictureTV.h
@@ -58,8 +58,7 @@ private slots:
bool disable_monitor_switch;
bool disable_nightlight_action;
bool target_window_mode;
- bool autodetect_HDMI;
- bool autodetect_desktop;
+ bool skip_intro;
QSettings settings;
bool gamemodeActive;
};
diff --git a/Configurator/Configurator.cpp b/Configurator/Configurator.cpp
index f01ba2d..83f1275 100644
--- a/Configurator/Configurator.cpp
+++ b/Configurator/Configurator.cpp
@@ -103,8 +103,6 @@ void Configurator::onTargetWindowComboBoxIndexChanged(int index)
}
}
-
-
void Configurator::createDefaultSettings()
{
ui->checkrateSpinBox->setValue(1000);
@@ -135,6 +133,7 @@ void Configurator::loadSettings()
ui->disableMonitorCheckBox->setChecked(settings.value("disable_monitor_switch", false).toBool());
ui->customWindowLineEdit->setText(settings.value("custom_window_title", "").toString());
ui->targetWindowComboBox->setCurrentIndex(settings.value("target_window_mode", 0).toInt());
+ ui->skipIntroCheckBox->setChecked(settings.value("skip_intro", false).toBool());
toggleAudioSettings(!ui->disableAudioCheckBox->isChecked());
toggleMonitorSettings(!ui->disableMonitorCheckBox->isChecked());
@@ -161,6 +160,7 @@ void Configurator::saveSettings()
settings.setValue("disable_nightlight_action", ui->disableNightLightCheckBox->isChecked());
settings.setValue("target_window_mode", ui->targetWindowComboBox->currentIndex());
settings.setValue("custom_window_title", ui->customWindowLineEdit->text());
+ settings.setValue("skip_intro", ui->skipIntroCheckBox->isChecked());
}
void Configurator::toggleAudioSettings(bool state)
diff --git a/Configurator/Configurator.ui b/Configurator/Configurator.ui
index 1328a87..8062cef 100644
--- a/Configurator/Configurator.ui
+++ b/Configurator/Configurator.ui
@@ -374,8 +374,21 @@
6
+ -
+
+
+
+ 0
+ 25
+
+
+
+ Run at startup
+
+
+
-
-
+
0
@@ -383,11 +396,11 @@
- Disable monitor switching
+ Disable audio switching
- -
+
-
@@ -419,7 +432,7 @@
- -
+
-
@@ -435,8 +448,8 @@
- -
-
+
-
+
0
@@ -444,12 +457,12 @@
- Disable audio switching
+ Disable monitor switching
- -
-
+
-
+
0
@@ -457,7 +470,17 @@
- Run at startup
+ Skip Big Picture intro
+
+
+
+ -
+
+
+ Qt::LayoutDirection::RightToLeft
+
+
+
diff --git a/Utils/Utils.cpp b/Utils/Utils.cpp
index 03ddf17..4e6b81f 100644
--- a/Utils/Utils.cpp
+++ b/Utils/Utils.cpp
@@ -1,4 +1,5 @@
#include "Utils.h"
+#include "Windows.h"
#include
#include
#include
@@ -169,3 +170,29 @@ void Utils::sendMediaKey(WORD keyCode) {
ip.ki.dwFlags = KEYEVENTF_KEYUP;
SendInput(1, &ip, sizeof(INPUT));
}
+
+void Utils::skipBigPictureIntro() {
+ // Define the input event for mouse button down and up
+ INPUT input[2] = {};
+
+ // Mouse button down (left click)
+ input[0].type = INPUT_MOUSE;
+ input[0].mi.dx = 0; // X coordinate
+ input[0].mi.dy = 0; // Y coordinate
+ input[0].mi.mouseData = 0;
+ input[0].mi.dwFlags = MOUSEEVENTF_LEFTDOWN;
+ input[0].mi.time = 0;
+ input[0].mi.dwExtraInfo = 0;
+
+ // Mouse button up (release left click)
+ input[1].type = INPUT_MOUSE;
+ input[1].mi.dx = 0; // X coordinate
+ input[1].mi.dy = 0; // Y coordinate
+ input[1].mi.mouseData = 0;
+ input[1].mi.dwFlags = MOUSEEVENTF_LEFTUP;
+ input[1].mi.time = 0;
+ input[1].mi.dwExtraInfo = 0;
+
+ // Send the input events (left down and then left up)
+ SendInput(2, input, sizeof(INPUT));
+}
diff --git a/Utils/Utils.h b/Utils/Utils.h
index a70efd2..10fca8a 100644
--- a/Utils/Utils.h
+++ b/Utils/Utils.h
@@ -17,6 +17,7 @@ namespace Utils {
void startDiscord();
void sendMediaKey(WORD keyCode);
void setFrameColorBasedOnWindow(QWidget *window, QFrame *frame);
+ void skipBigPictureIntro();
}
#endif // UTILS_H