Linux подсветка клавиатуры ноутбука

elemc blog

I’ll speak to him again. What do you read, my lord?

Подсветка клавиатуры ноутбуков MSI в Linux

Многие знают ноутбуки MSI, наверное самые лучшие игровые ноутбуки Gx серий.
Где-то полтора года назад я себе такой прикупил: GS72-2QD Apache.
Клавиатура ноутбука умеет менять цвета и интенсивность подсветки в трех регионах клавиатуры.
Но в Linux это все, конечно, из коробки не работает. Будем заставлять работать.

Решение, как таковое появилось давно, но уж очень нестабильно-кривое, как и все на node.js.
Погонял я его — погонял, но с каждым обновлением nodejs-пакетов, с каждым обновлением релиза все это переставало работать и требовало от меня не мало времени для того, чтобы заставить работать его.

Появилось у меня время, сел я и переписал все это добро в виде библиотеки на Си и приложения командной строки на Golang’а.

Исходники

Библиотека на Си: https://github.com/elemc/libmsikeyboard (в зависимостях HID API (Signal11) и cmake).
Приложение: https://github.com/elemc/msikeyboard (в зависимостях библиотека и golang).

Можно собирать в любом линуксе.
Команды для сборки и установке библиотеки:

git clone https://github.com/elemc/libmsikeyboard.git cd libmsikeyboard mkdir build && cd build cmake .. make sudo make install

Команды для сборки приложения:

go get -u github.com/elemc/msikeyboard

если $GOPATH/bin в переменной окружения PATH, то уже все будет работать после успешного завершения команды go get.

Пакеты для Fedora/RFRemix и Centos 7

Пакеты находятся в моем хранилище (напомню http://repo.elemc.name ).
Достаточно подключить репу и установить пакет msikeyboard.

Как пользоваться приложением

Например, если мы хотим установить цвета, слева-направо: белый, синий, красный, с высокой интенсивностью подсветки и нормальным режимом подсветки (от root’а):

msikeyboard -left white:high -middle blue:high -right red:high -mode normal

Пока это все работает от root’а, поскольку я не реализовал еще все планы по данному приложению.
Буду тут обновлять информацию о разработке.

Дорожная карта

  1. сделать возможность запуска приложения от пользователя (на самом деле там один файлик в пакет приложить);
  2. сделать systemd unit для автозапуска с чтением конфигурационного файла из /etc ;
  3. реализовать REST API и режим сервера;
  4. реализовать dbus API ;
  5. реализовать больше готовых тем.

Если будут мысли — оставляйте комментарии.

Читайте также:  Astra linux резервная копия системы

Поделиться ссылкой:

Источник

How to light up back-lit keyboard?

I recently got a backlit keyboard, and I LOVE to write late at night. But I cannot for the life of me figure out how to light it up. It lights up when first plugged in, but nothing happens after that. It is an ‘XtremeIT’ keyboard. There is a video of someone on Ubuntu who managed to activate it.

What model is the keyboard? I have the old G15 and mine lights up fine. Usually the keyboard itself has a button to enable/dim/brighten the light.

Does the keyboard have problem only with Ubuntu machine and works fine with other platform? Sorry if am sounding foolish.

11 Answers 11

Did you try the script the YouTube poster suggested in his own comments?

Basically use xset to toggle the state of the led backlight.

#!/bin/bash if [ -f /tmp/keyboard_light ]; then xset -led 3 && rm /tmp/keyboard_light else xset led 3 && touch /tmp/keyboard_light fi 

It does work! but it turns on the mouse keys, anyway to enable it without losing the numberpad function and having to manually disable it everytime?

My makeshift fix is this command: gsettings set org.gnome.desktop.a11y.keyboard mousekeys-enable true

to turn on backlight, and type:

Just try to type in terminal : Turn on :

it works for Cool Master Keyboard

On my Thinkpad T470S with Ubuntu 20.04 — Keyboard back-light is enabled out of the box. Pressing [Fn-Space] will toggle between keyboard back-light settings on this laptop. Maybe the manual for your keyboard will provide insight into the key combination that might work for its back-light?

echo 0 | sudo tee /sys/devices/platform/thinkpad_acpi/leds/tpacpi::kbd_backlight/brightness echo 3 | sudo tee /sys/devices/platform/thinkpad_acpi/leds/tpacpi::kbd_backlight/brightness This is the way I switch it on/off askubuntu.com/questions/644410/…

for those who land here because they also want the keyboard to light up BEFORE the login screen:

Finally Found an answer, at least for Ubuntu 14.04

as for how to get the keyboard to light up before the login screen:

/usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf sudo gedit /usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf 
greeter-setup-script= xset led 3 

Is there a way to set the brightness level of the keyboard? As opposed to simply turning it on at the lowest setting?

For my Mi laptop keyboard, above solutions did not work.

I just had to use that F10 key with the appropriate symbol.

The symbol looks like a bold «dash», with little thin dashes going in every direction and representing light.

Читайте также:  Linux mint kodi install

Found the answer after a long night up with lots of half baked solutions.

# backup your symbols file sudo cp /usr/share/X11/xkb/symbols/us

You may have to do the same in your other layouts if you switch between languages

Also, there is a cache where xkb layouts live. You should clear it before restarting your X server to check the new keyboard symbol file(s).

For a long time, I did this with

xmodmap -e ‘add mod3 = Scroll_Lock’

This caused a problem when I started using i3wm. When the backlight was on, the metakey was non-functional. I could turn it on and off with scroll lock and use meta when it was off, but i3 needs that too much and it is too hard to see my keyboard without the light, so this was not an ideal way to do it. The above solution, xset led on is a much better solution. By leaving the keymap alone, I can use meta anytime I need it and always see the keyboard.

I just bought an EagleTec mechanical keyboard with blue backlight, and like J. Chomel, found that I just needed to use a key combination to turn the backlight on or off, enable/disable «breathing» mode, or adjust the brightness. In my case, I’m using it on LinuxMint 17, but it should work on other distributions also.

Here are the backlight functions that the keyboard supports:

«FN» + «SCRLK» = Backlight On/Off «FN» + «HOME» = «Breathing» On/Off «FN» + «-» = Lower Brightness «FN» + » FN» + «F2» = Lower Volume «FN» + «F3» = Increase Volume «FN» + «F9» = Open Email Application (Thunderbird, in my case)

If your using an Hp Omen if you press Fn and the lighting key you can toggle keyboard backlight on and off using ubuntu studio

For the people with LK Gaming keyboards, use fn + F12 .

Источник

Keyboard backlight

There are various methods to control the keyboard backlight brightness level.

Any vendor

There are a variety ways to manage the brightness level and different helpers tools to accomplish this, such as brightnessctl or light .

The sys pseudo-file system exposes an interface to the keyboard backlight. The current brightness level can be get by reading /sys/class/leds/tpacpi::kbd_backlight/brightness . For example to get the maximum brightness level:

$ cat /sys/class/leds/tpacpi::kbd_backlight/max_brightness

To set the brightness to 1:

# echo 1 > /sys/class/leds/tpacpi::kbd_backlight/brightness

When using brightnessctl you can get a list of available brightness controls with brightnessctl —list , then to show the kbd backlight information:

$ brightnessctl --device='tpacpi::kbd_backlight' info

This will show the absolute and relative current value and the maximum absolute value. To set a different value:

$ brightnessctl --device='tpacpi::kbd_backlight' set 1

xset

Some keyboard manufactores are not recognized by brightnessctl or light , but you can use xorg-xset to control its lights if you are running Xorg.

Читайте также:  Linux kernel cpu cores

The first parameter led turns on the led, and -led turns it off, the NUMBER parameters accepts integers for 1 to 32 (each number corresponds to a led in you system, keyboards seem to generally be number 3), or ‘on’ and ‘off’ (on will turn ALL lights on, and off will turn ALL lights off).

D-Bus

You can control your computer keyboard backlight via the D-Bus interface. The benefits of using it are that no modification to device files is required and it is vendor agnostic.

The following is an example implementation in Python 3. Install upower and dbus-python 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.

Tip: You should try with an x = 1 to determine the limits of the keyboard backlight levels

#!/usr/bin/env python3 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 

Alternatively the following bash one-liner will set the backlight to the value specified in the argument:

On GNOME

The following can be run from a terminal or mapped to keybindings

$ gdbus call --session --dest org.gnome.SettingsDaemon.Power --object-path /org/gnome/SettingsDaemon/Power --method org.gnome.SettingsDaemon.Power.Keyboard.StepUp $ gdbus call --session --dest org.gnome.SettingsDaemon.Power --object-path /org/gnome/SettingsDaemon/Power --method org.gnome.SettingsDaemon.Power.Keyboard.StepDown

On MATE

This article or section needs language, wiki syntax or style improvements. See Help:Style for reference.

In case you use MATE environment you might get tired with repeated lighting keyboard backlight while logging in, unlocking screen or waking up dimmed display. Following setup prevent from automatic lighting up during any action. The only triggers remain plugging in the adapter and fresh boot. After that you can control keyboard backlight only via hotkeys (eg. ThinkPad Fn + spacebar).

To prevent automatic lighting up just edit file /usr/share/dbus-1/system.d/org.freedesktop.UPower.conf as follows (two occurrences of "deny"):

/usr/share/dbus-1/system.d/org.freedesktop.UPower.conf

Источник

Оцените статью
Adblock
detector