=-[ 0x09 ]-==================================================================
=-[ NetSearch Ezine #8 ]-====================================================
=-[ Teclados Multimedia bajo Linux (Configuracion) ]-========================
=-[ por BlooDBaTh ]-=========================================================
Bueno en este documento vamos a tratar de explicar como nos lo podemos apa?
para poder utilizar esas fantasticas teclas que tiene nuestro teclado
multimedia y que por desgracia en linux no tienen mucha funcion, bueno pues a
partir de ahora si que lo tendran.
Existen varios metodos para conseguir configurar estas teclas, pero
basicamente se puede decir que hay dos el llamado "a pelo" y el que utiliza
algun programilla, nosotros empezaremos por lo facil.
Para la configuracion de las teclas multimedia nosotros vamos a utilizar un
programa llamado lineak el cual te lo puedes bajar de
http://lineak.sourceforge.net, es un programa muy sencillo de utilizar.
Para los que vayan algo mas escasos en conocimientos de linux empezaremos por
lo basico:
Os vais a la pagina del lineak y os bajais los sources, en tar.gz o los q
useis Debian tambien estan en .deb.
El siguiente paso es descomprimirlo e instalarlo:
tar zxfv <nombre del source>
Esto crea un directorio ahora solo debemos entrar en el he instalar el lineak
ejecutando make y make install, el make install es necesario hacerlo como
root.
Los usuarios de debian lo tiene mas facil solo ejecutar apt-get install
lineakd y solucionado.
El lineak ya tiene soportados muchos de los teclados del mercado, por lo que
el siguiente paso es mira si el nuestro lo esta para ello ejecutamos;
# lineak -l
lo que mostrara un lista con los teclado soportados de la siguiente forma;
LinEAK v0.4pre3 -- supported keyboards:
[TYPE] [Full name]
CEAK8 Compaq Easy Access Keyboard (8 keys)
CIK18g Compaq Internet Keyboard (18 keys, grey)
CIK18b Compaq Internet Keyboard (18 keys, blue)
CIK13 Compaq Internet Keyboard (13 keys)
CiP Compaq iPaq Keyboard (7 keys)
MNKpro Microsoft Natural Keyboard Pro
MIK Microsoft Internet Keyboard
MIKpro Microsoft Internet Keyboard Pro
MIKproSE Microsoft Internet Keyboard Pro, Swedish
MOK Microsoft Office Keyboard
LTCD Logitech Cordless Desktop
LTCDP Logitech Cordless Desktop Pro
LTCDPa Logitech Cordless Desktop Pro (alternate option)
LTCDO Logitech Cordless Desktop Optical
y muchos mas.
Puede pasar dos cosas, que el nuestro salga o que no salga jeje, si no sale
lo que debemos hacer es conseguir que salga definiendo un perfil especifico
para el nuestro de la siguiente manera.
Lo primero que debemos hacer es apuntar el "KeyCode" que produce cada una de
las teclas al ser pulsadas, esto lo haremos con el programa xev, que lo que
hace es mostrar por pantalla lo que sucede al pulsar una tecla, asi que
ejecutamos el xev y pulsamos una tecla esto producira una salida por
pantalla;
KeyRelease event, serial 24, synthetic NO, window 0x1a00001,
root 0x6f, subw 0x0, time 2148164406, (179,33), root:(228,98),
state 0x10, keycode 232 (keysym 0x1008ff04, (no name)), same_screen
YES,
XLookupString gives 0 characters: ""
asi el keycode para la tecla pulsada sera 232. Bueno pues eso lo repetimos
para todas las teclas.
Una vez apuntado todo, editaremos el archivo "/usr/local/etc/lineakkb.def " y
a?remos al final de este una lineas como estas;
# Inicio del perfil del teclado
[Identificador_del_teclado]
brandname = "La_Marca"
modelname = "El_Modelo"
[KEYS]
tecla0 = xxx
tecla1 = xxx
tecla2 = xxx
tecla3 = xxx
tecla4 = xxx
tecla5 = xxx
tecla6 = xxx
tecla7 = xxx
tecla8 = xxx
tecla9 = xxx
[END KEYS]
[END Identificador_del_teclado]
# Fin del perfil del teclado
Bueno ahora solo sustituye cada cosa y te quedara algo asi;
# Inicio Tech iKeyWorks
[TECH]
brandname = "iKeyWorks"
odelname = "KB-7"
[KEYS]
Mute = 160
MountCD = 223
Volumen- = 174
Volumen+ = 176
Inicio = 162
Alto = 164
Revobinar = 144
Adelantar = 153
EjectCD = 237
Terminal = 235
[END KEYS]
[END TECH]
# Fin Tech iKeyWorks
Guardamos y salimos del archivo, comprobamos que nuestro teclado ahora si que
sale en la lista de teclados soportados con el lineak -l, y como seguro que
lo hemos hecho todo bien y seguro que sale ahora solo nos queda crear el
fichero de configuracion. Este archivo se creara en "/home/usuario/.lineak" y
para crearlo solo debemos ejecutar;
lineakd -c "Identificador del teclado"
Esto creara el archivo "lineakd.conf" el cual sera algo asi;
# LinEAK Configuration file for La_Marca El_Modelo
# Global settings
KeyboardType = TECH
CdromDevice = /dev/cdrom
MixerDevice = /dev/mixer
# Specific keys of your keyboard
tecla0 = "Funcion"
tecla1 = "Funcion"
tecla2 = "Funcion "
tecla3 = "Funcion"
tecla4 = "Funcion"
tecla5 = "Funcion"
tecla6 = "Funcion"
tecla7 = "Funcion"
tecla8 = "Funcion"
tecla9 = "Funcion"
# end lineakd.conf
Ahora solo debemos poner en cada tecla la funcion que queremos que realice y
por ultimo y para no tener que estar cargando el archivo cada vez que
iniciamos, es conveniente agregar en el archivo de inicio de las X (en el
.xsession, xinitrc. depende del windowmanager que utilices) las siguiente
linea '/usr/local/bin/lineakd -b', reiniciamos las X y con esto todo deberia
funcionar de maravilla. Si te queda alguna duda siempre puedes mirar la
documentacion XD.
Bueno decir tambien que existe un lineakconfig q es un GTK+ GUI que resulta
muy facil de usar, y tambien hay una version klineakconfig para el KDE. Todas
estan disponibles en la pagina web.
Como ya dijimos anteriormente existe otras formas y algun que otro programa
para configurar las teclas por ejemplo el blinkkey o el hotkey son programas
parecidos al lineak. Tambien existe otro forma mas "rudimentaria" digamos,
que consiste en modificar el mapa del teclado. Para ello, hay que hacer lo
siguiente;
Para configurar las teclas especiales en la consola con el paquete especifico
de Debian "console-common" (no se en otras distribuciones cual sera el
paquete de gestion del teclado "kbd"), pero bueno por lo menos aqui teneis
como hacerlo en debian.
Para empezar hay que apuntar los keycodes de todas las teclas, para ello
debeis utilizar el comando showkey de la siguiente forma;
# showkey -s
Y obtendreis una salida por tecladom, algo como esto:
0xe0 0x02 0xe0 0x82
0xe0 0x6c 0xe0 0xec
0xe0 0x65 0xe0 0xe5
Lo cual significa:
Tecla1 = e002
Tecla2 = e06c
Tecla3 = e065
Para que el sistema reconozca estos codigo de tecla ejecutar los comandos:
# setkeycodes e002 120
# setkeycodes e06c 121
# setkeycodes e065 122
Ahora ya tenemos los keycodes de cada tecla, con esto iremos a codificar la
mapa del teclado;
Descomprimimos el archivo keymaps/i386/qwerty/es.kmap.gz
# gunzip es.kmap.gz
Editarlo, a?endo las lineas (para mas teclas de funcion _libres_ consultar
el actual mapa del teclado que teneis cargado en
"file:/etc/console/boottime.kmap.gz"):
include "windowkeys"
keycode 120 = F37
keycode 121 = F38
keycode 122 = F39
string F37 = "ls\n"
string F38 = "mail\n"
string F39 = "mc\n"
Guardais y comprimirlo;
# gzip -c9 es.kmap >es.kmap.gz
Ahora lo cargais y probar que las teclas vayan bien;
# loadkeys es.kmap.gz
Si todo va bien, hagamos que la configuracion sea definitiva:
La mejor opcion sera modificar el script init.d correspondiente a la tarea de
carga del mapa del teclado, editad el fichero "/etc/init.d/keymap.sh":
if [ -r ${CONFDIR}/${CONFFILEROOT}.${EXT}.gz ] ; then
setkeycodes e002 120
setkeycodes e06c 121
setkeycodes e065 122
loadkeys ${CONFDIR}/${CONFFILEROOT}.${EXT}.gz
fi
Ahora para a que se regenere el mapa del teclado que se cargara durante la
arrancada, ejecutad el comando:
# install-keymap es.kmap
Y esto es todo espero que os haya servido el documento q disfruteis de
vuestro teclado.
BlooDBaTh
0x00
![[logo]](http://www.yoire.com/downloads/cache/s/1ff0d59207cb4e8898ec63621a11b545.jpg)