I want to control my laptop's backlight keyboard using python. My platform is windows. I can't find any way of doing that.
Asked
Active
Viewed 2,292 times
1 Answers
0
You can control this using the dbus library, using the following code from this wiki:
import dbus
import sys
def kb_light_set(delta):
bus = dbus.SystemBus()
kbd_backlight_proxy = bus.get_object('org.freedesktop.UPower', '/org/freedesktop/UPower/KbdBacklight')
kbd_backlight = dbus.Interface(kbd_backlight_proxy, 'org.freedesktop.UPower.KbdBacklight')
current = kbd_backlight.GetBrightness()
maximum = kbd_backlight.GetMaxBrightness()
new = max(0, min(current + delta, maximum))
if 0 <= new <= maximum:
current = new
kbd_backlight.SetBrightness(current)
# Return current backlight level percentage
return 100 * current / maximum
if __name__ == '__main__':
if len(sys.argv) == 2 or len(sys.argv) == 3:
if sys.argv[1] == "--up" or sys.argv[1] == "+":
if len(sys.argv) == 3:
print(kb_light_set(int(sys.argv[2])))
else:
print(kb_light_set(17))
elif sys.argv[1] == "--down" or sys.argv[1] == "-":
if len(sys.argv) == 3:
print(kb_light_set(-int(sys.argv[2])))
else:
print(kb_light_set(-17))
else:
print("Unknown argument:", sys.argv[1])
else:
print("Script takes one or two argument.", len(sys.argv) - 1, "arguments provided.")
The following is an example implementation in Python 3. Install upower and python-dbus packages then place the following script in
/usr/local/bin/
and make it executable. You can then map your keyboard shortcuts to run/usr/local/bin/kb-light.py + x
and/usr/local/bin/kb-light.py - x
to increase and decrease your keyboard backlight level by x amounts.
-
5I am using **WINDOWS** platform. I want a solution for windows platform not for linux. – infiniti ayush Apr 19 '20 at 14:10