Управление подсветкой клавиатуры на ThinkPad из консоли

Опубликовано 29.02.2024 в OpenBSD

Сегодня Я Узнал: утилита wsconsctl, входящая в базовую поставку OpenBSD, умеет, оказывается, помимо множества прочих занятных параметров устройств консольного ввода и вывода (в моем случае вот такие):

keyboard.type=pc-xt
keyboard.bell.pitch=400
keyboard.bell.period=100
keyboard.bell.volume=50
keyboard.bell.pitch.default=400
keyboard.bell.period.default=100
keyboard.bell.volume.default=50
wsconsctl: Use explicit arg to view keyboard.map.
keyboard.repeat.del1=400
keyboard.repeat.deln=100
keyboard.repeat.del1.default=400
keyboard.repeat.deln.default=100
keyboard.ledstate=0
keyboard.encoding=us
keyboard.backlight=0.00%
mouse.type=synaptics
mouse.rawmode=0
mouse.scale=1232,5712,1074,4780,0,53,73
mouse.reverse_scrolling=1
mouse.tp.tapping=1,3,2
mouse.tp.scaling=0.158
mouse.tp.swapsides=0
mouse.tp.disable=0
mouse.tp.edges=0.0,5.0,10.0,5.0
mouse1.type=ps2
mouse1.reverse_scrolling=0
display.type=inteldrm
display.width=1920
display.height=1080
display.depth=32
display.fontwidth=16
display.fontheight=32
display.emulations=vt100
display.screentypes=std
display.focus=4
display.brightness=15.07%
display.screen_on=250
display.screen_off=0
display.vblank=off
display.kbdact=on
display.msact=on
display.outact=on

управлять еще и подсветкой клавиатуры!

Натурально, вызов doas wsconsctl keyboard.backlight вернет текущее значение уровня подсветки (на моем ThinkPad X270 их три: подсветка отключена, подсветка включена на 50%, включена на 100%), а вызов, например, doas wsconsctl keyboard.backlight=50 включит подсветку на половинной яркости (она включается и выключается не резко, а с интересным таким плавным увеличением яркости, красиво). Можно указывать, конечно, и другие числовые значения, но результат будет равносилен округлению до ближайшего меньшего порога (30 = 0%, 99 = 50%, 120 = 100%).

Нет, ну пустяк, конечно, ничего такого - просто это первый в моей ноутбучной истории случай, когда я могу управлять и этим аспектом тоже.

Я пока не придумал, как это применить, но некоторые сценарии напрашиваются:

  • включение подсветки (сочетанием клавиш Fn-пробел, оно тоже работает из коробки) подразумевает, что я работаю с ноутбуком в темноте, и потому яркость монитора имеет смысл уменьшить автоматически до какого-нибудь комфортного значения;

  • аналогично предыдущему, только можно еще скорректировать гамму в более красные оттенки (man xgamma? погуглить!), чтобы глаза меньше уставали;

  • вечернее и ночное время, заход Солнца - подразумевают, что пора бы включить подсветку и притушить монитор;

Да, мой ноутбук не оснащен датчиком освещенности, который позволил бы автоматизировать подобные решения еще гибче и шибче, ну что ж поделать? Можно, конечно, заморочиться с веб-камерой...

В общем, люблю такое.