Controle remoto do fone de ouvido na tomada de som como entrada X

Controle remoto do fone de ouvido na tomada de som como entrada X

Eu tenho fones de ouvido novos, os AKG K318 para ser exato e eles têm um daqueles controles remotos. Em um smartphone, como um telefone Android ou iPhone, os botões são mapeados para ações no reprodutor de música, como reproduzir/pausar, aumentar/diminuir volume, pular, anterior, essa é a ideia.

Fiquei me perguntando como poderia replicar a mesma função no meu computador.

Imagino que o processo consista em fazer com que X reconheça a entrada e, de alguma forma, mapeie essas entradas para um aplicativo usar.

O "dispositivo" (que se conectaria via conector de som) não está listado em xinput, nem os botões acionam eventos regulares do teclado.

Como posso usar os fones de ouvido conectados à saída de som como entradas da tecla X?

Responder1

Esses fones de ouvido 'especiais' que podem ser usados ​​​​em dispositivos especializados para controlar reprodutores de mídia, volume e mudo geralmente têm QUATRO conexões no plugue, contra as TRÊS típicas que um conector de saída de fone de ouvido normal possui.

Os três usuais são Canal Esquerdo, Canal Direito e Terra (comum), enquanto o quarto é frequentemente configurado como uma resistência multivalor, cada botão quando pressionado apresenta uma resistência particular no quarto fio (+ terra), que o dispositivo de mídia pode sentir e a partir disso determinar qual função é necessária. Método bastante inteligente de fazer com que vários botões funcionem em um fio sem recorrer a geradores de sinais digitais caros e outras coisas (tudo embalado naquela pequena bolha nos fios!).

Quatro botões podem usar quatro resistências (de qualquer unidade):

volume up:   1 ohm
volume down: 2 ohms
stop:        4 ohms
play:        8 ohms

Se isso parece um esquema de codificação binária... é mesmo!! (Você é tão inteligente!!) Usando valores com proporção semelhante, você pode detectar 16 saídas diferentes, até mesmo manipulando várias teclas pressionadas ao mesmo tempo. Taa Daa!

Os idosos devem se lembrar dos primeiros iPods, que tinham um pequeno conector de 4 conectores próximo ao plugue de saída de áudio, ao qual muitos dispositivos se conectavam junto com o plugue de áudio, o que permitia o envio de sinais de controle para frente e para trás. Isso foi eliminado em favor do sistema de quarto fio (imho mais legal!)... fones de ouvido padrão funcionarão conforme o esperado, e fones de ouvido configurados para interface com o método de quarto fio também são aceitos.

Mas para responder à sua pergunta (finalmente!!)... não, não existe uma maneira 'padrão' de ativar a funcionalidade que você procura. Fones de ouvido Bluetooth seriam sua melhor solução. (os meus são legais!)

Responder2

Atualmente, não existe uma maneira padronizada de usar seu fone de ouvido com fio como entrada no Linux, até onde eu sei. Isso significa que você não poderá usar o fone de ouvido para controlar o reprodutor de música - os fones de ouvido Bluetooth, por outro lado, devem funcionar imediatamente.

Responder3

Não é uma solução para todos, mas meus fones de ouvido têm um único botão. Aparentemente, alguns desses botões simples de fone de ouvido usam uma espécie de mecanismo de sinalização de microfone que verifica se a entrada do microfone está "alta" (veja istopublicare istopublicar). Usando o audacity, consegui verificar que clicar no botão gerava um pico característico inalcançável pela fala (embora eu não tenha tentado gritar!). Olhando pela internet, descobri a seguinte solução usando 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é um programa que controla a reprodução de mídia. O .5no código indica a resolução do microfone pol. Você pode brincar com esse valor se quiser implementar o toque duplo. 0.89indica o limite para o botão que está sendo pressionado. (o meu é basicamente igual a 1 quando pressionado)

informação relacionada