it-swarm.com.de

Wie kann ich Medienschlüssel mit i3 zum Laufen bringen?

Ich bin auf Manjaro von Gnome zu i3 gewechselt und bin fast fertig mit der Konfiguration des Fenstermanagers, der Terminalfarben und so weiter. Nach einiger Zeit habe ich mich entschlossen, Musik zu hören, und nach ein paar Minuten wurde mir klar, dass die Lautstärketasten und die Wiedergabetasten nicht funktionieren.

Ich habe eine Razer Blackwidow Stealth 2014-Tastatur, daher sind diese Medientasten tatsächlich zusammen mit den Funktionstasten. Zum Beispiel: Wiedergabe/Pause ist eingeschaltet F6und es fungiert als Medientaste, wenn ich die Taste drücke Fn Schlüssel, wie in Fn + F6.

8
Renato Oliveira

Die Suche nach der Antwort

Nachdem ich einige Zeit mit den Steuerelementen herumgespielt habe, habe ich einen Beitrag auf dem alten i3 FAQ Board: https://faq.i3wm.org/question/3747/enabling) gefunden -multimedia-keys.1.html

Es heißt, Folgendes in die .config-Datei von i3 einzufügen (unten ist eine leicht modifizierte Version, bei der einige Zeilen entfernt wurden, die für diese spezielle Frage nicht relevant sind):

# 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

Und es hat auch nicht funktioniert, aber der Prozess, die Antwort zu finden, ist korrekt.

Die wahre Antwort

Zumindest für mich war das Problem, dass nach dem Kopieren dieser Zeilen die Schlüssel nicht funktionieren würden. Nach weiteren Recherchen stellte ich fest, dass die Lautstärkebefehle etwas anders sein können, wenn amixer anstelle von PulseAudios pactl verwendet wird.

Am Ende blieben diese so:

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

und sie fingen an zu arbeiten.

Die Wiedergabetasten waren etwas kniffliger. Ich folgerte, dass die .config sagt, welcher Befehl ausgeführt wird, um die Aktion auszuführen. Dann versuchte ich playerctl play-pause auf meinem Terminal. Natürlich hat es nicht funktioniert, weil playerctl nicht installiert war . Nach der Installation (mit Sudo pacman -S playerctl) Diese Tastaturbefehle funktionierten auch einwandfrei.

9
Renato Oliveira

ich habe gerade 0 durch ein Beispiel ersetzt:

Pulse Audio-Steuerelemente

bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 1 + 5% # Soundlautstärke erhöhen bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 1 -5% # Soundlautstärke verringern bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 1 umschalten # Mute-Sound

um zu sehen, welche Nummer für Ihr Audiogerät bestimmt ist, öffnen Sie pavucontrol und klicken Sie auf Ausgabegeräte. Die oberste ist 0, darunter eins usw.

1
help dude

Ich stellte fest, dass ich einen -- Benötigte, um das pactl vom set-sink-... Zu trennen, und dass es konsistenter war, @[email protected] Zu verwenden, wenn Sie Kopfhörer verwenden.

# Pulse Audio controls
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl -- set-sink-volume @[email protected] +5% #increase sound volume
bindsym XF86AudioLowerVolume exec --no-startup-id pactl -- set-sink-volume @[email protected] -5% #decrease sound volume
bindsym XF86AudioMute exec --no-startup-id pactl -- set-sink-mute @[email protected] toggle # mute sound
1
Luke Murray