Teclas multimedia

bueno, esto es otra clonada mas, pero esta bueno ^_^

Teclas multimedia

De Guía Ubuntu

Bueno, ya conseguí darle utilidad a las teclitas multimedia. Ahora solo me queda hacer funcionar mi escaner paralelo para no tener que usar más otros sistemas operativos; pero eso será otra historia. Os cuento cómo lo he hecho en SuSE 9.0, aunque en teoría debería funcionar para cualquier distribución.

Introducción

Las teclas multimedia que traen los nuevos teclados aunque no funcionen puede que estén mapeadas para XFree y por tanto darles "vida" en nuestro ordenador con Linux.

Bueno os cuento cómo lo he hecho. Si el mapeado de los botoncitos del teclado está hecho entonces es muy fácil.

Cada tecla si está mapeada está asociada a un keycode. Demostración:

  • Abre consola
  • Teclea xev
  • Pulsa intro

y por ejemplo teclea la a y verás que sale lo siguiente:

KeyPress event, serial 25, synthetic NO, window 0x3400001,
root 0x49, subw 0x0, time 600363, (-505,135), root:(163,367),
state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: "a"

KeyRelease event, serial 25, synthetic NO, window 0x3400001,
root 0x49, subw 0x0, time 600509, (-505,135), root:(163,367),
state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: "a"

Salen dos "event" o eventos el de apretar y soltar. Se puede ver en la tercera linea que el código asociado a la letra a es "keycode 38".

Si hacemos lo mismo con las teclas multimedia y en consola puedes recoger un keycode, con el método que explico "resucitaremos" las teclas multimedia que en otros sistemas operativos funcionan y en SuSE 9.0 hasta hoy no.


Identificación de KeyCodes de las teclas multimedia

Bueno, pues vamos probando todas las teclas que no nos funcionan y apuntamos sus keycodes para darles después una función. Si alguna no funciona podemos abandonar ya este método, pero si funcionan todas o la mayoría mejor seguimos.

En la consola que tenemos corriendo xev apretamos una por una las teclas multimedia y anotamos su nombre (que viene escrito en el teclado) y su keycode de respuesta que obtenemos en la consola.

Asignación de funciones a las teclas multimedia

Una vez que tengamos nuestra tabla con las teclas multimedia y sus keycodes cerramos la consola.

En principio le vamos a dar un nombre que no coincida con ninguna tecla así que empezamos por F14, y nos vamos a ayudar del programa xmodmap

  • Abrimos consola
  • tecleamos
    xmodmap -e 'keycode 38=F13'
  • le damos a enter.

Bueno esta tecla la a ahora está mapeada como una tecla ficticia que se llama F13, también podríamos haber puesto xmodmap -e 'keycode 38=e' y entonces la tecla pasaría a funcionar como un e.

Esto lo hacemos con tantas teclas como queramos asignarle una función y luego nos vamos a con el ratón al símbolo del menú de KDE y con el botón derecho del ratón hacemos click y elegimos editor de menú. Una vez allí elegimos una aplicación y le asignamos una tecla de acceso rápido a cualquier aplicación.

Nosotros claro, elegiremos una tecla que hayamos mapeado la F13 por ejemplo, y cuando la utilicemos podremos arrancar directamente una aplicación que queramos.

Si queremos darle función a las teclas de navegación de internet en konqueror nos permite asociar también algunas funciones a una tecla, y lo mismo sucede con algunos mezcladores de sonido.

Bonito ¿no?

Solo hay un pequeño problema que una vez que salgamos de la sesión de KDE perdemos el seteo que hemos hecho del teclado. ¡Vaya!, ¿algo se podrá hacer? Pues sí :-)

El método es editar una archivo en home/tucuenta que se llame: .Xmodmap (cuidado con el punto) con el siguiente contenido:

keycode X=F13
keycode Y=F14
keycode Z=F15
keycode K=F16
....

donde X, Y, Z, K, etc. son los keycodes que hemos obtenido de cada una de nuestras teclas multimedia y que tenemos inútiles.

Lo guardamos en /home/tucuenta y abrimos consola, tecleamos

xmodmap .Xmodmap

le damos intro y ya está :-)

Esto hará que cada vez que iniciemos la sesión de GNOME se ponga el setting del teclado que queremos. Ahora sólo tenemos que elegir cualquier programa que nos lo permita le asociamos a una función que queramos y listo.

==================================================================

Aquellos que hayáis visto el manual para configurar un ratón Logitech MX5XX con nautilus recordaréis que os comenté la gran potencia de un pequeño programa llamado xbindkeys.

Este es el programa que vamos a volver a usar para poder usar esas teclas multimedia con nuestro reproductor. Para ello os voy a mostrar dos formas de hacerlo, una mediante consola y una pequeña utilidad, y otra mediante un interfaz gráfico. En vuestra mano está probar uno u otro.

Primer método

Necesitaréis tener instalado -si no lo tenéis ya- xbindkeys, así que los que no lo tengan…

$ sudo aptitude install xbindkeys

Ahora tenemos que generar un fichero de configuración llamado .xbindkeysrc en vuestra carpeta personal. Este paso no lo hagáis aquelos que ya lo tengáis. Comprobadlo abriendo nautilus, os colocáis en vuestra carpeta personal, pulsad Ctrl+H para mostrar los archivos ocultos y ahora buscadlo. Los que no lo tengan ejecutad lo siguiente en consola:

$ xbindkeys --defaults > /home/tu_carpeta/.xbindkeysrc

Ahora que todos tenemos ese archivo abridlo con el gedit. Doble click sobre el archivo o mediante consola:

$ gedit /home/tu_carpeta/.xbindkeysrc

En el fondo da igual donde metamos la configuración, pero para seguir un orden en el fichero colocaros al final pero antes de “End of xbindkeys configuration” y agregad lo siguiente:

#xmms play/pause
“xmms -t”

La primera línea es un comentario, es para que sepamos qué es lo que hace lo que tenemos debajo. La siguiente es una orden a xmms. El “-t” indica a xmms que reproduzca la canción actual, la pause o la despause. Incluso si el xmms no está abierto, se abrirá y reproducirá automáticamente. Podéis ver el resto de argumentos (el -t) viendo la documentación. Aquí os diré los cuator más usados, que son los que asignaremos a las teclas. Si queréis añadir alguno más o modificarlo, mirad la documentación. Escribid en consola:

$ man xmms

De hecho si escribís en consola “xmms -t” automáticamente se pausará o reproducirá vuestro xmms.

Tras esto, lo siguiente que vamos a hacer es averiguar el código que tiene cada tecla en cuestión. Abrid una consola y escribid:

$ xbindkeys -k

Se os abrirá una pequeña ventanita blanca. Tened presente ambas, seleccionad la blanca (si no lo está) y pulsad una de las teclas, por ejemplo la de “play/pause”. Os saldrá algo parecido a esto:

"NoCommand"
m:0×10 + c:162
Mod2 + XF86AudioNext

De todo eso lo único que nos interesa es la línea central “m:0×10 + c:162″. Copiad esa línea justo debajo de “xmms -t”, de tal forma que en definitiva nos algo como esto:

#xmms play/pause
“xmms -t”
m:0×10 + c:162

Ahora habría que repetir el proceso de capturar la tecla de stop, anterior canción y siguiente canción. Los argumentos que necesitáis son en ese mismo orden: -s, -r, -f. Al final os quedará algo tal que así:

#xmms anterior
“xmms -r”
m:0×10 + c:144

#xmms siguiente
“xmms -f”
m:0×10 + c:153

#xmms play/pause
“xmms -t”
m:0×10 + c:162

#xmms stop
“xmms -s”
m:0×10 + c:164

Ya está todo. Lo único que tenéis que hacer para que lo probéis es ejecutar xbindkeys. Escribid en consola:

$ xbindkeys

Probadlo, debería iros bien. Si no fuera vuestro caso puede que la tecla esté siendo capturada por GNOME. Id a Sistema > Preferencias > Combinaciones de teclas. En la secciónd e Sonido pinchad una a una sobre todas y pulsad la tecla backspace. Las únicas que debéis de dejar intactas son la de silenciar bajar volumen y subir volumen. Ahora no deberíais tener problemas.

Lo único que os queda es que se ejecute siempre xbindkeys para que no tengáis que escribirlo siempre que abráis una sesión. Id a Sistemas > Preferencias > Sesiones. En la pestaña “Programas de inicio” dadle a nuevo y escribid “xbindkeys” en el nombre y comando. Obviamente los que ya tengan esta entrada de antes no tienen que meter una nueva.

Segundo método

En este método vamos a usar también xbindkeys, pero nos vamos a ayudar de una pequeña interfaz gráfica para configurar las teclas, así que tendremos que instalar ambos:

$ sudo aptitude install xbindkeys xbindkeys-config

Ahora vamos a abrir directamente esa interfaz: Alt+F2 y escribid dentro xbindkeys-config. Os saldrá esta ventana:

Antes de nada vamos a darle al botón “Save & Apply & Exit”. Volved a abrirlo como indiqué antes. Si os saltáis este paso es posible que al hacer lo siguiente se cierre la ventana sóla y no os deje seguir configurando nada.

Ahora vamos a comenzar a añadir las teclas.

  • Dadle al botón “New” y fijaros en la columna derecha.
  • En nombre pondremos “xmms play/pause”
  • Pinchamos el botón “Get Key” y pulsamos la tecla de play/pause
  • En la caja de texto de “Action” escribimos “xmms -t”. La explicación está en el método anterior.
  • Aplicad y probad la tecla

Tras esto os quedará así:

Repetimos los pasos anteriores con las teclas stop (xmms -s), canción anterior (xmms -r) y canción siguiente (xmms -f). Una vez que las tengáis todas dadle al botón “Save & Apply & Exit”.

Probadlo, debería iros bien. Si no fuera vuestro caso puede que la tecla esté siendo capturada por GNOME. Id a Sistema > Preferencias > Combinaciones de teclas. En la secciónd e Sonido pinchad una a una sobre todas y pulsad la tecla backspace. Las únicas que debéis de dejar intactas son la de silenciar bajar volumen y subir volumen. Ahora no deberíais tener problemas.

Lo único que os queda es que se ejecute siempre xbindkeys para que no tengáis que escribirlo siempre que abráis una sesión. Id a Sistemas > Preferencias > Sesiones. En la pestaña “Programas de inicio” dadle a nuevo y escribid “xbindkeys” en el nombre y comando. Obviamente los que ya tengan esta entrada de antes no tienen que meter una nueva.

Con otros reproductores

Esto os debería servir para otros reproductores, tan sólo tenéis que ver con el comando “man” los argumentos que tiene y si es posible hacer esto mismo con ese otro reproductor. Si el reproductor permite su control mediante argumentos, podréis hacerlo igual sin problemas.

===================oo0oo=======================>>

Recomiendo el uso de remoot, este programa controla multiples reproductores de sonido, lo normal al tener teclas multimedias es anclarlo a un solo programa, eso es algo sofocante, que tal si despues queremos usar otro? ahi reside la magia de remot, que trabaja con:

amarok
aqualung
audacious
banshee
beep
bmp
exaile
gmusicbrowser
juk
kaffeine
kmplayer
kscd
listen
moc mpd
mplayer*
noatun*
pytone
quark
quodlibet
rhythmbox
smplayer*
totem
vlc*
xine*
xmms
xmms2

*necesitan un poquito de amor para que trabajen como deven

la pagina de proyecto es: http://remoot.org/ y lo puedes descargar de http://sourceforge.net/project/showfiles.php?group_id=202818 si le tienes miedo a compilar no te preocupes, hay un .deb asi q relax

el truco es simple, en lugar de poner los comandos de tu reproductor, solo pones los de remoot

los comandos soportados son:

  • play
  • pause
  • playpause (cambia entre play y pause)
  • stop
  • next (proxima cancion)
  • prev (anterior track)
  • voldown
  • volup
  • mute
les dejo mi configuracion (utilize xbindkeys)

#play-pause musica
"remoot playpause"
m:0x10 + c:162

#stop musica
"remoot stop"
m:0x10 + c:164

#anterior-pista musica
"remoot prev"
m:0x10 + c:144

#siguiente-pista musica
"remoot next"
m:0x10 + c:153

#subir volumen
"amixer sset Master 5%+"
m:0x10 + c:176

#bajar volumen
"amixer sset Master 5%-"
m:0x10 + c:174

#capturar pantalla
"scrot -d 5 -e 'mv $f ~/Desktop'"
m:0x10 + c:111

como observaron no use remoot para controlar el volumen (pueden variar el porcentaje de subida y usan al final los signos + - para definir si es para subir o bajar el volumen) y use scrot para hacer una captura de pantalla (-d es para el tiempo de retardo mv para mover el archivo y ~/Desktop es la direccion donde sera puesto el archivo)
referencia:

http://www.guia-ubuntu.org/index.php?title=Teclas_multimedia

http://tuxpepino.wordpress.com/2007/05/05/teclas-multimedia-controla-tu-reproductor/#more-116

0 comentarios: