У меня на Lenovo Thinkpad T420 есть кнопка отключения микрофона, но она не работает.
Поэтому я попробовал xev
команду для отслеживания события нажатия, и эта клавиша не была захвачена.
Есть ли способ исправить это, например, добавить необработанный код ключа?
ОС и ноутбук
Ubuntu 12.04
также надеюсь, что он работает на Arch Linux, но не имеет большого значения ;-P
Модуль Thinkpad: X220 4290LY9
Патч ядра для Arch Linux
НУ НАКОНЕЦ ТО
Это немного сложно, но с патчем для ядра и скриптом acpid все работает.
Остальное, что мне нужно, это демон уведомления, подобный тому, который используется для отключения звука, но сейчас это не имеет большого значения.
shortcut-keys
thinkpad
volume-control
маргаритка
источник
источник
xev
используйтеacpi-listen
для мониторинга и нажмите, вы должны получить что-то вродеibm/hotkey HKEY 00000080 0000101b
. Пожалуйста, отправьте этот код здесь.dmesg|tail
Ответы:
Это решение должно работать для всех Thinkpad с кнопкой отключения звука, которая также имеет встроенную подсветку. Это может также работать для других Thinkpads.
Помимо пузырьков уведомлений:
Есть два возможных «аппаратных» индикатора (чтобы показать, что звук отключен):
Индикатор кнопки отключения микрофона (оранжевый) будет включен или выключен, чтобы показать состояние отключения звука (как в Windows)
Решение 2 требует исправленного
thinkpad_acpi
модуля ядра и рекомендуется только для опытных пользователей, которые знают, что они делают. Это связано с тем, что этот патч по умолчанию не включен разработчиками thinkpad_acpi ( см. Подробности в этом обсуждении ).Общие шаги
а. Определение кода горячей клавиши Mic-Mute и устройства ввода Mic
Ctrl+Alt+T
acpi_listen
и нажмите кнопку отключения звукаОбратите внимание на результат, который должен быть примерно таким:
ibm/hotkey HKEY 00000080 0000101b
Затем запустите
amixer scontrols
, вы должны увидеть одно из следующего:или
В зависимости от того, что вы видите, «Внутренний микрофон» или «Захват» - это ваше устройство ввода.
б. Создайте обработчик события Mic-Mute ACPI
gksudo gedit /etc/acpi/events/lenovo-mutemic
чтобы открыть редактор.acpi_listen
:Выбор индикаторов Power Light или Mic Mute
с-1. Скрипт Mic-Mute с индикатором кнопки питания
gksudo gedit /etc/acpi/lenovo-mutemic.sh
В редакторе вставьте:
Замените значение переменной INPUT_DEVICE на,
Capture
если это имя вашего устройства ввода (оставьте все галочки без изменений).с-2. Микрофон с официальным индикатором Микрофон
Настройка скрипта
thinkpad_acpi
модуля и было проверено для работы с Ubuntu Precise 12.04 и Quantal 12.10, ядрами 3.2.0-23 и 3.2.0-24 и 3.5.0-21.Давайте сначала создадим скрипт: он
/etc/acpi/lenovo-mutemic.sh
должен быть таким же, как в разделе c-1, со следующими дополнениями:Вставьте эту строку после заголовка (
#!/bin/bash
):После первой
echo...
строки вставить:И после второй
echo...
строки вставить:Вы можете найти пример того, как должен выглядеть полный скрипт в этой вставке
Затем:
Убедитесь, что нажатие кнопки отключения звука приводит к миганию индикатора питания; повторное нажатие дает постоянный источник света.
Сборка, тестирование и установка модуля ядра
Установите (или убедитесь), что у вас есть заголовки и встроенные инструменты для вашего работающего в данный момент ядра:
Создайте временный каталог и измените его:
Загрузите исходный файл
thinkpad_acpi.c
из репозитория Ubuntu Kernel:Соедините его (скопируйте и вставьте полную строку):
В той же папке, куда
thinkpad_acpi.c
вы скачали, вам понадобится «Makefile». Вы можете скачать его прямо из этого Pastebin , используя:ИЛИ вставьте ниже в файл с именем
Makefile
:Теперь введите,
make
чтобы создать модуль; Вы увидитеthinkpad_acpi.ko
файл в папке, когда закончите.Протестируйте исправленный модуль после загрузки:
Теперь убедитесь, что нажатие кнопки микрофона включит / выключит оранжевый индикатор микрофона, а индикатор питания будет мигать / гореть постоянно.
В случае подтверждения сделайте следующее, чтобы заменить текущий
thinkpad_acpi
модуль:Закомментируйте или удалите линии питания
lenovo-micmute.sh
д. тестирование
Теперь весело проведите время, нажимая кнопку Mic Mute, и вы должны увидеть ее в:
источник
Patch it with
Найдите страницу с ответом, и вы найдетеsed
строку, необходимую для включения индикатора отключения звука микрофона.thinkpad_acpi.c
больше.Make
выход здесь . Может ли кто-нибудь помочь мне решить эту проблему?Я не смог заставить его работать сразу же на Ubuntu 12.10 с использованием среды рабочего стола linux.
Это было исправлено просто добавлением кавычек и удалением запятой (и добавлением моего имени пользователя):
а затем следовал вашим шагам в составлении thinkpad_acpi.
Все на Thinkpad T520 с NVS 4200M, Ubuntu 12.10. Еще не перезагружен, но я протестировал с шагом теста, который вы обрисовали в общих чертах, и он работает с включением и выключением индикатора отключения звука и его отключением (с уведомлением). Кажется, что прыжки с пистолетом работают нормально. Спасибо.
Хорошо перезагружен, сам скрипт работает нормально, отключая и отключая звук, но я не установил пропатченный thinkpad_acpi ... упс
Ладно, перезагрузите снова после правильной установки на этот раз, и светодиод также загорается. Вероятно, должен быть сценарий запуска, чтобы проверить, отключен ли микрофон или нет, и включить / выключить свет, поскольку текущая настройка будет включать / выключать свет только при нажатии кнопки.
Чтобы свет показывал, был ли он выключен или нет при запуске, а не при первом нажатии кнопки, я просто сохранил:
Дал разрешение на выполнение
Как lenovo-mic-check в /etc/init.d/ и затем запустил:
Также не забудьте скопировать в /etc/pm/sleep.d/
Теперь, если я перезагружаю компьютер, индикатор горит, ПРИМЕЧАНИЕ: второй, если это может быть просто другое.
источник