jueves, 10 de agosto de 2017

Remapear teclas en Ubuntu 14.04 a 17.04 (cambiar teclas por otras)

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

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)



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





 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 (Page Up)y RePag(Page Down) 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:




Cuando presiono la que está a la izquierda aparece: {

cuando presiono la que está a la derecha aparece: }

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". También observar el número del "keycode". 


Los resultados (para mi) de xev los copiaré aquí, a continuación he hecho una imagen para mejor comprensión:




Esto significa que:








CÓMO SABER EL CÓDIGO DE LA TECLA QUE YO QUIERO 


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



Key Code Naming Conventions(3)

Aquí un zoom para ver mejor:














Ahora comparo con mi teclado y enumero la fila de las teclas que yo quiero:




Nota: La linea que yo quiero solo se puede enumerar hasta el 11 según "Key Code Naming Conventions", si se da cuenta que allí arriba dice "<AC11>". Esto indica que mi teclado tiene una tecla más en ese lado.


De acuerdo a la enumeración de mi teclado en esa linea hasta el 11, tengo que esa llave izquierda (braceleft) = <AC11>


Aquí pongo una imágen para mayor comprensión:





pero me falta saber el código de la otra tecla.



DESCARGAR EL MAPA DEL TECLADO PARA ENCONTRAR EL CÓDIGO DE TODAS LAS TECLAS


Para encontrar la tecla que me falta debo descargar todo el mapa del teclado (3.1), poniendo en la terminal 



xkbcomp $DISPLAY out.xkb
Esto le creará en archivo en su HOME con el nombre:

out.xkb


Dele clic derecho y ábralo con algún editor de texto:




Allí debo buscar en mi caso el "keycode 51":




Entonces allí obtengo el resultado:


<BKSL>


es el código que me falta. Resultados:






CÓMO REMAPEAR LAS TECLAS DEL TECLADO

Ahora, lo siguiente es una adaptación para Ubuntu según el manual de fascinatigcaptain.com
(5(el cual es para cambiar las teclas F1 hasta F12 con otras teclas)


Lo siento mucho usuario que me lees pero estas configuraciones las he hecho en mi UbuntuStudio 17.04 y usaré esas capturas de pantalla, en el derivado de Ubuntu que usted use sea Kubuntu, Gnome Ubuntu, Xubuntu, Lubuntu, etc, u otro derivado como Linux Mint, etc, y otro linux, usted deberá adaptarse a los principios aquí explicados, pues deben ser en algo parecidos 


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




También puede buscarlo (si es que su sistema operativo tiene cómo hacerlo):






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)" (este lo elegí yo al instalar mi sistema operativo pues yo soy de Ecuador, para usted según el país donde vive)




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í le doy clic derecho en copiar y luego en pegar para crear una copia (respaldo)luego lo abro con con el gedit u otro editor de textos, al archivo latam para mi pais donde vivo:


latam = Español (latinoamericano)






CÓMO SABER EL NOMBRE DEL ARCHIVO QUE ESTÁ USANDO EN SU PAÍS

Ponga en la terminal este comando (5.1):


setxkbmap -query

y esto me devuelve la terminal:


como ve, allí está en layout: latam


CÓMO VER EL MAPA DEL TECLADO

Debes de instalar:

sudo apt install gkbd-capplet

luego poner en la terminal(en mi caso, usted debe poner según su país):

gkbd-keyboard-display -l latam

Esto me devuelve a mi 

Nota: No se pueden ver bien las letras tan chiquitas, deberá de copiar el teclado y pegarlo al gimp para hacerle un zoom, o capturarlo en el shutter y hacerle un zoom, o verlo en algún otro visor de imagen luego de haberlo capturado y guardado como imagen

Sólo que me disculpará, este ya lo tengo cambiado a las teclas como quería que quedaran. Disculpe.


CONTINUEMOS

y lo abrí al archivo latam y la primer opcion es:

name[Group1]="Spanish (Latin American)";




que es la opción de mi teclado en uso


A MODIFICAR LA PRIMER TECLA <AC11>


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] };


por esto:


    key <AC11> { [Prior] };


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


ANTES:




DESPUÉS:





LA SIGUIENTE TECLA <BKSL>


He modificado esto:


    key <BKSL> { [braceright, bracketright, dead_grave,   braceright ] };


por esto:


    
 key <BKSL> { [Next] };


Porque quiero que en esa tecla quede "AvPág" = Next. Mire estas imagenes


ANTES:




DESPUÉS


borre y escriba así




Ahora si guarde.


Reiniciar xkb


Ahora ya guardado pongo esto en la terminal para cargar los cambios(6):



sudo dpkg-reconfigure xkb-data

y luego reinicie la PC.



Suponiendo que no funcione


Pero suponiendo que no funcione la solución es borrar la distribución de teclado que tengan, y volver a añadir la misma y entonces borrar la anterior:









ENTENDIMIENTOS, CONTRASTES, ADAPTACIONES


Por cierto, antes de terminal el tutorial, si ustedes usan otra distribución de idioma con algún teclado en especial, e
jemplo, si están en España, el archivo se llama "es":





y ahora abriendo ese archivo verán aquí allí hay como poner al teclado en catalán:




y también se puede escoger para una PC Macintosh.



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
(3.1) Debugging XKB
https://wiki.archlinux.org/index.php/X_KeyBoard_extension#Debugging_XKB
(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/
(5.1) Onscreen keyboard? (like OSX's Keyboard Viewer) - Ask Ubuntu
https://askubuntu.com/questions/59767/onscreen-keyboard-like-osxs-keyboard-viewer
(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

Consultas Extra 

Create your own personal keyboard layout
http://ubuntuforums.org/showthread.php?t=188761
XKB
https://www.x.org/wiki/XKB/
A simple, humble but comprehensive guide to XKB for linux
https://medium.com/@damko/a-simple-humble-but-comprehensive-guide-to-xkb-for-linux-6f1ad5e13450

No hay comentarios.:

Publicar un comentario