Navigate back to the homepage

De codemonkey a silverback gorilla: remap Caps-Lock

Alejandro Amaral
January 11th, 2021 · 2 min read

Ahhh, otro artículo (y rant) con el statu quo del teclado. Hace un tiempo, hice una reseña sobre la historia de QWERTY y DVORAK. Ahí expongo algunas razones de diseño de la posición de las teclas en el teclado QWERTY. Todas (o la mayoría) corresponden a solucionar problemas con las máquinas de escribir. Problemas que no existen en los teclados de computadoras actuales, pero por una cuestión de costumbre de uso, ya no se pueden cambiar.

Un caso similar ocurre con las teclas ESC y Caps Lock (Bloq Mayús). En este artículo me voy a centrar en Caps-Lock que es el más polémico de los dos 🤬.

Máquina de escribir

Al principio sólo existían máquinas de escribir. Y la gente se acostumbró a escribir así. Y nada cambió por los tiempos de los tiempos.

A pesar de ser una sobre simplificación, básicamente la historia es así.

Originalmente las máquinas de escribir tenían una tecla para trabar las mayúsculas (botón verde en la imagen). En la máquina de escribir estaban las dos juntas porque una bajaba el carro lo suficiente (shift) para pasar a mayúscula y la otra tecla lo trababa (caps-lock).

El problema surgió cuando se hicieron los mismos teclados pero para computadoras… Continuaron con la tradición.

Yo, como developer, casi nunca uso esa tecla. Máxime que utilizo Neovim, que con sólo seleccionar el texto y U, ya puedo poner todo el TEXTO QUE QUIERA EN MAYÚSCULA. Y por si todo eso no fuera suficiente, prácticamente el 99% de mi trabajo lo realizo en la terminal, tener una tecla muerta en el home row es un pecado.

Remapeando Caps-Lock a Ctrl en Linux.

¿Por qué Control?. Mis caballitos de batalla son ZSH, Neovim, TMUX y todos ellos están configurados con Ctrl para acceder a las funciones más comunes. La manera más sencilla de hacer el remapeo es editando el archivo keyboard (sudo vi /etc/default/keyboard) agregando la opción XKBOPTIONS="ctrl:swapcaps".

Mi archivo de configuración:

1# KEYBOARD CONFIGURATION FILE
2
3# Consult the keyboard(5) manual page.
4
5XKBMODEL="pc105"
6XKBLAYOUT="es"
7XKBVARIANT="dvorak"
8XKBOPTIONS="ctrl:swapcaps"
9
10BACKSPACE="guess"

En la mayoría de los escritorios (Gnome, KDE, etc) hay una opción en la configuración del teclado para hacer este cambio de manera gráfica.

Gnome tweaks

Existe también la posibilidad de remapear a cualquier otra tecla. Sólo es necesario xmodmap. Acá hay un excelente video de cómo hacerlo.

Remapeando Caps-Lock a Ctrl en Windows.

En Windows, sólo hay que crear una entrada en el registro con regedit.

Puedes crear un archivo llamado Ctrl.reg con el siguiente contenido

1Windows Registry Editor Version 5.00
2
3[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
4"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,1d,00,3a,00,00,00,00,00

Y ejecutarlo cómo administrador. O ingresar los siguientes comandos en PowerShell , también como administrador.

1$hexified = "00,00,00,00,00,00,00,00,02,00,00,00,1d,00,3a,00,00,00,00,00".Split(',') | % { "0x$_"};
2
3$kbLayout = 'HKLM:\System\CurrentControlSet\Control\Keyboard Layout';
4
5New-ItemProperty -Path $kbLayout -Name "Scancode Map" -PropertyType Binary -Value ([byte[]]$hexified);

Reboot y listo.

More articles from Estoico

(neo)vim autocmd

Automatizando procesos con (neo)vim.

January 1st, 2021 · 1 min read

Preparando la huerta

Estamos cerca de la llegada de la primavera y hay que empezar con los preparativos de la huerta.

August 21st, 2020 · 1 min read
© 2020–2021 Estoico
Link to $https://github.com/logico-devLink to $https://www.linkedin.com/company/narative/