Brightness (NetBSD): don't error out if the screen idx isn't 0

This commit is contained in:
Carter Li
2024-12-21 20:13:07 +08:00
committed by 李通洲
parent 45f7e2c0b2
commit b38d7a4919
+14 -9
View File
@@ -5,16 +5,21 @@
const char* ffDetectBrightness(FF_MAYBE_UNUSED FFBrightnessOptions* options, FFlist* result)
{
// https://man.netbsd.org/NetBSD-10.1/acpiout.4#DESCRIPTION
char key[] = "hw.acpi.acpiout0.brightness";
char* pn = key + strlen("hw.acpi.acpiout");
for (uint32_t i = 0; i <= 9; ++i)
{
*pn = (char) ('0' + i);
int value = ffSysctlGetInt(key, -1);
if (value == -1) continue;
int value = ffSysctlGetInt("hw.acpi.acpiout0.brightness", -1);
if (value == -1)
return "sysctl(hw.acpi.acpiout0.brightness) failed";
FFBrightnessResult* brightness = (FFBrightnessResult*) ffListAdd(result);
ffStrbufInitF(&brightness->name, "acpiout%d", i);
FFBrightnessResult* brightness = (FFBrightnessResult*) ffListAdd(result);
ffStrbufInitStatic(&brightness->name, "acpiout");
brightness->max = 100;
brightness->min = 0;
brightness->current = value;
brightness->max = 100;
brightness->min = 0;
brightness->current = value;
}
return NULL;
}