/zmk-config-1

Personal ZMK firmware configuration for my corne wireless keyboards

Primary LanguageCMIT LicenseMIT

MC Technology

MC Technology | YouTube @mctechnology17 | Twitter @mctechnology17 | Instagram MC Technology17 | Facebook @mctechnology17 | Reddit



INTRO

Este repositorio contiene mi configuracion personal de mi teclado corne con el sofware de ZMK, flashado en el microcontrolador nice!nano_v2.

nicenano_v2

NO ME HAGO RESPONSABLE DE NINGUN DAÑO QUE PUEDA OCASIONAR ESTE CODIGO, UTILIZALO BAJO TU PROPIO RIESGO.

SIENTETE LIBRE DE MODIFICAR EL CODIGO A TU GUSTO O DE OCUPAR LO QUE NECESITES NO OLVIDES REFERENCIAR A LOS AUTORES DE LOS CODIGOS QUE OCUPES.

Caracteristicas:

  • Teclado inalambrico atraves de conexion bluetooth y usb-c
  • Teclado ergonomico y ortolineal
  • Altamente programable con el sofware de ZMK
  • Compatibilidad con Linux, Windows, MacOS, Android, IOS y mas
  • COMPLETAMENTE INALAMBRICO ENTRE LAS DOS MITADES Y CON EL PC
  • Ultra bajo consumo. Extiende la duración de la batería al límite
  • Arrastrar y soltar gracias a el cargador de arranque UF2 incluido
  • NO SE REQUIERE SOFTWARE ADICIONAL (como VIAL, QMK ToolBox etc.)
  • Y mas...

Tabla de pros y contras importantes a tomar en cuenta:

PROS CONTRAS
Soporte Multi-Dispositivos BLE (HASTA 5) Mouse Keys (EN DESARROLLO)
Hasta 1 semana de uso sin cargador (con 100mAh) Display Support (EN DESARROLLO)
No necesitas de sofware adicional para flashar Tienes que hacer conectarte a internet compilar (todo se hace en github)

FUNCIONANDO SIN ERRORES HASTA EL MOMENTO!

INSTALACION

Referencia ZMK de donde saque la informacion.

PRE-Requisitos:

  • Tener instalado git en tu computadora y una cuenta en github
    • Crear un nuevo repositorio en github. Para crear un nuevo repositorio dale click aqui
    • Cuando se te solicite el nombre del repositorio, ingresa zmk-config (puede ser otro nombre tambien).
    • El repositorio puede ser público o privado
    • No marcar ninguna de las opciones para inicializar el repositorio con un README u otros archivos.
    • Haz clic en "Crear repositorio"
  • Opcional tener instalado en tu computadora VSC (Visual Studio Code) u otro editor de texto de tu preferencia, yo uso nvim/vim
  • Opcional puedes de preferencia usar git con SSH eso te evitara tener que poner tu usuario y contraseña cada vez que tengas que hacer un git push en otras palabras despues de cada modificacion que le hagas al codigo
# 0. crea una repositorio con el nombre de zmk-config en tu cuenta de github
# 1. luego abre la terminal y pega esto:
bash -c "$(curl -fsSL https://zmk.dev/setup.sh)"
# 2. se abre una opcion con muchos teclados, seleciona el 13 (corne)
13 # enter
# 3. se abre una opcion a elegir el MCU (Microcontrolador), seleciona el 4 (nice!nano v2)
4 # enter
# 4. ¿Copiar en el mapa de teclas estándar para personalizarlo? [Yn]:
Y # enter
# 5. Datos de tu GitHub
mctechnology17 # AQUI TU USUARIO DE GITHUB
CONTRASEÑA # AQUI TU CONTRASEÑA DE GITHUB
# 6. Nombre del repositorio
ENTER # simplemente enter, dejamos la por defecto zmk-config
# 7. insertar el repositorio
git@github.com:mctechnology17/zmk-config.git # mctechnology17 -> AQUI TU USUARIO DE GITHUB
# 8. Continuar?
Y # enter

Despues de concluir los pasos anteriores con exito, puedes ir a la ruta dinde se encuentra el repositorio con el siguiente comando y modificar el codigo a tu gusto:

cd ~/zmk-config/config

# vista de como esta estructurado el repositorio
zmk-config # carpeta principal
├── build.yaml # archivo de configuracion para el compilado NO MODIFICAR
├── config # carpeta de configuracion
│   ├── corne.conf # archicho de configuracios de las macros
│   ├── corne.keymap # archicho de configuracios de las teclas
│   └── west.yml # config para conectarse con https://github.com/zmkfirmware NO MODIFICAR
└── README.md

Si no modificaste nada puedes simplemente ir a tu repositorio en github y dale a refrescar a la pagina.

Ahora ve a esta ruta en tu repositorio de github:

  • Actions(click) -> All Workflows (click)-> Initial User Config. (aqui haces scroll hasta abajo y click)
  • Aqui hay algo que se llama Artifacts, dale click para descargar el archivo, es un .zip

Ahora ve a descarga en tu computadora(o donde tengas por defecto las descargas):

  • Descomprime el archivo .zip
  • Conecta el microcontrolador nice!nano v2 al puerto usb-c de tu computadora
  • El microcontrolador se reconocera como un dispositivo de almacenamiento
  • Copia el archivo corne_left-nice_nano_v2-zmk.uf2 que descomprimiste en la carpeta del dispositivo de almacenamiento
  • Conecta el otro microcontrolador nice!nano v2 al puerto usb-c de tu computadora
  • Ahora copia el otro archivo corne_right-nice_nano_v2-zmk.uf2 que descomprimiste en la carpeta del dispositivo de almacenamiento
  • Listo, ya tienes tu teclado corne configurado con la configuracion estandar de ZMK
  • Ahora puedes modificar el codigo a tu gusto y volver a compilarlo

Si quieres usar mi configuracion solo debes clonar este repositorio y reemplazar los archivos corne.conf y corne.keymap que se encuentran en la siguiente ruta:

zmk-config # carpeta principal
├── config # carpeta de configuracion
│   ├── corne.conf # archicho de configuracios de las macros
│   ├── corne.keymap # archicho de configuracios de las teclas

MODO SUSPENCION

En el archicho de configuracios de las macros corne.conf puedes poner la siguiente macro:

CONFIG_ZMK_SLEEP=y

Esta macro te permite poner el teclado en modo de suspencion, para despertarlo solo debes presionar cualquier tecla. Es muy util para preservar la vida de la bateria.

zmk-config # carpeta principal
├── config # carpeta de configuracion
│   ├── corne.conf # archicho de configuracios de las macros

ESTA MACRO NO VIENE POR DEFECTO EN LA CONFIGURACION ESTANDAR DE ZMK, POR LO QUE DEBES AGREGARLA TU MISMO.

PANTALLA OLED

La pantalla OLED aun no esta soportada por ZMK o mejor dicho esta en desarrollo, por lo que no se puede usar.

RGB

En el archicho de configuracios de las macros corne.conf puedes poner la siguiente macro:

CONFIG_ZMK_RGB_UNDERGLOW=y
# Usar la configuración de STRIP específica para los LED que estás usando
CONFIG_WS2812_STRIP=y
zmk-config # carpeta principal
├── config # carpeta de configuracion
│   ├── corne.conf # archicho de configuracios de las macros

Ahora debes ir a la siguiente ruta y modificar el archivo corne.keymap:

zmk-config # carpeta principal
├── config # carpeta de configuracion
│   ├── corne.keymap # archicho de configuracios de las teclas + RBG

Agrega las siguientes lineas antes de keymap:

#ifdef CONFIG_ZMK_RGB_UNDERGLOW
#    include <dt-bindings/zmk/rgb.h>
#    include <dt-bindings/led/led.h>

#include <../boards/shields/corne/boards/nice_nano.overlay>

// Overwrite number of leds on the keyboard. A Corne has 27 per side.
&led_strip { chain-length = <27>; };

#endif // CONFIG_ZMK_RGB_UNDERGLOW

Ahora aqui tienes un ejemplo de como debes mapear las teclas para controlar el RGB:

#ifdef CONFIG_ZMK_RGB_UNDERGLOW
      mouse_layer {
         //   .------------------------------------------------.                         .-------------------------------------------------.
         //   |        |       |       |OUT_USB|OUT_BLE|OUT_TOG|                         |RGBBRI-|RGBBRI+|WH_LEFT|WH_RIGH|WH_DOWN| WH_UP   |
         //   |--------+-------+-------+-------+-------+-------|                         |-------+-------+-------+-------+-------+---------|
         //   |        |CLICK_1|CLICK_2|BT_CLR |BT_PRV | BT_NXT|                         |RGBSAT-|RGBSAT+|       |CLICK_1| UP    |CLICK_2  |
         //   |--------+-------+-------+-------+-------+-------|                         |-------+-------+-------+-------+-------+---------|
         //   |BT_CLR  |BT_0   |BT_1   |BT_2   |BT_3   |BT_4   |                         |RGBHUE-|RGBHUE+| RESET | LEFT  | DOWN  | RIGHT   |
         //   '---------------------------------------------------------|       |----------------------------------------------------------'
         //                            |EP_ON  | EP_OFF|         EP_TOG |       |RGBANI- |RGBANI+|   RGBTOG      |
         //                            '--------------------------------'       '--------------------------------'
         bindings = <
            &none &none &none &out OUT_USB &out OUT_BLE  &out OUT_TOG  &rgb_ug RGB_BRD    &rgb_ug RGB_BRI   &none  &none  &none  &none
            &none &none &none &bt BT_CLR &bt BT_PRV &bt BT_NXT &rgb_ug RGB_SAD  &rgb_ug RGB_SAI   &none  &none  &none  &none
            &bt BT_CLR   &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &rgb_ug RGB_HUD  &rgb_ug RGB_HUI   &reset  &none  &none  &none
                                    &ext_power EP_ON    &ext_power EP_OFF   &ext_power EP_TOG                      &rgb_ug RGB_EFR  &rgb_ug RGB_EFF  &rgb_ug RGB_TOG
                                 >;
                         };
#else
      mouse_layer {
         //   .------------------------------------------------.                         .-------------------------------------------------.
         //   |        |       |       |OUT_USB|OUT_BLE|OUT_TOG|                         |       |       |WH_LEFT|WH_RIGH|WH_DOWN| WH_UP   |
         //   |--------+-------+-------+-------+-------+-------|                         |-------+-------+-------+-------+-------+---------|
         //   |        |CLICK_1|CLICK_2|BT_CLR |BT_PRV | BT_NXT|                         |       |       |       |CLICK_1| UP    |CLICK_2  |
         //   |--------+-------+-------+-------+-------+-------|                         |-------+-------+-------+-------+-------+---------|
         //   |BT_CLR  |BT_0   |BT_1   |BT_2   |BT_3   |BT_4   |                         |       |       | RESET | LEFT  | DOWN  | RIGHT   |
         //   '---------------------------------------------------------|       |----------------------------------------------------------'
         //                            |EP_ON  | EP_OFF|         EP_TOG |       |       |        |               |
         //                            '--------------------------------'       '--------------------------------'
         bindings = <
            &none &none &none &out OUT_USB &out OUT_BLE  &out OUT_TOG &none    &none   &none  &none  &none  &none
            &none &none &none &bt BT_CLR &bt BT_PRV &bt BT_NXT &none  &none   &none  &none  &none  &none
            &bt BT_CLR   &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &none  &none  &reset  &none  &none  &none
                                    &ext_power EP_ON    &ext_power EP_OFF   &ext_power EP_TOG                      &none  &none  &none
                                 >;
                         };
#endif // CONFIG_ZMK_RGB_UNDERGLOW

RECUERDA QUE EL RGB GASTA DEMASIADA ENERGIA, LO MEJOR ES NO ACTIVARLO!

OTROS CONSEJOS IMPORTANTES

  • Si se te desconectaron/desincronizaron ambas mitades solo tienes que presionar el boton de reset de ambas mitades 10 veces seguidas y se volveran a conectar.
  • Si quires volver a flashar el firware solo tienes que conectar el teclado(osea una mitad primero, normalmente la izquierda) presionar el boton de reset 2 veces seguidas y tu dispositivo se reconocera como una unidad de almecenamiento de disco duro, luego solo arrastra el archivo a flashear y listo. Haz lo mismo con la otra mitad.

DONACION

Si disfrutas de mi trabajo, siéntete libre de donar o convertirte en patrocinador.

Emsamblador y creador/mantenedor de vimtools, GitManager y más, que son herramientas de trabajo fáciles de integrar, pero muy potentes que te permiten mejore su flujo de trabajo, integrándose con todos los sistemas operativos y todas las shells(zsh, fish, bash, etc.) posibles.

Aquí puedes ver otros proyecto publicado recientemente:

  • vimtools navaja suiza para vim (funciones y configuraciones que te facilitarán la vida)
  • gm administrador multiplataforma GIT con una interfaz de usuario amigable
  • vim-better-header la mejor plantilla automatizada
  • vim-executor Ejecutador de código multilenguaje

🏆 Trofeos de perfil de GitHub

trophy

Released under the MIT License

Copyright (c) 2020 The ZMK Contributors