Удваивается нажатие клавиши Fn

Уважаемые коллеги,

Являюсь обладателем ноута HP 6735s, поставил на него Gentoo, иксы и проч. В процессе установки иксов познал HAL. И взалкал я заставить работать клавиши Fn на клавиатуре ноута - регулировку яркости, громкости и проч. Познал ACPI, понял, что HP эти клавиши не генерируют события ACPI и их надо ловить через actkbd - здесь же, на форуме, есть статьи по этому вопросу.

Но вот какое дело и чего я никак не могу понять - клавиша Fn+F1 генерирует "код нажатия + кода отпускания" и его по showkey видно:

клавиша 138 нажата
клавиша 138 отпущена

зато клавиша Fn+F2 генерирует уже:

клавиша 29 нажата
клавиша 25 нажата
клавиша 25 отпущена
клавиша 29 отпущена

а клавиши Fn+F9 и Fn+F10 не генерируют вообще ничего.

Ещё интереснее, что showkey показываетдля клавиши Fn+F11:

клавиша 114 нажата
клавиша 114 отпущена
клавиша 114 нажата
клавиша 114 отпущена

При этом lshal -m при нажатии Fn+F1 выдаёт одно событие "Button pressed = имя кнопки", при нажатии Fn+F2 - не выдаёт вообще ничего, при нажатии Fn+F9 и Fn+F10 тоже нет ничего, а при нажати Fn+F11 он выдаёт два события "Button pressed = volume-down"

Т.е. где-то внутри есть некий слой, который... в одном случае пропускает скан-код, в другом - вместо него вставляет другой скан-код (не удаляя старого), в третьем - вообще не пропускает скан-кода. Моих знаний не хватает понять, где структурно хотя бы искать этот слой - я пробовал искать в определениях HAL, но там кнопке (и команда lshal это показывает) Fn+F11 приписано значение "volumedown", а lshal -m - показывает "volume-down", т.е. эти все определения откуда-то не оттуда.

До собственно X дело ещё не дошло. Xev показывает другие численные коды, но те же самые конфигурации кодов, что и просто консоль.

Я буду очень признателен всем, кто объяснит хотя бы не "что делать", а "как оно устроено", из каких компонентов состоит и как передаётся сигнал со слоя на слой. Я просто не понимаю, куда рыть. Известные Гуглю руководства либо десятилетней давности, либо вообще не о том, либо не подтверждаются ноутом. При этом уже понятно, что у ASUS и HP разная раскладка этих событий - у ASUS они заводятся на ACPI, а у HP - нет.

dmesg покажи.

dmesg покажи.

[ 0.000000] Initializing

Тут был код, забивавший 80% страницы. Читайте FAQ и не придётся видеть подобные надписи

А если загрузиться с

А если загрузиться с acpi=off, то что происходит? У меня такая же проблема была, пока биос не обновил. В общем было ACPI: BIOS _OSI(Linux) quered ignored и не работало, что под linux, что под windows. Обновил BIOS все равно пишет
ACPI: BIOS _OSI(Linux) quered ignored, но при этом работают все клавиши.

Ща. Пересоберу ядро с

Ща. Пересоберу ядро с командной строкой и сообщу!

ядро-то зачем пересобирать?

ядро-то зачем пересобирать?

Ну да. Это я повёлся на бегло

Ну да. Это я повёлся на бегло понятую строку из хелпа. При точном прочтении оказалось, что незачем :) Тяжёлое детство, английский как иностранный...

В общем, при acpi=off изменения следующие. Клавиша Fn+F1 перестаёт работать вообще - showkey её не видит, lshal -m ничего не выдаёт при её нажатии.

Fn+F2 - выдаёт то же самое, т.е. два вложенных кода по showkey и ничего по lshal -m

Fn+F3 не работает совсем - ни showkey, ни lsmod -m, раньше работала

При нажатии Fn+F4 кодов не выдаётся, зато моргает экран. Раньше не моргал, выдавались коды.

Клавиша Fn+F5 раньше выдавала коды, теперь нет, зато Fn+F6 выдаёт код coffie

Cтали работать Fn+F7 (уменьшение яркости) и Fn+F8 (увеличение яркости) - они перестали выдавать коды, вместо этого стала меняться яркость экрана.

Не выдают кодов ни в showkey, ни в lshal -m Fn+F9,Fn+F10,Fn+F11,Fn+F12. Раньше Fn+F9,Fn+F10 тоже не выдавали, а Fn+F11,Fn+F12 - удваивали.

В общем, я внутренне уже готов к перепрошивке биоса... :(

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

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