Auricular remoto en el conector de sonido como entrada X

28

Tengo nuevos auriculares, los AKG K318 para ser exactos y tienen uno de esos controles remotos. En un teléfono inteligente, como un teléfono Android o iPhone, los botones se asignan a acciones en el reproductor de música, como reproducir / pausar, subir / bajar volumen, saltar, anterior, se entiende la idea.

Me preguntaba cómo podría replicar la misma función en mi computadora.

Me imagino que el proceso consiste en hacer que X reconozca la entrada, y luego de alguna manera mapear esas entradas para que una aplicación las use.

El "dispositivo" (que se conectaría a través de un conector de sonido) no figura en la lista xinput, ni los botones activan eventos regulares del teclado.

¿Cómo puedo usar los auriculares enchufados en el conector de sonido de salida como entradas de tecla X?

jonallard
fuente
1
¿La respuesta aceptada ("no se puede hacer") sigue siendo correcta, 3 años después? Mis auriculares Bose vienen con diferentes cables para iPhone y para Android (específicamente Samsung); Tengo el cable de Android y me pregunto si puedo hacer que funcione con Linux.
Darren Cook
Mi sensación es que esta es más una solicitud de características y la funcionalidad no es compatible por el momento.
jonallard

Respuestas:

41

Esos auriculares o auriculares 'especiales' que se pueden usar en dispositivos especializados para controlar reproductores multimedia, volumen y silencio generalmente tienen CUATRO conexiones en el enchufe, en comparación con los TRES típicos que tiene un conector de salida de auriculares normal.

Los tres habituales son Canal izquierdo, Canal derecho y Tierra (común), mientras que el cuarto a menudo se configura como una resistencia de valores múltiples, cada botón cuando se presiona presenta una resistencia particular en el cuarto cable (+ tierra), que el dispositivo de medios puede detectar y a partir de eso determinar qué función se necesita. Método bastante ingenioso para hacer que varios botones funcionen con un cable sin recurrir a costosos generadores de señales digitales y demás (¡todo empaquetado en esa pequeña mancha en los cables!).

Cuatro botones pueden usar cuatro resistencias (de cualquier unidad):

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

Si esto se parece sospechosamente a un esquema de codificación binaria ... ¡lo es! (¡Eres tan inteligente!) Usando valores de proporción similar, puedes sentir 16 salidas diferentes, incluso manejando múltiples teclas presionadas al mismo tiempo. Taa Daa!

Las personas mayores podrían recordar los primeros iPods, que tenían un pequeño conector de 4 conectores al lado del enchufe de salida de audio, que muchos dispositivos enchufaron junto a su enchufe de audio, lo que permitió enviar y recibir señales de control. Esto se eliminó gradualmente a favor del sistema de cuarto cable (¡imho cooler!) ... los auriculares estándar funcionarán como se esperaba, y también se aceptan los auriculares configurados para interactuar con el método del cuarto cable.

Pero para responder a su pregunta (¡por fin!) ... no, no hay una forma 'estándar' de habilitar la funcionalidad que está buscando. Los auriculares Bluetooth serían su mejor solución. (los míos son geniales!)

lornix
fuente
8
y sí,
desmonto
55
"... incluso manejando varias teclas presionadas al mismo tiempo". Excepto que no sigue el esquema binario en ese punto, por ejemplo, presionar play y Vdown da (8 * 2) / (8 + 2) o 1.6 ohmios.
Ignacio Vazquez-Abrams
2
Habrá 16 valores diferentes, no necesariamente en un valor ascendente o descendente ... los diversos valores pueden ser detectados. Es solo 'binario' en el sentido de que es una matriz de 4 botones con posiciones de encendido / apagado. Es bueno saber que alguien me está vigilando.
lornix
1
Solo mantener las respuestas honestas es todo.
Ignacio Vazquez-Abrams
1
Si tiene la "suerte" de tener una computadora portátil / netbook con un conector combinado para auriculares y micrófono, entonces podría ser posible escribir un script que escuche los diferentes patrones de ruido en la señal de micrófono entrante que produce cada botón y reaccionar apropiadamente a ellos.
Poundex 01 de
5

Actualmente, hasta donde yo sé, no existe una forma estandarizada de usar sus auriculares con cable como entrada con Linux. Esto significa que no podrá usar sus auriculares para controlar su reproductor de música; los auriculares Bluetooth en el otro deberían funcionar de inmediato.

Ulrich Dangel
fuente
1

No es una solución para todos, pero mis auriculares tienen un solo botón. Aparentemente, algunos de esos simples botones de auriculares usan un tipo de mecanismo de señalización de micrófono que verifica si la entrada de micrófono es "alta" (vea esta publicación y esta publicación ). Usando audacity, pude verificar que al hacer clic en el botón se generaba un pico de caracteres inalcanzable por el habla (¡aunque no he intentado gritar!). Mirando en internet, se me ocurrió la siguiente solución usando sox 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

playerctles un programa que controla la reproducción de medios. El .5en el código indica la resolución del micrófono. Puede jugar con este valor si desea implementar doble toque. 0.89indica el umbral para el botón que se está presionando. (el mío es básicamente igual a 1 cuando se presiona)

rien333
fuente