README.md

Данный фикс тестировался на ОС Astra Linux и ноутбуке Lenovo Thinkpad L430. Думаю также заработает на других дистрибутивах и с другими ноутбуками, но возможно придётся немного изменить скрипт.

И так, начнём! Для начала введём команду

acpi_listen

При нажатии кнопки отключения микрофона появляется такое вот сообщение:

dd@astra ~/D/l/thinkpad-mic-switch> acpi_listen
button/f20 F20 00000080 00000000 K

Ага, вот эта строка нам и нужна button/f20 F20 00000080 00000000 K

Создаём файл для обработки события кнопки:

sudo nano /etc/acpi/events/lenovo-mutemic
event=button/f20 F20 00000080 00000000 K
action=/etc/acpi/lenovo-mutemic.sh

Создаём скрипт для управления состоянием микрофона:

sudo nano /etc/acpi/lenovo-mutemic.sh
#!/bin/bash
INPUT_DEVICE="'Capture'"
YOUR_USERNAME="имя юзера"
if amixer sget $INPUT_DEVICE,0 | grep '\[on\]' ; then
    amixer sset $INPUT_DEVICE,0 toggle
    echo "0 blink" > /proc/acpi/ibm/led
    su $YOUR_USERNAME -c 'DISPLAY=":0.0" notify-send -t 50 \
            -i microphone-sensitivity-muted-symbolic "Mic MUTED"'
else
    amixer sset $INPUT_DEVICE,0 toggle                       
    su $YOUR_USERNAME -c 'DISPLAY=":0.0" notify-send -t 50 \
            -i microphone-sensitivity-high-symbolic "Mic ON"'
    echo "0 on" > /proc/acpi/ibm/led 
fi

Чтобы узнать INPUT_DEVICE, нужно выполнить команду:

amixer scontrols
dd@astra ~/D/l/thinkpad-mic-switch> amixer scontrols
Simple mixer control 'Master',0
Simple mixer control 'Capture',0

Сохраняем скрипт, выдаём ему права на выполнение и перезапускаем ACPI:

sudo chmod +x /etc/acpi/lenovo-mutemic.sh
sudo service acpid restart

Проверяем работу и радуемся)

Описание

Данный фикс тестировался на ОС Astra Linux и ноутбуке Lenovo Thinkpad L430. Думаю также заработает на других дистрибутивах и с другими ноутбуками, но возможно придётся немного изменить скрипт.

Конвейеры
0 успешных
0 с ошибкой