Como posso fazer com que as teclas de mídia funcionem com o i3?

4

Eu mudei do Gnome para o i3 no Manjaro, e estou quase terminando de configurar o gerenciador de janelas, as cores do terminal e outros enfeites. Depois de algum tempo, decidi ouvir algumas músicas e, depois de alguns minutos, percebi que as teclas de volume e de reprodução não funcionavam.

Eu tenho um teclado Razer Blackwidow Stealth 2014, então essas teclas de mídia estão juntas com as teclas de função. Por exemplo: Play / Pause está em F6 , e atua como media key quando pressiono a tecla Fn , como em Fn + F6 .

    
por Renato Oliveira 23.04.2018 / 16:04

1 resposta

4

A busca pela resposta

Depois de algum tempo mexendo com os controles, eu encontrei um post no fórum do i3 FAQ: link

Ele diz para colar o seguinte no arquivo .config do i3 (abaixo está uma versão levemente modificada, com algumas linhas removidas, que não são relevantes para esta questão específica):

# 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
bindsym XF86AudioPause exec playerctl pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous

E também não funcionou, mas o processo de encontrar a resposta está correto.

A resposta real

Para mim, pelo menos, o problema era que depois de copiar essas linhas, as chaves não funcionavam. Depois de mais algumas pesquisas, descobri que os comandos de volume podem ser um pouco diferentes, usando amixer em vez de pactl do PulseAudio.

No final, ficaram assim:

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

e eles começaram a trabalhar.

As teclas de reprodução foram um pouco mais complicadas. Eu deduzi que o .config informa qual comando é executado para executar a ação. Então eu continuei a tentar playerctl play-pause no meu terminal. Claro que não funcionou, porque playerctl não foi instalado . Depois de instalá-lo (usando sudo pacman -S playerctl ), esses comandos do teclado funcionaram bem também.

    
por 23.04.2018 / 16:04