在双引导系统上管理键盘背光

man*_*sha 7 dual-boot keyboard backlight

我有一台Samsung Notebook 7 spin 15.6" FHD Touch NP740U5L-Y02US - i7-6500U - 12GB - 1TB设置双启动 Windows 10 和 Ubuntu 16.04。

功能键 + F9 应该控制键盘背光,但它没有任何作用。键盘背光一直亮着。我知道 Ubuntu可以控制背光,因为当我用手电筒直​​接照射传感器时,背光会关闭。但是,当我取下手电筒时,背光灯又亮了。

如何手动控制背光(通过功能键或其他方式)?

我看过的东西:

  • 我查看了我的/sys/class文件夹,在那里我看到一个名为的文件夹backlight,其中包含屏幕亮度设置,以及一个名为的文件夹leds,其中包含用于大写锁定之类的设置指示灯。我认为键盘灯设置可能在leds文件夹中,但我在那里没有看到。就像我说的,我知道 Ubuntu可以通过光传感器控制我的键盘灯,但我需要手动控制它。

  • 我也试过xset led在数字 1-32 之间循环。我也尝试过编辑该GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"行,/etc/default/grub但没有成功。

  • 我曾尝试安装三星工具包(https://answers.launchpad.net/samsung-tools/+question/289901),但使用它我收到了消息Backlight cannot be disabled

  • asus-keyboard-backlight.sh存在于/etc/acpi 并且脚本包含KEYS_DIR=/sys/class/leds/asus\:\:kbd_backlight 对该文件的引用但该文件不存在。

  • 如果我运行acpi_listen并点击Fn-F9(应该映射到键盘灯),则什么也没有发生。如果我在传感器上点亮一盏灯,键盘灯会熄灭但运行时没有输出acpi_listen

Win*_*nix 4

键盘背光

任何供应商

来自 Arch Linux wiki:您可以通过 D-Bus 接口控制计算机键盘背光。使用它的好处是不需要修改设备文件,并且与供应商无关。

以下是 Python 3 中的示例实现。将以下脚本放入 /usr/local/bin/并使其可执行。然后,您可以映射键盘快捷键来运行/usr/local/bin/kb-light.py +以及/usr/local/bin/kb-light.py -增加和减少键盘背光级别。

这是Python代码/usr/local/bin/kb-light.py

#!/usr/bin/env python3
# -*- coding: utf-8 -*-    
from sys import argv
import dbus


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, current + delta)

    if new >= 0 and new <= maximum:
        current = new
        kbd_backlight.SetBrightness(current)

    # Return current backlight level percentage
    return 100 * current / maximum

if __name__ == '__main__':
    if len(argv[1:]) == 1:
        if argv[1] == "--up" or argv[1] == "+":
            # ./kb-light.py (+|--up) to increment
            print(kb_light_set(1))
        elif argv[1] == "--down" or argv[1] == "-":
            # ./kb-light.py (-|--down) to decrement
            print(kb_light_set(-1))
        else:
            print("Unknown argument:", argv[1])
    else:
        print("Script takes exactly one argument.", len(argv[1:]), "arguments provided.")
Run Code Online (Sandbox Code Playgroud)