LINUX.ORG.RU

Mic mute led

 


0

3

Вот тут пишут

The microphone button doesn't work. It doesn't generate any events whatsoever, neither ACPI events nor keypresses.

У меня на T430s завести получилось. По идее должно работать и на X230, T430 и T530.

Рецепт:

  • Собрать thinkpad_acpi.ko с этим патчем
  • При старте системы надо делать следующее:
    [v@t430s]$ cat /etc/tmpfiles.d/thinkpad.conf
    w /sys/devices/platform/thinkpad_acpi/hotkey_mask - - - - 0xffffffff
    f /sys/devices/platform/thinkpad_acpi/leds/tpacpi::micmute/brightness 0664 root users - -

    Для тех кто не имеет счастья использовать systemd:
    echo 0xffffffff > /sys/devices/platform/thinkpad_acpi/hotkey_mask
    chmod 664 /sys/devices/platform/thinkpad_acpi/leds/tpacpi::micmute/brightness
    chown root:users /sys/devices/platform/thinkpad_acpi/leds/tpacpi::micmute/brightness
    

  • Мапим keycode 198 (у меня xev'ом она так определяется) на что-нибудь вроде XF86Launch0
    [v@t430s]$ cat .Xmodmap
    keycode 248 = XF86Launch4
    keycode 198 = XF86Launch0

  • На кнопочку вешаем следующий скрипт:
    #!/bin/bash
    
    tpacpi_file="/sys/devices/platform/thinkpad_acpi/leds/tpacpi::micmute/brightness"
    [ -w $tpacpi_file ] || tpacpi_file=/dev/null
    
    amixer get Capture | grep -q '\[on\]' # current mute state; 1 if muted, 0 if unmuted
    state=$?
    
    if [ "x$1" = "xsync" ]
    then
    	echo $state > $tpacpi_file
    	exit 0
    fi
    
    if [ $state -eq 0 ]
    then
    	amixer -q set Capture nocap && echo 1 > $tpacpi_file 
    else
    	amixer -q set Capture cap && echo 0 > $tpacpi_file
    fi
    
    exit 0
    

Никто потестировать не желает?

Ответ на: комментарий от init_

На 20 серии все чуть проще было. У тебя кнопка хоть что-то генерирует?

kernelpanic ★★★★★
() автор топика
Ответ на: комментарий от DukE-M

Чувак, ты вообще о чем? Разговор про кнопочку включения/выключения микрофона и о диоде на ней. И да, проблема явно не в работе звука.

kernelpanic ★★★★★
() автор топика
Ответ на: комментарий от kernelpanic

Кнопка с этим патчем давно и везде работает. Но, тем не менее, патч до сих пор так и не принят в апстрим.

Lighting ★★★★★
()
Ответ на: комментарий от DukE-M

Кнопка микрофона и индикатор управляются полностью программно.

Lighting ★★★★★
()

У меня (в дефолтной убунте) нету соответствущего LED, и клавиша микрофона (Ctrl+F3) не работает. Но так ли уж она нужна? Писать звук с встроенного микрофона станет лишь конченный мазохист.

Deleted
()
Ответ на: комментарий от kernelpanic

Ну, насколько я помню, дело в том, что код стоит причесать и оттестировать.

Lighting ★★★★★
()
Ответ на: комментарий от Deleted

Ты, может, не в курсе, но на синкпадах приличные микрофоны с шумоподавлением. Да и кнопка сгодится для отключения любого микрофона(хоть на гарнитуре).

Lighting ★★★★★
()
Ответ на: комментарий от DukE-M

хм. по-моему, неправда, программное. openbsd 5.3, X230.

bash-4.2$ mixerctl | grep master=
outputs.master=95,95
#нажал на кнопочку '+'.
bash-4.2$ mixerctl | grep master=
outputs.master=103,103
кстати, когда был линукс громкость от кнопочек не менялась из коробки. я там узнал коды через xev и забиндил в dwm, и громкость менялась, а без - нет.

u283
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.