Настройка Fn keys [РЕШЕНО]

Какой ноут? Какой DE? Какие

Какой ноут?
Какой DE?
Какие функции должны быть вызваны при каких клавишах?
версия ядра?

P.S. Как починить машину.

даю наводку и на пиво

даю наводку и на пиво тоже%)
http://www.gentoo-wiki.info/HOWTO_Use_Multimedia_Keys
Остальные проблемы решаются гуглением .Xmodmap

知る者は言わず言う者は知らず
"Бабло, побеждает даже зло"

У меня ноут asus g73jh

У меня ноут asus g73jh. Стоят кеды 4.
Работают функциональные клавиши:
Fn+F5 - уменьшение яркости
Fn+F6 - увеличение яркости
Fn+F7 - выкл. экрана
Fn+F8 - переключение между экраном экрана и внешнего монитора
и функциональные клавиши по управлению музыкой: стоп, перемотка, play
Не работают функциональные клавиши:
Fn+F1 - переключение в спящий режим
Fn+F2 - вкл./выкл. wifi
Fn+F3 - уменьшение яркости подсветки клавы
Fn+F4 - увеличение яркости подсветки клавы
Fn+F9 - вкл./выкл. тачпада
Fn+F10 - выкл. звука
Fn+F11 - уменьшение громкости звука
Fn+F12 - увеличение громкости звука

Спящий режим - смотреть в

Спящий режим - смотреть в сторону acpid
Звук - xmodmap (ловите keycode и назначаете клавише)

Остальное тоже можно через xmodmap. Если реакция на клавишу есть (проверить через xev), то можно назначить на нее событие. Осталось разобраться, как управлять подсветкой клавы,wifi и прочим из консоли и назначить эти события на клавиши.

Не факт что все получится, но многое должно )

Перекидка

А по идее функции, заданные на Fn можно перекинуть на что-либо другое, да?

Те, которые генерят какие-то

Те, которые генерят какие-то коды - да.

А если код не генерится, то

А если код не генерится, то функцию можно переназначить на какую-то другую клавишу? Программно же всё вроде идёт?

Если вы найдете програмную

Если вы найдете програмную реализацию этой функции, то можно.
Например повесить регулировку звука на клавишу/комбинации просто, а вот включение подсветки клавы у меня на ноте железно(кажись) - его я переназначить не могу. Зато оно работает вне зависимости от ОСи и даже без оной.

xev

x11-apps/xev выдаст тебе коды клавиш если они есть

Присоедниюсь к вопросу.У

Присоедниюсь к вопросу.
У меня ноут Asus N76VZ, настроил практически все, что можно. Одна из неприятностей которая осталась - не могу отловить клавиши регулировки яркости экрана (xev и showkey молчат). Может кто сталкивался с таким? Я так догадываюсь, что это уже проблема в ядре, или может кто меня поправить или натолкнуть на мысль куда копать?

PS:
клавиши яркости: FN+F(5-6)
ядро: 3.6.11-gentoo-asus-n76vz
gnome: 2.32.1

PSS: для корректной работы подсветки клавиатуры пришлось написать маленький патч (без него крыво работал gnome-power-manager), и еще нужно допилить регулировку яркости экрана этим менеджером

Похоже, что у вас оно на

Похоже, что у вас оно на железном уровне реализовано, раз xev и showkey молчат.

По умолчанию на ноуте стояла

По умолчанию на ноуте стояла 8 винда, хотя я пытался исправлять DSDT (там были те еще ошибки) - тоже не помогло. Но если подстветка клавиатура регулируется на софт уровне, то почему здесь клавиши висят как хард? Производитель наваял такое чудо? и как это можно исправить?

PS: ставил линуксы (в моем случае Debian+Gentoo) через режим совместимости с биосом, с UEFI головной боли много, да и времени маловато на чтение манов

Клавиши есть "железные".

Клавиши есть "железные". Делают свое дело на аппаратном уровне и не генерируют никаких событий. Управлять ими смысла нет ибо работают независимо от оси. Клавиши есть "обычные" генерируют коды, отлавливаются и прикручиваются скриптами. Последний вид клавиш - acpi. Отлавливаются демоном acpi, функционал прикручивается скриптами.

У меня как то так:
cat /etc/acpi/events/hotkey
event=hotkey ASUS010:00
action=/etc/acpi/actions/hotkey.sh "%e

А это кусок hotkey.sh, отвечающий за яркость

#!/bin/sh
export DISPLAY=":0.0"
export XAUTHORITY="/home/vvi/.Xauthority"

EVENT_TYPE=`echo "$1" | cut -d " " -f 1`
EVENT_CODE=`echo "$1" | cut -d " " -f 3`
BRIGHTNESS_FILE="/sys/class/backlight/psb-bl/brightness"

#Работа с клавишами, для которых достаточно только типа события
.....

#
case "$EVENT_CODE" in
......
#Brightness up/down
.......
00000020) echo 0 > $BRIGHTNESS_FILE ;;
00000022) echo 12 > $BRIGHTNESS_FILE ;;
00000023) echo 18 > $BRIGHTNESS_FILE ;;
00000024) echo 24 > $BRIGHTNESS_FILE ;;
00000025) echo 30 > $BRIGHTNESS_FILE ;;
00000026) echo 36 > $BRIGHTNESS_FILE ;;
00000027) echo 42 > $BRIGHTNESS_FILE ;;
00000028) echo 50 > $BRIGHTNESS_FILE ;;
00000029) echo 56 > $BRIGHTNESS_FILE ;;
0000002a) echo 62 > $BRIGHTNESS_FILE ;;
0000002b) echo 68 > $BRIGHTNESS_FILE ;;
0000002c) echo 74 > $BRIGHTNESS_FILE ;;
0000002d) echo 80 > $BRIGHTNESS_FILE ;;
0000002e) echo 90 > $BRIGHTNESS_FILE ;;
0000002f) echo 100 > $BRIGHTNESS_FILE ;;
esac

Коды отлавливаются утилитой acpi_listen

wi написал(а):Коды

wi написал(а):
Коды отлавливаются утилитой acpi_listen

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

События acpi - аппаратные. В

События acpi - аппаратные. В системе появляются через ядерный модуль. Коль скоро у меня EEEPC от Asus, мое ядро собрано с

grep EEPC /usr/src/linux/.config
CONFIG_EEEPC_LAPTOP=m

У вас может быть другой модуль. А может такого модуля не существует в природе. Или используется какой нить совместимый. Короче -ядро. Конфиг нужно грепнуть на предмет LAPTOP

У меня собрано с модулем

У меня собрано с модулем
CONFIG_ASUS_LAPTOP=m
но все равно

modprobe asus_laptop
modprobe: ERROR: could not insert 'asus_laptop': No such device
lsmod | grep asus
asus_nb_wmi             5225  0 
asus_wmi               14941  1 asus_nb_wmi
pci_hotplug            10561  1 asus_wmi
wmi                     7876  3 mxm_wmi,nouveau,asus_wmi

Я так понял эти кнопки не поддерживаются версией ядра 3.6.11

Можно собрать все что можно

Можно собрать все что можно модулями на предмет LAPTOP. Ядро проапгрейдить. Модули поочередно грузить. Может что и сработает. Вроде как на форумах убунту хвастались что модель ваша без проблем работает.

Я так пытался сделать после

Я так пытался сделать после вашего совета относительно laptop-модуля, но ничего из собраного не заработало. Апдейт ядра мне не выгоден - там сломана подсветка напрочь (или я так на скорую руку собрал?) Пока что повесил на Win+F(5-6)

Спасибо за совет, буду ждать стабильное ядро 3.8. RC когда то пытался использовать - в итоге пришлось отказаться, стабильность мне важнее

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

>>убунта для гиков с ее

>>убунта для гиков с ее свистелками и пакетами с тестового дебиана.
Не имеет отношения к проблеме. Эта команда вполне могла запатчить ядро на предмет корректировки работы интересующего вас модуля.

взял исходники убунтовского

взял исходники убунтовского ядра (3.7.0-4.12, оно же 3.7.0 rc7) - собрал, запустил - клавиши яркости работают, но взамен отвалилось отключение беспроводных модулей (FN+F2, wifi+bt). Теперь будет повод написать патчик для 3.6.11, или ждать ядра 3.8 с поддержкой DMI_PRIME и там все это прикручивать (если сломали).

Спасибо всем за советы, теперь хоть знаю куда копать

ЧаВо?

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".