You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

81 lines
4.2 KiB

  1. # Construyendo tu primer firmware
  2. 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.
  3. 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.
  4. ## Navega a tu carpeta de keymaps
  5. Comienza navegando a la carpeta `keymaps` correspondiente a tu teclado.
  6. ?> Si estás en macOS o Windows hay comandos que puedes utilizar fácilmente para abrir la carpeta keymaps.
  7. ?> macOS:
  8. abre keyboards/<keyboard_folder>/keymaps
  9. ?> Windows:
  10. inicia .\\keyboards\\<keyboard_folder>\\keymaps
  11. ## Crea una copia del keymap `default`
  12. 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.
  13. Para automatizar el proceso, también tienes la opción de ejecutar el script `new_keymap.sh`.
  14. Navega a la carpeta `qmk_firmware/util` e introduce lo siguiente:
  15. ```
  16. ./new_keymap.sh <keyboard path> <username>
  17. ```
  18. Por ejemplo, para un usuario llamado John, intentando hacer un keymap nuevo para el 1up60hse, tendría que teclear
  19. ```
  20. ./new_keymap.sh 1upkeyboards/1up60hse john
  21. ```
  22. ## Abre `keymap.c` con tu editor de texto favorito
  23. 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:
  24. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  25. 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.
  26. !> 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.
  27. ## Personaliza el Layout a tu gusto
  28. 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í:
  29. * [Keycodes](keycodes.md)
  30. * [Características](features.md)
  31. * [Preguntas frecuentes](faq.md)
  32. ?> 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.
  33. ## Construye tu firmware
  34. 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:
  35. make <my_keyboard>:<my_keymap>
  36. Por ejemplo, si tu keymap se llama "xyverz" y estás construyendo un keymap para un planck rev5, utilizarás el siguiente comando:
  37. make planck/rev5:xyverz
  38. 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:
  39. ```
  40. Linking: .build/planck_rev5_xyverz.elf [OK]
  41. Creating load file for flashing: .build/planck_rev5_xyverz.hex [OK]
  42. Copying planck_rev5_xyverz.hex to qmk_firmware folder [OK]
  43. Checking file size of planck_rev5_xyverz.hex [OK]
  44. * File size is fine - 18392/28672
  45. ```
  46. ## Flashea tu firmware
  47. Continua con [Flasheando el firmware](newbs_flashing.md) para aprender cómo escribir tu firmware nuevo en tu teclado.