Hace unos meses compré un teclado dividido para mejorar la postura a la hora de escribir. La verdad es que la experiencia me gustó mucho. A pesar de que el cambio fue muy grande (mi teclado es un corne keyboard, por lo que es ortogonal) me acostumbré muy rápido.
Para el no que sepa de la existencia de los teclados divididos, aquí dejo un git donde se pueden ver la multitud de teclados divididos que existen. Es un mundo gigante y, a modo de advertencia, digo que de ahí no se sale. Engancha muchísimo :D
Por dar un poco de contexto, para montarte un teclado de este tipo necesitas comprar todas las piezas (los hay ya montados):
- Cableado
- Placas
- Switches
- Keycaps
Esto mínimo. Después, casi todos llevan pantallas oled, LEDs si son retroiluminados, escoger el switch que más te guste... un sin fin de posibilidades. No estamos aquí para hablar de eso, así que os dejo un par de enlaces de canales que sigo que os darán una idea:
Hola Mundo Me encanta este canal:D.
El problema
Bien, supongamos que ya tienes tu teclado nuevo montado. Probablemente los micros que trae ya vengan con un mapeo de las teclas ya flasheado, pero ese keymap estará en inglés. Ojo, esto no está mal en absoluto, de hecho, para programar a mi me resulta súper cómodo. Mi problema radica al cambiar de PC.
Cuando utilizo el ordenador de otra persona, mi portátil o el portátil de la empresa no doy una :( por que estoy acostumbrado a estar con el idioma de entrada en inglés. Así que, si necesito trabajar en otro, necesito andar instalando los paquetes de idioma y a ver, esto práctico práctico no es.
Entonces en estas estamos, con el teclado en inglés y queriendo escribir con el idioma de entrada en español. La solución sería fácil. Me busco un teclado en español y lo flasheo con la qmk toolbox. No encontre ninguna configuración en español para mi teclado, será que no se buscar :(.
Lo que podría pasar como solución
Una solución que a mi no me resultó por lo de andar instalando los layout sería crear el tuyo propio. Lo de que no me servía me di cuenta una vez ya tenia todo hecho y funcionando por lo que os dejo una pequeña información de como lo hice.
Utilicé la herramienta de windows, lo cierto es que es sencilla, simplemente de creas tu layout ejecutas la herramienta y hace un .exe que puedes instalar en cualquier PC, después simplemente tendrías que cambiar el idioma de entrada.
La solución real
Necesitaba tres cosas:
- No instalar nada cada vez que enchufaba el teclado.
- Trabajar con el idioma de entrada(layout) en español.
- Tener acceso fácil a los símbolos para programar.
Podía buscar cualquier keymap en el repositorio de qmk firmware y luego flashearlo en el teclado. Esto, sería lo más rápido, de hecho si quería una configuración concreta podía acudir a la página, configurar el teclado con una herramienta web y ya flashearlo. El único problema es que no tenía teclados es español, pero primero probar que la toolbox funciona.
Flashear un .hex en el teclado
Tremendamente sencillo, tan soló es cargar el archivo en la aplicación, que se puede descargar aquí. Resetear el teclado y pinchar en flash:
El camino "largo", crear y compilar tu propio keymap.
Para crear tu propio keymap lo más sencillo es copiar uno existente y modificarlo, pero para eso primero tenemos que instalar el entorno para poder desarrollar, en este caso estoy en el wsl de windows:
Setup
git clone https://github.com/qmk/qmk_firmware.git
cd qmk_firmware/
python3.9 -m venv venv
source venv/bin/activate
pip3 install qmk
qmk setup
Después con la siguiente línea puedes compilar un teclado en concreto, en este caso el crkbd con el keymap default:
qmk compile -kb crkbd/rev1 -km default
Este comando generará un .hex en la carpeta actual.
Los ficheros del keymap
> tree keyboards/crkbd/keymaps/mandrewcito/
keyboards/crkbd/keymaps/mandrewcito/
├── config.h
├── keymap.c
└── rules.mk
Esto es un copia de otro teclado, para así simplemente editar las teclas concretas a mapear, pero ¿que teclas y comó? Dependerá del teclado que tengas en mi caso eran las ISO inglesas a las ISO españolas, la distribución también puede ser ANSI, para una diferencia rápida, dejo la siguiente imagen:
¿Cómo localizar las teclas que faltan? Bajo la carpeta /quantum/keymap_extras están todos los keymaps mapeados del ISO en inglés a otros idiomas y nosotros utilizamos el keymap_spanish.h aquí podemos ver todas teclas y utilizar sólo la que nos faltan. Para el resto te teclas se pueden buscar en los ficheros de cabeceras o la solución fácil es utilizar la página de qmk de configurar teclados y ver el código:
Ahora simplemente necesitamos editar el keymap.c pero antes enseño una vista previa del keymap_spanish.h para que se vea cómo localizar las teclas:
// clang-format off
/*
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
* │ º │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ¡ │ │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
* │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ ` │ + │ │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
* │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ñ │ ´ │ Ç │ │
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
* │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
* │ │ │ │ │ │ │ │ │
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
*/
// Row 1
#define ES_MORD KC_GRV // º
#define ES_1 KC_1 // 1
#define ES_2 KC_2 // 2
#define ES_3 KC_3 // 3
#define ES_4 KC_4 // 4
#define ES_5 KC_5 // 5
#define ES_6 KC_6 // 6
#define ES_7 KC_7 // 7
#define ES_8 KC_8 // 8
#define ES_9 KC_9 // 9
#define ES_0 KC_0 // 0
#define ES_QUOT KC_MINS // '
#define ES_IEXL KC_EQL // ¡
```
Incluyendo este keymap_spanish.h en nuestro keymap.c podemos utilizar estas constantes para remapear las capas del teclado. Dejo un enlace a [mi keymap.c](https://github.com/mandrewcito/qmk_firmware/blob/master/keyboards/crkbd/keymaps/mandrewcito/keymap.c) aquí por si os es de utilidad, puedo dejar también el .hex si alguien lo pide, pero considero que la configuración de las teclas es algo bastante personal, debes de hacer muchas pruebas antes de quedarte con una distribución:
```c
#include QMK_KEYBOARD_H
#include "version.h"
#include "keymap_spanish.h"
// ......
```
La diferencia con otros keymaps, radica en que yo la mayoría de símbolos los tengo en una capa diferente. Así, de alguna manera palio la falta de teclas que tiene el corne:
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/55bu8rh5dqoby8qhxu6h.PNG)
Dejo aquí el enlace al fork que hice para añadir mi teclado, en concreto al [commit](https://github.com/mandrewcito/qmk_firmware/commit/b06d416e40e068b862b58ece0f8b145827a3340f) donde subo los ficheros necesarios para compilar mi keymap. Compilarlo sería algo
así:
```bash
qmk compile -kb crkbd/rev1 -km mandrewcito
```
Después solo sería flashear el archivo que se genera y listo.
La verdad es que no se si esto será de mucha utilidad, no es algo que sea extremadamente difícil pero a mi me llevo un ratín configurar todo y pasé por varios modelos fallidos. Así que si esto le sirve a alguien para no perder tanto tiempo como yo pues genial.
Cualquier pregunta me la dejáis por aquí :D
PD: Este post, y el keymap de mi teclado lo iré actualizando si encuentro alguna cosa más que vea que es de utilidad.
Top comments (9)
Hola, tengo un problema que me esta comiendo la cabeza. Yo le instale a un teclado redragon k530 draconic el firmware de QMK. Resulta que cuando quiero volver al firmware original no puedo de ninguna manera, y veo en este post que se puede crear el firmware, hay posibilidades de que alguien tenga el original? Ya se que hay un archivo con el firmware original proporcionado por redragon, pero no me detecta ek teclado por obvias razones. Que puedo hacer?
saludos hermano, he seguido estas recomendaciones y otras lecturas más, sin embargo no logro colocar en modo reset o bootloader mi redragon k530, logré hacer todos los pasos previos con un firmware modificado y generé el binario y el .hex pero me estrego a la hora de atender lo del bootloader, he probado todas las maneras de resetearlo y la combinación dada por redragon (Fn+Esc) solo me restaura a la versión por defecto del teclado pero no avanzo de allí. Ojala puedas darme un consejo que me funcione.
como se hace el paso de:
Aqui puedes encontrar los pasos, solo es usar el .hex que se genera y con el teclado enchufado ejecutar la toolbox:
yo es que lo hago desde mi linux, y uso la termila, por eso era que comentaba este punto
Ah vale, puedo completar en tutorial con eso, es cierto. Si te fijas en la imagen, pone los comandos que utiliza con el dfu-programmer en el log. Son "erase", "flash" y "reset". Supongo que descargando un ejecutable ya podrías flashear sin problemas.
Hola, muy buenas! Perdón, pero tengo un teclado Tofu65 de KDBFans, el KDB67 v2, con distribución ISO también, pero me gustaría saber si también podría hacer esta solución para mi teclado
Me has salvado la vida
Cómo puedo resetear mi teclado? No tengo configurado un comando de reseteo. ¿Es posible resetear desde con código en CMD o similar?, gracias.