我有新的耳机,确切地说是AKG K318,它们有一个遥控器。在智能手机(例如Android手机或iPhone)上,这些按钮会映射到音乐播放器上的操作,例如播放/暂停,调高/调低,跳过,上一步等,您便会明白。
我想知道如何在计算机上复制相同的功能。
我想象该过程包括让X识别输入,然后以某种方式映射这些输入以供应用程序使用。
“设备”(将通过声音插孔连接)未在中列出xinput
,按钮也不会触发常规键盘事件。
如何将插入输出声音插孔的耳机用作X键输入?
我有新的耳机,确切地说是AKG K318,它们有一个遥控器。在智能手机(例如Android手机或iPhone)上,这些按钮会映射到音乐播放器上的操作,例如播放/暂停,调高/调低,跳过,上一步等,您便会明白。
我想知道如何在计算机上复制相同的功能。
我想象该过程包括让X识别输入,然后以某种方式映射这些输入以供应用程序使用。
“设备”(将通过声音插孔连接)未在中列出xinput
,按钮也不会触发常规键盘事件。
如何将插入输出声音插孔的耳机用作X键输入?
Answers:
那些可以在专用设备上用来控制媒体播放器,音量和静音的“专用”耳机,通常在插头上有四个连接,而普通的耳机输出插孔只有三个。
通常的三个是左通道,右通道和接地(公用),而第四个通常设置为多值电阻,按下时每个按钮都会在第四根导线(+接地)上呈现特定的电阻,该电阻是媒体设备可以感知并由此确定需要什么功能。一种非常巧妙的方法,它可以使多个按钮脱离一根电线,而无需诉诸昂贵的数字信号发生器和东西(所有东西都包装在电线上的那个小斑点中!)。
四个按钮可能使用四个电阻(任意单位):
volume up: 1 ohm
volume down: 2 ohms
stop: 4 ohms
play: 8 ohms
如果这看起来像一个可疑的二进制编码方案,那就是!!(你真聪明!)使用类似比率的值,即使同时处理多个按键,您也可以感应到16种不同的输出。塔阿达!
老年人可能还记得第一批iPod,它的音频输出插头旁边有一个4连接器插孔,许多设备在其音频插头旁边插入了这些插头,从而可以来回发送控制信号。逐步淘汰了该设备,以支持(imho cooler!)第四线制...标准耳机将按预期工作,并且接受与第四线方法对接的耳机。
但是要回答您的问题(最后!)...不,没有“标准”方法可以启用您要寻找的功能。蓝牙耳机将是您最好的解决方案。(我的很酷!)
并非所有人都可以解决,但我的耳机只有一个按钮。显然,其中一些简单的耳机按钮使用一种麦克风信号机制来检查麦克风输入是否为“高”电平(请参阅本文章和本文章)。使用audacity,我能够验证单击按钮是否生成了语音无法达到的特征峰值(尽管我没有尝试尖叫!)。环顾互联网,我想到了使用sox's的以下解决方案rec
:
#!/usr/bin/sh
while true; do
rec -n stat trim 0 .5 2>&1 | awk '/^Maximum amplitude/ && $3 > 0.89' | grep -q 'M' && playerctl play-pause
done
playerctl
是控制媒体播放的程序。该.5
代码表示MIC POL分辨率。如果要实现双击,可以使用此值。0.89
指示按下按钮的阈值。(推时我的基本上等于1)