domingo, 20 de diciembre de 2015

Remapear teclas en Ubuntu 14.04, 15.10 y derivados debian

Nota 1: Este manual sólo es aplicable a Ubuntu 14.04 derivados y superiores ejemplo Ubuntu 15.10, Ubuntu 16.04, y derivados debian de esas fechas, puesto que se usa desde allí una herramienta que se llama xkb(0).

Nota 2: Si usted lo quiere aplicar en algún otro linux debe tomar los principios y ver donde están los archivos o cambios de acuerdo a otras distribuciones (pero debe usar xkb el sistema operativo)

Nota 2: Este manual lo hice en UbuntuStudio 15.10 de 32 bits el cual es un derivado oficial de Ubuntu.

QUÉ TECLAS QUIERO REMAPEAR

Tengo un teclado externo Logitech K400r(1) que es increible. Le tomé esta foto, ya está algo viejito

pero para usar las teclas AvPag y RePag (Avanzar y Regresar una página respectivamente)(2) hay que aplastar primero la tecla "Fn" que está al lado izquiero junto a "Ctrl" (de la imágen de arriba) y me hubiera gustado que tuviera dos teclas a la derecha con AvPag y RePag  como en otros teclados pero no tiene.

Así que me dí cuenta que  Logitech K400r tiene al lado de "Entrar" dos teclas que yo nunca uso (este teclado, digo porque hay otros del mismo modelo que para otros paises tienen otras teclas), mire la siguiente imagen:



Esas son las que quiero Remapear entonces para saber el código de la tecla me basé en este dibujo:


Key Code Naming Conventions(3)


Así las he enumerado a ver hasta donde en mi teclado están las dos teclas que quiero:


pero sólo hay hasta AC11 (luego veremos cómo lo resolví)


QUE NOMBRES TIENEN ESAS TECLAS EN LA LINEA DE COMANDOS
Para saber esto hay que usar una herramienta que se llama xev (4), poner ese comando en una terminal

xev

aplastar "Enter"(mantenga el cursor dentro de la terminal) y en este caso mío de este teclado yo tengo que aplastar los atajos de teclado: "Fn+RePag" y "Fn+AvPag".

La siguiente imágen es para obtener RePág (Regresar una Página) aplastando (esto sólo para mi teclado, en el suyo tal vez no tenga que aplastar "Fn"):

"Fn+RePág"



Obtengo que se llama "Prior", e hice lo mismo para "Fn+AvPág" y se llama "Next"

También hago lo mismo con las teclas a las que quiero remapear y se llaman "braceleft" y "braceright":




Ahora, según el manual de fascinatigcaptain.com(el cual es para cambiar las teclas F1 a F12)(5) he ingresado a /usr/share/X11/xkb/symbols/ pero no ha modificar el archivo que el dice (es decir no me funcionan sus explicaciones como yo necesito), así que mejor tomo los principios y los adapto a mis necesidades y lo mejoro

Lo que yo he hecho es buscar allí el archivo para mi idioma y para hacerlo me guié en el "Teclado", en el "Administrador de Configuración":



Antes de nada desmarcar la casilla:"Usar opciones predeterminadas del sistema"(esto es muy importante):



Allí di clic en la pestaña "Distribución" y en el botón "Añadir":



Allí busco mi distribución, la cual es "Español (latinoamericano)"



allí me doy cuenta de que por todo tiene cuatro opciones:

Español (latinoamericano)
Español (latinoamericano, eliminar teclas muertas)
Español (latinoamericano, incluir tilde muerta)
Español (latinoamericano, teclas muertas de Sun)

Ahora poner en la terminal el siguiente comando:

sudo thunar /usr/share/X11/xkb/symbols/

Nota: Puede reemplazar thunar con otro administrador de archivos como dolphin, nautilus. Ah, tenga cuidado, no borre ningun archivo o carpeta después vaya a dañar su Sistema Operativo pues tiene los privilegios elevados por el sudo.

Allí abrí con doble clic (o clic derecho abrir con) con el gedit el archivo latam:



y lo abrí y si tenía esas cuatro opciones. Eso se encuentra en"name[Group1]=":



como usted podrá observar está en inglés no en español, esto pues el sistema operativo lo traduce automáticamente cuando se muestra en el GUI (interfáz gráfica de usuario)



y la última línea:



Entonces a ese archivo le he dado clic derecho y copiar y pegar allí mismo creandose una copia:




A MODIFICAR 

Ahora si como ya tengo una copia de respaldo puedo modificar el original para remapear las teclas que yo quiero, esto es para la primera opción "Español (latinoamericano)"

Allí al archivo que tego abierto "latam" le he modificado esto:

    key <AC11> { [ braceleft, bracketleft, dead_circumflex, braceleft] };

con esto:

    key <AC11> { [Prior] };

Porque quiero que en esa tecla quede "RePág". Mire estas imagenes

ANTES:



DESPUÉS:




La tecla que me faltaba

Ahora ¿cómo supe cómo se llamaba la otra tecla si no está presente?, bueno pues con prueba y error (con tal tengo mi archivo de respaldo).

Al principio yo había añadido esta linea debajo de AC11: key <AC12> { [Next] };  pues pensé que funcionaría, pero al reiniciar la PC no pasó nada, pero viendo el mapa "Key Code Naming Conventions" pensé que podría ser la que está más a la derecha:



la que se llama "FTRN" pero no, pues reinicié y no era, así que probé con "BKSL" reinicié y esa era, y listo tengo horita mis dos teclas remapeadas, esto para mi es muy util para la ergonomía pues cuando navego puedo hacerlo con una mano casi todo cuando busco algo. Ah, por cierto, luego me dí cuenta que en la otra tecla que me faltaba está la palabra "braceright" (aunque esta repetida) la misma que aparecía en la terminal con xev

Aquí pongo las imágenes:

ANTES:



DESPUÉS

borre y escriba así



Por cierto, antes de terminal el tutorial, si ustedes usan una de las otras tres opciones que faltan:

Español (latinoamericano, eliminar teclas muertas)
Español (latinoamericano, incluir tilde muerta)
Español (latinoamericano, teclas muertas de Sun)

deben añadir eso en esas lineas, si no hay las ponen (Nota: Están desordenadas estas opciones en el archivo).

Y si están en España, el archivo se llama "es", aquí les dejo una imágen por un caso alguna confusión:



Ahora lo guardo al archivo, y pongo esto en la terminal para cargar los cambios(6):

sudo dpkg-reconfigure xkb-data

Debería funcionarle con eso, y si no reinicie la PC


Pero suponiendo que no la solución es borrar la distribución que tengan, pero si sólo tienen una deberán añadir la misma y entonces borrar la anterior:








Dios les bendiga.


REFERENCIAS:
(0) xorg - How do I remap certain keys or devices? - Ask Ubuntu http://askubuntu.com/questions/24916/how-do-i-remap-certain-keys-or-devices
(1) Logitech® Wireless Touch Keyboard k400 http://www.logitech.com/es-es/product/wireless-touch-keyboard-k400r
(2) Para que sirve las teclas de mi laptop AV PAG ; FIN ; RE PAG https://mx.answers.yahoo.com/question/index?qid=20100625154442AAzccJu
(3) XKB Configuration Files http://www.charvolant.org/~doug/xkb/html/node5.html#SECTION00053530000000000000
(4) How can I remap keyboard keys? - Ask Ubuntu http://askubuntu.com/questions/296155/how-can-i-remap-keyboard-keys
(5) Remap keyboard keys for Ubuntu | Fascinating Captain
http://www.fascinatingcaptain.com/howto/remap-keyboard-keys-for-ubuntu/
(6) Custom keyboard layout definitions - Community Help Wiki
https://help.ubuntu.com/community/Custom%20keyboard%20layout%20definitions?action=show&redirect=Howto:+Custom+keyboard+layout+definitions
(Extra) Create your own personal keyboard layout
http://ubuntuforums.org/showthread.php?t=188761


No hay comentarios.:

Publicar un comentario