Me gustaría cambiar el comportamiento del bloqueo de mayúsculas en terminales virtuales (tty, por ejemplo CtrlAltF3) para que actúe como un modificador de control. Idealmente, también me gustaría que actúe como Escape cuando se lo presiona solo, pero obtener el comportamiento de Control está resultando difícil.
Estoy ejecutando Ubuntu 17.04. He leído y probado numerosos enfoques para hacer este cambio, pero ninguno parece aplicarse a mi sistema como se describe. Tengo la sensación de que systemd juega un papel en esto, pero los detalles no están claros.
He escrito un archivo caps_control.kmap
, que asigna mayúsculas para controlar,
keymaps 0-255
keycode 58 = Control
Si ejecuto loadkeys caps_control.kmap
desde una consola virtual, funciona. Ahora me gustaría que se cargue automáticamente al arrancar / iniciar sesión / lo que sea ...
Me encontrado referencias a la utilización de /etc/rc.local
hacerlo, pero mi sistema no tiene tal archivo, aunque tiene varios directorios como /etc/rc0.d/
, /etc/rc1.d/
...
Parece que dado que Ubuntu 17 usa sytemd, debería usarlo localectl
para administrar este tipo de cosas, pero no tengo claro cómo hacerlo. Por ejemplo,
$ localectl status
System Locale: LANG=en_US.UTF-8
VC Keymap: n/a
X11 Layout: us
X11 Model: pc105
$ localectl list-keymaps
Couldn't find any console keymaps.
La página de manual para localectl
menciones /etc/locale.conf
y /etc/vconsole.conf
ninguna de las cuales existen en mi sistema.
Estoy totalmente perdido. ¿Alguien puede señalarme en la dirección correcta?
loadkeys caps_control.kmap
que se ejecutará cuando se conecte.loadkeys
desde ~ / .profile parece ser problemático. Cuando inicio sesión aparece un error que dice "No se pudo obtener un descriptor de archivo que se refiera a la consola".Respuestas:
Para convertir el bloqueo de mayúsculas en un modificador Ctrl adicional, que también es efectivo en las consolas tty, ábralo
/etc/default/keyboard
para editarlo y configurarlo:Si ya ha
XKBOPTIONS
configurado, agreguectrl:nocaps
a su valor existente usando una coma para el separador, por ejemplo:Debe ser efectivo después del próximo reinicio o la emisión del
setupcon
comando.La opción debe estar presente cuando se ejecuta
localectl status
:Y en la sesión X, otra forma de verificar que está configurado es:
fuente
"ctrl:nocaps"
. en X la diferencia es sutil: con lactrl
opción,xev
y otras herramientas verán unControl_L
símbolo cuando se presione la tecla Bloq Mayús, mientras que lacaps
opción aún mostrará elCaps_Lock
símbolo de teclado. No estoy seguro de si esa diferencia se traducirá en el mapa de teclas de la consola virtual.ctrl:nocaps
. Lo agregué a mi respuesta.caps:ctrl_modifier
) no es efectiva en tty. Sin embargo, para mí (en 17.10)ctrl:nocaps
es. Por favor vea mi respuesta editada.ckbcomp
, creo?). No recordaba lacaps:ctrl_modifier
opción que mencionaste por primera vez, así que busqué para compararla con la quectrl:nocaps
uso habitualmente, y pensé que valía la pena mencionar la diferencia aquí. Me alegro de que haya sido útil.