ThinkPad mute button (简体中文)

From ArchWiki
Jump to navigation Jump to search
翻译状态:本文是 ThinkPad mute button翻译。上次翻译日期:2021-03-04。如果英文版本有所更改,则您可以帮助同步翻译。

Tango-edit-clear.pngThis article or section needs language, wiki syntax or style improvements. See Help:Style for reference.Tango-edit-clear.png

Reason: No standard sections. Maybe move page so it can be a /Troubleshooting one? (Discuss in Talk:ThinkPad mute button (简体中文)#)

问题

当使用较新的内核时,绝大多数ThinkPad和IdeaPad上的静音键无法正常工作。具体表现为:

静音键完全不工作

静音键没有任何反应:键盘上的LED指示灯不亮(部分ThinkPad的静音键上有一个指示静音状态的LED灯),同时扬声器的音量也没有任何变化。在这种情况下,只有按了静音键之后再按音量键小键,才能真正静音。

外接音频设备不静音

按下静音键后,内置扬声器被静音了(静音键上的LED指示灯状态也正确改变),但是外接音频设备依然未被静音。

解决方案

旧型号的IBM ThinkPad

尝试这个页面提供的解决方案:"https://www.thinkwiki.org/wiki/Mute_button"

静音键完全不工作

编辑/etc/modprobe.d/modprobe.conf,添加以下内容:

/etc/modprobe.d/modprobe.conf
...
options thinkpad_acpi enabled=0 # enables Mute-Button on ThinkPads with IdeaPad-Firmware

保存后重启,检查静音键是否正确工作。

外接音频设备不静音

AUR安装tpbAUR,并创建文件/root/.tpbrc

/root/.tpbrc
#tpb-Settings:
CALLBACK "/root/tp-key-handler"
OSD off

然后创建文件/root/tp-key-handler

/root/tp-key-handler
#!/bin/bash
echo $1 $2
if [ $1 = mute ]; then
	if [ $2 = on ]; then
		mset="off";
	else
		mset="on";
	fi
	sudo -u USERNAME amixer sset Master $mset; # I had to sudo to me, because I use PulseAudio
fi

创建后还需要给/root/tp-key-handler增加可执行权限:

chmod +x /root/tp-key-handler 

由于tpb和X一样需要root权限,启动tpb需要在.xinitrc添加sudo tpb,并且需要编辑sudo设置(使用visudo),或者在任何的X启动脚本中增加gksudo tpb(这个方法会在系统启动时要求输入密码)。

外接音频设备不静音(Xfce环境)

前往“应用程序-设置-键盘-应用程序快捷键”选项卡。点击“添加”,在“命令”处输入amixer sset Master toggle,在“按键”处按下静音键。温馨提示:为了确保静音键上的LED指示灯的状态和系统静音状态保持一致,在设定快捷键前请将静音键上的LED指示灯与系统静音状态保持相反(译者注:即静音键LED指示灯亮起的同时系统处于未静音状态,或静音键LED指示灯熄灭的同时系统处于静音状态)。如此,在设定快捷键后,静音键上的LED指示灯与系统静音状态才能保持一致。如果恰好弄反了,重启电脑,在进入Xfce会话前将静音键上的LED指示灯熄灭即可。