X 입력으로 사운드 잭의 이어폰 리모컨

X 입력으로 사운드 잭의 이어폰 리모컨

나는 새 이어폰, 정확히 말하면 AKG K318을 가지고 있고 그 리모콘 중 하나를 가지고 있습니다. Android 휴대폰이나 iPhone과 같은 스마트폰에서 버튼은 재생/일시 중지, 볼륨 높이기/낮추기, 건너뛰기, 이전 등 음악 플레이어의 작업에 매핑됩니다.

내 컴퓨터에서 동일한 기능을 어떻게 복제할 수 있는지 궁금합니다.

나는 그 과정이 X가 입력을 인식하도록 한 다음 응용 프로그램이 사용할 입력을 어떻게든 매핑하는 것으로 구성되어 있다고 생각합니다.

사운드 잭을 통해 연결되는 "장치"는 에 나열되지 않으며 xinput버튼이 일반 키보드 이벤트를 트리거하지도 않습니다.

출력 사운드 잭에 연결된 이어폰을 X 키 입력으로 어떻게 사용할 수 있나요?

답변1

미디어 플레이어, 볼륨 및 음소거를 제어하기 위해 특수 장치에서 사용할 수 있는 '특수' 헤드폰이나 이어폰은 일반적으로 일반 헤드폰 출력 잭에 있는 3개의 연결부에 비해 플러그에 4개의 연결부가 있습니다.

일반적인 세 ​​개는 왼쪽 채널, 오른쪽 채널 및 접지(공통)이고, 네 번째는 종종 다중 값 저항으로 설정되며, 각 버튼을 누르면 네 번째 와이어(+ 접지)에 특정 저항이 표시됩니다. 이를 감지하고 이를 통해 필요한 기능을 결정할 수 있습니다. 값비싼 디지털 신호 발생기 등을 사용하지 않고 하나의 와이어에서 여러 개의 버튼을 작동시키는 매우 매끄러운 방법입니다(모두 와이어의 작은 덩어리에 들어있습니다!).

4개의 버튼은 (모든 장치의) 4개의 저항을 사용할 수 있습니다.

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

의심스러울 정도로 바이너리 인코딩 방식처럼 보인다면... 맞습니다!! (정말 똑똑하시네요!!) 유사한 비율의 값을 사용하면 동시에 여러 키를 누르는 경우에도 16개의 서로 다른 출력을 감지할 수 있습니다. 타다!

노인들은 오디오 출력 플러그 옆에 작은 4커넥터 잭이 있는 최초의 iPod을 기억할 것입니다. 많은 장치가 오디오 플러그와 함께 연결되어 제어 신호를 주고받을 수 있었습니다. 이것은 (imho Cooler!) 네 번째 와이어 시스템을 위해 단계적으로 폐지되었습니다... 표준 헤드폰은 예상대로 작동하며 네 번째 와이어 방식과 인터페이스하도록 설정된 헤드폰도 허용됩니다.

하지만 귀하의 질문에 대답하자면(드디어!!)... 아니오, 귀하가 찾고 있는 기능을 활성화하는 '표준' 방법은 없습니다. 블루투스 헤드셋이 최선의 솔루션이 될 것입니다. (내꺼는 멋지다!)

답변2

현재 내가 아는 한 Linux에서 유선 헤드셋을 입력으로 사용하는 표준화된 방법은 없습니다. 이는 헤드셋을 사용하여 음악 플레이어를 제어할 수 없다는 의미입니다. 다른 쪽의 Bluetooth 헤드셋은 기본적으로 작동해야 합니다.

답변3

모든 사람을 위한 솔루션은 아니지만 내 이어폰은 버튼이 하나뿐입니다. 분명히 이러한 간단한 이어폰 버튼 중 일부는 마이크 입력이 "높음"인지 확인하는 일종의 마이크 신호 메커니즘을 사용합니다(이 내용 참조).우편우편). 대담함을 사용하여 버튼을 클릭하면 음성으로는 도달할 수 없는 특징적인 최고조가 생성된다는 것을 확인할 수 있었습니다(비명을 지르지는 않았지만!). 인터넷을 둘러보면서 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과 같습니다)

관련 정보