私は新しいヘッドホン(正確に言うとAKG K318)を持っていますが、このようなリモコンがあります。スマートフォン(Android携帯電話やiPhoneなど)では、ボタンは再生/一時停止、音量を上げる/下げる、スキップ、前のトラックなどの音楽プレーヤーの操作にマップされます。
私のコンピュータで同じ機能を複製する方法を知りたいです。
私はこのプロセスがXに入力を認識させ、その入力をアプリケーションで使用できるように何らかの方法でマッピングすることを含むと想像しています。
サウンドジャックを介して接続される「デバイス」はリストに表示されず、ボタンは通常のxinput
キーボードイベントをトリガーしません。
出力サウンドジャックに接続されたヘッドフォンをXキー入力としてどのように使用しますか?
答え1
メディアプレーヤー、音量、およびミュートを制御するために専用のデバイスで使用できる「特殊」ヘッドフォンまたはイヤホンには通常プラグに4つの接続があり、通常のヘッドフォン出力ジャックには通常3つの接続があります。
一般的な3つは左側のチャンネル、右側のチャンネル、およびグランド(共通)で、4つ目は通常マルチ値抵抗器に設定され、各ボタンを押すと4番目のワイヤ(+グランド)に特定の抵抗が表示されます。メディアデバイスは、次の操作を実行できます。これにより、どの機能が必要かを検出して決定します。これは、高価なデジタル信号発生器などを使用せずに1本のワイヤで複数のボタンを操作するための本当にきれいな方法です(すべてワイヤの小さな汚れに含まれています!)。
4つのボタンは4つの抵抗器を使用できます(すべてのデバイスで):
volume up: 1 ohm
volume down: 2 ohms
stop: 4 ohms
play: 8 ohms
疑わしいほどバイナリエンコーディング方式のように見えたら…はい! ! (本当にスマートです!)スケールと同じ値を使用すると、16個の異なる出力を検出し、同時に複数のキーを押すこともできます。ダダ!
古い人は、制御信号が前後に送信されるように、多くのデバイスがオーディオプラグと接続されているオーディオ出力プラグの横に小さな4コネクタジャックを備えた第1世代iPodを覚えています。これは(IMHO、よりクールです!)4線式システムのために段階的に廃止されています...標準ヘッドセットは期待どおりに機能し、4線式で接続するように設定されたヘッドセットも許可されています。
しかし、あなたの質問に答えるなら(ついに!!)…いいえ、あなたが探している機能を有効にする「標準」方法はありません。 Bluetoothヘッドフォンが最高のソリューションになります。 (私は素敵です!)
答え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と同じです)