「キーボードバックライト」の版間の差分
ナビゲーションに移動
検索に移動
Kusanaginoturugi (トーク | 投稿記録) (序文を追加) |
Kusanaginoturugi (トーク | 投稿記録) (序文を翻訳) |
||
| 1行目: | 1行目: | ||
[[Category:キーボード]] |
[[Category:キーボード]] |
||
[[en:Keyboard backlight]] |
[[en:Keyboard backlight]] |
||
| + | キーボードのバックライトの輝度レベルを制御するには、さまざまな方法があります。 |
||
| − | |||
| − | There are various methods to control the keyboard backlight brightness level. |
||
| − | |||
== 全メーカー共通 == |
== 全メーカー共通 == |
||
[[D-Bus]] インタフェース経由でコンピュータのキーボードのバックライトを制御することができます。D-Bus を使用する利点は、デバイスファイルへの変更が必要なく、全てのメーカーで使えることです。 |
[[D-Bus]] インタフェース経由でコンピュータのキーボードのバックライトを制御することができます。D-Bus を使用する利点は、デバイスファイルへの変更が必要なく、全てのメーカーで使えることです。 |
||
2021年12月23日 (木) 11:28時点における版
キーボードのバックライトの輝度レベルを制御するには、さまざまな方法があります。
全メーカー共通
D-Bus インタフェース経由でコンピュータのキーボードのバックライトを制御することができます。D-Bus を使用する利点は、デバイスファイルへの変更が必要なく、全てのメーカーで使えることです。
以下に Python 3 での実装例を示します。/usr/local/bin/ にスクリプトを置き、実行可能にします。/usr/local/bin/kb-light.py + や /usr/local/bin/kb-light.py - を実行するキーボードショートカットを作成することでキーボードの輝度を変えることができます。
/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.")
Asus
キーボードバックライトのデバイスファイルは、通常、編集できないようになっています。起動時にファイルを編集できるようにするには、systemd サービスを作成する必要があります:
/usr/lib/systemd/system/asus-kbd-backlight.service
[Unit] Description=Asus Keyboard Backlight Wants=systemd-backlight@leds:asus::kbd_backlight.service After=systemd-backlight@leds:asus::kbd_backlight.service [Service] Type=oneshot RemainAfterExit=yes ExecStart=/bin/chmod 666 /sys/class/leds/asus::kbd_backlight/brightness [Install] WantedBy=multi-user.target
これでキーボードバックライトを変化させるスクリプト (例: ASUS G55VW#キーボードバックライトスクリプト) を使用できるようになります。