7 个版本 (4 个破坏性更新)
0.5.0 | 2022年9月10日 |
---|---|
0.4.1 | 2022年1月30日 |
0.3.1 | 2021年11月1日 |
0.3.0 | 2021年9月5日 |
0.1.0 | 2021年7月28日 |
#716 in 硬件支持
每月151次下载
用于 2 crate
48KB
958 代码行
概览
本crate提供获取和设置显示亮度的定义。
支持Linux和Windows。
示例
use brightness::Brightness;
use futures::TryStreamExt;
async fn show_brightness() -> Result<(), brightness::Error> {
brightness::brightness_devices().try_for_each(|dev| async move {
let name = dev.device_name().await?;
let value = dev.get().await?;
println!("Brightness of device {} is {}%", name, value);
Ok(())
}).await
}
Linux
此crate与位于 /sys/class/backlight
的设备交互。这意味着需要ddcci-backlight 内核驱动来控制外部显示(通过DDC/CI)。
尝试使用D-Bus和logind设置亮度,这需要systemd 243或更高版本。如果由于该方法不可用而失败,则将所需亮度写入 /sys/class/backlight/$DEVICE/brightness
,这需要权限(udev
规则可以帮此忙)。
贡献
所有贡献都应按照 0BSD许可证 授权。
依赖项
~0.7–45MB
~662K SLoC