メディアキーをi3で使用するにはどうすればよいですか?


8

私はGnomeからManjaroのi3に移動しました。ウィンドウマネージャー、端末の色などの設定はほぼ完了です。しばらくして、音楽を聴くことに決めました。数分後、音量キーと再生キーが機能しないことに気付きました。

私はRazer Blackwidow Stealth 2014キーボードを持っているので、これらのメディアキーは実際にはファンクションキーと一緒になっています。例:再生/一時停止がオンF6Fn、のようにキーを押すと、メディアキーとして機能しFn + F6ます。


正直言って、この質問の約90%が間違っていたので、この質問を整理しようとしまし。今では大丈夫です、そしてあなたは答えをクリアします。あなたがあなたの答えの前/次の答えを持っていたまさに2つはあなたの答えの中に正確にありました。唯一の本当の改善点は、プレイをプレイ/ポーズに移動したことです(それがまったく機能しないかどうかは変わりません)。さらに、xevコマンドは完全に二段でした。これらのキーを押したときにxevの出力である場合、答えは機能します。もう一回やってみよう。あなたの州は何かXF86AudioNextなどを言うべきです。
エヴァンキャロル

回答:


9

答えを探す

しばらくしてコントロールをいじり回した後、古いi3 FAQボードに投稿を見つけました:https : //faq.i3wm.org/question/3747/enabling-multimedia-keys.1.html

以下をi3の.configファイルに貼り付けると表示されています(以下は、わずかに変更されたバージョンで、一部の行が削除されていますが、この質問には関係ありません)。

# Pulse Audio controls
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% #increase sound volume
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5% #decrease sound volume
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute sound

# Sreen brightness controls
bindsym XF86MonBrightnessUp exec xbacklight -inc 20 # increase screen brightness
bindsym XF86MonBrightnessDown exec xbacklight -dec 20 # decrease screen brightness

# Media player controls
bindsym XF86AudioPlay exec playerctl play-pause
bindsym XF86AudioPause exec playerctl play-pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous

そして、それもうまくいきませんでしたが、答えを見つけるプロセスは正しいです。

本当の答え

少なくとも私にとっては、問題はそれらの行をコピーした後にキーが機能しないことでした。さらに調査した結果、ボリュームコマンドが少し異なる可能性があることがわかりました。amixerはPulseAudioの代わりにpactl

最後に、それらはこのように残されました:

# Media volume controls
bindsym XF86AudioMute exec amixer sset 'Master' toggle
bindsym XF86AudioLowerVolume exec amixer sset 'Master' 5%-
bindsym XF86AudioRaiseVolume exec amixer sset 'Master' 5%+

そして彼らは働き始めた。

再生キーはもう少しトリッキーでした。.configが、アクションを実行するために実行されるコマンドを指示していると推定しました。それから私はplayerctl play-pause自分の端末で試してみました。もちろん、playerctlがインストールされていなかったため、機能しませんでした。インストール後(を使用sudo pacman -S playerctl)、これらのキーボードコマンドも問題なく動作しました。


ボリュームコントロールについては、最初の方法でシンクを0ではなく1に変更しました。pactllist |を実行すると、シンクを確認できます。grepシンク
RamziC。19年

2

私は私が必要なことがわかっ--分離することpactlからset-sink-...、使用する方が一貫していたことを@DEFAULT_SINK@あなたはヘッドフォンを使用している場合。

# Pulse Audio controls
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl -- set-sink-volume @DEFAULT_SINK@ +5% #increase sound volume
bindsym XF86AudioLowerVolume exec --no-startup-id pactl -- set-sink-volume @DEFAULT_SINK@ -5% #decrease sound volume
bindsym XF86AudioMute exec --no-startup-id pactl -- set-sink-mute @DEFAULT_SINK@ toggle # mute sound

@ DEFAULT_SINK @の+1。私にとって、2つのダッシュは必要ありませんでした。これにより、これが機能しなくなりました(mxLinuxはこちら)。
Simon

1

私は0を1つの例で置き換えました:

Pulse Audioコントロール

bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 1 + 5%#音量を上げるbindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 1 -5%#音量を下げるbindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 1 toggle#音を消す

オーディオデバイスの番号を確認するには、pavucontrolを開き、出力デバイスをクリックします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.