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

28

Tenho fones de ouvido novos, o AKG K318 é preciso e eles têm um desses controles remotos. Em um smartphone, como um telefone Android ou iPhone, os botões são mapeados para ações no music player, como reproduzir / pausar, aumentar / diminuir o volume, pular, anterior, você entendeu.

Eu queria saber como eu poderia replicar a mesma função no meu computador.

Eu imagino que o processo consiste em fazer o X reconhecer a entrada e, de alguma forma, mapear essas entradas para um aplicativo usar.

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

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

Jonallard
fonte
11
A resposta aceita ("não pode ser feita") ainda está correta, três anos depois? Os fones de ouvido My Bose vêm com cabos diferentes para iPhone e Android (especificamente Samsung); Eu tenho o cabo Android e gostaria de saber se posso fazê-lo funcionar com o Linux.
Darren Cook #
Meu sentimento é que este é mais um pedido de recurso e a funcionalidade não é suportada no momento.
Jonallard

Respostas:

41

Os fones de ouvido ou fones de ouvido 'especiais' que podem ser usados ​​em dispositivos especializados para controlar players de mídia, volume e mudo geralmente têm QUATRO conexões no plugue, em comparação com os TRÊS típicos que um conector de saída de fone de ouvido normal possui.

Os três habituais são Canal esquerdo, Canal direito e Terra (comum), enquanto o quarto é frequentemente configurado como uma resistência de vários valores, cada botão pressionado apresenta uma resistência específica no quarto fio (+ terra), que o dispositivo de mídia pode sentir e a partir daí determinar qual função é necessária. Um método bastante elegante de fazer com que vários botões funcionem em um fio sem recorrer a geradores de sinal digital caros e outras coisas (todos embalados naquele pequeno blob 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 suspeito como um esquema de codificação binária ... é !! (Você é tão esperto !!) Usando valores com a mesma proporção, você pode sentir 16 saídas diferentes, mesmo manipulando várias teclas pressionadas ao mesmo tempo. Taa Daa!

As pessoas idosas podem se lembrar dos primeiros iPods, que tinham uma pequena tomada de 4 conectores ao lado do plugue de saída de áudio, ao qual muitos dispositivos se conectavam ao lado do plugue de áudio, permitindo que os sinais de controle fossem enviados para frente e para trás. Isso foi eliminado em favor do sistema de quarto fio (imho cooler!) ... fones de ouvido padrão funcionarão conforme o esperado e fones de ouvido configurados para interagir com o método do quarto fio também serão aceitos.

Mas, para responder à sua pergunta (finalmente !!) ... não, não existe uma maneira 'padrão' de ativar a funcionalidade que você está procurando. Os fones de ouvido Bluetooth seriam sua melhor solução. (o meu é FRESCO!)

lornix
fonte
8
e sim, eu levo todos os meus brinquedos de distância ...
lornix
5
"... mesmo manipulando várias teclas pressionadas ao mesmo tempo." Exceto que ele não segue o esquema binário nesse ponto, por exemplo, pressionando play e Vdown, obtém (8 * 2) / (8 + 2) ou 1,6 ohms.
Ignacio Vazquez-Abrams
2
Haverá 16 valores diferentes, não necessariamente em um valor ascendente ou descendente ... os vários valores podem ser detectados. É apenas 'binário' no sentido de que é uma matriz de 4 botões com posições de ligar / desligar. É bom saber que alguém está me checando.
Lornix 30/06
11
Apenas manter as respostas honestas é tudo.
Ignacio Vazquez-Abrams
11
Se você tiver a "sorte" de ter um notebook / netbook com um fone de ouvido e microfone combinados, talvez seja possível escrever um script que escute os diferentes padrões de ruído no sinal de microfone recebido que cada botão pressionado produz e reaja apropriadamente para eles.
Poundex 01/07
5

Atualmente, não existe uma maneira padronizada de usar o fone de ouvido com fio como entrada no Linux, tanto quanto eu sei. Isso significa que você não poderá usar o fone de ouvido para controlar o seu music player - os fones de ouvido Bluetooth, por outro lado, devem funcionar imediatamente.

Ulrich Dangel
fonte
1

Não é uma solução para todos, mas meus fones de ouvido são únicos. Aparentemente, alguns desses botões simples do fone de ouvido usam um tipo de mecanismo de sinalização de microfone que verifica se a entrada de microfone está "alta" (consulte esta publicação e esta publicação ). Usando o audacity, eu pude verificar se clicar no botão gerava um pico característico inatingível pela fala (embora eu não tenha tentado gritar!). Olhando pela Internet, eu vim com 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 .5código indica a resolução do microfone. Você pode brincar com esse valor se desejar implementar o toque duplo. 0.89indica o limite para o botão que está sendo pressionado. (o meu é basicamente igual a 1 quando pressionado)

rien333
fonte