Пульт для наушников в звуковом разъеме в качестве входа X

28

У меня есть новые наушники, а точнее AKG K318, и у них есть один из таких пультов. На смартфоне, таком как телефон Android или iPhone, кнопки отображаются на действия на музыкальном проигрывателе, такие как воспроизведение / пауза, увеличение / уменьшение громкости, пропуск, предыдущая, вы поняли.

Мне было интересно, как я мог повторить ту же функцию на моем компьютере.

Я представляю, что процесс состоит в том, чтобы заставить X распознать ввод, а затем каким-то образом отобразить эти входные данные для использования приложением.

«Устройство» (которое подключалось бы через звуковое гнездо) не указано в списке xinput, а кнопки не запускают обычные события клавиатуры.

Как использовать наушники, подключенные к выходному звуковому разъему, в качестве входов X-клавиш?

jonallard
источник
Возможный дубликат Где я могу найти драйвер Linux для наушников в дереве ядра?
Игнасио Васкес-Абрамс
1
Является ли принятый ответ («не может быть сделано») все еще правильным, 3 года спустя? Наушники My Bose поставляются с разными кабелями для iPhone и для Android (в частности, Samsung); У меня есть кабель Android, и мне интересно, смогу ли я заставить его работать с Linux.
Даррен Кук
Мне кажется, что это скорее запрос функции, и функциональность на данный момент не поддерживается.
Джоналлард

Ответы:

41

Те «специальные» наушники или наушники, которые можно использовать на специализированных устройствах для управления медиаплеерами, громкостью и отключением звука, обычно имеют четыре разъема на штекере, в отличие от типичного ТРИ, который имеет обычное выходное гнездо для наушников.

Обычными тремя являются левый канал, правый канал и земля (общие), в то время как четвертая часто задается как многозначное сопротивление, каждая кнопка при нажатии представляет определенное сопротивление на четвертом проводе (+ земля), который медиа-устройство Можно почувствовать и от этого определить, какая функция нужна. Довольно приятный способ заставить несколько кнопок работать по одному проводу, не прибегая к дорогостоящим цифровым генераторам сигналов и прочим вещам (все упаковано в эту маленькую каплю на проводах!).

Четыре кнопки могут использовать четыре сопротивления (любого устройства):

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

Если это выглядит подозрительно, как схема двоичного кодирования ... это так! (Вы такой умный!) Используя значения по аналогии, вы можете воспринимать 16 различных выходных данных, даже обрабатывая несколько нажатых клавиш одновременно. Таа Даа!

Старые люди могут помнить первые iPod, у которых было небольшое 4-контактное гнездо рядом с разъемом аудиовыхода, к которому многие устройства подключались вместе со своим аудиоразъемом, что позволяло отправлять сигналы управления вперед и назад. Это было прекращено в пользу (imho cooler!) Системы с четвертым проводом ... стандартные наушники будут работать как положено, и наушники, настроенные для взаимодействия с методом четвертого провода, также принимаются.

Но чтобы ответить на ваш вопрос (наконец-то !!) ... нет, не существует «стандартного» способа задействовать нужную вам функциональность. Bluetooth-гарнитура будет вашим лучшим решением. (мои классные!)

lornix
источник
8
и да, я
разбираю
5
«... даже одновременное нажатие нескольких клавиш». За исключением того, что в этот момент он не следует бинарной схеме, например, нажатие кнопки воспроизведения и Vdown дает (8 * 2) / (8 + 2) или 1,6 Ом.
Игнасио Васкес-Абрамс
2
Там будет 16 разных значений, не обязательно в возрастающем или убывающем значении ... различные значения могут быть обнаружены. Это только «бинарный» в том смысле, что это матрица из 4 кнопок с позициями вкл / выкл. Приятно знать, что кто-то проверяет меня.
Lornix
1
Просто держать честные ответы - это все.
Игнасио Васкес-Абрамс
1
Если вы «повезло» достаточно иметь ноутбук / нетбук с совмещенным наушников и микрофона разъем , то это может быть возможным , чтобы написать сценарий , который прослушивает для различных моделей шума на входящий сигнал микрофона , что каждая кнопка пресса производит, и реагировать соответственно им.
Poundex
5

Насколько я знаю, в настоящее время не существует стандартизированного способа использования проводной гарнитуры в качестве входных данных для Linux. Это означает, что вы не сможете использовать гарнитуру для управления музыкальным проигрывателем - гарнитуры Bluetooth на другом устройстве должны работать «из коробки».

Ульрих Дангел
источник
1

Не решение для всех, но мои наушники на одной кнопке. Очевидно, некоторые из этих простых кнопок наушников используют своего рода механизм микрофонной сигнализации, который проверяет, является ли микрофонный вход «высоким» (см. Этот пост и этот пост ). Используя смелость, я смог убедиться, что нажатие кнопки вызвало характерный пик, недостижимый речью (хотя я не пробовал кричать!). Просматривая интернет, я нашел следующее решение с использованием 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программа, управляющая воспроизведением мультимедиа В .5коде указано разрешение микрофонного поля. Вы можете поиграть с этим значением, если хотите реализовать двойное касание. 0.89указывает на порог нажатия кнопки. (моя в основном равна 1 при нажатии)

rien333
источник