blob: afd6656049d3462664708ad61fa6824690e88455 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#include "brightness.h"
#include "common/sysctl.h"
const char* ffDetectBrightness(FF_A_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;
}
FFBrightnessResult* brightness = FF_LIST_ADD(FFBrightnessResult, *result);
ffStrbufInitF(&brightness->name, "acpiout%d", i);
brightness->max = 100;
brightness->min = 0;
brightness->current = value;
brightness->builtin = true;
}
return NULL;
}
|