Remapeo de Teclas en Ubuntu 18.04

OchoML

Lanero Regular
31 Ene 2021
2
Buenas tardes, escribo este post previamente leyendo e intentando seguir las instrucciones de un usuario que tuvo un problema muy similar al mío. Dicho post es https://www.laneros.com/temas/remapeo-de-teclas-en-ubuntu-18-04.236773/

En mí caso lo que necesito es cambiar la tecla <Fn> y <Ctrl> (ambos de la izquierda del teclado) entre sí, esto es porqué como verán en la foto que adjunto, no tiene sentido alguno donde está ubicado el ctrl, y resulta incomodísimo.

Basándome en lo dicho por Birkoff, y cito:

Buenas Noches Comunidad, les cuento que solucione el problema que tenia con la barra espaciadora, gracias a el grupo de Ubuntu Venezuela a traves de Telegram
la solucion es muy sencilla y la voy a explicar aqui, por si alguien tiene el mismo problema luego
primero que nada deben tener configurado correctamente el teclado, es decir que corresponda el instalado con el que tenga, la pc/laptop
de no ser asi entonces deben identificar el teclado con el comando, en el terminal (ctrl+alt+t) xmodmap -pke alli veran que clave esta asignada a cada tecla.
posteriormente con permisos de super usuario, deben ir a la carpeta usr/share/x11/xkx/symbol y editar el archivo pc con el comando sudo gedit pc
ahi veras las teclas y la accion que ocurre al presionarlas, lo que debes hacer basicamente es copiar lo que esta entre llaves y corchete de la tecla a reasignar y suplantarla
a la tecla nueva es decir ejemplo. si quiero cambiar la barra espaciadora busco la tecla space copio la parte entre llaves y corchetes y me voy a la tecla donde la voy a reasignar ejemplo shift derecho y alli copio lo anterior le damos guardar y salir
para que el cambio sea permanente tenemos que limpiar el cache eso lo realizamos desde el terminal con el siguiente comando
sudo rm -rf-/var/lib/xkb/*
reinicias y listo

Seguí sus pasos al pie de la letra, pero se ve que estoy haciendo algo mal en el momento de editar el archivo 'pc':
deben ir a la carpeta usr/share/x11/xkx/symbol y editar el archivo pc con el comando sudo gedit pc

O al menos supongo que es eso lo que estoy haciendo mal.

Les adjunto el archivo virgen de como tengo mapeadas las teclas (archivo 'pc' mencionado previamente)

default partial alphanumeric_keys modifier_keys
xkb_symbols "pc105" {

key <ESC> { [ Escape ] };

// The extra key on many European keyboards:
key <LSGT> { [ less, greater, bar, brokenbar ] };

// The following keys are common to all layouts.
key <BKSL> { [ backslash, bar ] };
key <SPCE> { [ space ] };

include "srvr_ctrl(fkey2vt)"
include "pc(editing)"
include "keypad(x11)"

key <BKSP> { [ BackSpace, BackSpace ] };

key <TAB> { [ Tab, ISO_Left_Tab ] };
key <RTRN> { [ Return ] };

key <CAPS> { [ Caps_Lock ] };
key <NMLK> { [ Num_Lock ] };

key <LFSH> { [ Shift_L ] };
key <LCTL> { [ Control_L ] };
key <LWIN> { [ Super_L ] };

key <RTSH> { [ Shift_R ] };
key <RCTL> { [ Control_R ] };
key <RWIN> { [ Super_R ] };
key <MENU> { [ Menu ] };

// Beginning of modifier mappings.
modifier_map Shift { Shift_L, Shift_R };
modifier_map Lock { Caps_Lock };
modifier_map Control{ Control_L, Control_R };
modifier_map Mod2 { Num_Lock };
modifier_map Mod4 { Super_L, Super_R };

// Fake keys for virtual<->real modifiers mapping:
key <LVL3> { [ ISO_Level3_Shift ] };
key <MDSW> { [ Mode_switch ] };
modifier_map Mod5 { <LVL3>, <MDSW> };

key <ALT> { [ NoSymbol, Alt_L ] };
include "altwin(meta_alt)"

key <META> { [ NoSymbol, Meta_L ] };
modifier_map Mod1 { <META> };

key <SUPR> { [ NoSymbol, Super_L ] };
modifier_map Mod4 { <SUPR> };

key <HYPR> { [ NoSymbol, Hyper_L ] };
modifier_map Mod4 { <HYPR> };
// End of modifier mappings.

key <OUTP> { [ XF86Display ] };
key <KITG> { [ XF86KbdLightOnOff ] };
key <KIDN> { [ XF86KbdBrightnessDown ] };
key <KIUP> { [ XF86KbdBrightnessUp ] };
};

hidden partial alphanumeric_keys
xkb_symbols "editing" {
key <PRSC> {
type= "PC_ALT_LEVEL2",
symbols[Group1]= [ Print, Sys_Req ]
};
key <SCLK> { [ Scroll_Lock ] };
key <PAUS> {
type= "PC_CONTROL_LEVEL2",
symbols[Group1]= [ Pause, Break ]
};
key <INS> { [ Insert ] };
key <HOME> { [ Home ] };
key <PGUP> { [ Prior ] };
key <DELE> { [ Delete ] };
key <END> { [ End ] };
key <PGDN> { [ Next ] };

key <UP> { [ Up ] };
key <LEFT> { [ Left ] };
key <DOWN> { [ Down ] };
key <RGHT> { [ Right ] };
};default partial alphanumeric_keys modifier_keys
xkb_symbols "pc105" {

key <ESC> { [ Escape ] };

// The extra key on many European keyboards:
key <LSGT> { [ less, greater, bar, brokenbar ] };

// The following keys are common to all layouts.
key <BKSL> { [ backslash, bar ] };
key <SPCE> { [ space ] };

include "srvr_ctrl(fkey2vt)"
include "pc(editing)"
include "keypad(x11)"

key <BKSP> { [ BackSpace, BackSpace ] };

key <TAB> { [ Tab, ISO_Left_Tab ] };
key <RTRN> { [ Return ] };

key <CAPS> { [ Caps_Lock ] };
key <NMLK> { [ Num_Lock ] };

key <LFSH> { [ Shift_L ] };
key <LCTL> { [ Control_L ] };
key <LWIN> { [ Super_L ] };

key <RTSH> { [ Shift_R ] };
key <RCTL> { [ Control_R ] };
key <RWIN> { [ Super_R ] };
key <MENU> { [ Menu ] };

// Beginning of modifier mappings.
modifier_map Shift { Shift_L, Shift_R };
modifier_map Lock { Caps_Lock };
modifier_map Control{ Control_L, Control_R };
modifier_map Mod2 { Num_Lock };
modifier_map Mod4 { Super_L, Super_R };

// Fake keys for virtual<->real modifiers mapping:
key <LVL3> { [ ISO_Level3_Shift ] };
key <MDSW> { [ Mode_switch ] };
modifier_map Mod5 { <LVL3>, <MDSW> };

key <ALT> { [ NoSymbol, Alt_L ] };
include "altwin(meta_alt)"

key <META> { [ NoSymbol, Meta_L ] };
modifier_map Mod1 { <META> };

key <SUPR> { [ NoSymbol, Super_L ] };
modifier_map Mod4 { <SUPR> };

key <HYPR> { [ NoSymbol, Hyper_L ] };
modifier_map Mod4 { <HYPR> };
// End of modifier mappings.

key <OUTP> { [ XF86Display ] };
key <KITG> { [ XF86KbdLightOnOff ] };
key <KIDN> { [ XF86KbdBrightnessDown ] };
key <KIUP> { [ XF86KbdBrightnessUp ] };
};

hidden partial alphanumeric_keys
xkb_symbols "editing" {
key <PRSC> {
type= "PC_ALT_LEVEL2",
symbols[Group1]= [ Print, Sys_Req ]
};
key <SCLK> { [ Scroll_Lock ] };
key <PAUS> {
type= "PC_CONTROL_LEVEL2",
symbols[Group1]= [ Pause, Break ]
};
key <INS> { [ Insert ] };
key <HOME> { [ Home ] };
key <PGUP> { [ Prior ] };
key <DELE> { [ Delete ] };
key <END> { [ End ] };
key <PGDN> { [ Next ] };

key <UP> { [ Up ] };
key <LEFT> { [ Left ] };
key <DOWN> { [ Down ] };
key <RGHT> { [ Right ] };
};

Les agradecería mucho que me puedan dar una mano con esto, como dije, creo que el error mío es que estoy editando mal el archivo previamente citado.

Les adjunto una imagen de mí teclado, para que entiendan porqué quiero modificar estas teclas entre sí, me parece muy necesario
 
  • Me gusta
Reacciones: JulianD
Yo uso Key Mapper para cambiar algunos botones del mouse, y en teoría, debería funciona para lo que usted necesita.

Adicionalmente, yo tuve un portatil lenovo con la misma distribución del teclado, pero en la configuración de la BIOS había una opción para cambiar nativamente la tecla fn por el ctrl. Probablemente su portátil también tenga esa opción y se ahorra el trabajo de instalar software adicional.