|
|
- # Construyendo tu primer firmware
-
- Ahora que has configurado tu entorno de construcción estas listo para empezar a construir firmwares personalizados. Para esta sección de la guía alternaremos entre 3 programas - tu gestor de ficheros, tu editor de texto , y tu ventana de terminal. Manten los 3 abiertos hasta que hayas acabado y estés contento con el firmware de tu teclado.
-
- Si has cerrado y reabierto la ventana de tu terminal después de seguir el primero paso de esta guía, no olvides hacer `cd qmk_firmware` para que tu terminal esté en el directorio correcto.
-
- ## Navega a tu carpeta de keymaps
-
- Comienza navegando a la carpeta `keymaps` correspondiente a tu teclado.
-
- ?> Si estás en macOS o Windows hay comandos que puedes utilizar fácilmente para abrir la carpeta keymaps.
-
- ?> macOS:
-
- abre keyboards/<keyboard_folder>/keymaps
-
- ?> Windows:
-
- inicia .\\keyboards\\<keyboard_folder>\\keymaps
-
- ## Crea una copia del keymap `default`
-
- Una vez que tengas la carpeta `keymaps` abierta querrás crear una copia de la carpeta `default`. Recomendamos encarecidamente que nombres la carpeta igual que tu nombre de usuario de GitHub, pero puedes utilizar el nombre que quieras siempre que contenga sólo letras en minúscula, números y el caracter de guión bajo.
-
- Para automatizar el proceso, también tienes la opción de ejecutar el script `new_keymap.sh`.
-
- Navega a la carpeta `qmk_firmware/util` e introduce lo siguiente:
-
- ```
- ./new_keymap.sh <keyboard path> <username>
- ```
-
- Por ejemplo, para un usuario llamado John, intentando hacer un keymap nuevo para el 1up60hse, tendría que teclear
-
- ```
- ./new_keymap.sh 1upkeyboards/1up60hse john
- ```
-
- ## Abre `keymap.c` con tu editor de texto favorito
-
- Abre tu `keymap.c`. Dentro de este fichero encontrarás la estructura que controla cómo se comporta tu teclado. En lo alto de `keymap.c` puede haber distintos defines y enums que hacen el keymap más fácil de leer. Continuando por abajo encontrarás una línea con este aspecto:
-
- const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- Esta línea indica el comienzo del listado de Capas. Debajo encontrarás líneas que contienen o bien `LAYOUT` o `KEYMAP`, y estas líneas indican el comienzo de una capa. Debajo de esa línea está la lista de teclas que pertenecen a esa capa concreta.
-
- !> Cuando estés editando tu fichero de keymap ten cuidado con no añadir ni eliminar ninguna coma. Si lo haces el firmware dejará de compilar y puede no ser fácil averiguar dónde está la coma faltante o sobrante.
-
- ## Personaliza el Layout a tu gusto
-
- Cómo completar esta paso depende enteramente de ti. Haz ese pequeño cambio que querías o rehaz completamente todo. Puedes eliminar capas si no las necesitas todas, o añadir nuevas hasta un total de 32. Comprueba la siguiente documentación para descubrir qué es lo que puedes definir aquí:
-
- * [Keycodes](keycodes.md)
- * [Características](features.md)
- * [Preguntas frecuentes](faq.md)
-
- ?> Mientras estás descubriendo cómo funcionan los keymaps, haz pequeños cambios. Cambios mayores pueden hacer difícil la depuración de problemas que puedan aparecer.
-
- ## Construye tu firmware
-
- Cuando los cambios a tu keymap están completos necesitarás construir el firmware. Para hacerlo vuelve a la ventana de tu terminal y ejecuta el siguiente comando:
-
- make <my_keyboard>:<my_keymap>
-
- Por ejemplo, si tu keymap se llama "xyverz" y estás construyendo un keymap para un planck rev5, utilizarás el siguiente comando:
-
- make planck/rev5:xyverz
-
- Mientras compila, recibirás un montón de información de salida en la pantalla informándote de qué ficheros están siendo compilados. Debería acabar con una información similar a esta:
-
- ```
- Linking: .build/planck_rev5_xyverz.elf [OK]
- Creating load file for flashing: .build/planck_rev5_xyverz.hex [OK]
- Copying planck_rev5_xyverz.hex to qmk_firmware folder [OK]
- Checking file size of planck_rev5_xyverz.hex [OK]
- * File size is fine - 18392/28672
- ```
-
- ## Flashea tu firmware
-
- Continua con [Flasheando el firmware](newbs_flashing.md) para aprender cómo escribir tu firmware nuevo en tu teclado.
|