Usando Lineakd


Autor: Augusto Sotelo L.



Este pequeño documento pretende ayudarte en la configuración de las teclas adicionales que traen los nuevos teclados de hoy en día . Para este proposito usamos un programa llamado lineak que funciona bajo consola.

Obviamente lo primero que debes hacer es conseguirte el programa lineak, el cual puedes bajar de http://lineak.sourceforge.net/ .
Ahora me limitaré a guiarte paso a paso, pero muy brevemente en la instalación de este programa. Si necesitas más detalles sobre la instalación del programa la podrás encontrar sin lugar a dudas en su website el cual mencioné hace un par de líneas atrás.

Bueno supondré que te haz bajado el source, osea las fuentes del programa, lo que significa que debemos proceder a compilarlas, entonces para esto hacemos:

  $ tar zxfv lineakd-0.4pre3.tar.gz

Esto nos creará un directorio llamado lineakd-0.4pre3, dentro de este directorio debemos teclear un par de comandos en forma consecutiva, los cuales serían estos:

  $ cd lineakd-0.4pre3
  $ ./configure
  $ make
  $ su                 ( Al teclear "su" nos pedirá una password, entonces nosotros tecleamos la password de root y luego pasamos al siguiente comando )
  # make install

Una vez realizado esto ya deberíamos tener totalmente funcional lineak. Si no es asi porfavor ve a http://lineak.sourceforge.net/ y lee la documentación respectiva.

NOTA: Siempre es recomendable leer la documentación respectiva para poder tener una mayor visión de lo que se está haciendo, asi que, les recomiendo que por costumbre se lean la documentación de los programas que vayan instalando en su sitema operativo.

Lo que sigue es ver si nuestro programa a quedado bien instalado, esto lo podemos comprobar tecleando lo siguiente:

# lineakd -l

lo que deberia generar una salida mas o menos así:

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
 LTCDiT         Logitech Cordless Desktop iTouch
 LTIK               Logitech Internet Keyboard
 LTDAK          Logitech Deluxe Access Keyboard
 LTiTC            Logitech iTouch Cordless Keyboard (model Y-RB6)
..... y así hasta el final ......................

Como deducirás este comando lo que hace es mostrarnos los teclados soportados que posee el programa lineakd, entonces lo que debes hacer es proceder a ver si tu teclado está soportado. Si lo está debes ejecutar el siguiente comando suponiendo que tienes un teclado "   LTCDiT         Logitech Cordless Desktop iTouch " :

 # lineakd -c LTCDiT

Con esto habrás generado un archivo llamado "lineakd.conf" que se encuentra en /home/usuario/.lineak/ el cual podrás proceder a editar para darle una función determinada a cada tecla.

Ahora si tu keyboard no está en la lista de " supported keyboards " debemos crear el perfil de tu teclado para posteriormete aparezca en la lista de teclados soportados y así poder darle una función a cada tecla .

Entonces lo primero que debemos hacer es anotar el "keycode" da cada tecla a la que queramos darle una función determinada, esto se logra utilizando un programa llamado " xev ". Lo que este programa hace es estar en modo "escucha", osea que si presionamos una tecla cuando este se está ejecutando el programa nos entrega datos, los cuales se verían así:

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:  ""

Si te fijas e subrayado el numero "232", que es el que a nosotros nos interesa ( el keycode como mencionaba anteriormente ). Como haz de suponer lo que debes hacer es ir anotando el keycode de cada una de las teclas a las que quieras darle una función determinada. Con los keycode de cada tecla procederemos a crear el nuevo perfíl editando el archivo " /usr/local/etc/lineakkb.def " y agregando al final unas líneas 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 [ 10 teclas ]

Ahora lo que debes hacer es ir reemplazando, osea:

Identificador_del_teclado = El nombre que aparecerá en la lista de teclados soportados una vez que terminemos con el nuevo perfíl.
La_Marca                          = La marca de tu teclado.
El_Modelo                         = El modelo de tu teclado.
teclaX                                 = El nombre de la función que le quieres dar a tu tecla
xxx                                      = El correspondiente keycode de la tecla. 

Una vez que tengas reemplazados correctamente los valores procedemos a guardar los cambios. Una vez que los cambios estén hechos el perfíl debería verse mas o menos así:

# Inicio Tech iKeyWorks
   
[TECH]
 brandname = "iKeyWorks"
 modelname = "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  [10 keys]

Bueno una vez agregado el perfíl y guardado estará todo listo para poder darle la función específica a cada tecla, entonces debemos asegurarnos de que nuestro teclado aprece en la lista de teclados soportados por lineak para lo que tecleamos nuevamente el siguiente comando:

# lineakd -l

el cual genera la salida de teclados soportados y entre los cuales debería estar nuestro teclado. Si nuestro teclado NO aparece en la lista de keyboard soportados deberás volver a releer este documento y ver que fué lo que hiciste mal ;D .

Ahora procederemos a crear el archivo "lineakd.conf" que se ubicará en /home/usuario/.lineak/ ( si estas como root el directorio sería /root/.lineak/ ) con el siguiente comando:

# lineakd -c Identificador_del_teclado

Luego debemos editar el archivo creado y darle la función que nosotros deseemos a cada tecla. El aspecto de este es mas o menos así:

# LinEAK Configuration file for La_Marca El_Modelo

# Global settings
KeyboardType            = TECH
CdromDevice             = /dev/cdrom
MixerDevice              = /dev/mixer

# Specific keys of your keyboard

tecla0       = "Función"
tecla1       = "Función"
tecla2       = "Función "
tecla3       = "Función"
tecla4       = "Función"
tecla5       = "Función"
tecla6       = "Función"
tecla7       = "Función"
tecla8       = "Función"
tecla9       = "Función"

# end lineakd.conf
 
Entonces obviamente lo que tú debes hacer es cambiar "Función" por el comando que decees que se ejecute en el momento que presiones la tecla. Luego de realizar los cambios has de guardarlos y agregar la linea '/usr/local/bin/lineakd -b' en ~/.xsession. En mi caso yo lo agregué en el archivo  ~/.xinitrc , ya que, yo uso blackbox, pero tú haz de acomodarte de acuerdo al window manager que uses.

Finalmente lo único que os queda por hacer es reiniciar X y las teclas ya deberían estas completamente funcionales. Si NO es el caso vas a tener que volver a leer este documento y ver que hiciste mal :D .

Con todo lo anteriormente escrito bien realizado ya podemos comenzar a utilizar nuestro teclado en su totalidad. Si tienes alguna duda o aporte que hacer para que este documento sea más explicativo porfavor hazmelo saber. Mi intención no es explicar la compilación de las fuentes de un archivo.tar.gz o la utilización de los comandos tar, xev, lineakd en su totalidad o de algún otro comando que haya usado aquí, si tienes alguna duda respecto al uso de alguno usa los comandos utiliza man, info, apropos, less FAQ, busca en /usr/src/linux/ Documentation/ o visita http://lineak.sourceforge.net/index.php?nav=docs .