web-dev-qa-db-ja.com

Ubuntu 17.10でメディアキーが機能しない

Thinkpad T470でかなり新しいUbuntu 17.10インストールを実行しています。

キーボードまたはBluetoothヘッドセットのいずれかのメディアキー(再生/一時停止、スキップなど)を押すたびに、このアイコンが表示されます。

popup on media key indicating no action allowed

モニターで点滅しますが、メディアプレーヤーが反応しません。

キーはshowkeyで認識されます:

~$ Sudo showkey -k
press any key (program terminates 10s after last keypress)...
keycode 163 press
keycode 163 release
keycode 165 press
keycode 165 release
keycode 164 press
keycode 164 release

ただし、xevには表示されません。

12
Nils Borrmann

この問題全体は、Gnomeからの「バグではなく、機能」のように見えます。

つまり、メディアボタンを押すと、キーコードが生成され、コマンドに変換されます。再生/一時停止ボタンを押したとします。キーコード162とコマンドXF86AudioPlayを生成します。

現在、このイベント(VLC、トーテム、Kodi、spotifyなど)を待機しているほとんどすべてのメディアアプリケーションは、純粋なXF86AudioPlayコマンドを受け取ることを期待しています。そして、Gnomeは何をしますか?このコマンドをインターセプトし、独自のコマンド「play」に変換します。このため、xevもxbindkeyもこのイベントを適切に表示しません-彼らが理解できるコマンドを受け取ることはありません。

メディアボタンを押すと、Gnomeはコマンドを受信し、このコマンドを受信できると認識されているアプリがあるかどうかを確認します。 (トーテム、rhytmbox、VLCなど)がある場合は、動作するはずの「再生」を送信します。このコマンドを受信できると認識されたアプリがない場合、Gnomeは最初の投稿に添付されている記号を表示し、どこにもコマンドを送信しません。

ソリューションは簡単です-Gnomeがメディアキーイベントをインターセプトできないようにします。 dconf-editorをインストールし、org.gnome.settings-daemon.plugins.media-keysに移動して、動作するボタンをXF86SomeExample(例:XF86AudioPlay)からnone( '')に変更します。このように、アプリはキーコマンドを直接受信する必要があります。

11
darkdude

キーボードのメディアキーがUbuntuデスクトップから機能しない場合は、D-Busサポートを使用して適切なコマンドをSpotifyに送信できます。コンソールから次のコマンドを検証します。

再生/一時停止

dbus-send --print-reply --dest = org.mpris.MediaPlayer2.spotify/org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause

dbus-send --print-reply --dest = org.mpris.MediaPlayer2.spotify/org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next

dbus-send --print-reply --dest = org.mpris.MediaPlayer2.spotify/org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous

メディアキーのショートカットを有効にする

これらをキーボードに関連付けるには、[設定]> [キーボード]> [ショートカット]> [カスタムショートカット]に移動し、[追加]をクリックします。上記のコマンドのいずれかを使用して、新しいコマンドに関連付けるキーを押します。

ソース

https://fabianlee.org/2016/05/25/ubuntu-enabling-media-keys-for-spotify/

11
foamboarder

2019/2/1のUbuntu 18.04 LTSでは、私がする必要があるのは次のとおりでした。

  • dconf-editorをインストールします
  • org/gnome/settings-daemon/plugins/media-keysに移動します
  • 動作していないキーごとに:
    • 「デフォルト値を使用する」のチェックを外します
    • 当てはまる
    • 「デフォルト値を使用」を再確認します
    • もう一度適用します

問題のメディアキーはすぐに機能するようになります。

Darkdudeが推奨するように、値を使用しないことは私にとってはうまくいきませんでした。

3
poetichustla

最後の2つの答えを組み合わせるとうまくいきます。 Ubuntu 18.04のキーボードテスト作業があります

~$ Sudo showkey -k
press any key (program terminates 10s after last keypress)...
keycode 163 press
keycode 163 release
keycode 165 press
keycode 165 release
keycode 164 press
keycode 164 release

しかし、Activities-> Keyboardに移動し、Play/Next/Previousで何でもしようとすると、まったく機能しません。デフォルトのキーの関連付けを無効にし(キーの関連付けのダイアログを呼び出し、バックスペースを押して[保存]をクリック)、動作する新しいものを作成すると、@ foamboarderからの回答が非常に役に立ちました

これは次のようになります ショートカットセットアップからのスクリーンショット スリープモードからコンピューターをウェイクアップした後でも、すべて正常に動作するようになりました

2
Václav Rak

@Václavによる上記の回答を使用すると、Ubuntu 18.04で私のために働いた、と彼は言った

「...デフォルトのキーの関連付けを無効にし(キーの関連付けのダイアログを呼び出し、バックスペースを押して[保存]をクリック)、新しいキーを作成します」。

私はRhythmboxを使用しています。Rhythmboxの各カスタムショートカットに配置したコマンドは次のとおりです。

以前の場合:

`dbus-send --print-reply --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous`  

次の場合:

`dbus-send --print-reply --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next`  

再生/停止の場合:

`dbus-send --print-reply --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause`  

これがいつか誰かを助けることを願っています

1
Milazi

キーコードはそれに応じてマップされていないようです。 ubuntuのドキュメントの説明に従って、キーを手動でマッピングできます。 https://help.ubuntu.com/stable/ubuntu-help/keyboard-shortcuts-set.html

  1. アクティビティの概要を開き、キーボードの入力を開始します。
  2. キーボードをクリックしてパネルを開きます。
  3. [ショートカット]タブを選択します。
  4. 左側のペインでカテゴリを選択し、右側で目的のアクションの行を選択します。現在のショートカット定義は、新しいアクセラレータに変更されます…
  5. 目的のキーの組み合わせを押すか、Backspaceキーを押してクリアします。
0
Arne Q