SSD Nodes Learn 🎉 VPS desde $4.99/mes
Guías Matt ConnorPor Matt Connor

Cómo cambiar a Colemak en Linux

Configura Colemak en la consola Linux, X11 y Wayland. Aprende por qué SSH no necesita una distribución y qué ocurre con hjkl de Vim y Ctrl.

Dónde se encuentra la distribución Colemak en Linux

Colemak no es una configuración única para todo el sistema en Linux. La distribución la aplica el componente que lee el teclado en ese momento, por lo que se encuentra en uno de tres lugares: la consola de texto, el servidor X11 o el compositor Wayland. Si la configura en el lugar incorrecto, no parece ocurrir nada.

Existe una cuarta opción que omite por completo el sistema operativo. Un teclado que remapea las teclas en su propio firmware, como un dispositivo que ejecuta QMK o VIA, envía los códigos correspondientes a las letras que desea escribir. Por eso, cualquier equipo en el que lo conecte usará Colemak sin ninguna configuración, incluida la consola de un servidor y un equipo que no sea suyo. El inconveniente es que el teclado del portátil seguirá escribiendo en QWERTY.

El resto de esta guía cubre las tres capas de software, explica por qué un servidor remoto casi nunca necesita ninguna de ellas y describe cómo el cambio afecta a Vim y a los atajos de teclado del terminal.

Compruebe lo que ya tiene el sistema

Ejecute estos comandos antes de cambiar nada. Muestran la configuración actual y la lista de variantes de Colemak que ofrece la base de datos de teclados de X.

localectl status
setxkbmap -query
localectl list-x11-keymap-variants us | grep colemak

El último comando debe mostrar colemak y colemak_dh. Colemak forma parte de xkeyboard-config desde hace años. Colemak-DH se incorporó en la versión 2.34, por lo que sólo faltará en una versión antigua. En agosto de 2026, Ubuntu 24.04 y Debian 13 incluyen una versión más reciente.

Si setxkbmap -query informa de que no puede abrir una pantalla, está en una sesión de Wayland y el compositor controla la distribución del teclado. Ese caso tiene su propia sección más adelante.

Colemak o Colemak-DH

Colemak mueve diecisiete teclas de sus posiciones en QWERTY y deja diez en su sitio, incluidas Z, X, C y V. Por eso los atajos para deshacer, cortar, copiar y pegar permanecen donde la mano izquierda espera encontrarlos. Esa compatibilidad explica por completo el diseño de la distribución.

Colemak-DH es una modificación de Colemak. Reubica D, B y G, e intercambia H y M, porque Colemak estándar hace que tanto D como H se escriban estirando un dedo índice hacia la columna central del teclado. La modificación oficial mantiene cada letra en el mismo dedo que usaba en Colemak. Por tanto, quien escribe con Colemak y cambia a DH afronta un cambio pequeño, no una distribución nueva. La variante de XKB es colemak_dh, y colemak_dh_iso se usa con teclados que tienen la tecla adicional junto a la tecla Shift izquierda.

Si viene de QWERTY, cualquiera de las dos opciones requiere un único proceso de reaprendizaje. Elija según la comodidad y mantenga esa elección. Cambiar de distribución una segunda vez cuesta aproximadamente lo mismo que la primera, porque lo que está reconstruyendo es la memoria motora asociada a las posiciones de las teclas.

Configurar Colemak en X11 con setxkbmap y localectl

setxkbmap us -variant colemak
setxkbmap -query

setxkbmap -query ahora debería mostrar variant: colemak, y al escribir en cualquier ventana deberían aparecer las letras de Colemak. El cambio dura mientras dure la sesión de X y no escribe nada en el disco, por lo que es la forma segura de probar la distribución durante una hora.

Para conservarla tras los reinicios:

sudo localectl set-x11-keymap us pc105 colemak
localectl status

El orden de los argumentos es distribución, modelo y variante. localectl status ahora debería mostrar X11 Layout: us y X11 Variant: colemak. localectl también convierte la selección en el mapa de teclado de consola más parecido, a menos que añada --no-convert. Por tanto, en muchos sistemas este único comando también configura la tty. En Debian y Ubuntu, compruebe /etc/default/keyboard después, porque console-setup lee ese archivo durante el arranque.

Establecer Colemak en Wayland

Una sesión de Wayland no tiene un servidor X que configurar. El compositor carga el mapa de teclado y lo entrega a cada aplicación, por lo que la distribución es un ajuste del compositor. Por eso setxkbmap no funciona como se espera: no encuentra una pantalla o sólo modifica XWayland, y las aplicaciones nativas de Wayland la ignoran.

En GNOME, el ajuste es una clave de gsettings:

gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us+colemak')]"

Se aplica de inmediato, sin cerrar la sesión. La cadena us+colemak combina la distribución y la variante con un signo más.

En sway, añádalo a ~/.config/sway/config:

input type:keyboard {
    xkb_layout us
    xkb_variant colemak_dh
}

Vuelva a cargar la configuración con swaymsg reload. swaymsg -t get_inputs muestra todos los dispositivos de entrada y la distribución que usa cada uno. Esta es la comprobación que debe realizar cuando sólo un teclado presenta problemas.

En KDE Plasma, abra Configuración del sistema, después Teclado y luego Distribuciones. Añada English (US) con la variante Colemak.

Configurar Colemak en la consola de texto

La consola es la tty de texto plano a la que se accede con Ctrl+Alt+F3 y mantiene su propio mapa de teclado. Ninguna configuración aplicada en X11 o en un compositor llega a ella. Esto es importante si trabaja en un entorno de terminal en una consola virtual sin entorno gráfico.

En Debian y Ubuntu, edite /etc/default/keyboard:

XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT="colemak"
XKBOPTIONS=""

Después, aplique los cambios:

sudo setupcon

Escriba en la consola para confirmarlo. console-setup convierte esa descripción de XKB en un mapa de teclado de consola mediante ckbcomp. En estos sistemas, la consola y X comparten así una misma descripción.

En las distribuciones que usan directamente mapas de teclado de kbd, consulte primero el nombre:

localectl list-keymaps | grep -i -e colemak -e latin9
sudo localectl set-keymap en-latin9

El paquete kbd incluye el mapa de consola de Colemak como i386/colemak/en-latin9. Por tanto, el nombre que debe pasar suele ser en-latin9 y no colemak. Use un nombre que aparezca en la lista. Si el nombre no existe, se rechazará.

sudo loadkeys en-latin9 cambia inmediatamente la consola actual y sudo loadkeys us la restaura. Considere loadkeys una prueba, no una configuración permanente: se mantiene hasta reiniciar y, en Debian y Ubuntu, la ejecución de setupcon durante el arranque restaura lo que indique /etc/default/keyboard.

¿Necesita un VPS sin interfaz gráfica una distribución Colemak?

Casi nunca, y conviene entender el motivo. SSH transmite caracteres, no posiciones de teclas. El emulador de terminal recibe la pulsación, la distribución local la convierte en un carácter y sólo ese carácter viaja por la conexión. El servidor recibe n sin forma de saber qué tecla física lo produjo. Por tanto, la distribución configurada en el portátil se mantiene en todas las sesiones SSH, en tmux y en todos los editores que ejecute de forma remota. La máquina remota no necesita ninguna configuración de teclado.

Téngalo en cuenta antes de empezar a editar archivos de teclado en servidores de producción. Si administra una flota de servidores Linux, la distribución corresponde a la máquina que tiene delante, no a la flota. Por tanto, no debe incluirla en el aprovisionamiento. Los primeros diez minutos en un VPS nuevo permiten realizar tareas más útiles que esta.

Conviene planificar dos excepciones. La primera es una consola conectada a la propia máquina. La consola del navegador de un panel del proveedor suele presentarse ante la máquina virtual como un teclado. Por eso, las pulsaciones llegan como códigos de exploración y el mapa de teclado de la consola del servidor decide qué carácter aparece. Ese es el único lugar donde una distribución configurada en el servidor tiene efecto. También es la vía de recuperación cuando SSH deja de funcionar. Por tanto, un mapa de teclado de consola incompleto supone un riesgo real.

Una consola serie funciona de otra forma porque transmite caracteres y se aplica la distribución local. La segunda excepción es una máquina compartida. El mapa de teclado de la consola se aplica a todo el sistema. Si configura Colemak en un equipo al que acceden otras personas, también se lo cambia a ellas y no sabrán el motivo.

Qué ocurre con las teclas hjkl de Vim

En Colemak, h no mueve el cursor. Las otras tres sí. j está bajo la Y de QWERTY, k está bajo la N de QWERTY y l está bajo la U de QWERTY, por lo que las teclas de dirección quedan distribuidas en tres filas en lugar de quedar bajo cuatro dedos.

Hay dos opciones viables, y ambas tienen usuarios reales.

Mantenga los valores predeterminados y vuelva a aprender las posiciones. No se rompe nada más de su configuración, todos los plugins siguen funcionando y todos los consejos de Vim escritos por otras personas siguen siendo aplicables exactamente como están escritos.

También puede reasignar las cuatro teclas que quedan bajo la mano derecha, donde antes estaban hjkl. En Colemak, esas teclas producen h, n, e e i. En Colemak-DH, las mismas cuatro teclas físicas producen m, n, e e i, porque DH intercambió H y M.

noremap n j
noremap e k
noremap i l
noremap l i
noremap k n

n mueve ahora el cursor hacia abajo, e lo mueve hacia arriba, i lo mueve hacia la derecha y h ya lo movía hacia la izquierda. Las dos últimas líneas restauran los comandos que desplazó: l inicia el modo de inserción y k repite la última búsqueda. Aplique el mismo tratamiento a las mayúsculas; de lo contrario, Shift más una tecla de dirección producirá un resultado inesperado.

La opción langmap de Vim realiza una tarea similar con menos líneas:

set langmap=nj,ek,il,li,kn

Cada par se interpreta como el carácter que escribió, seguido del carácter que Vim debe ejecutar. Sólo se aplica al modo normal, por lo que el modo de inserción sigue escribiendo texto Colemak con normalidad. La ayuda de Vim documenta dos limitaciones: langmap no se aplica a combinaciones con Ctrl o Alt, y las asignaciones de plugins escritas para las teclas predeterminadas pueden comportarse de forma inesperada al usarla.

Elija la opción que prefiera, pero hágalo una sola vez. Abandonar una reasignación después de un mes le hace perder otro mes.

Qué ocurre con los atajos de terminal

Un código de control de terminal procede del carácter, no de la tecla física, por lo que cada atajo con Ctrl se desplaza con la distribución. Ctrl+C, Ctrl+Z, Ctrl+X y Ctrl+V conservan sus posiciones, porque Colemak deja deliberadamente Z, X, C y V donde están en QWERTY.

Cuatro atajos que usa a diario sí se desplazan. Ctrl+D, que finaliza la entrada, queda ahora donde QWERTY tiene G. Ctrl+R, la búsqueda en el historial, queda donde QWERTY tiene S. Ctrl+E, que lleva al final de la línea, queda donde QWERTY tiene K. Ctrl+U, que borra la línea, queda donde QWERTY tiene I.

tmux mantiene su prefijo predeterminado, porque B no cambia de posición en Colemak. En Colemak-DH, B se desplaza a la fila superior y el prefijo también cambia de posición. Es lo primero que notará si mantiene una sesión de tmux de larga duración en un VPS. Cambiar el prefijo por una tecla que prefiera requiere una sola línea y es más fácil que volver a entrenar el mismo reflejo.

Los atajos del escritorio siguen la misma regla. Una asignación en Super+E se desplaza con la distribución, porque está definida por el carácter. Una asignación en Super+F1 permanece en su sitio, porque la distribución no reasigna las teclas de función.

Cuánto te cuesta el cambio

Nadie puede darte una cifra exacta para tus manos. La mecanografía al tacto depende de la memoria motora. No estás aprendiendo dónde están las letras, sino reconstruyendo el reflejo que convierte una palabra en una secuencia de dedos. Por eso, el único factor que ayuda es el tiempo que pasas escribiendo.

Lo que se suele informar —registros de práctica personales, no una medición controlada— es una primera semana con una velocidad muy inferior a la mitad de la anterior y una recuperación de esa velocidad entre uno y tres meses de uso diario. La diferencia entre personas es amplia, así que debes considerar esas cifras como una tendencia, no como un calendario.

Dos hábitos ralentizan el proceso. Alternar entre QWERTY y Colemak durante el día mantiene débiles ambos reflejos. Por eso, la mayoría de las personas que completan el cambio lo adoptan por completo en su equipo principal. Empezar durante una semana con mucho trabajo implica escribir mal bajo presión, lo que te acostumbra a mirar las teclas.

Configura la forma de volver antes de necesitarla. El momento en que querrás recuperar QWERTY será precisamente cuando algo esté fallando y alguien esté esperando.

Cómo volver rápidamente a QWERTY

En X11, setxkbmap us restaura QWERTY de inmediato. En la consola, sudo loadkeys us hace lo mismo. Para deshacer la configuración persistente, ejecute sudo localectl set-x11-keymap us.

Un cambio entre distribuciones es mejor que un comando que tenga que escribir con una distribución que todavía no puede usar:

setxkbmap -layout us,us -variant colemak, -option grp:win_space_toggle

Esto carga Colemak como primera distribución y US sin modificaciones como segunda. Super+Space cambia entre ellas. La coma final de colemak, no es un error: asigna la variante colemak a la primera distribución y ninguna variante a la segunda. En GNOME, añada ambas fuentes de entrada en Settings, donde Super+Space ya permite cambiar entre ellas.

Dos solicitudes de contraseña se ejecutan fuera de la sesión del escritorio y requieren atención por separado. La pantalla de inicio de sesión se inicia antes de aplicar la configuración de la sesión, así que pruébela cerrando la sesión en lugar de confiar en la configuración. Si el disco está cifrado, la solicitud de frase de contraseña se ejecuta desde initramfs, que tiene su propia copia de la distribución del teclado. En Debian y Ubuntu, regenérelo con sudo update-initramfs -u después de cambiar /etc/default/keyboard. Luego reinicie una vez para probarlo mientras todavía tenga otra forma de acceder al equipo.

¿Puedo mantener un programa en QWERTY?

La distribución se aplica antes de que una aplicación reciba la tecla. El servidor X o el compositor convierte un código de tecla en un carácter y entrega ese carácter, por lo que una aplicación no puede solicitar otra distribución. Sólo puede reasignar lo que recibe. Por eso la solución para Vim se configura en Vim y no existe un selector general de distribución por ventana que se pueda usar.

Hay dos métodos que funcionan. El primero es por dispositivo. Si la escritura en QWERTY se realiza en un teclado independiente, configure la distribución en ese dispositivo en lugar de hacerlo en el sistema:

xinput list
setxkbmap -device 12 -layout us

Obtenga el id de xinput list y confirme el resultado escribiendo en cada teclado por turnos. sway acepta la misma configuración por identificador de entrada mediante swaymsg -t get_inputs, y un selector más específico tiene prioridad sobre type:keyboard.

El segundo método consiste en hacer la reasignación dentro de la aplicación, como hace Vim con langmap. Los juegos casi siempre incluyen una pantalla de asignación de teclas, y reasignar allí las teclas de movimiento requiere menos tiempo que intentar cambiar la distribución desde fuera. Para cualquier aplicación que no tenga ninguna de las dos opciones, configure el cambio de distribución anterior y actívelo antes de iniciar la aplicación.

FAQ

¿Necesito configurar Colemak en mi VPS?

No, si accede a él mediante SSH. SSH transporta caracteres, por lo que la distribución se resuelve en el portátil antes de enviar nada y el servidor recibe los mismos bytes que recibiría de alguien que escribe con QWERTY. La excepción es la consola del navegador del panel del proveedor, que se conecta a la máquina virtual como un teclado y usa el mapa de teclado de la consola del propio servidor. Esa consola es la vía de recuperación cuando SSH falla, así que cámbiela sólo si está seguro y pruébela mientras SSH siga funcionando.

¿Debo aprender Colemak o Colemak-DH?

Ambas requieren volver a aprender desde QWERTY, así que elija por comodidad y no por el coste de migración. Colemak-DH recoloca D, B y G, e intercambia H con M, porque Colemak estándar escribe D y H con un estiramiento del dedo índice hacia la columna central. Los nombres de las variantes de XKB son colemak y colemak_dh, con colemak_dh_iso para teclados que tienen la tecla adicional junto a la tecla Shift izquierda. Ejecute localectl list-x11-keymap-variants us | grep colemak para ver cuáles ofrece el sistema.

¿Qué ocurre con las teclas hjkl de Vim en Colemak?

h permanece en el mismo lugar. j se mueve debajo de la Y de QWERTY, k debajo de la N de QWERTY y l debajo de la U de QWERTY, por lo que las teclas de movimiento del cursor quedan distribuidas en tres filas. Puede volver a aprenderlas en sus nuevas posiciones, lo que mantiene válidos todos los complementos y tutoriales, o reasignar las cuatro teclas que quedan bajo la mano derecha: h, n, e e i en Colemak, y m, n, e e i en Colemak-DH. La opción langmap de Vim hace lo mismo en el modo normal, aunque no se aplica a las combinaciones con Ctrl y puede causar confusión con las asignaciones de los complementos.

¿Cuánto tardaré en escribir de nuevo a mi velocidad anterior?

Espere semanas, no días, porque se trata de memoria motora y la única entrada es la práctica. Los registros de práctica publicados por usuarios suelen describir una primera semana muy por debajo de la mitad de la velocidad anterior y una recuperación de esa velocidad después de uno a tres meses de uso diario. Alternar entre QWERTY y Colemak cada día alarga ese periodo, porque ninguno de los dos reflejos llega a consolidarse.

¿Por qué setxkbmap no hizo nada en mi escritorio?

Casi con toda seguridad porque la sesión utiliza Wayland. En Wayland, el compositor controla el mapa de teclado y lo envía a cada aplicación, por lo que setxkbmap no puede encontrar una pantalla o sólo cambia XWayland, mientras que las aplicaciones nativas lo ignoran. Configure la distribución en el compositor: la clave de gsettings org.gnome.desktop.input-sources en GNOME, xkb_variant en la configuración de sway o la página Layouts de System Settings de KDE Plasma.

#colemak#keyboard#linux#terminal#productivity