我有一对 (3.5 毫米) 耳机,虽然工作正常,但会发出错误的耳机控制信号(例如调高和调低音量、跳过/暂停)。就我个人而言,我从不使用内置耳机控件。
我很确定没有任何官方方法可以禁用 Windows 上的内置耳机控制,但是是否有注册表破解或外部程序可以执行相同的操作?谢谢!
答案1
所以..据我所知来自Linux文档和代码,插孔键映射不是由通用 HDA 控制器处理的,而是由特定的编解码器芯片处理(这是有道理的,因为它是位于物理 TR(R)S 连接器后面的东西,以及检测作品)。
在仔细研究了 Conexant CX20751 的驱动程序后(您可以很容易地在设备管理器中看到它们,从“高清音频控制器”中设备的驱动程序详细信息中,当您通过连接查看它们时),我发现它们确实有一些明确的旋钮与此相关。在专用于多媒体设备的 Windows 注册表类中(HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e96c-e325-11ce-bfc1-08002be10318}
),有一个Settings\EPattributes\EPSettings\HeadsetCtrlEnable
子项似乎与此有关。特别是切换使能够和强制禁用耳机值可能足以阻止按钮信号的解析。
更一般地讲,通常有上千种方法可以重新分配插孔,迫使它们进入一种愚蠢状态(使用古怪的麦克风或扬声器的旧桌面技巧之一是配置错误使用 AC97 标准前面板)。几乎可以肯定,使用 Realtek 解决方案,您可以使用他们的“驱动程序测试实用程序”来执行某些操作。
不过,所有这些都是特定于硬件的(而且没有记录在案),所以我猜这不是 100% 的解决方案。
很有可能我们会遇到类似 VK_VOLUME_DOWN/APPCOMMAND_VOLUME_DOWN 消息困扰系统的情况(不过说真的,这只是猜测,不要怪我。。我想知道绕过 Windows 音频服务的 ASIO 播放是否也能解决这个问题)。
值得庆幸的是,我们也可以对这一步进行修改(尤其是因为具体程序需要自己解释和遵守命令)。但我将留给你回答关于媒体键的另一个问题。