Como posso ativar o botão mudo do microfone no Thinkpad W520?

4

Estou usando o Ubuntu 12.04. Eu li Ativando o botão Mudo do microfone e acendo no Lenovo Thinkpads , mas o acpi_listen não produz nenhuma saída no terminal (para qualquer um dos botões de mídia, mesmo os de trabalho)

E xev não produz nada para esse botão de microfone mudo.

    
por vangop 23.05.2012 / 14:27

1 resposta

0

Esta solução deve funcionar para todos os Thinkpads com um botão mudo que também tenha uma luz embutida. Pode também funcionar para outros Thinkpads.

Além das bolhas de notificação:

Existem dois possíveis indicadores de "hardware" (para mostrar que o mudo está ativado ou desativado):

  1. A luz do botão Liga / Desliga (verde) piscará para mostrar quando o mudo estiver ativado
  2. A luz do botão de microfone mudo (laranja) estará ligada ou desligada para mostrar o status do mudo (assim como no Windows)

    A solução 2 requer um módulo de kernel thinkpad_acpi corrigido e é recomendada apenas para usuários avançados que sabem o que estão fazendo. Isso ocorre porque o patch não é incluído pelos desenvolvedores do thinkpad_acpi por padrão, ( Veja esta discussão para mais detalhes ).

Etapas Comuns

a. Determinando o código da tecla de atalho do Mic-Mute e o dispositivo de entrada do microfone

  • Abra o terminal com Ctrl+Alt+T
  • Execute acpi_listen e pressione a tecla mudo
  • Observe o resultado, que deve ser algo como: ibm/hotkey HKEY 00000080 0000101b

  • Em seguida, execute amixer scontrols , você deve ver uma das seguintes opções na saída:

Simple mixer control 'Internal Mic',0

ou

Simple mixer control 'Capture',0

Dependendo do que você vê, "Microfone interno" ou "Captura" é o seu dispositivo de entrada.

b. Criar o manipulador de eventos ACPI Mic-Mute

  • Abra o terminal, digite gksudo gedit /etc/acpi/events/lenovo-mutemic para abrir o editor.
  • No editor, cole o seguinte, onde a primeira linha deve ser o código mostrado na seção anterior por acpi_listen :
    event=ibm/hotkey HKEY 00000080 0000101b
    action=/etc/acpi/lenovo-mutemic.sh
    
  • Salve e saia do editor.

Escolhendo os indicadores Power Light ou Mic Mute

c-1. Script Mic-Mute com indicador do Botão de Energia

  • Faça isso se você quiser uma solução fácil e não quiser usar o módulo de kernel corrigido (consulte C-2).
  • Abra o terminal, digite gksudo gedit /etc/acpi/lenovo-mutemic.sh
  • No editor, cole:

    #!/bin/bash
    INPUT_DEVICE="'Internal Mic'"
    YOUR_USERNAME="place_your_username_here"
    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
    
  • Substitua o valor da variável INPUT_DEVICE por Capture se esse for o nome do seu dispositivo de entrada (deixe todos os ticks intactos).

  • Substituir valor da variável YOUR_USERNAME pelo nome da conta do usuário para o qual você deseja enviar notificações
  • Salve e saia do editor.
  • Agora, execute o seguinte (do terminal):
    sudo chmod +x /etc/acpi/lenovo-mutemic.sh
    sudo service acpid restart
    
  • Ir para a seção Teste (d) para confirmar que funciona.

c-2. Mic-mudo com luz indicadora de microfilme oficial

Configurando o script

  • Por favor, não use este método se você não estiver familiarizado com o terminal / shell.
  • Isso exigirá a compilação de um módulo thinkpad_acpi corrigido e foi verificado que funciona com o Ubuntu Precise 12.04 e o Quantal 12.10, os kernels 3.2.0-23 e 3.2.0-24 e 3.5.0-21.
  • Vamos criar o script primeiro: /etc/acpi/lenovo-mutemic.sh deve ser como na seção c-1, com as seguintes adições:

  • Inserir esta linha após o cabeçalho ( #!/bin/bash ):

    MICMUTE=/sys/devices/platform/thinkpad_acpi/leds/tpacpi::micmute/brightness
    
  • Após a primeira linha echo... , insira:

    echo 1 > $MICMUTE
    
  • Depois da segunda linha echo... , insira:

    echo 0 > $MICMUTE
    
  • Você pode encontrar um exemplo do que o script completo deve ter nesta pasta

  • Então:

    sudo chmod +x /etc/acpi/lenovo-mutemic.sh
    sudo service acpid restart
    
  • Confirme que pressionar o botão mudo resulta em uma luz de energia piscando; pressionando novamente dá uma luz de energia constante.

Construindo, testando e instalando o módulo do kernel

  • Instale (ou garanta) que você tenha os cabeçalhos e ferramentas construídas para o seu kernel atualmente em execução com:

    sudo apt-get install linux-headers-$(uname -r) build-essential
    
  • Crie um diretório temporário e altere para ele:

    mkdir ~/tpacpi && cd ~/tpacpi
    
  • Faça o download do arquivo de origem thinkpad_acpi.c do repositório git do Kernel do Ubuntu:

    wget -Othinkpad_acpi.c "http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-$(lsb_release -sc).git;\
    a=blob_plain;f=drivers/platform/x86/thinkpad_acpi.c;hb=HEAD" 
    
  • Corrigir com (copiar e colar a linha completa):

    sed -i -e 's/"tpacpi::thinkvantage",/"tpacpi::thinkvantage",\n\t"tpacpi::unknown_led4",\n\t"tpacpi::micmute",/g' -e 's/0x1081U/0x5081U/g' -e 's/0x1fffU/0x5fffU/g' thinkpad_acpi.c
    
  • Na mesma pasta em que thinkpad_acpi.c foi baixado, você precisará de um "Makefile". Você pode baixá-lo diretamente deste Pastebin , usando:

    wget -OMakefile http://pastebin.com/raw.php?i=ybpnxeUT
    

    OU cole o abaixo em um arquivo chamado Makefile :

    obj-m += thinkpad_acpi.o
    all: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
    clean: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
  • Agora digite make para criar o módulo; você verá um arquivo thinkpad_acpi.ko na pasta quando terminar.

  • Teste o módulo corrigido depois de carregá-lo com:

    sudo rmmod thinkpad_acpi && sudo insmod thinkpad_acpi.ko
    
  • Agora confirme que pressionar o botão do microfone ativará / desativará a luz laranja do microfone E a luz de energia piscará / ficará estável.

  • Se confirmado, faça o seguinte para substituir seu módulo thinkpad_acpi atual:

    TPDIR=/lib/modules/$(uname -r)/kernel/drivers/platform/x86
    sudo mv $TPDIR/thinkpad_acpi.ko $TPDIR/thinkpad_acpi.ko.stock
    sudo mv /where/you/built/it/tpacpi_micmute/thinkpad_acpi.ko $TPDIR/thinkpad_acpi.ko
    
  • Comente ou exclua as linhas de energia em lenovo-micmute.sh

d. Testando

  • Além da escolha do indicador, você também pode confirmar o mudo por meio do seguinte:

  • Clique no ícone de volume no canto superior direito e nas configurações de som na parte inferior:
  • Mude para o separador "Entrada".
  • Agora, divirta-se pressionando o botão Mic Mute, você deve vê-lo refletido em:

    1. A caixa de seleção Mudo na janela
    2. Bolhas de notificação (não aparecerão instantaneamente se você pressionar o microfone mudo mais de uma vez em alguns segundos!)
    3. O indicador escolhido: a luz do botão de energia piscando ou a luz interna do microfone Mute.

Resposta encontrada em Ativando o botão do microfone Mute e acendendo na Lenovo Thinkpads

    
por basketball 11.03.2014 / 22:17