Télécommande pour écouteurs dans la prise audio comme entrée X

28

J'ai de nouveaux écouteurs, les AKG K318 pour être exacts et ils ont une de ces télécommandes. Sur un smartphone, comme un téléphone Android ou un iPhone, les boutons correspondent aux actions sur le lecteur de musique telles que lecture / pause, augmentation / diminution du volume, sauter, précédent, vous avez l'idée.

Je me demandais comment je pourrais reproduire la même fonction sur mon ordinateur.

J'imagine que le processus consiste à amener X à reconnaître l'entrée, puis à cartographier ces entrées pour une application à utiliser.

Le "périphérique" (qui se connecterait via la prise audio) n'est pas répertorié xinput, et les boutons ne déclenchent pas d'événements de clavier réguliers.

Comment puis-je utiliser les écouteurs branchés dans la prise de sortie audio comme entrées clés X?

jonallard
la source
1
La réponse acceptée ("impossible à faire") est-elle toujours correcte, 3 ans après? Mes écouteurs Bose sont livrés avec différents câbles pour iPhone et pour Android (en particulier Samsung); J'ai le câble Android et je me demande si je peux le faire fonctionner avec Linux.
Darren Cook
Mon sentiment est qu'il s'agit davantage d'une demande de fonctionnalité et que la fonctionnalité n'est pas prise en charge pour le moment.
jonallard

Réponses:

41

Ces écouteurs ou écouteurs `` spéciaux '' qui peuvent être utilisés sur des appareils spécialisés pour contrôler les lecteurs multimédias, le volume et la sourdine ont généralement QUATRE connexions sur la fiche, contre les TROIS typiques d'une prise de sortie casque normale.

Les trois habituels sont le canal gauche, le canal droit et la masse (commun), tandis que le quatrième est souvent configuré comme une résistance à plusieurs valeurs, chaque bouton lorsqu'il est enfoncé présente une résistance particulière sur le quatrième fil (+ masse), que le périphérique multimédia peut détecter et à partir de cela déterminer quelle fonction est nécessaire. Méthode assez astucieuse pour faire fonctionner plusieurs boutons sur un même fil sans avoir recours à des générateurs de signaux numériques coûteux et tout ça (tous emballés dans cette petite goutte sur les fils!).

Quatre boutons peuvent utiliser quatre résistances (de n'importe quelle unité):

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

Si cela ressemble étrangement à un schéma de codage binaire ... c'est !! (Vous êtes tellement intelligent !!) En utilisant des valeurs similaires, vous pouvez détecter 16 sorties différentes, même en manipulant plusieurs touches en même temps. Taa Daa!

Les personnes âgées se souviennent peut-être des premiers iPods, qui avaient une petite prise 4 connecteurs à côté de la prise de sortie audio, sur laquelle de nombreux appareils étaient branchés à côté de leur prise audio, ce qui permettait d'envoyer des signaux de contrôle dans les deux sens. Cela a été éliminé progressivement en faveur du système de quatrième fil (à mon humble avis!) ... les écouteurs standard fonctionneront comme prévu et les écouteurs configurés pour s'interfacer avec la méthode du quatrième fil sont également acceptés.

Mais pour répondre à votre question (enfin !!) ... non, il n'y a pas de moyen "standard" d'activer les fonctionnalités que vous recherchez. Les casques Bluetooth seraient votre meilleure solution. (les miens sont COOL!)

lornix
la source
8
et oui, je
démonte
5
"... même en manipulant plusieurs touches en même temps." Sauf qu'il ne suit pas le schéma binaire à ce stade, par exemple en appuyant sur play et Vdown donne (8 * 2) / (8 + 2) ou 1,6 ohms.
Ignacio Vazquez-Abrams
2
Il y aura 16 valeurs différentes, pas nécessairement dans une valeur ascendante ou descendante ... les différentes valeurs peuvent être détectées. Ce n'est que «binaire» dans le sens où c'est une matrice de 4 boutons avec des positions marche / arrêt. Ravi de savoir que quelqu'un me surveille.
lornix
1
Garder les réponses honnêtes, c'est tout.
Ignacio Vazquez-Abrams
1
Si vous avez la «chance» d'avoir un ordinateur portable / netbook avec un casque et une prise micro combinés, il peut être possible d'écrire un script qui écoute les différents modèles de bruit sur le signal micro entrant que chaque pression de touche produit et réagit de manière appropriée pour eux.
Poundex
5

Il n'y a actuellement aucun moyen standardisé d'utiliser votre casque filaire comme entrée avec Linux pour autant que je sache. Cela signifie que vous ne pourrez pas utiliser votre casque pour contrôler votre lecteur de musique - les casques Bluetooth de l'autre devraient fonctionner immédiatement.

Ulrich Dangel
la source
1

Pas une solution pour tout le monde, mais mes écouteurs sont à un seul bouton. Apparemment, certains de ces simples boutons d'écouteurs utilisent une sorte de mécanisme de signalisation du micro qui vérifie si l'entrée du micro est "élevée" (voir cet article et cet article ). En utilisant l'audace, j'ai pu vérifier que cliquer sur le bouton générait un pic caractéristique impossible à atteindre par la parole (même si je n'ai pas essayé de crier!). En parcourant Internet, j'ai trouvé la solution suivante en utilisant les 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

playerctlest un programme qui contrôle la lecture multimédia. Le .5dans le code indique la résolution du micro pol. Vous pouvez jouer avec cette valeur si vous souhaitez implémenter le double tapotement. 0.89indique le seuil du bouton poussé. (le mien est fondamentalement égal à 1 lorsqu'il est poussé)

rien333
la source