sábado, 10 de novembro de 2007

Teclado Multimídia de Notebook

Recentemente adquiri um notebook marca HP, modelo dv2000. Ele possui na parte superior do teclado teclas multimídia (play/pause, stop, next, prevous) e possui também controle remoto, com estas funções e outras mais. Como no meu Ubuntu eu não uso os players de música e vídeo padrão (uso Amarok e MPlayer), essas teclas não funcionaram automaticamente. Fiz então um script que faz o serviço. Ele controla a reprodução nos dois players, primeiro no MPlayer, e, caso estiver fechado, no Amarok. O script é esse:

#!/bin/sh

#Primeiro ele procura qual player esta aberto. Se nenhum estiver, não faz nada.
PLAYER=`ps -U $USER | grep mplayer`
if [ -n "$PLAYER" ]; then
PLAYER=mplayer
else
PLAYER=`ps -U $USER | grep amarok`
if [ -n "$PLAYER" ]; then
PLAYER=amarok
else
PLAYER=""
fi
fi

if [ -z "$PLAYER" ]; then
exit 0
fi

#Arquivo para onde serão imprimidos os comandos para o MPlayer
FIFO=~/.mplayer/comandosMplayer

case $1 in
"play-pause")
if [ "$PLAYER" = "amarok" ]; then
#play-pause-amarok
`amarok -t`
else
#play-pause-mplayer
`echo pause > $FIFO`
fi
;;
"stop")
if [ "$PLAYER" = "amarok" ]; then
#stop-amarok
`amarok -s`
else
#stop-mplayer
`echo gui_stop > $FIFO`
fi
;;
"next")
if [ "$PLAYER" = "amarok" ]; then
#next-amarok
`amarok -f`
else
#next-mplayer
`echo 'seek 60' > $FIFO`
fi
;;
"previous")
if [ "$PLAYER" = "amarok" ]; then
#previous-amarok
`amarok -r`
else
#previous-mplayer
`echo 'seek -60' > $FIFO`
fi
;;
*)
echo "Comando $1 não suportado! Precisa ser [play-pause|stop|next|previous]"
;;
esac

exit 0
Instalação:
1. Instale o pacote hotkeys:
sudo apt-get install hotkeys

2. Faça uma cópia de segurança do arquivo de configuração do hotkeys:
sudo cp /etc/hotkeys.conf /etc/hotkeys.conf_BACKUP

3. Edite o arquivo /etc/hotkeys.conf
sudo gedit /etc/hotkeys.conf

4. Apague todo conteúdo do arquivo, deixando apenas estas linhas:
Kbd=hp5181
PrevTrack=tecladoMultimidia.sh previous
Play=tecladoMultimidia.sh play-pause
Stop=tecladoMultimidia.sh stop
Pause=tecladoMultimidia.sh play-pause
NextTrack=tecladoMultimidia.sh next

No meu caso, o teclado é hp5181. Existem vários modelos de teclados aceitos pelo hotkeys. Para saber quais, digite em um terminal: hotkeys -l
5. Coloque o hotkeys na inicialização do Gnome:
Vá em Sistema/Preferências/Sessões
Na guia Programas Iniciais, clique em Adicionar, e preencha os campos:
Nome: hotkeys
Comando: hotkeys -Z
Clique em OK, e depois em Fechar
6. Crie o arquivo de comandos para o MPlayer:
mkfifo ~/.mplayer/comandosMplayer
7. Altere o arquivo de configurações do mplayer, e adicione a seguinte linha:
input=file=/home/thomas/.mplayer/comandosMplayer
alterando o "thomas" para o nome de seu usuário. Isso irá fazer com que o MPlayer utilize este arquivo, que foi criado com o comando mkfifo, para aceitar comandos, como play, pause...

8. Salve o código aí de cima no arquivo /usr/bin/tecladoMultimidia.sh e dê permissão de execução:
sudo gedit /usr/bin/tecladoMultimidia.sh
(cole o conteúdo)
sudo chmod +x /usr/bin/tecladoMultimidia.sh
9. Pronto. Agora é só reiniciar o computador, ou iniciar o hotkeys manualmente, digitando em um terminal:
hotkeys -Z
Qualquer problema com o script, apenas altere-o, ou deixe um comentário aqui.

0 comentários: