Gerenciar a luz de fundo do teclado no sistema de inicialização dupla

6

Eu tenho um Samsung Notebook 7 rotação 15,6 "FHD Touch NP740U5L-Y02US - i7-6500U - 12GB - 1TB configure o dual boot do Windows 10 e Ubuntu 16.04.

A tecla de função + F9 deve controlar a luz de fundo do teclado, mas não faz nada. A luz de fundo do teclado está sempre acesa. Eu sei que o Ubuntu pode controlar a luz de fundo, porque quando eu acendo uma lanterna diretamente no sensor, a luz de fundo se apaga. No entanto, quando removo a lanterna, a luz de fundo acende novamente.

Como posso controlar manualmente a luz de fundo (pela tecla de função ou de outra forma)?

O que eu já vi:

  • Eu olhei para a minha pasta /sys/class e lá vejo uma pasta chamada backlight que tem configurações para o brilho da tela, e uma pasta chamada leds que tem luzes indicadoras de configurações para coisas como caps Bloqueio Eu pensei que as configurações de luz do teclado podem estar na pasta leds , mas não vejo isso lá. Como eu disse, eu sei que o Ubuntu pode controlar a luz do meu teclado através do sensor de luz, mas eu preciso controlá-lo manualmente.

  • Eu também tentei xset led percorrendo os números de 1 a 32. Eu também tentei editar a linha GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" em /etc/default/grub all sem sucesso.

  • Eu tentei instalar o pacote de ferramentas samsung ( link ), mas usando isso eu obtenha a mensagem Backlight cannot be disabled

  • asus-keyboard-backlight.sh existe em /etc/acpi e o script inclui referência a KEYS_DIR=/sys/class/leds/asus\:\:kbd_backlight , mas esse arquivo não existe.

  • Se eu executar acpi_listen e Fn-F9 (que deveria ser mapeado para a luz do teclado), nada acontece. Se eu acender uma luz no sensor, a luz do teclado se apagará, mas não haverá saída durante a execução de acpi_listen

por maneesha 15.03.2017 / 23:59

1 resposta

4

Luz de fundo do teclado

Qualquer fornecedor

Do wiki do Arch Linux: Você pode controlar a luz de fundo do teclado do seu computador através da interface D-Bus . Os benefícios de usá-lo são que nenhuma modificação nos arquivos do dispositivo é necessária e é independente do fornecedor.

Aqui está um exemplo de implementação no Python 3. Coloque o seguinte script em /usr/local/bin/ e torne-o executável. Você pode mapear seus atalhos de teclado para executar /usr/local/bin/kb-light.py + e /usr/local/bin/kb-light.py - para aumentar e diminuir o nível de luz de fundo do teclado.

Aqui está o código python para /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.")
    
por WinEunuuchs2Unix 25.03.2017 / 00:36