From 6a7a06aba56ac1480ff1660c2ad6aecfa01e0c81 Mon Sep 17 00:00:00 2001 From: Shaun Inman Date: Thu, 2 Mar 2023 21:28:17 -0500 Subject: [PATCH] monitor hdmi changes to keep the backlight off --- src/keymon/keymon.c | 6 ++++++ src/libmsettings/msettings.c | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/keymon/keymon.c b/src/keymon/keymon.c index 025f52c..14ca0bc 100644 --- a/src/keymon/keymon.c +++ b/src/keymon/keymon.c @@ -32,6 +32,7 @@ static pthread_t ports_pt; #define JACK_STATE_PATH "/sys/class/switch/h2w/state" #define HDMI_STATE_PATH "/sys/class/switch/hdmi/state" +#define BACKLIGHT_PATH "/sys/class/backlight/backlight.2/bl_power" int getInt(char* path) { int i = 0; @@ -68,6 +69,11 @@ static void* watchPorts(void *arg) { had_hdmi = has_hdmi; SetHDMI(has_hdmi); } + else if (has_hdmi && !getInt(BACKLIGHT_PATH)) { + SetHDMI(has_hdmi); + } + + } return 0; diff --git a/src/libmsettings/msettings.c b/src/libmsettings/msettings.c index a23a7fe..bb69dc3 100644 --- a/src/libmsettings/msettings.c +++ b/src/libmsettings/msettings.c @@ -138,7 +138,7 @@ void SetRawBrightness(int val) { // 0 - 1024 } // this prevents exiting/launching from turning the screen back on - SetHDMI(GetHDMI()); // TODO: isn't working + // SetHDMI(GetHDMI()); // TODO: isn't working } void SetRawVolume(int val) { // 0 - 40 int fd = open(VOLUME_PATH, O_WRONLY); @@ -169,6 +169,7 @@ void SetJack(int value) { int GetHDMI(void) { // TODO: tmp, testing hdmi without an hdmi output // return settings->jack; + // printf("GetHDMI() %i\n", settings->hdmi); fflush(stdout); return settings->hdmi; } void SetHDMI(int value) {