Thomas B f91a68bc6d use KWin to find fullscreen window and pause adjustments if found | 3 kuukautta sitten | |
---|---|---|
client | 3 kuukautta sitten | |
sensor | 3 kuukautta sitten | |
.gitignore | 3 kuukautta sitten | |
.gitmodules | 3 kuukautta sitten | |
COPYING | 3 kuukautta sitten | |
README.md | 3 kuukautta sitten |
Simple solution to measure ambient room lighting conditions with an AtTiny85 based USB lux sensor and set external display backlight intensity accordingly via DDC/CI.
See this blog post for details.
Uses a Digispark Rev. 3 clone with a GY-302 BH1750 breakout board connected to the I2C bus.
Check out the repo and required submodules.
git clone https://git.xythobuz.de/thomas/AutoBrightness.git
cd AutoBrightness
git submodule update --init
Build the firmware and upload it.
make -C sensor upload
Prepare udev rules for our new device.
sudo cp sensor/49-autobrightness.rules /etc/udev/rules.d/49-autobrightness.rules
sudo udevadm control --reload-rules
sudo udevadm trigger
Uses KWin scripting to get the active window from the KDE window manager. This is used to pause adjustments while a fullscreen window is focused (eg. while gaming). Also sends status updates to a local InfluxDB.
Install dependency and run the client.
yay -S python-pyusb
./client/brightness.py
The firmware of this project is licensed as GPLv3.
A copy of the license can be found in COPYING
.
It uses V-USB and is based on their example code.
Also includes the I2C Master implementation from the Atmel AVR310 AppNote.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
See <http://www.gnu.org/licenses/>.