나는 새 헤드폰(정확히 말하면 AKG K318)을 가지고 있는데, 이런 리모콘이 있습니다. 스마트폰(예: Android 휴대폰 또는 iPhone)에서 버튼은 재생/일시 중지, 볼륨 높이기/낮추기, 건너뛰기, 이전 트랙과 같은 음악 플레이어의 작업에 매핑됩니다.
내 컴퓨터에서 동일한 기능을 복제하는 방법을 알고 싶습니다.
나는 이 프로세스가 X가 입력을 인식하도록 한 다음 해당 입력을 응용 프로그램에서 사용할 수 있도록 어떤 방식으로 매핑하는 것을 포함한다고 상상합니다.
사운드 잭을 통해 연결될 "장치"는 목록에 없으며 xinput
버튼이 일반 키보드 이벤트를 트리거하지도 않습니다.
출력 사운드 잭에 연결된 헤드폰을 X-key 입력으로 어떻게 사용합니까?
답변1
미디어 플레이어, 볼륨 및 음소거를 제어하기 위해 전용 장치에서 사용할 수 있는 "특수" 헤드폰 또는 이어폰에는 일반적으로 플러그에 4개의 연결이 있는 반면, 일반 헤드폰 출력 잭에는 일반적으로 3개의 연결이 있습니다.
일반적인 세 개는 왼쪽 채널, 오른쪽 채널 및 접지(공통)이고 네 번째는 일반적으로 다중 값 저항기로 설정되며 각 버튼을 누르면 네 번째 와이어(+접지)에 특정 저항이 표시됩니다. 미디어 장치는 다음과 같은 작업을 수행할 수 있습니다. 이를 통해 어떤 기능이 필요한지 감지하고 결정합니다. 이는 값비싼 디지털 신호 발생기 등을 사용하지 않고도 하나의 와이어에서 여러 개의 버튼을 작동시킬 수 있는 정말 깔끔한 방법입니다(모두 와이어의 작은 얼룩에 들어있습니다!).
4개의 버튼은 4개의 저항기를 사용할 수 있습니다(모든 장치에서):
volume up: 1 ohm
volume down: 2 ohms
stop: 4 ohms
play: 8 ohms
의심스러울 정도로 바이너리 인코딩 체계처럼 보인다면... 그렇습니다! ! (정말 똑똑하시네요!!) 척도와 같은 값을 사용하면 16개의 서로 다른 출력을 감지하고 동시에 여러 키 누름을 처리할 수도 있습니다. 다다!
오래된 사람들은 제어 신호가 앞뒤로 전송될 수 있도록 많은 장치가 오디오 플러그와 함께 연결되는 오디오 출력 플러그 옆에 작은 4 커넥터 잭이 있는 1세대 iPod을 기억할 것입니다. 이는 (IMHO, 더 시원합니다!) 4선 시스템을 위해 단계적으로 폐지되었습니다... 표준 헤드셋은 예상대로 작동하며 4선 방식으로 연결하도록 설정된 헤드셋도 허용됩니다.
하지만 귀하의 질문에 대답하자면(드디어!!)... 아니오, 귀하가 찾고 있는 기능을 활성화하는 "표준" 방법은 없습니다. 블루투스 헤드폰이 최고의 솔루션이 될 것입니다. (내 건 멋지다!)
답변2
내가 아는 한, 유선 헤드폰을 Linux 입력으로 사용하는 표준화된 방법은 없습니다. 이는 헤드폰을 사용하여 음악 플레이어를 제어할 수 없다는 의미입니다. 다른 Bluetooth 헤드셋을 사용하면 즉시 작동할 수 있습니다.
답변3
모든 사람을 위한 솔루션은 아니지만 제 헤드폰은 단일 버클입니다. 분명히 이러한 간단한 헤드폰 버튼 중 일부는 마이크 신호 메커니즘을 사용하여 마이크 입력이 "높음"인지 확인합니다(이 내용 참조).우편 엽서이우편 엽서). 몇 가지 대담한 실험을 통해 버튼을 클릭하면 음성으로는 불가능한 특성이 최고조에 달한다는 것을 확인할 수 있었습니다(아직 비명을 지르는 것은 시도해 보지 않았지만!). 인터넷을 탐색하면서 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
playerctl
미디어 재생을 제어하는 프로그램입니다. .5
코드는 마이크 폴 해상도를 나타냅니다. 더블클릭을 원할 경우 이 값을 사용해 볼 수 있습니다. 0.89
버튼 누름에 대한 임계값을 나타냅니다. (내 푸시는 기본적으로 1과 같습니다)