Me gustaría intercambiar Escy CapsLocken la consola (no en X y usar xev
), ¿cómo puedo hacerlo?
Mi sistema operativo es Ubuntu.
Las herramientas para manipular la distribución del teclado en las consolas virtuales son loadkeys
, dumpkeys
y showkey
. Lea sus páginas de manual e infórmese sobre sus complejidades.
Tenga en cuenta que estas herramientas solo funcionan en una consola virtual, no en un emulador de terminal en un entorno gráfico como gnome. Para conocer la diferencia, lea esta pregunta y sus respuestas: https://askubuntu.com/questions/14284/why-is-a-virtual-terminal-virtual-and-what-why-where-is-the-real-terminal .
Aquí hay una breve guía para hacer lo que quieras:
Guarde su distribución de teclado actual:
$ dumpkeys > backup.kmap
En caso de que algo salga mal, puede restaurar su mapa de teclas con el comando:
$ sudo loadkeys backup.kmap
Si el teclado está tan desordenado que ni siquiera puede hacer esto, entonces su única opción que no involucra magia antigua del núcleo es reiniciar.
Compruebe qué códigos de teclas están asignados a sus llaves:
$ showkey
Ahora presione la tecla ESC y la tecla BLOQ MAYÚS. Los códigos clave deberían aparecer en la pantalla. Tenga en cuenta los códigos clave. En mi sistema, el ESC tiene el código clave 1 y CAPSLOCK tiene el código clave 58. showkey
finalizará después de 10 segundos de inactividad (al menos en mi ubuntu 10.04).
Tenga en cuenta los nombres de las teclas ESC y CAPSLOCK de dumpkeys:
$ dumpkeys | grep 1
...
keycode 1 = Escape
...
$ dumpkeys | grep 58
...
keycode 58 = CtrlL_Lock
...
Tenga en cuenta la línea de mapa de teclas de dumpkeys:
$ dumpkeys | head -1
keymaps 0-127
Cree un archivo de mapa de teclas que cambie ESC y CAPSLOCK:
keymaps 0-127
keycode 1 = CtrlL_Lock
keycode 58 = Escape
Cargue el mapa de teclas:
$ sudo loadkeys swap_esc_capslock.kmap
Prueba: probar la tecla BLOQ MAYÚS es obvio. Simplemente presione la tecla BLOQ MAYÚS y compruebe si otras teclas salen en mayúscula. Para probar la tecla ESC, puede usar CTRL + V seguido de ESC. Debería imprimir ^[
. CTRL + V hace que el shell imprima textualmente la siguiente clave en lugar de interpretarla.
Para que esta modificación se cargue en cada reinicio, coloque la siguiente línea en su /etc/rc.local
archivo:
/usr/bin/loadkeys /path/to/swap_esc_capslock.kmap
Información recopilada de varias páginas, que incluyen, entre otras:
sudo setupcon --save
para hacer cambios permanentes, en lugar de editar rc.local. Eso es esencialmente lo mismo quedumpkeys < /dev/tty1 | gzip > /etc/console-setup/cached.kmap.gz
/usr/bin/loadkeys
en/etc/rc.local
ya que la variable de entorno de ruta no se garantiza que se fije en esta etapa. Ysudo
no es necesario enrc.local
.rc.local
ejecuta cada vez que se inicia el sistema. @ bukzor's nosudo setupcon
está en , es un comando de configuración de una sola vez, que reemplaza el mapa de teclas predeterminado del sistema, sin agregar ningún código de inicio de tiempo de ejecución. Añadiendo a , añade extra de la puesta en marcha de código y duplicados lo que ya fue hecho por el loadkeys por defecto del sistema. El método en realidad podría ser menos seguro porque depende de una ruta no estándar al mapa de teclas.rc.local
loadkeys
rc.local
rc.local
setupcon
método. Agregue su propia respuesta o edite la mía si lo desea.setupcon
. Parece que Augusto hizo la suposición de que elsudo setupcon --save
entraría enrc.local
la que no creo que es cierto, pero si lo hace, no es necesariosudo
enrc.local
. Creo que necesitamos más información antes de actualizar su respuesta. La pregunta principal es "¿Cómo instalar el mapa de teclas modificado para que se cargue automáticamente durante el proceso de arranque?" Realmente no sé cuál es una mejor manera,rc.local
o instalar un mapa de teclas, o incluso si la instalación de un mapa de teclas funcionará. He estado investigando esto últimamente y volveré a consultar aquí.Use 'ctrl: nocaps' en lugar de 'ctrl: swapcaps' si solo desea tener dos teclas de bloqueo de mayúsculas (el bloqueo de mayúsculas por otro nombre sigue siendo súper inútil).
X11: (ver también:
/usr/share/X11/xkb/rules/base.lst
)Consola de texto: (robado de setupcon)
fuente