LINUX.ORG.RU

linux не определяется код клавиши микрофона

 , , , ,


0

2

Люди такое дело не определяется кнопка микрофона на Acer Aspire 315-24p, в dmesg пишет:

[ 2273.080727] atkbd serio0: Unknown key released (translated set 2, code 0x66 on isa0060/serio0).
[ 2273.080738] atkbd serio0: Use 'setkeycodes 66 <keycode>' to make it known.
если юзать setkeykodes 0x66 248[Нашел в коде ядра является кнопкой микрофона] то заработает но сами понимаете это костыль а не решение, еще пробовал через hwdb[udev правило]:

/etc/udev/hwdb.d/90-custom-keyboard.hwdb
evdev:atkbd:*
 KEYBOARD_KEY_66=micmute

тоже заработало но это костыль правило по сути тоже переопределяет клавишу а при переустановке дистра можно и забыть про него проще сделать патч и кинуть в ядро. Покопался в коде ядра нашел acer-wmi кстати там не определена клавиша KEY_MICMUTE[определение числа или кода 248], пробовал вставлять в {kernel}/drivers/platform/x86/acer-wmi.c

{KE_KEY, 0x66, {KEY_MICMUTE} },
{KE_KEY, 66, {KEY_MICMUTE} },
{KE_UNKNOWN, 0x66, {KEY_MICMUTE} },
{KE_IGNORE, 0x66, {KEY_MICMUTE} },
{KE_KEY, KEY_MICMUTE, {KEY_MICMUTE} },
{KE_UNKNOWN, 66, {KEY_MICMUTE} },
{KE_IGNORE, 66, {KEY_MICMUTE} },
безуспешно возможно 0x66 код на самом деле не является им а выше указанные способы просто под капотом определяют другую клавишу но я не знаю точно. Кстати исходя из dmesg вывода akbd нашел его код но там чего то намекающего на MICMUTE не нашел[может и не заметил] и еще устройство новое была проблема с отсутствием микрофона но нашел что не так сделал патч кинул в ядро поэтому если что в коде прописать нужно пишите не стесняйтесь. Вообщем вот такая проблема!



Последнее исправление: Dendi777 (всего исправлений: 2)

но это костыль

Это не костыль, а вполне себе решение. Так ты хотя бы точно знаешь, что у тебя куда забиндено, потому что доверять идиотам-мейнтейнерам ядра и udev нельзя. А патч в ядро ты не пропихнёшь никогда.

anonymous
()