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

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

Недавно я приобрел Samsung NP900X3N и пытаюсь заставить работать подсветку (с Linux Mint 18.1 и Kernel 4.10 на UEFI). Я много читал об этом и знаю, что на эту тему существует много страниц, но все они старые (3+ года), и я не смог заставить работать ни одну из них (возможно, потому что эта версия ноутбука относительно новая).

Вот некоторые вещи, которые я попробовал:

  • Я загрузил и установил samsung-toolsпакет, но при его запуске возникает ошибка примерно через 2 минуты отсутствия вывода.
  • Я пытался найти samsung::kbd_backlight/brightnessфайл поэтот простой ответ, но, по-видимому, его нет (я смог найти только phy0-led/brightness, который не знаю, что делает, но уже установлен в 1).
  • Я пытался следоватьэто руководствона очень ручном подходе, но, честно говоря, я не смог продвинуться слишком далеко (вероятно, из-за недостатка знаний с моей стороны, но я думаю, что должен быть менее запутанный подход)
  • Проверка скан-кода ключа путем проверки журнала ядра, как предложеноэтот ответ.

Это последнее, что было ближе всего, и то, что я хотел бы изучить подробнее. При нажатии fn+f9(переключить подсветку клавиатуры) я получаю скан-код, e02cназначенный этой клавише. Так что я сделал

sudo setkeycodes e02c 230

как предложеноответ. Итак, когда я нажимаю эту клавишу, я получаю уведомление, в котором отображается символ подсветки клавиатуры, что, по моему мнению, является хорошим знаком, но ничего не происходит.

Как указано в вопросе, значение кода клавиши 230 предназначено для увеличения kbdlight, но на моем ноутбуке его нет: у него есть только клавиша переключения kbdlight. Поэтому я думаю, что это может быть проблемой, но я не могу найти код клавиши «переключения» (что может быть связано с моей неспособностью /usr/include/linux/input.hполностью понять).

Я попытался xmodmap -pke | lessнайти «включение подсветки клавиатуры», которая указана как код клавиши 236, но, судя по всему, цифры в этом списке на самом деле не работают.

Какие-либо предложения?

РЕДАКТИРОВАТЬ

Вывод ll /sys/class/backlight/:

lrwxrwxrwx  1 root root 0 Apr 28 07:16 intel_backlight -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/intel_backlight/

Я уже пробовал менять значение /sys/class/backlight/brightness, но это регулирует только яркость дисплея.

Вывод ll /sys/class/leds/:

lrwxrwxrwx  1 root root 0 Apr 28 07:19 input3::capslock -> ../../devices/platform/i8042/serio0/input/input3/input3::capslock/
lrwxrwxrwx  1 root root 0 Apr 28 07:19 input3::numlock -> ../../devices/platform/i8042/serio0/input/input3/input3::numlock/
lrwxrwxrwx  1 root root 0 Apr 28 07:19 input3::scrolllock -> ../../devices/platform/i8042/serio0/input/input3/input3::scrolllock/
lrwxrwxrwx  1 root root 0 Apr 28 07:19 phy0-led -> ../../devices/pci0000:00/0000:00:1c.0/0000:01:00.0/leds/phy0-led/

Capslock — это то, что он говорит (я проверял). Numlock, похоже, ничего не делает, так как я изменил значение с 0 на максимальное, и ничего не произошло (на моей клавиатуре нет Numlock. Scrolllock тоже, похоже, ничего не делает. Я тоже не знаю, что phy0-led. Он уже установлен на 1, и ввод 0, похоже, ничего не делает.

ИЗМЕНИТЬ2

Выполнение этого действия modprobe samsung-laptopприводит к следующей ошибке

modprobe: ERROR: could not insert 'samsung_laptop': No such device

что, по-видимому, являетсястарая ошибка.

решение1

Возможность управления подсветкой с помощью специальных клавиш на клавиатуре состоит из двух частей:

  • понимать события, которые происходят при нажатии клавиш
  • на самом деле изменить интенсивность подсветки

И вам нужна программа, например, оконный менеджер, которая реагирует на события, а затем меняет интенсивность.

С первой частью у вас все в порядке, вы получаете событие, а необходимые переводы мы можем сделать позже. Что касается второй части, вам нужен какой-то драйвер, который умеет управлять интенсивностью подсветки, а затем какой-то интерфейс к этому драйверу.

Очень часто они встречаются в /sysиерархии, поэтому попробуйте

ll /sys/class/backlight
ll /sys/class/led

и отредактируйте свой вопрос с выводом. Эти каталоги должны содержать ссылки на другие каталоги с файлом с именем brightnessи файлом с именем max_brightness. Если вы не можете понять из имени, что это, посмотрите на содержимое max_brightness, и как root, попробуйте записать числа от 0 до максимального значения в каждый из этих файлов, например

echo 0 > /sys/class/led/phy0-led/brightness

и посмотрите, сможете ли вы определить, что именно он контролирует.

Редактировать:

Хорошо, похоже, что нет элементов управления подсветкой клавиатуры, и вам нужен определенный драйвер. phy0-ledскорее всего, это разъем светодиода WLAN, который может быть или не быть подключен к чему-либо. Вы можете проверить lspciи поискать устройство на 00:1c.0.

Элементы samsung::kbd_backlightуправления предоставляютсяasus-wmiдрайвер для ноутбуков ASUS с использованием интерфейса WMI.являетсячто-то похожее для Samsung, а именноsamsung-ноутбук, он обеспечивает leds/samsung::kbd_backlight, а также есть debugfsинтерфейс для более прямого доступа.

Не знаю, сработает ли это на вашей модели. Попробуйте

modprobe samsung-laptop

как root, проверьте, lsmodзагружен ли он, посмотрите, dmesgнет ли каких-либо проблем или других сообщений, и посмотрите, появится ли что-нибудь.

Связанный контент