在Lenovo Thinkpad上启用麦克风静音按钮和指示灯

雏菊

我的Lenovo Thinkpad T420上有一个麦克风静音按钮,但不起作用。

因此,我尝试使用xev命令来监视新闻事件,但没有捕获到该键。

无论如何,有没有修复它,例如添加原始密钥代码?

操作系统和笔记本电脑

Ubuntu 12.04 ,也希望它可以在Arch Linux上运行,但没什么大不了; -P

Thinkpad模块: X220 4290LY9

适用于Arch Linux的内核补丁

在这里下载

最后

这有点棘手,但是有了内核补丁和acpid脚本,它现在可以工作了。

我需要的其余部分是一个通知守护程序,如输出静音的通知守护程序,但现在并没有多大关系。

ish

该解决方案应适用于所有带静音按钮的Thinkpad,并且该按钮还带有内置指示灯。它可能也适用于其他Thinkpad。

除了通知气泡:

在此处输入图片说明在此处输入图片说明

有两个可能的“硬件”指示器(以显示静音打开或关闭):

  1. 静音启用时,电源按钮指示灯(绿色)将闪烁以显示
  2. 麦克风静音按钮指示灯(橙色)将亮起或熄灭以显示静音状态(就像在Windows中一样)

    解决方案2需要修补的thinkpad_acpi内核模块,仅推荐给知道自己在做什么的高级用户使用。这是因为默认情况下,thinkpad_acpi开发人员不包括该补丁程序(有关更多详细信息请参见此讨论)。

常见步骤


一种。确定麦克风静音热键代码和麦克风输入设备

  • 打开终端 Ctrl+Alt+T
  • 运行acpi_listen,然后按静音键
  • 注意结果,它应该是这样的: ibm/hotkey HKEY 00000080 0000101b

  • 然后运行amixer scontrols,您应该在输出中看到以下之一:

简单的混音器控制“内部麦克风”,0

或者

简单的混音器控制“ Capture”,0

根据您看到的内容,“内部麦克风”或“捕获”是您的输入设备。

b。创建麦克风静音ACPI事件处理程序

  • 打开终端,键入gksudo gedit /etc/acpi/events/lenovo-mutemic以打开编辑器。
  • 在编辑器中,粘贴以下内容,其中第一行应为上一节中显示的代码acpi_listen
    event = ibm / hotkey HKEY 00000080 0000101b 
    action = / etc / acpi / lenovo-mutemic.sh
    
  • 保存并退出编辑器。

选择电源指示灯或麦克风静音指示灯


c-1。带电源按钮指示灯的麦克风静音脚本

  • 如果您想要一个简单的解决方案并且不想使用修补的内核模块(请参阅C-2),请执行此操作。
  • 打开终端,输入 gksudo gedit /etc/acpi/lenovo-mutemic.sh
  • 在编辑器中,粘贴:

    #!/ bin / bash 
    INPUT_DEVICE =“'内部麦克风'” 
    YOUR_USERNAME =“ place_your_username_here”
    如果混合器获取$ INPUT_DEVICE,0 | grep'\ [on \]'; 然后
        混音器设置$ INPUT_DEVICE,0切换
        回显“ 0闪烁”> / proc / acpi / ibm / led 
        su $ YOUR_USERNAME -c'DISPLAY =“:0.0”通知发送-t 50 \ 
                -i麦克风灵敏度-静音-符号“ Mic MUTED”'
    否则
        混音器设置$ INPUT_DEVICE,0切换                       
        su $ YOUR_USERNAME -c'DISPLAY =“:0.0” notify-send -t 50 \ 
                -i麦克风灵敏度高符号“ Mic ON”'
        回声“ 0 on “> / proc / acpi / ibm / led 
    fi
    
  • 将INPUT_DEVICE变量的值替换Capture为您输入的设备名称(保留所有刻度)。

  • 将YOUR_USERNAME变量的值替换为您要向其发送通知的用户的帐户名
  • 保存并退出编辑器。
  • 现在(从终端)运行以下命令:
    sudo chmod + x /etc/acpi/lenovo-mutemic.sh 
    sudo服务acpid重新启动
    
  • 跳至“测试”部分(d)以确认它是否有效。

c-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后插入以下行

    MICMUTE=/sys/devices/platform/thinkpad_acpi/leds/tpacpi::micmute/brightness
    
  • 在第一echo...行之后,插入:

    echo 1 > $MICMUTE
    
  • 在第二echo...行之后,插入:

    echo 0 > $MICMUTE
    
  • 您可以在此粘贴中找到完整脚本的外观示例

  • 然后:

    sudo chmod +x /etc/acpi/lenovo-mutemic.sh
    sudo service acpid restart
    
  • 确认按下静音按钮会导致电源指示灯闪烁;再按一次会发出稳定的电源指示灯。

构建,测试和安装内核模块

  • 安装(或确保)具有当前运行的内核的标头和内置工具,其中包括:

    sudo apt-get install linux-headers-$(uname -r) build-essential
    
  • 制作一个临时目录并更改为:

    mkdir ~/tpacpi && cd ~/tpacpi
    
  • thinkpad_acpi.c从Ubuntu Kernel git存储库下载源文件

    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" 
    
  • 修补(复制并粘贴完整行):

    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
    
  • thinkpad_acpi.c已下载的同一文件夹中,您将需要一个“ Makefile”。您可以使用以下方法直接从Pastebin下载它

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

    或将以下内容粘贴到名为的文件中Makefile

    obj-m + = thinkpad_acpi.o
    全部: make -C / lib / modules / $(shell uname -r)/ build M = $(PWD)模块
    clean: make -C / lib / modules / $(shell uname -r )/ build M = $(PWD)干净
  • 现在键入make以创建模块;完成后,您将thinkpad_acpi.ko在文件夹中看到一个文件。

  • 加载后,测试修补的模块:

    sudo rmmod thinkpad_acpi && sudo insmod thinkpad_acpi.ko
    
  • 现在确认按下麦克风按钮将打开/关闭橙色麦克风指示灯,并且电源指示灯闪烁/稳定亮起。

  • 如果确认,请执行以下操作以替换当前thinkpad_acpi模块:

    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
    
  • 注释掉或删除其中的电源线 lenovo-micmute.sh


d。测验

  • 除了选择指标之外,您还可以通过以下方式确认静音:

麦克风输入

  • 单击右上方的音量图标,然后单击底部的声音设置:
  • 切换到“输入”选项卡。
  • 现在按下“麦克风静音”按钮,您会发现它很有趣,您会看到它反映在:

    1. 窗口中的“静音”复选框
    2. 通知气泡(如果您每隔几秒钟按下Mic Mute一次,就不会立即显示!)
    3. 您选择的指示灯:闪烁的电源按钮指示灯或内置的Mic Mute指示灯。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章