From e7c9c5ace764e1cd40af0b5d55d48ac1c5c57cb7 Mon Sep 17 00:00:00 2001 From: "Chow Castro, Marcos" Date: Tue, 5 Sep 2023 21:13:06 +0200 Subject: [PATCH] better config, display oled/view, animations bongo cat etc., rgb full, puchi-ble/nicenano_v2, combos, macros, reset/bootloader, ... etc. --- .gitignore | 1 + README.md | 190 +++-- build.yaml | 57 +- config/boards/.DS_Store.gz | Bin 0 -> 270 bytes config/boards/nrfmicro_11.overlay | 47 ++ config/boards/nrfmicro_13.overlay | 47 ++ config/boards/puchi_ble_v1.overlay | 48 ++ config/config.options | 707 ++++++++++++++++++ config/config_ready/nice/oled_rgb/corne.conf | 105 +++ config/config_ready/nice/view/corne.conf | 105 +++ config/config_ready/puchi/oled_rgb/corne.conf | 105 +++ config/config_ready/puchi/view/corne.conf | 105 +++ config/config_zmk.h | 105 +++ config/corne.conf | 128 +++- config/corne.keymap | 349 ++++----- config/keymap_german_mac_iso_zmk.h | 18 + config/keypos_42keys.h | 62 ++ config/macros.dtsi | 71 ++ config/mouse.dtsi | 68 ++ config/nice_nano_v2.overlay | 33 - config/west.yml | 8 +- 21 files changed, 1994 insertions(+), 365 deletions(-) create mode 100644 config/boards/.DS_Store.gz create mode 100644 config/boards/nrfmicro_11.overlay create mode 100644 config/boards/nrfmicro_13.overlay create mode 100644 config/boards/puchi_ble_v1.overlay create mode 100644 config/config.options create mode 100644 config/config_ready/nice/oled_rgb/corne.conf create mode 100644 config/config_ready/nice/view/corne.conf create mode 100644 config/config_ready/puchi/oled_rgb/corne.conf create mode 100644 config/config_ready/puchi/view/corne.conf create mode 100644 config/config_zmk.h create mode 100644 config/keypos_42keys.h create mode 100644 config/macros.dtsi create mode 100644 config/mouse.dtsi delete mode 100644 config/nice_nano_v2.overlay diff --git a/.gitignore b/.gitignore index 87dc0ae..f551542 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ Makefile +build/justin/* # MacOS .DS_Store diff --git a/README.md b/README.md index fdb3f7d..e49167d 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +# MC Technology's zmk-config for corne + [![MC Technology](https://github.com/mctechnology17/mctechnology17/blob/main/src/mctechnology_extendido.GIF)](https://www.youtube.com/channel/UC_mYh5PYPHBJ5YYUj8AIkcw)
@@ -13,6 +15,8 @@ - [INTRO](#INTRO) +- [QUE CONTIENE ESTA CONFIGURACION?](#QUE-CONTIENE-ESTA-CONFIGURACION?) +- [DIFERENCIA ENTRE PUCHI-BLE Y NICE!NANO](#DIFERENCIA-ENTRE-PUCHI-BLE-Y-NICE!NANO) - [INSTALACION](#INSTALACION) - [MODO SUSPENCION](#MODO-SUSPENCION) - [PANTALLA OLED](#PANTALLA-OLED) @@ -24,41 +28,79 @@ ---- # INTRO -Este repositorio contiene mi configuracion personal de mi teclado corne con el sofware de [ZMK](https://zmk.dev/docs), -flashado en el microcontrolador [nice!nano_v2](https://nicekeyboards.com/nice-nano). +Esta es mi configucion personal de mis teclados corne inalambricos con [ZMK firmware](https://github.com/zmkfirmware/zmk/). +Testeado con [nice!nano_v2](https://nicekeyboards.com/nice-nano) y [Puchi-BLE](https://keycapsss.com/keyboard-parts/mcu-controller/202/puchi-ble-wireless-microcontroller-pro-micro-replacement?number=KC10157_SWITCH&c=18). [![nicenano_v2](https://github.com/mctechnology17/mctechnology17/blob/main/src/nicenanov2.GIF)](https://nicekeyboards.com/nice-nano/) -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! +> **Warning** +> +> NO SOY RESPONSABLE DE NINGÚN DAÑO QUE ESTE CÓDIGO PUEDA CAUSAR, ÚSALO BAJO TU PROPIO RIESGO.. + + +> **Note** +> +> NO DUDES EN MODIFICAR EL CÓDIGO A TU GUSTO O UTILIZAR LO QUE NECESITES. + +| Pros | +|-----------------------------------------------------------------| +| movilidad y flexibilidad | +| reducción de tensión y fatiga (ergonómica y ortolineal) | +| productividad mejorada | +| conexión bluetooth y usb-c | +| Programable altamente personalizable con el software zmk. | +| compatibilidad con linux, windows, macos, android, ios y más | +| completamente inalámbrico entre las dos mitades y con la pc | +| Consumo ultrabajo. extiende la duración de la batería al límite | +| arrastrar y soltar gracias al gestor de arranque uf2 incluido | +| no se requiere software adicional para flashear | +| soporte para múltiples dispositivos (hasta 5) | +| teclas del mouse | +| RGB | +| Macros | +| Tap dance | +| Combos | +| hasta 1 semana de uso sin cargador (con 100mah) | +| soporte de pantalla [nice-view] y pantalla oled | +| Editor en línea para el mapa de teclas. ver [keymap-editor] | +| 100% open source | +| y más... | + +# QUE CONTIENE ESTA CONFIGURACION? +- [x] [ZMK firmware](https://zmk.dev/docs/user-setup) +- [x] Compatibilidad con [nice!nano_v2](https://nicekeyboards.com/nice-nano/) +- [x] Compatibilidad con [Puchi-BLE](https://keycapsss.com/keyboard-parts/mcu-controller/202/puchi-ble-wireless-microcontroller-pro-micro-replacement?number=KC10157_SWITCH&c=18) +- [x] Macros o tab dance +- [x] Combos +- [x] RGB underglow and backlight + efectos de animación +- [x] Pantalla OLED +- [x] Pantalla [nice-view] +- [x] Animaciones con [nice-view] como Bongo cat, cohete, etc. +- [x] Modo suspensión +- [x] Soporte para múltiples dispositivos (hasta 5) +- [x] Teclas del mouse +- [x] Teclas smart especiales +- [x] Capa Lock virtual +- [x] reset virtual por cada mitad +- [x] bootloader virtual por cada mitad +- [x] nombre por cada capa +- [x] Capa de simbolos en linux, windows y macos +- [] Editor en línea para el mapa de teclas. ver [keymap-editor] + + +[![Video ref](https://packaged-media.redd.it/jdctewpzktjb1/pb/m2-res_720p.mp4?m=DASHPlaylist.mpd&v=1&e=1693947600&s=451fe9a01d3b1a879392e269f6815e799cd9b4be#t=0)] + + +# DIFERENCIA ENTRE PUCHI BLE Y NICE!NANO +- Módulo bluetooth certificado (ce, fcc y rohs) +- Antena cerámica optimizada para alta intensidad de señal y bajos niveles de interferencia. +- Interruptor de encendido/apagado para prolongar la vida útil de la batería (solo variante con interruptor) +- Open Source # INSTALACION -[Referencia ZMK](https://zmk.dev/docs/user-setup) de donde saque la informacion. +¿De dónde sacas la información? -> [referencia a documentos zmk](https://zmk.dev/docs/user-setup) -PRE-Requisitos: +Pre requirements: - Tener instalado [git](https://github.com/git-guides/install-git) en tu computadora y una cuenta en [github](https://github.com/) - Crear un nuevo repositorio en github. [Para crear un nuevo repositorio dale click aqui](https://github.com/new) - Cuando se te solicite el nombre del repositorio, ingresa zmk-config (puede ser otro nombre tambien). @@ -145,86 +187,30 @@ zmk-config # carpeta principal ``` 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](./config/corne.conf) puedes poner la siguiente macro: -```make -CONFIG_ZMK_RGB_UNDERGLOW=y -# Usar la configuración de STRIP específica para los LED que estás usando -CONFIG_WS2812_STRIP=y -``` ```bash -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](./config/corne.keymap): -```bash -zmk-config # carpeta principal -├── config # carpeta de configuracion -│ ├── corne.keymap # archicho de configuracios de las teclas + RBG +# activar por 30 minutos (30*60*1000ms) +CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=1800000 ``` -Agrega las siguientes lineas antes de keymap: -```c -#ifdef CONFIG_ZMK_RGB_UNDERGLOW -# include -# include -#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>; }; +# PANTALLA OLED +El OLED ya esta soportado asi que puedes usarlo sin problemas en esta +configuracion. Puedes ver un ejemplo que funciona en el siguiente archivo: +[corne.conf](./config/config_ready/nice/oled_rgb/corne.conf): -#endif // CONFIG_ZMK_RGB_UNDERGLOW -``` -Ahora aqui tienes un ejemplo de como debes mapear las teclas para controlar el RGB: -```c -#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! +# RGB +El RGB con oled ya esta soportado asi que puedes usarlo sin problemas en esta +configuracion. Simplemete debes agregar habilitarlo en, esta habilitado por +defecto para 42 teclas y 12 LEDs por debajo. Puedes ver un ejemplo que funciona +en el siguiente archivo: +[corne.conf](./config/config_ready/nice/oled_rgb/corne.conf): # OTROS CONSEJOS IMPORTANTES +- Puedes agregar una tecla de reset en cada mitad, eso es util para cuando se te desconecten/desincronicen las mitades, o pase algo inusual. De esa manera se carga el firmware de nuevo. Ver referencia en [corne.keymap](./config/corne.keymap) +- Puedes agregar un activador de bootloader en cada mitad en caso de que no tengas acceso al boton de bootloader, es util en caso de que tu carcasa no este optimizada o de que simplemente quiera esa opcion. Ver referencia en [corne.keymap](./config/corne.keymap) - 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. +- Recuerda que si tu corne solo tiene algunas luces RGB funcionales puedes activar solo las que tengas funcionales, no es necesario que actives todas las luces. Ver referencia en [led_strip](./config/corne.keymap) # DONACION Si disfrutas de mi trabajo, siéntete libre de donar o convertirte en patrocinador. @@ -256,7 +242,9 @@ Copyright (c) 2020 The ZMK Contributors [youtube]: https://www.youtube.com/c/mctechnology17 [instagram]: https://www.instagram.com/mctechnology17/ [facebook]: https://m.facebook.com/mctechnology17/ -[reddit]:https://www.reddit.com/user/mctechnology17 +[reddit]: https://www.reddit.com/user/mctechnology17 +[nice-view]: https://nicekeyboards.com/nice-view +[keymap-editor]: https://nickcoutsos.github.io/keymap-editor/ [vim-executor]: https://github.com/mctechnology17/vim-executor [vim-better-header]: https://github.com/mctechnology17/vim-better-header diff --git a/build.yaml b/build.yaml index cf90dd3..f236de9 100644 --- a/build.yaml +++ b/build.yaml @@ -1,3 +1,23 @@ +# ======================================== +# FileName: build.yaml +# Date: 07.06.2023 +# Author: Marcos Chow Castro +# Email: mctechnology170318@gmail.com +# GitHub: https://github.com/mctechnology17 +# Brief: configuration file for ZMK firmware +# Board: nice_nano_v2 and puchi_ble_v1 +# shield: corne_left nice_view_adapter nice_view, +# corne_right nice_view_adapter nice_view, +# corne_left, corne_right and settings_reset +# ========================================= +# ╔═╦═╦═╗ +# ╔════╗ ║║║║║╔╝ +# ║╔╗╔╗║ ║║║║║╚╗ +# ╚╝║║╚╝ ║╠═╩╩═╝ +# ║╠═╦═╣╚╦═╦╦═╦╗╔═╦═╦╦╗ +# ║║╩╣═╣║║║║║╬║╚╣╬║╬║║║ +# ╚╩═╩═╩╩╩╩═╩═╩═╩═╬╗╠╗║ +# ╚═╩═╝ # This file generates the GitHub Actions matrix # For simple board + shield combinations, add them # to the top level board and shield arrays, for more @@ -11,14 +31,33 @@ # - board: nice_nano_v2 # shield: reviung41 # +# Split Keyboard Halves Unable to Pair +# https://zmk.dev/docs/troubleshooting +# - board: nice_nano_v2 +# shield: settings_reset +# Reset Split Keyboard Procedure +# Perform the following steps to reset both halves of your split keyboard: +# - Put each half of the split keyboard into bootloader mode. +# - Flash one of the halves of the split with the downloaded settings reset UF2 +# image. Immediately after flashing the chosen half, put it into bootloader +# mode to avoid accidental bonding between the halves. +# - Repeat step 2 with the other half of the split keyboard. +# - Flash the actual image for each half of the split keyboard (e.g +# my_board_left.uf2 to the left half, my_board_right.uf2 to the right half). +# +# After completing these steps, pair the halves of the split keyboard +# together by resetting them at the same time. Most commonly, this is done by +# grounding the reset pins for each of your keyboard's microcontrollers or +# pressing the reset buttons at the same time. --- include: - # - board: nice_nano_v2 - # shield: corne_left - # - board: nice_nano_v2 - # shield: corne_right - # TEST - - board: nice_nano_v2 - shield: corne_left nice_view_adapter nice_view - - board: nice_nano_v2 - shield: corne_right nice_view_adapter nice_view + - board: nice_nano_v2 # puchi_ble_v1 nice_nano_v2 + shield: corne_left nice_view_adapter nice_view # con display + # shield: corne_left # con OLED display + # - board: puchi_ble_v1 # puchi_ble_v1 nice_nano_v2 + - board: nice_nano_v2 # puchi_ble_v1 nice_nano_v2 + shield: corne_right nice_view_adapter nice_view # con display + # shield: corne_right # con OLED display + # - board: puchi_ble_v1 # puchi_ble_v1 nice_nano_v2 + # - board: puchi_ble_v1 + # shield: settings_reset diff --git a/config/boards/.DS_Store.gz b/config/boards/.DS_Store.gz new file mode 100644 index 0000000000000000000000000000000000000000..082a16d40fd8ce155055e79b9c9e02a3fd0ff8ac GIT binary patch literal 270 zcmV+p0rCDHiwFqyr+j1p11>~UUsH5%a%BMRn6XL&K@f)jIj=ad*}}qdpFq$j*o0V! zr4OJcu@H_N1Ps_+=VR*}^CKrQ5UWV?e=vN@-p=h_v%7NuZ2Gpm1`>bhTIF!c*O!QKk_%Y!Iif*-oHlc{qJ{ex0tuxJQi#d_x&f?b3P%2 z5aQIaP;-9RWe6euA;bQV=|cBm&bkbfNpOaa={$bVDaP(}nKC+_a3vhjC_O zg<^@$botXK3vn`>h0<{T-(qL|FN8Q^te!p0ruZ%hwiwRZ?C~^C+Hnb};%DLIXk4ZX U-G_A%5aLjL0mO4dDg+n+055ok82|tP literal 0 HcmV?d00001 diff --git a/config/boards/nrfmicro_11.overlay b/config/boards/nrfmicro_11.overlay new file mode 100644 index 0000000..8754dec --- /dev/null +++ b/config/boards/nrfmicro_11.overlay @@ -0,0 +1,47 @@ +#include + +&pinctrl { + spi1_default: spi1_default { + group1 { + psels = ; + }; + }; + + spi1_sleep: spi1_sleep { + group1 { + psels = ; + low-power-enable; + }; + }; +}; + +&spi1 { + compatible = "nordic,nrf-spim"; + status = "okay"; + + pinctrl-0 = <&spi1_default>; + pinctrl-1 = <&spi1_sleep>; + pinctrl-names = "default", "sleep"; + + led_strip: ws2812@0 { + compatible = "worldsemi,ws2812-spi"; + label = "WS2812"; + + /* SPI */ + reg = <0>; /* ignored, but necessary for SPI bindings */ + spi-max-frequency = <4000000>; + + /* WS2812 */ + chain-length = <10>; /* arbitrary; change at will */ + spi-one-frame = <0x70>; + spi-zero-frame = <0x40>; + + color-mapping = ; + }; +}; + +/ { + chosen { + zmk,underglow = &led_strip; + }; +}; diff --git a/config/boards/nrfmicro_13.overlay b/config/boards/nrfmicro_13.overlay new file mode 100644 index 0000000..8754dec --- /dev/null +++ b/config/boards/nrfmicro_13.overlay @@ -0,0 +1,47 @@ +#include + +&pinctrl { + spi1_default: spi1_default { + group1 { + psels = ; + }; + }; + + spi1_sleep: spi1_sleep { + group1 { + psels = ; + low-power-enable; + }; + }; +}; + +&spi1 { + compatible = "nordic,nrf-spim"; + status = "okay"; + + pinctrl-0 = <&spi1_default>; + pinctrl-1 = <&spi1_sleep>; + pinctrl-names = "default", "sleep"; + + led_strip: ws2812@0 { + compatible = "worldsemi,ws2812-spi"; + label = "WS2812"; + + /* SPI */ + reg = <0>; /* ignored, but necessary for SPI bindings */ + spi-max-frequency = <4000000>; + + /* WS2812 */ + chain-length = <10>; /* arbitrary; change at will */ + spi-one-frame = <0x70>; + spi-zero-frame = <0x40>; + + color-mapping = ; + }; +}; + +/ { + chosen { + zmk,underglow = &led_strip; + }; +}; diff --git a/config/boards/puchi_ble_v1.overlay b/config/boards/puchi_ble_v1.overlay new file mode 100644 index 0000000..9dfd196 --- /dev/null +++ b/config/boards/puchi_ble_v1.overlay @@ -0,0 +1,48 @@ +#include + +&pinctrl { + spi3_default: spi3_default { + group1 { + psels = ; + }; + }; + + spi3_sleep: spi3_sleep { + group1 { + psels = ; + low-power-enable; + }; + }; +}; + +&spi3 { + compatible = "nordic,nrf-spim"; + status = "okay"; + + pinctrl-0 = <&spi3_default>; + pinctrl-1 = <&spi3_sleep>; + pinctrl-names = "default", "sleep"; + + led_strip: ws2812@0 { + compatible = "worldsemi,ws2812-spi"; + label = "WS2812"; + + /* SPI */ + reg = <0>; /* ignored, but necessary for SPI bindings */ + spi-max-frequency = <4000000>; + + /* WS2812 10 default, cambie a 54*/ + chain-length = <27>; /* There are per-key RGB, but the first 6 are underglow */ + spi-one-frame = <0x70>; + spi-zero-frame = <0x40>; + + color-mapping = ; + }; +}; + +/ { + chosen { + zmk,underglow = &led_strip; + }; +}; +// vim: filetype=dts fdm=marker: diff --git a/config/config.options b/config/config.options new file mode 100644 index 0000000..a075068 --- /dev/null +++ b/config/config.options @@ -0,0 +1,707 @@ +CONFIG_ADC=y +CONFIG_ADC_CONFIGURABLE_INPUTS=y +CONFIG_ADC_INIT_PRIORITY=50 +CONFIG_ADC_NRFX_SAADC=y +CONFIG_APPLICATION_INIT_PRIORITY=90 +CONFIG_APP_LINK_WITH_LVGL=y +CONFIG_ARCH="arm" +CONFIG_ARCH_HAS_CODE_DATA_RELOCATION=y +CONFIG_ARCH_HAS_CUSTOM_BUSY_WAIT=y +CONFIG_ARCH_HAS_CUSTOM_SWAP_TO_MAIN=y +CONFIG_ARCH_HAS_EXECUTABLE_PAGE_BIT=y +CONFIG_ARCH_HAS_EXTRA_EXCEPTION_INFO=y +CONFIG_ARCH_HAS_NESTED_EXCEPTION_DETECTION=y +CONFIG_ARCH_HAS_RAMFUNC_SUPPORT=y +CONFIG_ARCH_HAS_SINGLE_THREAD_SUPPORT=y +CONFIG_ARCH_HAS_STACK_PROTECTION=y +CONFIG_ARCH_HAS_SUSPEND_TO_RAM=y +CONFIG_ARCH_HAS_THREAD_ABORT=y +CONFIG_ARCH_HAS_THREAD_LOCAL_STORAGE=y +CONFIG_ARCH_HAS_TIMING_FUNCTIONS=y +CONFIG_ARCH_HAS_USERSPACE=y +CONFIG_ARCH_IRQ_VECTOR_TABLE_ALIGN=4 +CONFIG_ARCH_IS_SET=y +CONFIG_ARCH_SUPPORTS_ARCH_HW_INIT=y +CONFIG_ARCH_SUPPORTS_COREDUMP=y +CONFIG_ARCH_SW_ISR_TABLE_ALIGN=4 +CONFIG_ARM=y +CONFIG_ARMV7_M_ARMV8_M_FP=y +CONFIG_ARMV7_M_ARMV8_M_MAINLINE=y +CONFIG_ARM_MPU=y +CONFIG_ARM_MPU_REGION_MIN_ALIGN_AND_SIZE=32 +CONFIG_ASSEMBLER_ISA_THUMB2=y +CONFIG_ASSERT_VERBOSE=y +CONFIG_ATOMIC_OPERATIONS_BUILTIN=y +CONFIG_BOARD="nice_nano" +CONFIG_BOARD_ENABLE_DCDC=y +CONFIG_BOARD_NICE_NANO_V2=y +CONFIG_BOARD_REVISION="" +CONFIG_BOOT_BANNER=y +CONFIG_BOOT_DELAY=0 +CONFIG_BT=y +CONFIG_BT_ASSERT=y +CONFIG_BT_ASSERT_VERBOSE=y +CONFIG_BT_ATT_ENFORCE_FLOW=y +CONFIG_BT_ATT_PREPARE_COUNT=0 +CONFIG_BT_ATT_RETRY_ON_SEC_ERR=y +CONFIG_BT_AUTO_DATA_LEN_UPDATE=y +CONFIG_BT_AUTO_PHY_UPDATE=y +CONFIG_BT_BACKGROUND_SCAN_INTERVAL=2048 +CONFIG_BT_BACKGROUND_SCAN_WINDOW=18 +CONFIG_BT_BAS=y +CONFIG_BT_BONDABLE=y +CONFIG_BT_BROADCASTER=y +CONFIG_BT_BUF_ACL_RX_COUNT=3 +CONFIG_BT_BUF_ACL_RX_SIZE=69 +CONFIG_BT_BUF_ACL_TX_COUNT=3 +CONFIG_BT_BUF_ACL_TX_SIZE=27 +CONFIG_BT_BUF_CMD_TX_COUNT=2 +CONFIG_BT_BUF_CMD_TX_SIZE=65 +CONFIG_BT_BUF_EVT_DISCARDABLE_COUNT=3 +CONFIG_BT_BUF_EVT_DISCARDABLE_SIZE=43 +CONFIG_BT_BUF_EVT_RX_COUNT=3 +CONFIG_BT_BUF_EVT_RX_SIZE=68 +CONFIG_BT_CENTRAL=y +CONFIG_BT_COMPANY_ID=0x05F1 +CONFIG_BT_CONN=y +CONFIG_BT_CONN_PARAM_UPDATE_TIMEOUT=5000 +CONFIG_BT_CONN_TX=y +CONFIG_BT_CONN_TX_MAX=3 +CONFIG_BT_CREATE_CONN_TIMEOUT=3 +CONFIG_BT_CTLR=y +CONFIG_BT_CTLR_ADV_DATA_BUF_MAX=1 +CONFIG_BT_CTLR_ADV_EXT_SUPPORT=y +CONFIG_BT_CTLR_ADV_ISO_SUPPORT=y +CONFIG_BT_CTLR_ADV_PERIODIC_SUPPORT=y +CONFIG_BT_CTLR_AD_DATA_BACKUP=y +CONFIG_BT_CTLR_CHAN_SEL_2=y +CONFIG_BT_CTLR_CHAN_SEL_2_SUPPORT=y +CONFIG_BT_CTLR_CHECK_SAME_PEER_CONN=y +CONFIG_BT_CTLR_COMPANY_ID=0x05F1 +CONFIG_BT_CTLR_CONN_PARAM_REQ=y +CONFIG_BT_CTLR_CONN_PARAM_REQ_SUPPORT=y +CONFIG_BT_CTLR_CONN_RANDOM_FORCE=y +CONFIG_BT_CTLR_CONN_RSSI_SUPPORT=y +CONFIG_BT_CTLR_CRYPTO=y +CONFIG_BT_CTLR_DATA_LENGTH=y +CONFIG_BT_CTLR_DATA_LENGTH_MAX=27 +CONFIG_BT_CTLR_DATA_LEN_UPDATE_SUPPORT=y +CONFIG_BT_CTLR_DTM_HCI_SUPPORT=y +CONFIG_BT_CTLR_DUP_FILTER_LEN=16 +CONFIG_BT_CTLR_EXT_REJ_IND=y +CONFIG_BT_CTLR_EXT_REJ_IND_SUPPORT=y +CONFIG_BT_CTLR_EXT_SCAN_FP=y +CONFIG_BT_CTLR_EXT_SCAN_FP_SUPPORT=y +CONFIG_BT_CTLR_FORCE_MD_COUNT=0 +CONFIG_BT_CTLR_HCI_VS_BUILD_INFO="" +CONFIG_BT_CTLR_LE_ENC=y +CONFIG_BT_CTLR_LE_ENC_SUPPORT=y +CONFIG_BT_CTLR_LE_PING=y +CONFIG_BT_CTLR_LLCP_CONN=6 +CONFIG_BT_CTLR_LLL_PRIO=0 +CONFIG_BT_CTLR_MIN_USED_CHAN=y +CONFIG_BT_CTLR_MIN_USED_CHAN_SUPPORT=y +CONFIG_BT_CTLR_OPTIMIZE_FOR_SPEED=y +CONFIG_BT_CTLR_PER_INIT_FEAT_XCHG=y +CONFIG_BT_CTLR_PER_INIT_FEAT_XCHG_SUPPORT=y +CONFIG_BT_CTLR_PHY=y +CONFIG_BT_CTLR_PHY_2M=y +CONFIG_BT_CTLR_PHY_2M_SUPPORT=y +CONFIG_BT_CTLR_PHY_CODED_SUPPORT=y +CONFIG_BT_CTLR_PHY_UPDATE_SUPPORT=y +CONFIG_BT_CTLR_PRIVACY_SUPPORT=y +CONFIG_BT_CTLR_RADIO_ENABLE_FAST=y +CONFIG_BT_CTLR_RX_BUFFERS=1 +CONFIG_BT_CTLR_RX_PRIO_STACK_SIZE=448 +CONFIG_BT_CTLR_SCHED_ADVANCED=y +CONFIG_BT_CTLR_SCHED_ADVANCED_CENTRAL_CONN_SPACING=0 +CONFIG_BT_CTLR_SCHED_ADVANCED_SUPPORT=y +CONFIG_BT_CTLR_SUBVERSION_NUMBER=0xFFFF +CONFIG_BT_CTLR_SYNC_ISO_SUPPORT=y +CONFIG_BT_CTLR_SYNC_PERIODIC_SUPPORT=y +CONFIG_BT_CTLR_TIFS_HW_SUPPORT=y +CONFIG_BT_CTLR_TX_PWR_PLUS_8=y +CONFIG_BT_CTLR_ULL_HIGH_PRIO=1 +CONFIG_BT_CTLR_ULL_LLL_PRIO_SUPPORT=y +CONFIG_BT_CTLR_ULL_LOW_PRIO=1 +CONFIG_BT_CTLR_XTAL_ADVANCED=y +CONFIG_BT_CTLR_XTAL_ADVANCED_SUPPORT=y +CONFIG_BT_CTLR_XTAL_THRESHOLD=1500 +CONFIG_BT_DATA_LEN_UPDATE=y +CONFIG_BT_DEBUG_NONE=y +CONFIG_BT_DEVICE_APPEARANCE=961 +CONFIG_BT_DEVICE_NAME="Korne" +CONFIG_BT_DIS=y +CONFIG_BT_DIS_MANUF="ZMK Project" +CONFIG_BT_DIS_MODEL="Korne" +CONFIG_BT_DIS_PNP=y +CONFIG_BT_DIS_PNP_PID=0x615E +CONFIG_BT_DIS_PNP_VER=1 +CONFIG_BT_DIS_PNP_VID=0x1D50 +CONFIG_BT_DIS_PNP_VID_SRC=1 +CONFIG_BT_DRIVER_RX_HIGH_PRIO=6 +CONFIG_BT_ECC=y +CONFIG_BT_GAP_AUTO_UPDATE_CONN_PARAMS=y +CONFIG_BT_GAP_PERIPHERAL_PREF_PARAMS=y +CONFIG_BT_GATT_AUTO_DISCOVER_CCC=y +CONFIG_BT_GATT_CACHING=y +CONFIG_BT_GATT_CLIENT=y +CONFIG_BT_GATT_READ_MULTIPLE=y +CONFIG_BT_GATT_READ_MULT_VAR_LEN=y +CONFIG_BT_GATT_SERVICE_CHANGED=y +CONFIG_BT_HAS_HCI_VS=y +CONFIG_BT_HCI=y +CONFIG_BT_HCI_HOST=y +CONFIG_BT_HCI_RESERVE=0 +CONFIG_BT_HCI_TX_PRIO=7 +CONFIG_BT_HCI_TX_STACK_SIZE=1024 +CONFIG_BT_HCI_VS=y +CONFIG_BT_HCI_VS_EXT=y +CONFIG_BT_ID_MAX=1 +CONFIG_BT_L2CAP_TX_BUF_COUNT=3 +CONFIG_BT_L2CAP_TX_FRAG_COUNT=2 +CONFIG_BT_L2CAP_TX_MTU=65 +CONFIG_BT_LIM_ADV_TIMEOUT=30 +CONFIG_BT_LLL_VENDOR_NORDIC=y +CONFIG_BT_LL_SW_LLCP_LEGACY=y +CONFIG_BT_LL_SW_SPLIT=y +CONFIG_BT_LONG_WQ=y +CONFIG_BT_LONG_WQ_PRIO=10 +CONFIG_BT_LONG_WQ_STACK_SIZE=1300 +CONFIG_BT_MAX_CONN=6 +CONFIG_BT_MAX_PAIRED=6 +CONFIG_BT_MAYFLY_YIELD_AFTER_CALL=y +CONFIG_BT_OBSERVER=y +CONFIG_BT_PERIPHERAL=y +CONFIG_BT_PERIPHERAL_PREF_LATENCY=30 +CONFIG_BT_PERIPHERAL_PREF_MAX_INT=12 +CONFIG_BT_PERIPHERAL_PREF_MIN_INT=6 +CONFIG_BT_PERIPHERAL_PREF_TIMEOUT=400 +CONFIG_BT_PHY_UPDATE=y +CONFIG_BT_RECV_BLOCKING=y +CONFIG_BT_RPA=y +CONFIG_BT_RX_PRIO=8 +CONFIG_BT_RX_STACK_SIZE=2200 +CONFIG_BT_SETTINGS=y +CONFIG_BT_SETTINGS_CCC_LAZY_LOADING=y +CONFIG_BT_SETTINGS_CCC_STORE_ON_WRITE=y +CONFIG_BT_SETTINGS_USE_PRINTK=y +CONFIG_BT_SMP=y +CONFIG_BT_SMP_APP_PAIRING_ACCEPT=y +CONFIG_BT_SMP_ENFORCE_MITM=y +CONFIG_BT_SMP_MIN_ENC_KEY_SIZE=7 +CONFIG_BT_SMP_SC_PAIR_ONLY=y +CONFIG_BT_TICKER_EXT=y +CONFIG_BT_TINYCRYPT_ECC=y +CONFIG_BT_USER_PHY_UPDATE=y +CONFIG_BUILD_OUTPUT_BIN=y +CONFIG_BUILD_OUTPUT_HEX=y +CONFIG_BUILD_OUTPUT_UF2=y +CONFIG_BUILD_OUTPUT_UF2_FAMILY_ID="0xada52840" +CONFIG_CBPRINTF_FULL_INTEGRAL=y +CONFIG_CBPRINTF_LIBC_SUBSTS=y +CONFIG_CBPRINTF_NANO=y +CONFIG_CLOCK_CONTROL=y +CONFIG_CLOCK_CONTROL_INIT_PRIORITY=30 +CONFIG_CLOCK_CONTROL_NRF=y +CONFIG_CLOCK_CONTROL_NRF_ACCURACY=50 +CONFIG_CLOCK_CONTROL_NRF_K32SRC_50PPM=y +CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=y +CONFIG_COMPAT_INCLUDES=y +CONFIG_COMPILER_COLOR_DIAGNOSTICS=y +CONFIG_COMPILER_ISA_THUMB2=y +CONFIG_COMPILER_OPT="" +CONFIG_COOP_ENABLED=y +CONFIG_CPU_CORTEX=y +CONFIG_CPU_CORTEX_M4=y +CONFIG_CPU_CORTEX_M=y +CONFIG_CPU_CORTEX_M_HAS_BASEPRI=y +CONFIG_CPU_CORTEX_M_HAS_DWT=y +CONFIG_CPU_CORTEX_M_HAS_PROGRAMMABLE_FAULT_PRIOS=y +CONFIG_CPU_CORTEX_M_HAS_SYSTICK=y +CONFIG_CPU_CORTEX_M_HAS_VTOR=y +CONFIG_CPU_HAS_ARM_MPU=y +CONFIG_CPU_HAS_FPU=y +CONFIG_CPU_HAS_MPU=y +CONFIG_CSPRING_ENABLED=y +CONFIG_CUSTOM_SECTION_MIN_ALIGN_SIZE=32 +CONFIG_DCACHE_LINE_SIZE=32 +CONFIG_DEPRECATED=y +CONFIG_DISPLAY=y +CONFIG_DISPLAY_INIT_PRIORITY=85 +CONFIG_DT_HAS_ARM_ARMV7M_ITM_ENABLED=y +CONFIG_DT_HAS_ARM_CORTEX_M4F_ENABLED=y +CONFIG_DT_HAS_ARM_CRYPTOCELL_310_ENABLED=y +CONFIG_DT_HAS_ARM_V7M_NVIC_ENABLED=y +CONFIG_DT_HAS_FIXED_PARTITIONS_ENABLED=y +CONFIG_DT_HAS_GPIO_LEDS_ENABLED=y +CONFIG_DT_HAS_MMIO_SRAM_ENABLED=y +CONFIG_DT_HAS_NORDIC_NRF52_FLASH_CONTROLLER_ENABLED=y +CONFIG_DT_HAS_NORDIC_NRF_ACL_ENABLED=y +CONFIG_DT_HAS_NORDIC_NRF_CC310_ENABLED=y +CONFIG_DT_HAS_NORDIC_NRF_CCM_ENABLED=y +CONFIG_DT_HAS_NORDIC_NRF_CLOCK_ENABLED=y +CONFIG_DT_HAS_NORDIC_NRF_ECB_ENABLED=y +CONFIG_DT_HAS_NORDIC_NRF_EGU_ENABLED=y +CONFIG_DT_HAS_NORDIC_NRF_FICR_ENABLED=y +CONFIG_DT_HAS_NORDIC_NRF_GPIOTE_ENABLED=y +CONFIG_DT_HAS_NORDIC_NRF_GPIO_ENABLED=y +CONFIG_DT_HAS_NORDIC_NRF_MWU_ENABLED=y +CONFIG_DT_HAS_NORDIC_NRF_PINCTRL_ENABLED=y +CONFIG_DT_HAS_NORDIC_NRF_POWER_ENABLED=y +CONFIG_DT_HAS_NORDIC_NRF_PPI_ENABLED=y +CONFIG_DT_HAS_NORDIC_NRF_RADIO_ENABLED=y +CONFIG_DT_HAS_NORDIC_NRF_RNG_ENABLED=y +CONFIG_DT_HAS_NORDIC_NRF_RTC_ENABLED=y +CONFIG_DT_HAS_NORDIC_NRF_SAADC_ENABLED=y +CONFIG_DT_HAS_NORDIC_NRF_SPIM_ENABLED=y +CONFIG_DT_HAS_NORDIC_NRF_SWI_ENABLED=y +CONFIG_DT_HAS_NORDIC_NRF_TEMP_ENABLED=y +CONFIG_DT_HAS_NORDIC_NRF_TIMER_ENABLED=y +CONFIG_DT_HAS_NORDIC_NRF_TWI_ENABLED=y +CONFIG_DT_HAS_NORDIC_NRF_UICR_ENABLED=y +CONFIG_DT_HAS_NORDIC_NRF_USBD_ENABLED=y +CONFIG_DT_HAS_NORDIC_NRF_WDT_ENABLED=y +CONFIG_DT_HAS_POWER_DOMAIN_ENABLED=y +CONFIG_DT_HAS_POWER_DOMAIN_GPIO_ENABLED=y +CONFIG_DT_HAS_SOC_NV_FLASH_ENABLED=y +CONFIG_DT_HAS_SOLOMON_SSD1306FB_ENABLED=y +CONFIG_DT_HAS_WORLDSEMI_WS2812_SPI_ENABLED=y +CONFIG_DT_HAS_ZEPHYR_BT_HCI_ENTROPY_ENABLED=y +CONFIG_DT_HAS_ZEPHYR_CDC_ACM_UART_ENABLED=y +CONFIG_DT_HAS_ZMK_BATTERY_NRF_VDDH_ENABLED=y +CONFIG_DT_HAS_ZMK_BEHAVIOR_BLUETOOTH_ENABLED=y +CONFIG_DT_HAS_ZMK_BEHAVIOR_EXT_POWER_ENABLED=y +CONFIG_DT_HAS_ZMK_BEHAVIOR_HOLD_TAP_ENABLED=y +CONFIG_DT_HAS_ZMK_BEHAVIOR_KEY_PRESS_ENABLED=y +CONFIG_DT_HAS_ZMK_BEHAVIOR_MACRO_ENABLED=y +CONFIG_DT_HAS_ZMK_BEHAVIOR_MOMENTARY_LAYER_ENABLED=y +CONFIG_DT_HAS_ZMK_BEHAVIOR_NONE_ENABLED=y +CONFIG_DT_HAS_ZMK_BEHAVIOR_RESET_ENABLED=y +CONFIG_DT_HAS_ZMK_BEHAVIOR_RGB_UNDERGLOW_ENABLED=y +CONFIG_DT_HAS_ZMK_BEHAVIOR_TOGGLE_LAYER_ENABLED=y +CONFIG_DT_HAS_ZMK_BEHAVIOR_TRANSPARENT_ENABLED=y +CONFIG_DT_HAS_ZMK_COMBOS_ENABLED=y +CONFIG_DT_HAS_ZMK_CONDITIONAL_LAYERS_ENABLED=y +CONFIG_DT_HAS_ZMK_KEYMAP_ENABLED=y +CONFIG_DT_HAS_ZMK_KSCAN_GPIO_MATRIX_ENABLED=y +CONFIG_DT_HAS_ZMK_MACRO_CONTROL_MODE_PRESS_ENABLED=y +CONFIG_DT_HAS_ZMK_MACRO_CONTROL_MODE_RELEASE_ENABLED=y +CONFIG_DT_HAS_ZMK_MACRO_CONTROL_MODE_TAP_ENABLED=y +CONFIG_DT_HAS_ZMK_MACRO_CONTROL_TAP_TIME_ENABLED=y +CONFIG_DT_HAS_ZMK_MACRO_CONTROL_WAIT_TIME_ENABLED=y +CONFIG_DT_HAS_ZMK_MACRO_PAUSE_FOR_RELEASE_ENABLED=y +CONFIG_DT_HAS_ZMK_MATRIX_TRANSFORM_ENABLED=y +CONFIG_EARLY_CONSOLE=y +CONFIG_ENFORCE_ZEPHYR_STDINT=y +CONFIG_ENTROPY_BT_HCI=y +CONFIG_ENTROPY_GENERATOR=y +CONFIG_ENTROPY_HAS_DRIVER=y +CONFIG_ENTROPY_INIT_PRIORITY=50 +CONFIG_ENTROPY_NRF5_BIAS_CORRECTION=y +CONFIG_ENTROPY_NRF5_ISR_POOL_SIZE=16 +CONFIG_ENTROPY_NRF5_ISR_THRESHOLD=12 +CONFIG_ENTROPY_NRF5_RNG=y +CONFIG_ENTROPY_NRF5_THR_POOL_SIZE=8 +CONFIG_ENTROPY_NRF5_THR_THRESHOLD=4 +CONFIG_ERRNO=y +CONFIG_ETH_INIT_PRIORITY=80 +CONFIG_FAULT_DUMP=2 +CONFIG_FLASH=y +CONFIG_FLASH_BASE_ADDRESS=0x0 +CONFIG_FLASH_HAS_DRIVER_ENABLED=y +CONFIG_FLASH_HAS_PAGE_LAYOUT=y +CONFIG_FLASH_INIT_PRIORITY=50 +CONFIG_FLASH_LOAD_OFFSET=0x26000 +CONFIG_FLASH_LOAD_SIZE=0xc6000 +CONFIG_FLASH_MAP=y +CONFIG_FLASH_PAGE_LAYOUT=y +CONFIG_FLASH_SIZE=1024 +CONFIG_FP16=y +CONFIG_FP16_IEEE=y +CONFIG_GEN_IRQ_START_VECTOR=0 +CONFIG_GEN_IRQ_VECTOR_TABLE=y +CONFIG_GEN_ISR_TABLES=y +CONFIG_GEN_PRIV_STACKS=y +CONFIG_GEN_SW_ISR_TABLE=y +CONFIG_GPIO=y +CONFIG_GPIO_AS_PINRESET=y +CONFIG_GPIO_INIT_PRIORITY=40 +CONFIG_GPIO_NRFX=y +CONFIG_HARDWARE_DEVICE_CS_GENERATOR=y +CONFIG_HAS_CMSIS_CORE=y +CONFIG_HAS_CMSIS_CORE_M=y +CONFIG_HAS_DTS=y +CONFIG_HAS_DYNAMIC_DEVICE_HANDLES=y +CONFIG_HAS_FLASH_LOAD_OFFSET=y +CONFIG_HAS_HW_NRF_ACL=y +CONFIG_HAS_HW_NRF_CC310=y +CONFIG_HAS_HW_NRF_CCM=y +CONFIG_HAS_HW_NRF_CCM_LFLEN_8BIT=y +CONFIG_HAS_HW_NRF_CLOCK=y +CONFIG_HAS_HW_NRF_ECB=y +CONFIG_HAS_HW_NRF_EGU0=y +CONFIG_HAS_HW_NRF_EGU1=y +CONFIG_HAS_HW_NRF_EGU2=y +CONFIG_HAS_HW_NRF_EGU3=y +CONFIG_HAS_HW_NRF_EGU4=y +CONFIG_HAS_HW_NRF_EGU5=y +CONFIG_HAS_HW_NRF_GPIO0=y +CONFIG_HAS_HW_NRF_GPIO1=y +CONFIG_HAS_HW_NRF_GPIOTE=y +CONFIG_HAS_HW_NRF_MWU=y +CONFIG_HAS_HW_NRF_NVMC_PE=y +CONFIG_HAS_HW_NRF_POWER=y +CONFIG_HAS_HW_NRF_PPI=y +CONFIG_HAS_HW_NRF_RADIO_BLE_2M=y +CONFIG_HAS_HW_NRF_RADIO_BLE_CODED=y +CONFIG_HAS_HW_NRF_RADIO_IEEE802154=y +CONFIG_HAS_HW_NRF_RADIO_TX_PWR_HIGH=y +CONFIG_HAS_HW_NRF_RNG=y +CONFIG_HAS_HW_NRF_RTC0=y +CONFIG_HAS_HW_NRF_RTC1=y +CONFIG_HAS_HW_NRF_RTC2=y +CONFIG_HAS_HW_NRF_SAADC=y +CONFIG_HAS_HW_NRF_SPIM3=y +CONFIG_HAS_HW_NRF_SWI0=y +CONFIG_HAS_HW_NRF_SWI1=y +CONFIG_HAS_HW_NRF_SWI2=y +CONFIG_HAS_HW_NRF_SWI3=y +CONFIG_HAS_HW_NRF_SWI4=y +CONFIG_HAS_HW_NRF_SWI5=y +CONFIG_HAS_HW_NRF_TEMP=y +CONFIG_HAS_HW_NRF_TIMER0=y +CONFIG_HAS_HW_NRF_TIMER1=y +CONFIG_HAS_HW_NRF_TIMER2=y +CONFIG_HAS_HW_NRF_TIMER3=y +CONFIG_HAS_HW_NRF_TIMER4=y +CONFIG_HAS_HW_NRF_TWI0=y +CONFIG_HAS_HW_NRF_USBD=y +CONFIG_HAS_HW_NRF_WDT0=y +CONFIG_HAS_NEWLIB_LIBC_NANO=y +CONFIG_HAS_NORDIC_DRIVERS=y +CONFIG_HAS_NRFX=y +CONFIG_HAS_SEGGER_RTT=y +CONFIG_HAS_SWO=y +CONFIG_HEAP_MEM_POOL_SIZE=8192 +CONFIG_HID_INTERRUPT_EP_MPS=16 +CONFIG_HWINFO=y +CONFIG_HWINFO_NRF=y +CONFIG_I2C=y +CONFIG_I2C_0_NRF_TWI=y +CONFIG_I2C_INIT_PRIORITY=50 +CONFIG_I2C_NRFX=y +CONFIG_ICACHE_LINE_SIZE=32 +CONFIG_IDLE_STACK_SIZE=320 +CONFIG_INTC_INIT_PRIORITY=40 +CONFIG_IRQ_VECTOR_TABLE_JUMP_BY_ADDRESS=y +CONFIG_ISA_THUMB2=y +CONFIG_ISR_STACK_SIZE=2048 +CONFIG_KERNEL_BIN_NAME="zmk" +CONFIG_KERNEL_ENTRY="__start" +CONFIG_KERNEL_INIT_PRIORITY_DEFAULT=40 +CONFIG_KERNEL_INIT_PRIORITY_DEVICE=50 +CONFIG_KERNEL_INIT_PRIORITY_OBJECTS=30 +CONFIG_KERNEL_MEM_POOL=y +CONFIG_KOBJECT_DATA_AREA_RESERVE_EXTRA_PERCENT=100 +CONFIG_KOBJECT_RODATA_AREA_EXTRA_BYTES=16 +CONFIG_KOBJECT_TEXT_AREA=256 +CONFIG_LD_LINKER_SCRIPT_SUPPORTED=y +CONFIG_LD_LINKER_TEMPLATE=y +CONFIG_LINKER_GENERIC_SECTIONS_PRESENT_AT_BOOT=y +CONFIG_LINKER_ORPHAN_SECTION_WARN=y +CONFIG_LINKER_SORT_BY_ALIGNMENT=y +CONFIG_LVGL=y +CONFIG_LV_ASSERT_HANDLER_INCLUDE="assert.h" +CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 +CONFIG_LV_CIRCLE_CACHE_SIZE=4 +CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 +CONFIG_LV_COLOR_DEPTH=1 +CONFIG_LV_COLOR_DEPTH_1=y +CONFIG_LV_COLOR_MIX_ROUND_OFS=128 +CONFIG_LV_CONF_MINIMAL=y +CONFIG_LV_DISP_DEF_REFR_PERIOD=30 +CONFIG_LV_DISP_ROT_MAX_BUF=10240 +CONFIG_LV_DPI_DEF=130 +CONFIG_LV_DRAW_COMPLEX=y +CONFIG_LV_FONT_DEFAULT_MONTSERRAT_16=y +CONFIG_LV_FONT_MONTSERRAT_12=y +CONFIG_LV_FONT_MONTSERRAT_16=y +CONFIG_LV_FONT_UNSCII_8=y +CONFIG_LV_GRADIENT_MAX_STOPS=2 +CONFIG_LV_GRAD_CACHE_DEF_SIZE=0 +CONFIG_LV_IMG_CACHE_DEF_SIZE=0 +CONFIG_LV_INDEV_DEF_READ_PERIOD=30 +CONFIG_LV_LABEL_LONG_TXT_HINT=y +CONFIG_LV_LABEL_TEXT_SELECTION=y +CONFIG_LV_MEM_BUF_MAX_NUM=16 +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEM_CUSTOM_INCLUDE="stdlib.h" +CONFIG_LV_SHADOW_CACHE_SIZE=0 +CONFIG_LV_TXT_BREAK_CHARS=" ,.;:-_" +CONFIG_LV_TXT_COLOR_CMD="#" +CONFIG_LV_TXT_ENC_UTF8=y +CONFIG_LV_TXT_LINE_BREAK_LONG_LEN=0 +CONFIG_LV_USE_LABEL=y +CONFIG_LV_USE_USER_DATA=y +CONFIG_LV_Z_BITS_PER_PIXEL=1 +CONFIG_LV_Z_BUFFER_ALLOC_STATIC=y +CONFIG_LV_Z_DPI=148 +CONFIG_LV_Z_MEM_POOL_MAX_SIZE=8192 +CONFIG_LV_Z_MEM_POOL_MIN_SIZE=32 +CONFIG_LV_Z_MEM_POOL_NUMBER_BLOCKS=1 +CONFIG_LV_Z_MEM_POOL_SYS_HEAP=y +CONFIG_LV_Z_POINTER_KSCAN_MSGQ_COUNT=10 +CONFIG_LV_Z_VDB_SIZE=64 +CONFIG_MAIN_STACK_SIZE=1024 +CONFIG_MAIN_THREAD_PRIORITY=0 +CONFIG_MAX_TIMER_COUNT=5 +CONFIG_MINIMAL_LIBC=y +CONFIG_MINIMAL_LIBC_CALLOC=y +CONFIG_MINIMAL_LIBC_MALLOC=y +CONFIG_MINIMAL_LIBC_MALLOC_ARENA_SIZE=0 +CONFIG_MINIMAL_LIBC_NON_REENTRANT_FUNCTIONS=y +CONFIG_MINIMAL_LIBC_OPTIMIZE_STRING_FOR_SIZE=y +CONFIG_MINIMAL_LIBC_REALLOCARRAY=y +CONFIG_MINIMAL_LIBC_TIME=y +CONFIG_MPU=y +CONFIG_MPU_ALLOW_FLASH_WRITE=y +CONFIG_MPU_REQUIRES_POWER_OF_TWO_ALIGNMENT=y +CONFIG_MP_NUM_CPUS=1 +CONFIG_MULTITHREADING=y +CONFIG_NEED_LIBC_MEM_PARTITION=y +CONFIG_NET_BUF=y +CONFIG_NET_BUF_USER_DATA_SIZE=0 +CONFIG_NRFX_CLOCK=y +CONFIG_NRFX_CLOCK_LFXO_TWO_STAGE_ENABLED=y +CONFIG_NRFX_GPIOTE=y +CONFIG_NRFX_GPIOTE_NUM_OF_EVT_HANDLERS=1 +CONFIG_NRFX_NVMC=y +CONFIG_NRFX_POWER=y +CONFIG_NRFX_TWI0=y +CONFIG_NRFX_TWI=y +CONFIG_NRFX_USBD=y +CONFIG_NRF_802154_SOURCE_HAL_NORDIC=y +CONFIG_NRF_ACL_FLASH_REGION_SIZE=0 +CONFIG_NRF_APPROTECT_USE_UICR=y +CONFIG_NRF_ENABLE_ICACHE=y +CONFIG_NRF_HW_RTC0_RESERVED=y +CONFIG_NRF_HW_RTC1_RESERVED=y +CONFIG_NRF_HW_TIMER0_RESERVED=y +CONFIG_NRF_RTC_TIMER=y +CONFIG_NRF_RTC_TIMER_USER_CHAN_COUNT=0 +CONFIG_NRF_SOC_SECURE_SUPPORTED=y +CONFIG_NULL_POINTER_EXCEPTION_DETECTION_NONE=y +CONFIG_NUM_COOP_PRIORITIES=16 +CONFIG_NUM_IRQS=48 +CONFIG_NUM_MBOX_ASYNC_MSGS=10 +CONFIG_NUM_METAIRQ_PRIORITIES=0 +CONFIG_NUM_PREEMPT_PRIORITIES=15 +CONFIG_NVS=y +CONFIG_OUTPUT_DISASSEMBLY=y +CONFIG_OUTPUT_PRINT_MEMORY_USAGE=y +CONFIG_OUTPUT_STAT=y +CONFIG_PICOLIBC_SUPPORTED=y +CONFIG_PINCTRL=y +CONFIG_PINCTRL_NRF=y +CONFIG_PINCTRL_STORE_REG=y +CONFIG_PLATFORM_SPECIFIC_INIT=y +CONFIG_PM=y +CONFIG_PM_DEVICE=y +CONFIG_PM_DEVICE_POWER_DOMAIN=y +CONFIG_PM_DEVICE_POWER_DOMAIN_DYNAMIC=y +CONFIG_PM_DEVICE_POWER_DOMAIN_DYNAMIC_NUM=2 +CONFIG_PM_DEVICE_RUNTIME=y +CONFIG_PM_DEVICE_RUNTIME_EXCLUSIVE=y +CONFIG_PM_POLICY_DEFAULT=y +CONFIG_POLL=y +CONFIG_POSIX_MAX_FDS=4 +CONFIG_POWER_DOMAIN=y +CONFIG_POWER_DOMAIN_GPIO=y +CONFIG_PREEMPT_ENABLED=y +CONFIG_PRINTK=y +CONFIG_PRIORITY_CEILING=-127 +CONFIG_PRIVILEGED_STACK_SIZE=1024 +CONFIG_REBOOT=y +CONFIG_RISCV_MACHINE_TIMER_MIN_DELAY=100 +CONFIG_RISCV_MACHINE_TIMER_SYSTEM_CLOCK_DIVIDER=0 +CONFIG_ROM_START_OFFSET=0 +CONFIG_RUNTIME_ERROR_CHECKS=y +CONFIG_SCHED_DUMB=y +CONFIG_SENSOR=y +CONFIG_SENSOR_INIT_PRIORITY=90 +CONFIG_SETTINGS=y +CONFIG_SETTINGS_DYNAMIC_HANDLERS=y +CONFIG_SETTINGS_NVS=y +CONFIG_SETTINGS_NVS_SECTOR_COUNT=8 +CONFIG_SETTINGS_NVS_SECTOR_SIZE_MULT=1 +CONFIG_SHIELD_CORNE_LEFT=y +CONFIG_SIZE_OPTIMIZATIONS=y +CONFIG_SOC="nRF52840_QIAA" +CONFIG_SOC_COMPATIBLE_NRF52X=y +CONFIG_SOC_COMPATIBLE_NRF=y +CONFIG_SOC_DCDC_NRF52X=y +CONFIG_SOC_FAMILY="nordic_nrf" +CONFIG_SOC_FAMILY_NRF=y +CONFIG_SOC_FLASH_NRF=y +CONFIG_SOC_FLASH_NRF_RADIO_SYNC_TICKER=y +CONFIG_SOC_HAS_TIMING_FUNCTIONS=y +CONFIG_SOC_NRF52840=y +CONFIG_SOC_NRF52840_QIAA=y +CONFIG_SOC_SERIES="nrf52" +CONFIG_SOC_SERIES_NRF52X=y +CONFIG_SRAM_BASE_ADDRESS=0x20000000 +CONFIG_SRAM_OFFSET=0 +CONFIG_SRAM_REGION_PERMISSIONS=y +CONFIG_SRAM_SIZE=256 +CONFIG_SSD1306=y +CONFIG_SSD1306_DEFAULT=y +CONFIG_SSD1306_DEFAULT_CONTRAST=128 +CONFIG_SSD1306_REVERSE_MODE=y +CONFIG_STACK_ALIGN_DOUBLE_WORD=y +CONFIG_STACK_POINTER_RANDOM=0 +CONFIG_SUPPORT_MINIMAL_LIBC=y +CONFIG_SWAP_NONATOMIC=y +CONFIG_SYSTEM_CLOCK_INIT_PRIORITY=0 +CONFIG_SYSTEM_CLOCK_WAIT_FOR_STABILITY=y +CONFIG_SYSTEM_WORKQUEUE_PRIORITY=-1 +CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048 +CONFIG_SYS_CLOCK_EXISTS=y +CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=32768 +CONFIG_SYS_CLOCK_MAX_TIMEOUT_DAYS=365 +CONFIG_SYS_CLOCK_TICKS_PER_SEC=32768 +CONFIG_SYS_HEAP_ALLOC_LOOPS=3 +CONFIG_SYS_HEAP_SMALL_ONLY=y +CONFIG_TEMP_NRF5=y +CONFIG_THREAD_STACK_INFO=y +CONFIG_TICKLESS_CAPABLE=y +CONFIG_TICKLESS_KERNEL=y +CONFIG_TIMEOUT_64BIT=y +CONFIG_TIMESLICE_PRIORITY=0 +CONFIG_TIMESLICE_SIZE=0 +CONFIG_TIMESLICING=y +CONFIG_TINYCRYPT=y +CONFIG_TINYCRYPT_AES=y +CONFIG_TINYCRYPT_AES_CMAC=y +CONFIG_TINYCRYPT_ECC_DH=y +CONFIG_TMP112_FULL_SCALE_RUNTIME=y +CONFIG_TMP112_SAMPLING_FREQUENCY_RUNTIME=y +CONFIG_TOOLCHAIN_HAS_BUILTIN_FFS=y +CONFIG_TOOLCHAIN_SUPPORTS_THREAD_LOCAL_STORAGE=y +CONFIG_TOOLCHAIN_ZEPHYR_0_15=y +CONFIG_TOOLCHAIN_ZEPHYR_SUPPORTS_THREAD_LOCAL_STORAGE=y +CONFIG_USB_DEVICE_DRIVER=y +CONFIG_USB_DEVICE_HID=y +CONFIG_USB_DEVICE_MANUFACTURER="ZMK Project" +CONFIG_USB_DEVICE_PID=0x615E +CONFIG_USB_DEVICE_PRODUCT="Korne" +CONFIG_USB_DEVICE_REMOTE_WAKEUP=y +CONFIG_USB_DEVICE_SN="0123456789ABCDEF" +CONFIG_USB_DEVICE_STACK=y +CONFIG_USB_DEVICE_VID=0x1D50 +CONFIG_USB_HID_DEVICE_COUNT=1 +CONFIG_USB_HID_DEVICE_NAME="HID" +CONFIG_USB_HID_POLL_INTERVAL_MS=1 +CONFIG_USB_HID_REPORTS=1 +CONFIG_USB_MAX_ALT_SETTING=8 +CONFIG_USB_MAX_NUM_TRANSFERS=4 +CONFIG_USB_MAX_POWER=50 +CONFIG_USB_NRFX=y +CONFIG_USB_NRFX_ATTACHED_EVENT_DELAY=0 +CONFIG_USB_NRFX_EVT_QUEUE_SIZE=32 +CONFIG_USB_NRFX_WORK_QUEUE_STACK_SIZE=1024 +CONFIG_USB_NUMOF_EP_WRITE_RETRIES=10 +CONFIG_USB_PID_BLE_HCI_H4_SAMPLE=0x000C +CONFIG_USB_PID_BLE_HCI_SAMPLE=0x000B +CONFIG_USB_PID_CDC_ACM_COMPOSITE_SAMPLE=0x0002 +CONFIG_USB_PID_CDC_ACM_SAMPLE=0x0001 +CONFIG_USB_PID_CONSOLE_SAMPLE=0x0004 +CONFIG_USB_PID_DFU_SAMPLE=0x0005 +CONFIG_USB_PID_HID_CDC_SAMPLE=0x0003 +CONFIG_USB_PID_HID_MOUSE_SAMPLE=0x0007 +CONFIG_USB_PID_HID_SAMPLE=0x0006 +CONFIG_USB_PID_MASS_SAMPLE=0x0008 +CONFIG_USB_PID_TESTUSB_SAMPLE=0x0009 +CONFIG_USB_PID_WEBUSB_SAMPLE=0x000A +CONFIG_USB_PID_WPANUSB_SAMPLE=0x000D +CONFIG_USB_REQUEST_BUFFER_SIZE=128 +CONFIG_USB_SELF_POWERED=y +CONFIG_USE_DT_CODE_PARTITION=y +CONFIG_WAITQ_DUMB=y +CONFIG_WARN_DEPRECATED=y +CONFIG_XIP=y +CONFIG_XOSHIRO_RANDOM_GENERATOR=y +CONFIG_ZEPHYR_CANOPENNODE_MODULE=y +CONFIG_ZEPHYR_CHRE_MODULE=y +CONFIG_ZEPHYR_DRIVERS_MODULE=y +CONFIG_ZEPHYR_HAL_ESPRESSIF_MODULE=y +CONFIG_ZEPHYR_HAL_GIGADEVICE_MODULE=y +CONFIG_ZEPHYR_HAL_NORDIC_MODULE=y +CONFIG_ZEPHYR_HAL_RPI_PICO_MODULE=y +CONFIG_ZEPHYR_HAL_TELINK_MODULE=y +CONFIG_ZEPHYR_LIBLC3_MODULE=y +CONFIG_ZEPHYR_LITTLEFS_MODULE=y +CONFIG_ZEPHYR_LVGL_MODULE=y +CONFIG_ZEPHYR_LZ4_MODULE=y +CONFIG_ZEPHYR_MBEDTLS_MODULE=y +CONFIG_ZEPHYR_NANOPB_MODULE=y +CONFIG_ZEPHYR_PICOLIBC_MODULE=y +CONFIG_ZEPHYR_TFLITE_MICRO_MODULE=y +CONFIG_ZEPHYR_TRACERECORDER_MODULE=y +CONFIG_ZEPHYR_TRUSTED_FIRMWARE_A_MODULE=y +CONFIG_ZEPHYR_UOSCORE_UEDHOC_MODULE=y +CONFIG_ZEPHYR_ZCBOR_MODULE=y +CONFIG_ZEPHYR_ZSCILIB_MODULE=y +CONFIG_ZMK_BATTERY=y +CONFIG_ZMK_BATTERY_NRF_VDDH=y +CONFIG_ZMK_BATTERY_REPORT_INTERVAL=60 +CONFIG_ZMK_BEHAVIORS_QUEUE_SIZE=64 +CONFIG_ZMK_BLE=y +CONFIG_ZMK_BLE_CONSUMER_REPORT_QUEUE_SIZE=5 +CONFIG_ZMK_BLE_INIT_PRIORITY=50 +CONFIG_ZMK_BLE_KEYBOARD_REPORT_QUEUE_SIZE=20 +CONFIG_ZMK_BLE_SPLIT_CENTRAL_SPLIT_RUN_QUEUE_SIZE=5 +CONFIG_ZMK_BLE_SPLIT_CENTRAL_SPLIT_RUN_STACK_SIZE=512 +CONFIG_ZMK_BLE_THREAD_PRIORITY=5 +CONFIG_ZMK_BLE_THREAD_STACK_SIZE=512 +CONFIG_ZMK_COMBO_MAX_COMBOS_PER_KEY=5 +CONFIG_ZMK_COMBO_MAX_KEYS_PER_COMBO=4 +CONFIG_ZMK_COMBO_MAX_PRESSED_COMBOS=4 +CONFIG_ZMK_DISPLAY=y +CONFIG_ZMK_DISPLAY_BLANK_ON_IDLE=y +CONFIG_ZMK_DISPLAY_DEDICATED_THREAD_PRIORITY=5 +CONFIG_ZMK_DISPLAY_DEDICATED_THREAD_STACK_SIZE=2048 +CONFIG_ZMK_DISPLAY_STATUS_SCREEN_BUILT_IN=y +CONFIG_ZMK_DISPLAY_WORK_QUEUE_DEDICATED=y +CONFIG_ZMK_HID_CONSUMER_REPORT_SIZE=6 +CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_FULL=y +CONFIG_ZMK_HID_REPORT_TYPE_NKRO=y +CONFIG_ZMK_IDLE_TIMEOUT=30000 +CONFIG_ZMK_KEYBOARD_NAME="Korne" +CONFIG_ZMK_KSCAN_DEBOUNCE_PRESS_MS=0 +CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS=5 +CONFIG_ZMK_KSCAN_EVENT_QUEUE_SIZE=4 +CONFIG_ZMK_KSCAN_GPIO_DRIVER=y +CONFIG_ZMK_KSCAN_GPIO_MATRIX=y +CONFIG_ZMK_KSCAN_INIT_PRIORITY=40 +CONFIG_ZMK_KSCAN_MATRIX_WAIT_BEFORE_INPUTS=0 +CONFIG_ZMK_KSCAN_MATRIX_WAIT_BETWEEN_OUTPUTS=0 +CONFIG_ZMK_LOG_LEVEL=4 +CONFIG_ZMK_LV_FONT_DEFAULT_SMALL_MONTSERRAT_12=y +CONFIG_ZMK_MACRO_DEFAULT_TAP_MS=30 +CONFIG_ZMK_MACRO_DEFAULT_WAIT_MS=15 +CONFIG_ZMK_POWER_DOMAINS=y +CONFIG_ZMK_POWER_DOMAINS_DYNAMIC_DEFAULT=y +CONFIG_ZMK_SETTINGS_SAVE_DEBOUNCE=60000 +CONFIG_ZMK_SPLIT=y +CONFIG_ZMK_SPLIT_BLE=y +CONFIG_ZMK_SPLIT_BLE_CENTRAL_POSITION_QUEUE_SIZE=5 +CONFIG_ZMK_SPLIT_ROLE_CENTRAL=y +CONFIG_ZMK_USB=y +CONFIG_ZMK_USB_INIT_PRIORITY=50 +CONFIG_ZMK_WIDGET_BATTERY_STATUS=y +CONFIG_ZMK_WIDGET_BATTERY_STATUS_SHOW_PERCENTAGE=y +CONFIG_ZMK_WIDGET_LAYER_STATUS=y +CONFIG_ZMK_WIDGET_OUTPUT_STATUS=y +CONFIG_ZMK_WIDGET_WPM_STATUS=y +CONFIG_ZMK_WPM=y \ No newline at end of file diff --git a/config/config_ready/nice/oled_rgb/corne.conf b/config/config_ready/nice/oled_rgb/corne.conf new file mode 100644 index 0000000..c162358 --- /dev/null +++ b/config/config_ready/nice/oled_rgb/corne.conf @@ -0,0 +1,105 @@ +# ======================================== +# FileName: corne.conf +# Date: 07.06.2023 +# Author: Marcos Chow Castro +# Email: mctechnology170318@gmail.com +# GitHub: https://github.com/mctechnology17 +# Brief: configuration file for ZMK firmware +# Board: nice_nano_v2 and puchi_ble_v1 +# ╔═╦═╦═╗ +# ╔════╗ ║║║║║╔╝ +# ║╔╗╔╗║ ║║║║║╚╗ +# ╚╝║║╚╝ ║╠═╩╩═╝ +# ║╠═╦═╣╚╦═╦╦═╦╗╔═╦═╦╦╗ +# ║║╩╣═╣║║║║║╬║╚╣╬║╬║║║ +# ╚╩═╩═╩╩╩╩═╩═╩═╩═╬╗╠╗║ +# ╚═╩═╝ +# Copyright (c) 2020 The ZMK Contributors +# SPDX-License-Identifier: MIT +# ========================================= +# on config_zmk.h file enable/disable the following options, if you want to +# use CONFIG_ZMK_MOUSE=y, CONFIG_ZMK_RGB_UNDERGLOW=y, CONFIG_ZMK_RGB_UNDERGLOW=y +# mouse config, 1 = enable, 0 = disable, default = 1 +# 2 = enable, but with rgb matrix +# #define MC_TECHNOLOGY_MOUSE_ENABLE 1 +# rgb matrix config, 1 = enable, 0 = disable, default = 0 +# #define MC_TECHNOLOGY_RGB_ENABLE 0 +# define macros on for .dtsi file 1 = enable, 0 = disable default = 1 +# #define MC_TECHNOLOGY_MACROS_ENABLE 1 + +### Keyboard name +# 1 nice +CONFIG_ZMK_KEYBOARD_NAME="Nice Corne" +# 1 puchi +# CONFIG_ZMK_KEYBOARD_NAME="Puchi Corne" + +### Boost Bluetooth TX power, also make Bluetooth stronger +CONFIG_BT_CTLR_TX_PWR_PLUS_8=y +# Tune bluetooth profiles for quick select +# CONFIG_BT_MAX_CONN=3 + +### POWER OPTIONS +CONFIG_ZMK_EXT_POWER=y +CONFIG_ZMK_SLEEP=y +# 2 puchi 15 min (15*60*1000ms) +# CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=900000 +# 2 nice 30 min (30*60*1000ms) +# CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=1800000 +# CONFIG_ZMK_IDLE_TIMEOUT=120000 +# Disable external power when not connected to USB +# CONFIG_ZMK_EXT_POWER_USB_ONLY=y + +### MOUSE +CONFIG_ZMK_MOUSE=y + +### RGB UNDERGLOW +# uncomment to enable RGB Underglow or backlight +CONFIG_ZMK_RGB_UNDERGLOW=y +CONFIG_WS2812_STRIP=y +# apaga si no se usa el teclado +# CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE=y +# 0 Solid color 1 Breathe 2 Spectrum 3 Swirl +CONFIG_ZMK_RGB_UNDERGLOW_EFF_START=3 +# nivel de brillo en porcentaje, el valor por defecto es 10 por ciento +CONFIG_ZMK_RGB_UNDERGLOW_BRT_STEP=1 +# Turn off RGB underglow when keyboard goes into idle state +CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE=y + +# # Hue step in degrees (0-359) used by RGB actions default 10 +# CONFIG_ZMK_RGB_UNDERGLOW_HUE_STEP=30 + +# # Brightness step in percent used by RGB actions default 10 +# CONFIG_ZMK_RGB_UNDERGLOW_SAT_STEP=2 +# CONFIG_ZMK_RGB_UNDERGLOW_HUE_START=240 +# CONFIG_ZMK_RGB_UNDERGLOW_SAT_START=10 +# CONFIG_ZMK_RGB_UNDERGLOW_BRT_START=15 + +# Uncomment the line below to disable external power toggling by the underglow. +# By default toggling the underglow on and off also toggles external power +# on and off. This also causes the display to turn off. +CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER=n + +### OLED Display +CONFIG_ZMK_DISPLAY=y +# esto creo que ya no es necesario +# CONFIG_ZMK_DISPLAY_WORK_QUEUE_DEDICATED=y +# CONFIG_ZMK_DISPLAY_STATUS_SCREEN_BUILT_IN=y + +### WIDGET SETTINGS compatible SOLO con OLED +# No Widget configurations added since nice!view has its own custom widgets +# activar solo estos dos widgets +CONFIG_ZMK_WIDGET_WPM_STATUS=n +CONFIG_ZMK_WIDGET_BATTERY_STATUS_SHOW_PERCENTAGE=y +# CONFIG_ZMK_WIDGET_LAYER_STATUS=y +# CONFIG_ZMK_WIDGET_BATTERY_STATUS=y +# CONFIG_ZMK_WIDGET_OUTPUT_STATUS=y + +### HID para nice!view ePaperDisplay +# Enable eager debouncing +# "Eager Debouncing" +# Trying to lower the input lag. +# CONFIG_ZMK_KSCAN_DEBOUNCE_PRESS_MS=1 +# CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS=5 + +### Improves compatibility with iPad +CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=y diff --git a/config/config_ready/nice/view/corne.conf b/config/config_ready/nice/view/corne.conf new file mode 100644 index 0000000..7115b9b --- /dev/null +++ b/config/config_ready/nice/view/corne.conf @@ -0,0 +1,105 @@ +# ======================================== +# FileName: corne.conf +# Date: 07.06.2023 +# Author: Marcos Chow Castro +# Email: mctechnology170318@gmail.com +# GitHub: https://github.com/mctechnology17 +# Brief: configuration file for ZMK firmware +# Board: nice_nano_v2 and puchi_ble_v1 +# ╔═╦═╦═╗ +# ╔════╗ ║║║║║╔╝ +# ║╔╗╔╗║ ║║║║║╚╗ +# ╚╝║║╚╝ ║╠═╩╩═╝ +# ║╠═╦═╣╚╦═╦╦═╦╗╔═╦═╦╦╗ +# ║║╩╣═╣║║║║║╬║╚╣╬║╬║║║ +# ╚╩═╩═╩╩╩╩═╩═╩═╩═╬╗╠╗║ +# ╚═╩═╝ +# Copyright (c) 2020 The ZMK Contributors +# SPDX-License-Identifier: MIT +# ========================================= +# on config_zmk.h file enable/disable the following options, if you want to +# use CONFIG_ZMK_MOUSE=y, CONFIG_ZMK_RGB_UNDERGLOW=y, CONFIG_ZMK_RGB_UNDERGLOW=y +# mouse config, 1 = enable, 0 = disable, default = 1 +# 2 = enable, but with rgb matrix +# #define MC_TECHNOLOGY_MOUSE_ENABLE 1 +# rgb matrix config, 1 = enable, 0 = disable, default = 0 +# #define MC_TECHNOLOGY_RGB_ENABLE 0 +# define macros on for .dtsi file 1 = enable, 0 = disable default = 1 +# #define MC_TECHNOLOGY_MACROS_ENABLE 1 + +### Keyboard name +# 1 nice +CONFIG_ZMK_KEYBOARD_NAME="Nice Corne" +# 1 puchi +# CONFIG_ZMK_KEYBOARD_NAME="Puchi Corne" + +### Boost Bluetooth TX power, also make Bluetooth stronger +CONFIG_BT_CTLR_TX_PWR_PLUS_8=y +# Tune bluetooth profiles for quick select +# CONFIG_BT_MAX_CONN=3 + +### POWER OPTIONS +CONFIG_ZMK_EXT_POWER=y +CONFIG_ZMK_SLEEP=y +# 2 puchi 15 min (15*60*1000ms) +# CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=900000 +# 2 nice 30 min (30*60*1000ms) +# CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=1800000 +# CONFIG_ZMK_IDLE_TIMEOUT=120000 +# Disable external power when not connected to USB +# CONFIG_ZMK_EXT_POWER_USB_ONLY=y + +### MOUSE +CONFIG_ZMK_MOUSE=y + +### RGB UNDERGLOW +# uncomment to enable RGB Underglow or backlight +# CONFIG_ZMK_RGB_UNDERGLOW=y +# CONFIG_WS2812_STRIP=y +# apaga si no se usa el teclado +# CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE=y +# 0 Solid color 1 Breathe 2 Spectrum 3 Swirl +# CONFIG_ZMK_RGB_UNDERGLOW_EFF_START=3 +# nivel de brillo en porcentaje, el valor por defecto es 10 por ciento +# CONFIG_ZMK_RGB_UNDERGLOW_BRT_STEP=1 +# Turn off RGB underglow when keyboard goes into idle state +# CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE=y + +# # Hue step in degrees (0-359) used by RGB actions default 10 +# CONFIG_ZMK_RGB_UNDERGLOW_HUE_STEP=30 + +# # Brightness step in percent used by RGB actions default 10 +# CONFIG_ZMK_RGB_UNDERGLOW_SAT_STEP=2 +# CONFIG_ZMK_RGB_UNDERGLOW_HUE_START=240 +# CONFIG_ZMK_RGB_UNDERGLOW_SAT_START=10 +# CONFIG_ZMK_RGB_UNDERGLOW_BRT_START=15 + +# Uncomment the line below to disable external power toggling by the underglow. +# By default toggling the underglow on and off also toggles external power +# on and off. This also causes the display to turn off. +# CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER=n + +### OLED Display +# CONFIG_ZMK_DISPLAY=y +# esto creo que ya no es necesario +# CONFIG_ZMK_DISPLAY_WORK_QUEUE_DEDICATED=y +# CONFIG_ZMK_DISPLAY_STATUS_SCREEN_BUILT_IN=y + +### WIDGET SETTINGS compatible SOLO con OLED +# No Widget configurations added since nice!view has its own custom widgets +# activar solo estos dos widgets +# CONFIG_ZMK_WIDGET_WPM_STATUS=n +# CONFIG_ZMK_WIDGET_BATTERY_STATUS_SHOW_PERCENTAGE=y +# CONFIG_ZMK_WIDGET_LAYER_STATUS=y +# CONFIG_ZMK_WIDGET_BATTERY_STATUS=y +# CONFIG_ZMK_WIDGET_OUTPUT_STATUS=y + +### HID para nice!view ePaperDisplay +# Enable eager debouncing +# "Eager Debouncing" +# Trying to lower the input lag. +CONFIG_ZMK_KSCAN_DEBOUNCE_PRESS_MS=1 +CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS=5 + +### Improves compatibility with iPad +CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=y diff --git a/config/config_ready/puchi/oled_rgb/corne.conf b/config/config_ready/puchi/oled_rgb/corne.conf new file mode 100644 index 0000000..fa3c90b --- /dev/null +++ b/config/config_ready/puchi/oled_rgb/corne.conf @@ -0,0 +1,105 @@ +# ======================================== +# FileName: corne.conf +# Date: 07.06.2023 +# Author: Marcos Chow Castro +# Email: mctechnology170318@gmail.com +# GitHub: https://github.com/mctechnology17 +# Brief: configuration file for ZMK firmware +# Board: nice_nano_v2 and puchi_ble_v1 +# ========================================= +# ╔═╦═╦═╗ +# ╔════╗ ║║║║║╔╝ +# ║╔╗╔╗║ ║║║║║╚╗ +# ╚╝║║╚╝ ║╠═╩╩═╝ +# ║╠═╦═╣╚╦═╦╦═╦╗╔═╦═╦╦╗ +# ║║╩╣═╣║║║║║╬║╚╣╬║╬║║║ +# ╚╩═╩═╩╩╩╩═╩═╩═╩═╬╗╠╗║ +# ╚═╩═╝ +# on config_zmk.h file enable/disable the following options, if you want to +# use CONFIG_ZMK_MOUSE=y, CONFIG_ZMK_RGB_UNDERGLOW=y, CONFIG_ZMK_RGB_UNDERGLOW=y +# mouse config, 1 = enable, 0 = disable, default = 1 +# 2 = enable, but with rgb matrix +# #define MC_TECHNOLOGY_MOUSE_ENABLE 1 +# rgb matrix config, 1 = enable, 0 = disable, default = 0 +# #define MC_TECHNOLOGY_RGB_ENABLE 0 +# define macros on for .dtsi file 1 = enable, 0 = disable default = 1 +# #define MC_TECHNOLOGY_MACROS_ENABLE 1 + +### Keyboard name +# 1 nice +# CONFIG_ZMK_KEYBOARD_NAME="Nice Corne" +# 1 puchi +CONFIG_ZMK_KEYBOARD_NAME="Puchi Corne" + +### Boost Bluetooth TX power, also make Bluetooth stronger +CONFIG_BT_CTLR_TX_PWR_PLUS_8=y +# Tune bluetooth profiles for quick select +# CONFIG_BT_MAX_CONN=3 + +### POWER OPTIONS +CONFIG_ZMK_EXT_POWER=y +CONFIG_ZMK_SLEEP=y +# 2 puchi 15 min (15*60*1000ms) +# CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=900000 +# 2 nice 30 min (30*60*1000ms) +# CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=1800000 +# CONFIG_ZMK_IDLE_TIMEOUT=120000 +# Disable external power when not connected to USB +# CONFIG_ZMK_EXT_POWER_USB_ONLY=y + +### MOUSE +CONFIG_ZMK_MOUSE=y + +### RGB UNDERGLOW +# uncomment to enable RGB Underglow or backlight +CONFIG_ZMK_RGB_UNDERGLOW=y +CONFIG_WS2812_STRIP=y +# apaga si no se usa el teclado +# CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE=y +# 0 Solid color 1 Breathe 2 Spectrum 3 Swirl +CONFIG_ZMK_RGB_UNDERGLOW_EFF_START=3 +# nivel de brillo en porcentaje, el valor por defecto es 10 por ciento +CONFIG_ZMK_RGB_UNDERGLOW_BRT_STEP=1 +# Turn off RGB underglow when keyboard goes into idle state +CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE=y + +# # Hue step in degrees (0-359) used by RGB actions default 10 +# CONFIG_ZMK_RGB_UNDERGLOW_HUE_STEP=30 + +# # Brightness step in percent used by RGB actions default 10 +# CONFIG_ZMK_RGB_UNDERGLOW_SAT_STEP=2 +# CONFIG_ZMK_RGB_UNDERGLOW_HUE_START=240 +# CONFIG_ZMK_RGB_UNDERGLOW_SAT_START=10 +# CONFIG_ZMK_RGB_UNDERGLOW_BRT_START=15 + +# Uncomment the line below to disable external power toggling by the underglow. +# By default toggling the underglow on and off also toggles external power +# on and off. This also causes the display to turn off. +CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER=n + + +### OLED Display +CONFIG_ZMK_DISPLAY=y +# esto creo que ya no es necesario +# CONFIG_ZMK_DISPLAY_WORK_QUEUE_DEDICATED=y +# CONFIG_ZMK_DISPLAY_STATUS_SCREEN_BUILT_IN=y + +### WIDGET SETTINGS compatible SOLO con OLED +# No Widget configurations added since nice!view has its own custom widgets +# activar solo estos dos widgets +CONFIG_ZMK_WIDGET_WPM_STATUS=n +CONFIG_ZMK_WIDGET_BATTERY_STATUS_SHOW_PERCENTAGE=y +# me da error, probando a ver si se quita el error +# CONFIG_ZMK_WIDGET_LAYER_STATUS=y +# CONFIG_ZMK_WIDGET_BATTERY_STATUS=y +# CONFIG_ZMK_WIDGET_OUTPUT_STATUS=y + +### HID para nice!view ePaperDisplay +# Enable eager debouncing +# "Eager Debouncing" +# Trying to lower the input lag. +# CONFIG_ZMK_KSCAN_DEBOUNCE_PRESS_MS=1 +# CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS=5 + +### Improves compatibility with iPad +CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=y diff --git a/config/config_ready/puchi/view/corne.conf b/config/config_ready/puchi/view/corne.conf new file mode 100644 index 0000000..cd8be4d --- /dev/null +++ b/config/config_ready/puchi/view/corne.conf @@ -0,0 +1,105 @@ +# ======================================== +# FileName: corne.conf +# Date: 07.06.2023 +# Author: Marcos Chow Castro +# Email: mctechnology170318@gmail.com +# GitHub: https://github.com/mctechnology17 +# Brief: configuration file for ZMK firmware +# Board: nice_nano_v2 and puchi_ble_v1 +# ╔═╦═╦═╗ +# ╔════╗ ║║║║║╔╝ +# ║╔╗╔╗║ ║║║║║╚╗ +# ╚╝║║╚╝ ║╠═╩╩═╝ +# ║╠═╦═╣╚╦═╦╦═╦╗╔═╦═╦╦╗ +# ║║╩╣═╣║║║║║╬║╚╣╬║╬║║║ +# ╚╩═╩═╩╩╩╩═╩═╩═╩═╬╗╠╗║ +# ╚═╩═╝ +# Copyright (c) 2020 The ZMK Contributors +# SPDX-License-Identifier: MIT +# ========================================= +# on config_zmk.h file enable/disable the following options, if you want to +# use CONFIG_ZMK_MOUSE=y, CONFIG_ZMK_RGB_UNDERGLOW=y, CONFIG_ZMK_RGB_UNDERGLOW=y +# mouse config, 1 = enable, 0 = disable, default = 1 +# 2 = enable, but with rgb matrix +# #define MC_TECHNOLOGY_MOUSE_ENABLE 1 +# rgb matrix config, 1 = enable, 0 = disable, default = 0 +# #define MC_TECHNOLOGY_RGB_ENABLE 0 +# define macros on for .dtsi file 1 = enable, 0 = disable default = 1 +# #define MC_TECHNOLOGY_MACROS_ENABLE 1 + +### Keyboard name +# 1 nice +# CONFIG_ZMK_KEYBOARD_NAME="Nice Corne" +# 1 puchi +CONFIG_ZMK_KEYBOARD_NAME="Puchi Corne" + +### Boost Bluetooth TX power, also make Bluetooth stronger +CONFIG_BT_CTLR_TX_PWR_PLUS_8=y +# Tune bluetooth profiles for quick select +# CONFIG_BT_MAX_CONN=3 + +### POWER OPTIONS +CONFIG_ZMK_EXT_POWER=y +CONFIG_ZMK_SLEEP=y +# 2 puchi 15 min (15*60*1000ms) +# CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=900000 +# 2 nice 30 min (30*60*1000ms) +# CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=1800000 +# CONFIG_ZMK_IDLE_TIMEOUT=120000 +# Disable external power when not connected to USB +# CONFIG_ZMK_EXT_POWER_USB_ONLY=y + +### MOUSE +CONFIG_ZMK_MOUSE=y + +### RGB UNDERGLOW +# uncomment to enable RGB Underglow or backlight +# CONFIG_ZMK_RGB_UNDERGLOW=y +# CONFIG_WS2812_STRIP=y +# apaga si no se usa el teclado +# CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE=y +# 0 Solid color 1 Breathe 2 Spectrum 3 Swirl +# CONFIG_ZMK_RGB_UNDERGLOW_EFF_START=3 +# nivel de brillo en porcentaje, el valor por defecto es 10 por ciento +# CONFIG_ZMK_RGB_UNDERGLOW_BRT_STEP=1 +# Turn off RGB underglow when keyboard goes into idle state +# CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE=y + +# # Hue step in degrees (0-359) used by RGB actions default 10 +# CONFIG_ZMK_RGB_UNDERGLOW_HUE_STEP=30 + +# # Brightness step in percent used by RGB actions default 10 +# CONFIG_ZMK_RGB_UNDERGLOW_SAT_STEP=2 +# CONFIG_ZMK_RGB_UNDERGLOW_HUE_START=240 +# CONFIG_ZMK_RGB_UNDERGLOW_SAT_START=10 +# CONFIG_ZMK_RGB_UNDERGLOW_BRT_START=15 + +# Uncomment the line below to disable external power toggling by the underglow. +# By default toggling the underglow on and off also toggles external power +# on and off. This also causes the display to turn off. +# CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER=n + +### OLED Display +# CONFIG_ZMK_DISPLAY=y +# esto creo que ya no es necesario +# CONFIG_ZMK_DISPLAY_WORK_QUEUE_DEDICATED=y +# CONFIG_ZMK_DISPLAY_STATUS_SCREEN_BUILT_IN=y + +### WIDGET SETTINGS compatible SOLO con OLED +# No Widget configurations added since nice!view has its own custom widgets +# activar solo estos dos widgets +# CONFIG_ZMK_WIDGET_WPM_STATUS=n +# CONFIG_ZMK_WIDGET_BATTERY_STATUS_SHOW_PERCENTAGE=y +# CONFIG_ZMK_WIDGET_LAYER_STATUS=y +# CONFIG_ZMK_WIDGET_BATTERY_STATUS=y +# CONFIG_ZMK_WIDGET_OUTPUT_STATUS=y + +### HID para nice!view ePaperDisplay +# Enable eager debouncing +# "Eager Debouncing" +# Trying to lower the input lag. +CONFIG_ZMK_KSCAN_DEBOUNCE_PRESS_MS=1 +CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS=5 + +### Improves compatibility with iPad +CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=y diff --git a/config/config_zmk.h b/config/config_zmk.h new file mode 100644 index 0000000..d93ecd9 --- /dev/null +++ b/config/config_zmk.h @@ -0,0 +1,105 @@ +/* ======================================== +FileName: config_zmk.h +Date: 15:17 23.September.2022 +Author: Marcos Chow Castro +Email: mctechnology170318@gmail.com +GitHub: https://github.com/mctechnology17 +Brief: define config for the wireless corne keyboard +Use: in your keymap file, include this file + #include "config_zmk.h" +=========================================== +Copyright 2023 Marcos Ivan Chow Castro + ╔═╦═╦═╗ + ╔════╗ ║║║║║╔╝ + ║╔╗╔╗║ ║║║║║╚╗ + ╚╝║║╚╝ ║╠═╩╩═╝ + ║╠═╦═╣╚╦═╦╦═╦╗╔═╦═╦╦╗ + ║║╩╣═╣║║║║║╬║╚╣╬║╬║║║ + ╚╩═╩═╩╩╩╩═╩═╩═╩═╬╗╠╗║ + ╚═╩═╝ + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +// mouse config, 1 = enable, 0 = disable, default = 1 +#define MC_TECHNOLOGY_MOUSE_ENABLE 1 + +// layers +#define DEFAULT 0 +#define NUMBER 1 +#define SYMBOL 2 +#define FUNCTION 3 +#define MEDIA 4 +#define MOUSE 5 +// esta capa la uso por la compatibilidad entre mac, windows y linux +// a veces los caracteres no son los mismos +#define LX_ 6 +#define LOCK 7 + +#define NAV_LEFT &mt HOME LEFT // tap: left | long-tap: beginning of line +#define NAV_RIGHT &mt END RIGHT // tap: right | long-tap: end of line +#define NAV_UP &mt LC(HOME) UP // tap: up | long-tap: beginning of document +#define NAV_DOWN \ + &mt LC(END) DOWN // tap: down | long-tap: end of document +#define NAV_BSPC \ + &mt LC(BSPC) BSPC // tap: bspc | long-tap: delete word backward +#define NAV_DEL &mt LC(DEL) DEL // tap: del | long-tap: delete word forward + +// combinadas para optimizar espacio +#define MEDIA_ESC < MEDIA ESC +#define MOUSE_TAB < MOUSE TAB +#define NUMBER_SPACE < NUMBER SPACE +#define SYMBOL_RGUI &mo SYMBOL // < SYMBOL RGUI +#define FUNCTION_RALT &mo FUNCTION // < FUNCTION RALT + +// default_layer +#define LSHFT_COMMA &mt LSHFT COMMA + +// function_layer +#define SPELL &kp LC(LG(D)) +#define TRADUCT &kp LS(LA(T)) +#define SNIPPET &kp LA(LG(G)) +#define CLIPBRD &kp LA(LG(V)) +#define EMOJI &kp LC(LG(SPACE)) +#define TASKM &kp LC(LA(DEL)) // C-A-DEL + +// media_layer +#define SC_FLOW &kp LS(LG(NUMBER_1)) // ScrenFlow app for MacOS +#define TXTSNIP &kp LS(LG(NUMBER_2)) // TextSniper app for MacOS +#define SC_SHOT \ + &kp LS(LG(NUMBER_3)) // ScrenShot for all system see &kp PRINTSCREEN + // for MacOS +#define SC_SPSF \ + &kp LS(LG(NUMBER_4)) // Save picture of screen as a file for MacOS +#define SC_RE \ + &kp LS(LG(NUMBER_5)) // Screenshot and recording options for MacOS +#define OP_TERM \ + &kp LC(LG(LA(SLASH))) // open terminal iTerm2 in current directory for MacOS +#define POS1 \ + &kp LA(LG(NUMBER_1)) // positions of current app with cmacro2iner integration + // for MacOS +#define POS2 \ + &kp LA(LG(NUMBER_2)) // positions of current app with cmacro2iner integration + // for MacOS +#define POS3 \ + &kp LA(LG(NUMBER_3)) // positions of current app with cmacro2iner integration + // for MacOS +#define POS4 \ + &kp LA(LG(NUMBER_4)) // positions of current app with cmacro2iner integration + // for MacOS + +// define blueth +#define BT(n) BT_SEL n + +// vim: set ft=c fdm=marker: diff --git a/config/corne.conf b/config/corne.conf index db26943..7115b9b 100644 --- a/config/corne.conf +++ b/config/corne.conf @@ -1,43 +1,105 @@ -### MOUSE -# CONFIG_ZMK_MOUSE=y - -### RGB -# Uncomment the following lines to enable the Corne RGB Underglow -CONFIG_ZMK_RGB_UNDERGLOW=y -CONFIG_WS2812_STRIP=y +# ======================================== +# FileName: corne.conf +# Date: 07.06.2023 +# Author: Marcos Chow Castro +# Email: mctechnology170318@gmail.com +# GitHub: https://github.com/mctechnology17 +# Brief: configuration file for ZMK firmware +# Board: nice_nano_v2 and puchi_ble_v1 +# ╔═╦═╦═╗ +# ╔════╗ ║║║║║╔╝ +# ║╔╗╔╗║ ║║║║║╚╗ +# ╚╝║║╚╝ ║╠═╩╩═╝ +# ║╠═╦═╣╚╦═╦╦═╦╗╔═╦═╦╦╗ +# ║║╩╣═╣║║║║║╬║╚╣╬║╬║║║ +# ╚╩═╩═╩╩╩╩═╩═╩═╩═╬╗╠╗║ +# ╚═╩═╝ +# Copyright (c) 2020 The ZMK Contributors +# SPDX-License-Identifier: MIT +# ========================================= +# on config_zmk.h file enable/disable the following options, if you want to +# use CONFIG_ZMK_MOUSE=y, CONFIG_ZMK_RGB_UNDERGLOW=y, CONFIG_ZMK_RGB_UNDERGLOW=y +# mouse config, 1 = enable, 0 = disable, default = 1 +# 2 = enable, but with rgb matrix +# #define MC_TECHNOLOGY_MOUSE_ENABLE 1 +# rgb matrix config, 1 = enable, 0 = disable, default = 0 +# #define MC_TECHNOLOGY_RGB_ENABLE 0 +# define macros on for .dtsi file 1 = enable, 0 = disable default = 1 +# #define MC_TECHNOLOGY_MACROS_ENABLE 1 -# 0 Solid color 1 Breathe 2 Spectrum 3 Swirl -CONFIG_ZMK_RGB_UNDERGLOW_EFF_START=2 +### Keyboard name +# 1 nice +CONFIG_ZMK_KEYBOARD_NAME="Nice Corne" +# 1 puchi +# CONFIG_ZMK_KEYBOARD_NAME="Puchi Corne" -# Turn off RGB underglow when keyboard goes into idle state -# apaga los leds cuando el teclado esta en reposo, ahorrando energia -# este no es compatible con -CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE=y - -# Hue step in degrees (0-359) used by RGB actions default 10 -CONFIG_ZMK_RGB_UNDERGLOW_HUE_STEP=30 -# Brightness step in percent used by RGB actions default 10 -CONFIG_ZMK_RGB_UNDERGLOW_SAT_STEP=2 -CONFIG_ZMK_RGB_UNDERGLOW_BRT_STEP=10 -# ESTO NO SE ACTIVA -# CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_USB=y +### Boost Bluetooth TX power, also make Bluetooth stronger +CONFIG_BT_CTLR_TX_PWR_PLUS_8=y +# Tune bluetooth profiles for quick select +# CONFIG_BT_MAX_CONN=3 ### POWER OPTIONS -# CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=600000 +CONFIG_ZMK_EXT_POWER=y +CONFIG_ZMK_SLEEP=y +# 2 puchi 15 min (15*60*1000ms) +# CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=900000 +# 2 nice 30 min (30*60*1000ms) +# CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=1800000 # CONFIG_ZMK_IDLE_TIMEOUT=120000 -# CONFIG_ZMK_SLEEP=y +# Disable external power when not connected to USB +# CONFIG_ZMK_EXT_POWER_USB_ONLY=y -# Uncomment the following line to enable the Corne OLED Display -CONFIG_ZMK_EXT_POWER=y # optional -CONFIG_ZMK_DISPLAY=y -# CONFIG_ZMK_WIDGET_OUTPUT_STATUS=y +### MOUSE +CONFIG_ZMK_MOUSE=y + +### RGB UNDERGLOW +# uncomment to enable RGB Underglow or backlight +# CONFIG_ZMK_RGB_UNDERGLOW=y +# CONFIG_WS2812_STRIP=y +# apaga si no se usa el teclado +# CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE=y +# 0 Solid color 1 Breathe 2 Spectrum 3 Swirl +# CONFIG_ZMK_RGB_UNDERGLOW_EFF_START=3 +# nivel de brillo en porcentaje, el valor por defecto es 10 por ciento +# CONFIG_ZMK_RGB_UNDERGLOW_BRT_STEP=1 +# Turn off RGB underglow when keyboard goes into idle state +# CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE=y + +# # Hue step in degrees (0-359) used by RGB actions default 10 +# CONFIG_ZMK_RGB_UNDERGLOW_HUE_STEP=30 + +# # Brightness step in percent used by RGB actions default 10 +# CONFIG_ZMK_RGB_UNDERGLOW_SAT_STEP=2 +# CONFIG_ZMK_RGB_UNDERGLOW_HUE_START=240 +# CONFIG_ZMK_RGB_UNDERGLOW_SAT_START=10 +# CONFIG_ZMK_RGB_UNDERGLOW_BRT_START=15 + +# Uncomment the line below to disable external power toggling by the underglow. +# By default toggling the underglow on and off also toggles external power +# on and off. This also causes the display to turn off. +# CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER=n + +### OLED Display +# CONFIG_ZMK_DISPLAY=y +# esto creo que ya no es necesario +# CONFIG_ZMK_DISPLAY_WORK_QUEUE_DEDICATED=y +# CONFIG_ZMK_DISPLAY_STATUS_SCREEN_BUILT_IN=y + +### WIDGET SETTINGS compatible SOLO con OLED +# No Widget configurations added since nice!view has its own custom widgets +# activar solo estos dos widgets +# CONFIG_ZMK_WIDGET_WPM_STATUS=n +# CONFIG_ZMK_WIDGET_BATTERY_STATUS_SHOW_PERCENTAGE=y # CONFIG_ZMK_WIDGET_LAYER_STATUS=y -# CONFIG_ZMK_WIDGET_WPM_STATUS=y # CONFIG_ZMK_WIDGET_BATTERY_STATUS=y +# CONFIG_ZMK_WIDGET_OUTPUT_STATUS=y -# Uncomment these two lines to add support for encoders -# CONFIG_EC11=y -# CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y +### HID para nice!view ePaperDisplay +# Enable eager debouncing +# "Eager Debouncing" +# Trying to lower the input lag. +CONFIG_ZMK_KSCAN_DEBOUNCE_PRESS_MS=1 +CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS=5 -# Turn on logging, and set ZMK logging to debug output -#CONFIG_ZMK_USB_LOGGING=y +### Improves compatibility with iPad +CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=y diff --git a/config/corne.keymap b/config/corne.keymap index 1d3a050..ac0bf6d 100644 --- a/config/corne.keymap +++ b/config/corne.keymap @@ -22,86 +22,66 @@ SPDX-License-Identifier: MIT #include #include #include +#include +#include +#include +#include #include "keymap_german_mac_iso_zmk.h" +#include "keypos_42keys.h" +#include "config_zmk.h" +#include "mouse.dtsi" +&led_strip { + chain-length = <27>; +}; // }}} -// ### ifdef CONFIG_ZMK_RGB_UNDERGLOW {{{ -// # include -// # include <../boards/shields/corne/boards/nice_nano.overlay> -#ifdef CONFIG_ZMK_RGB_UNDERGLOW -# include -#endif // CONFIG_ZMK_RGB_UNDERGLOW -//}}} -// ### define {{{ -#define DEFAULT 0 -#define NUMBER 1 -#define SYMBOL 2 -#define FUNCTION 3 -#define MEDIA 4 -#define MOUSE 5 -// combinadas para optimizar espacio -#define MEDIA_ESC < MEDIA ESC -#define MOUSE_TAB < MOUSE TAB -#define NUMBER_SPACE < NUMBER SPACE -#define SYMBOL_RGUI < SYMBOL RGUI -#define FUNCTION_RALT < FUNCTION RALT -// default_layer -#define LSHFT_COMMA &mt LSHFT COMMA -// function_layer -#define SPELL &kp LC(LG(D)) -#define TRADUCT &kp LS(LA(T)) -#define SNIPPET &kp LA(LG(G)) -#define CLIPBRD &kp LA(LG(V)) -#define EMOJI &kp LC(LG(SPACE)) -#define TASKM &kp LC(LA(DEL)) // C-A-DEL -// media_layer -#define SC_FLOW &kp LS(LG(NUMBER_1)) // ScrenFlow app for MacOS -#define TXTSNIP &kp LS(LG(NUMBER_2)) // TextSniper app for MacOS -#define SC_SHOT &kp LS(LG(NUMBER_3)) // ScrenShot for all system see &kp PRINTSCREEN for MacOS -#define SC_SPSF &kp LS(LG(NUMBER_4)) // Save picture of screen as a file for MacOS -#define SC_RE &kp LS(LG(NUMBER_5)) // Screenshot and recording options for MacOS -#define OP_TERM &kp LC(LG(LA(SLASH))) // open terminal iTerm2 in current directory for MacOS -#define POS1 &kp LA(LG(NUMBER_1)) // positions of current app with carabiner integration for MacOS -#define POS2 &kp LA(LG(NUMBER_2)) // positions of current app with carabiner integration for MacOS -#define POS3 &kp LA(LG(NUMBER_3)) // positions of current app with carabiner integration for MacOS -#define POS4 &kp LA(LG(NUMBER_4)) // positions of current app with carabiner integration for MacOS -// define blueth -#define BT(n) BT_SEL n -//}}} +/ { // ### macros {{{ -#define MACRO(name, keys) \ -name: name##_macro { \ - label = #name; \ - compatible = "zmk,behavior-macro";\ - #binding-cells = <0>; \ - tap-ms = <1>; \ - wait-ms = <1>; \ - bindings = ; \ -}; + macros { + #include "macros.dtsi" + }; +// }}} +// ### combos {{{ + combos { + compatible = "zmk,combos"; -/ { - macros { - MACRO(example, &kp LS(H) &kp E &kp L &kp L &kp O) - MACRO(mctechnology, &kp M &kp C &kp T &kp E &kp C &kp H &kp N &kp O &kp L &kp O &kp G &kp Y &kp N1 &kp N7) - MACRO(linea, DE_END &kp LS(HOME) DE_BSPC) - }; -}; + unlock { + bindings = <&to DEFAULT>; + key-positions = ; + layers = ; + }; + + lock { + bindings = <&to LOCK>; + key-positions = ; + layers = ; + }; + }; // }}} -// ### keymap {{{ -/ { + // ### conditional_layers {{{ + conditional_layers { + compatible = "zmk,conditional-layers"; + + tri_layer { + if-layers = ; + then-layer = ; + }; + }; + + //}}} keymap { compatible = "zmk,keymap"; // ### default_layer {{{ default_layer { - // .------------------------------------------------. .-------------------------------------------------. - // |LT4 ESC | Q | W | E | R | T | | Z | U | I | O | P | BACKSPC | - // |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| - // |LT5 TAB | A | S | D | F | G | | H | J | K | L | UP | ENTER | - // |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| - // |SHIFT | Y | X | C | V | B | | N | M |LSFT , | LEFT | DOWN | RIGHT | - // '---------------------------------------------------------| |----------------------------------------------------------' - // | CTRL | CMD | ALT | | LT1 SPACE | LT2 CMD | LT3 RALT | - // '--------------------------------' '----------------------------------' - // label = "DEFAULT"; + /*.------------------------------------------------. .-------------------------------------------------. + |LT4 ESC | Q | W | E | R | T | | Z | U | I | O | P | BACKSPC | + |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| + |LT5 TAB | A | S | D | F | G | | H | J | K | L | UP | ENTER | + |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| + |SHIFT | Y | X | C | V | B | | N | M |LSFT , | LEFT | DOWN | RIGHT | + '---------------------------------------------------------| |----------------------------------------------------------' + | CTRL | CMD | ALT | | LT1 SPACE | LT2 CMD | LT3 RALT | + '--------------------------------' '----------------------------------'*/ + label = "Marcos"; bindings = < MEDIA_ESC DE_Q DE_W DE_E DE_R DE_T DE_Z DE_U DE_I DE_O DE_P DE_BSPC MOUSE_TAB DE_A DE_S DE_D DE_F DE_G DE_H DE_J DE_K DE_L DE_UP DE_RET @@ -109,145 +89,140 @@ name: name##_macro { \ DE_LCTRL DE_LGUI DE_RALT NUMBER_SPACE SYMBOL_RGUI FUNCTION_RALT >; }; - // }}}} + // }}} // ### number_layer {{{ number_layer { - // .-------------------------------------------------. .-------------------------------------------------. - // | 0 | 1 | 2 | 3 | - | + | | ß | Ü | Ä | Ö | |BACKSPC | - // |---------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| - // |CAPS_LOCK| 4 | 5 | 6 | / | * | | # | ~ | ? | @ | UP | ENTER | - // |---------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| - // | SHIFT | 7 | 8 | 9 | % | = | | . | ´ | ` | LEFT | DOWN | RIGHT | - // '----------------------------------------------------------| |----------------------------------------------------------' - // | CTRL | CMD | SPACE | | | LSFT | ALTGR | - // '--------------------------------' '--------------------------------' - // label = "NUMBER"; + /*.-------------------------------------------------. .-------------------------------------------------. + | 0 | 1 | 2 | 3 | - | + | | ß | Ü | Ä | Ö | Ñ |BACKSPC | + |---------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| + |CAPS_LOCK| 4 | 5 | 6 | / | * | | # | ~ | ? | @ | UP | ENTER | + |---------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| + | SHIFT | 7 | 8 | 9 | % | = | | . | ´ | ` | LEFT | DOWN | RIGHT | + '----------------------------------------------------------| |----------------------------------------------------------' + | CTRL | CMD | SPACE | | | LSFT | ALTGR | + '--------------------------------' '--------------------------------'*/ + label = "NUMBER"; bindings = < - DE_0 DE_1 DE_2 DE_3 DE_MINS DE_PLUS DE_SS DE_UDIA DE_ADIA DE_ODIA XXX DE_BSPC - DE_CAPS DE_4 DE_5 DE_6 DE_SLSH DE_ASTR DE_HASH DE_TILD DE_QUES DE_AT DE_UP DE_RET - DE_LSHFT DE_7 DE_8 DE_9 DE_PERC DE_EQL DE_DOT DE_ACUT DE_GRV DE_LEFT DE_DOWN DE_RIGHT - DE_LCTRL DE_LGUI DE_SPACE XXX DE_LSHFT DE_RALT + DE_0 DE_1 DE_2 DE_3 DE_MINS DE_PLUS DE_SS DE_UDIA DE_ADIA DE_ODIA &ene_small DE_BSPC + DE_CAPS DE_4 DE_5 DE_6 DE_SLSH DE_ASTR DE_HASH DE_TILD DE_QUES DE_AT DE_UP DE_RET + DE_LSHFT DE_7 DE_8 DE_9 DE_PERC DE_EQL DE_DOT DE_ACUT DE_GRV DE_LEFT DE_DOWN DE_RIGHT + DE_LCTRL DE_LGUI DE_SPACE XXX DE_LSHFT DE_RALT >; }; // }}} // ### symbol_layer {{{ symbol_layer { - // .------------------------------------------------. TODO: .-------------------------------------------------. - // | $ | ( | ) | [ | ] | ~ | | ´ | ` | | | |BACKSPC | - // |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| - // | % | { | } | ^ |PAGE_UP| # | | & | | | | | UP | ENTER | - // |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| - // |SHIFT | < | > | HOME |PAGE_DO| END | | ~ | ' | | LEFT | DOWN | RIGHT | - // '---------------------------------------------------------| |----------------------------------------------------------' - // | CTRL | CMD | SPACE | | ENTER | ALTGR | CTRL | - // '--------------------------------' '--------------------------------' - // label = "SYMBOL"; + /*.------------------------------------------------. TODO: .-------------------------------------------------. + | $ | ( | ) | [ | ] | & | | ` | ' | ´ | " | |BACKSPC | + |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| + | % | { | } | ^ |PAGE_UP| # | | \ | | | / | & | UP | ENTER | + |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| + |SHIFT | < | > | HOME |PAGE_DO| END | | ~ | ' | | LEFT | DOWN | RIGHT | + '---------------------------------------------------------| |----------------------------------------------------------' + | CTRL | CMD | SPACE | | ENTER | ALTGR | CTRL | + '--------------------------------' '--------------------------------'*/ + label = "SYMBOL"; bindings = < - DE_DLR DE_LPRN DE_RPRN DE_LBRC DE_RBRC DE_TILD DE_ACUT DE_GRV XXX XXX XXX DE_BSPC - DE_PERC DE_LCBR DE_RCBR DE_CARET DE_PG_UP DE_HASH DE_AMPR DE_PIPE XXX XXX DE_UP DE_RET - DE_LSHFT DE_LABK DE_RABK DE_HOME DE_PG_DN DE_END DE_TILD DE_QUOT XXX DE_LEFT DE_DOWN DE_RIGHT - DE_LCTRL DE_LGUI DE_SPACE DE_RET DE_RALT DE_LCTRL - >; + DE_DLR DE_LPRN DE_RPRN DE_LBRC DE_RBRC DE_AMPR DE_GRV DE_QUOT DE_ACUT DE_LN_DQUO XXX DE_BSPC + DE_PERC DE_LCBR DE_RCBR DE_CARET DE_PG_UP DE_HASH DE_BSLS DE_PIPE DE_SLSH DE_AMPR DE_UP DE_RET + DE_LSHFT DE_LABK DE_RABK DE_HOME DE_PG_DN DE_END DE_TILD DE_QUOT XXX DE_LEFT DE_DOWN DE_RIGHT + DE_LCTRL DE_LGUI DE_SPACE DE_RET SYMBOL_RGUI FUNCTION_RALT + >; }; // }}} // ### function_layer {{{ function_layer { - // .------------------------------------------------. .-------------------------------------------------. - // | F1 | F2 | F3 | F4 | SPELL |TRADUCT| |DE_F13 | DE_F14|DE_F15 | DE_F16| BRI_DN| BRI_UP | - // |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| - // | F5 | F6 | F7 | F8 | \ |ALFRED | |C-A-DEL|DE_F19 |DE_F20 |CLR_LIN|PAGE_UP| | - // |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| - // | F9 | F10 | F11 | F12 |ALFRED |EMOJI | |L_SHIFT|L_SHIFT|R_SHIFT| HOME |PAGE_DO| END | - // '----------------------------------------------------------| |----------------------------------------------------------' - // | CTRL | CMD | ALT | | TAB | ´ | CTRL | - // '--------------------------------' '--------------------------------' - // LCTL(LGUI(KC_D)), LCTL(LGUI(KC_SPC)) - // label = "FUNCTION"; + /*.------------------------------------------------. .-------------------------------------------------. + | F1 | F2 | F3 | F4 | SPELL |TRADUCT| |DE_F13 | DE_F14|DE_F15 | DE_F16| BRI_DN| BRI_UP | + |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| + | F5 | F6 | F7 | F8 | \ |ALFRED | |C-A-DEL|DE_F19 |DE_F20 |CLR_LIN|PAGE_UP| | + |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| + | F9 | F10 | F11 | F12 |ALFRED |EMOJI | |L_SHIFT|L_SHIFT|R_SHIFT| HOME |PAGE_DO| END | + '----------------------------------------------------------| |----------------------------------------------------------' + | CTRL | CMD | ALT | | TAB | ´ | CTRL | + '--------------------------------' '--------------------------------' + LCTL(LGUI(KC_D)), LCTL(LGUI(KC_SPC))*/ + label = "FUNCTION"; bindings = < - DE_F1 DE_F2 DE_F3 DE_F4 SPELL TRADUCT XXX XXX XXX XXX DE_BRI_DN DE_BRI_UP - DE_F5 DE_F6 DE_F7 DE_F8 DE_BSLS SNIPPET TASKM &example &mctechnology &linea DE_PG_UP XXX - DE_F9 DE_F10 DE_F11 DE_F12 CLIPBRD EMOJI DE_LSHFT DE_LSHFT DE_RSHFT DE_HOME DE_PG_DN DE_END - DE_LCTRL DE_LGUI DE_LALT DE_TAB DE_ACUT DE_LCTRL - >; - }; + DE_F1 DE_F2 DE_F3 DE_F4 SPELL TRADUCT ¯o6 ¯o5 ¯o8 ¯o2 DE_BRI_DN DE_BRI_UP + DE_F5 DE_F6 DE_F7 DE_F8 DE_BSLS SNIPPET TASKM ¯o1 ¯o3 ¯o4 DE_PG_UP ¯o9 + DE_F9 DE_F10 DE_F11 DE_F12 CLIPBRD EMOJI DE_LSHFT DE_LSHFT DE_RSHFT DE_HOME DE_PG_DN DE_END + DE_LCTRL DE_LGUI DE_LALT DE_TAB DE_ACUT DE_LCTRL + >; + }; // }}} // ### media_layer {{{ media_layer { - // .------------------------------------------------. .-------------------------------------------------. - // | |SC_FLOW|TXTSNIP|SC_SHOT|OP_TERM| | |POS1 |POS2 |LANG_1 |LANG_2 | STOP | DELETE | - // |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| - // | |SC_SPSF|SC_RE | | | | |POS3 |POS4 |LANG_3 |SHUFFLE|VOL_UP |PLAY/PAUS| - // |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| - // | | | | | | | | | | MUTE | PREV |VOL_DOW| NEXT | - // '---------------------------------------------------------| |----------------------------------------------------------' - // | CTRL | CMD | ALT | | SPACE | ALTGR | CTRL | - // '--------------------------------' '--------------------------------' - // label = "MEDIA"; + /*.------------------------------------------------. .-------------------------------------------------. + | |SC_FLOW|TXTSNIP|SC_SHOT|OP_TERM| | |POS1 |POS2 |LANG_1 |LANG_2 | STOP | DELETE | + |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| + |bootlder|SC_SPSF|SC_RE | | | | |POS3 |POS4 |LANG_3 |SHUFFLE|VOL_UP |PLAY/PAUS| + |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| + |reset | | | | | | | | | MUTE | PREV |VOL_DOW| NEXT | + '---------------------------------------------------------| |----------------------------------------------------------' + | CTRL | CMD | ALT | | SPACE | ALTGR | CTRL | + '--------------------------------' '--------------------------------'*/ + label = "MEDIA"; bindings = < - XXX SC_FLOW TXTSNIP SC_SHOT OP_TERM XXX POS1 POS2 DE_LANG1 DE_LANG2 DE_STOP DE_DEL - XXX SC_SPSF SC_RE XXX XXX XXX POS3 POS4 DE_LANG3 DE_SHUFFLE DE_VOL_UP DE_PLAY - XXX XXX XXX XXX XXX XXX XXX XXX DE_MUTE DE_PREV DE_VOL_DN DE_NEXT - DE_LCTRL DE_LGUI DE_LALT DE_SPACE DE_RALT DE_LCTRL - >; - }; + XXX SC_FLOW TXTSNIP SC_SHOT OP_TERM XXX POS1 POS2 DE_LANG1 DE_LANG2 DE_STOP DE_DEL + &bootloader SC_SPSF SC_RE XXX XXX XXX POS3 POS4 DE_LANG3 DE_SHUFFLE DE_VOL_UP DE_PLAY + &sys_reset XXX XXX XXX XXX XXX &ene_small &ene_big DE_MUTE DE_PREV DE_VOL_DN DE_NEXT + DE_LCTRL DE_LGUI DE_LALT DE_SPACE DE_RALT DE_LCTRL + >; + }; // }}} -#ifdef CONFIG_ZMK_RGB_UNDERGLOW - // ### mouse_layer {{{ + // ### mouse_layer: mouse {{{ mouse_layer { - // .------------------------------------------------. .-------------------------------------------------. - // | | | |OUT_USB|OUT_BLE|OUT_TOG| |RGBBRI-|RGBBRI+|WH_LEFT|WH_RIGH|WH_DOWN| WH_UP | - // |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| - // | |CLICK_1|CLICK_2|CLICK_3|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_OFF | EP_ON| EP_TOG | |RGBANI- |RGBANI+| RGBTOG | - // '--------------------------------' '--------------------------------' - // label = "MOUSE"; - // XXX XXX XXX &out OUT_USB &out OUT_BLE &out OUT_TOG &mwh SCROLL_HOR(-15) &mwh SCROLL_VERT(-15) &mwh SCROLL_VERT(15) &mwh SCROLL_HOR(15) &mwh SCROLL_DOWN &mwh SCROLL_UP - // XXX &mkp LCLK &mkp RCLK &mkp MCLK &bt BT_PRV &bt BT_NXT &rgb_ug RGB_SAD &rgb_ug RGB_SAI XXX XXX &mmv MOVE_VERT(-2500) XXX - // &bt BT_CLR &bt BT(0) &bt BT(1) &bt BT(2) &bt BT(3) &bt BT(4) &rgb_ug RGB_HUD &rgb_ug RGB_HUI &reset &mmv MOVE_HOR(-2500) &mmv MOVE_VERT(2500) &mmv MOVE_HOR(2500) - // &ext_power EP_OFF &ext_power EP_ON &ext_power EP_TOG &rgb_ug RGB_EFR &rgb_ug RGB_EFF &rgb_ug RGB_TOG + /*.------------------------------------------------. .-------------------------------------------------. + |WH_LEFT |WH_RIGH| |OUT_USB|OUT_BLE|OUT_TOG| | BRD- | BRI+ | SPD- | SPI+ |WH_DOWN| WH_UP | + |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| + | |CLICK_1|CLICK_2|CLICK_3|BT_PRV | BT_NXT| | HUD- | HUI+ | |CLICK_1| UP |CLICK_2 | + |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| + |BT_CLR |BT_0 |BT_1 |BT_2 |BT_3 |BT_4 | | SAD- | SAI+ | RESET | LEFT | DOWN | RIGHT | + '---------------------------------------------------------| |----------------------------------------------------------' + |EP_OFF | EP_ON| EP_TOG | | EFF- | EFR+ | RGB_TOG | + '--------------------------------' '--------------------------------'*/ + label = "MOUSE"; bindings = < - XXX XXX XXX &out OUT_USB &out OUT_BLE &out OUT_TOG &rgb_ug RGB_BRD &rgb_ug RGB_BRI XXX XXX XXX XXX - XXX XXX XXX &bt BT_CLR &bt BT_PRV &bt BT_NXT &rgb_ug RGB_SAD &rgb_ug RGB_SAI XXX XXX XXX XXX - &bt BT_CLR &bt BT(0) &bt BT(1) &bt BT(2) &bt BT(3) &bt BT(4) &rgb_ug RGB_HUD &rgb_ug RGB_HUI &reset XXX XXX XXX - &ext_power EP_OFF &ext_power EP_ON &ext_power EP_TOG &rgb_ug RGB_EFR &rgb_ug RGB_EFF &rgb_ug RGB_TOG - >; - }; + SCROLL_LEFT SCROLL_RIGHT XXX &out OUT_USB &out OUT_BLE &out OUT_TOG &rgb_ug RGB_BRD &rgb_ug RGB_BRI &rgb_ug RGB_SPD &rgb_ug RGB_SPI SCROLL_DOWN SCROLL_UP + XXX CLICK_LEFT CLICK_RIGHT CLICK_MIDDLE &bt BT_PRV &bt BT_NXT &rgb_ug RGB_HUD &rgb_ug RGB_HUI &rgb_ug RGB_COLOR_HSB(0,0,100) CLICK_LEFT MOVE_UP CLICK_RIGHT + &bt BT_CLR &bt BT(0) &bt BT(1) &bt BT(2) &bt BT(3) &bt BT(4) &rgb_ug RGB_SAD &rgb_ug RGB_SAI &rgb_ug RGB_COLOR_HSB(224,100,100) MOVE_LEFT MOVE_DOWN MOVE_RIGHT + &ext_power EP_OFF &ext_power EP_ON &ext_power EP_TOG &rgb_ug RGB_EFF &rgb_ug RGB_EFR &rgb_ug RGB_TOG + >; + }; // }}} -#else - // ### mouse_layer {{{ - mouse_layer { - // .------------------------------------------------. .-------------------------------------------------. - // | | | |OUT_USB|OUT_BLE|OUT_TOG| | | |WH_LEFT|WH_RIGH|WH_DOWN| WH_UP | - // |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| - // | |CLICK_1|CLICK_2|CLICK_3|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_OFF | EP_ON| EP_TOG | | | | | - // '--------------------------------' '--------------------------------' - // label = "MOUSE"; - // XXX XXX XXX &out OUT_USB &out OUT_BLE &out OUT_TOG &mwh SCROLL_HOR(-15) &mwh SCROLL_VERT(-15) &mwh SCROLL_VERT(15) &mwh SCROLL_HOR(15) &mwh SCROLL_DOWN &mwh SCROLL_UP - // XXX &mkp LCLK &mkp RCLK &mkp MCLK &bt BT_PRV &bt BT_NXT XXX XXX XXX XXX &mmv MOVE_VERT(-2500) XXX - // &bt BT_CLR &bt BT(0) &bt BT(1) &bt BT(2) &bt BT(3) &bt BT(4) XXX XXX &reset &mmv MOVE_HOR(-2500) &mmv MOVE_VERT(2500) &mmv MOVE_HOR(2500) - // &ext_power EP_OFF &ext_power EP_ON &ext_power EP_TOG XXX XXX XXX + // ### linux_symbol {{{ + linux_symbol { + /*.------------------------------------------------. TODO: .-------------------------------------------------. + | $ | ( | ) | [ | ] | & | | ` | ' | ´ |bootldr| reset |BACKSPC | + |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| + | % | { | } | ^ |PAGE_UP| # | | \ | | | / | & | UP | ENTER | + |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| + |SHIFT | < | > | HOME |PAGE_DO| END | | ~ | ' | @ | LEFT | DOWN | RIGHT | + '---------------------------------------------------------| |----------------------------------------------------------' + DE_LN_DQUO |DE_F13 | DE_F14 | DE_F15 | | SPACE | ALTGR | CTRL | + '--------------------------------' '--------------------------------'*/ + label = "LX_"; bindings = < - XXX XXX XXX &out OUT_USB &out OUT_BLE &out OUT_TOG XXX XXX XXX XXX XXX XXX - XXX XXX XXX XXX &bt BT_PRV &bt BT_NXT XXX XXX XXX XXX XXX XXX - &bt BT_CLR &bt BT(0) &bt BT(1) &bt BT(2) &bt BT(3) &bt BT(4) XXX XXX &reset XXX XXX XXX - &ext_power EP_OFF &ext_power EP_ON &ext_power EP_TOG XXX XXX XXX - >; - }; + DE_DLR DE_LN_LPRN DE_LN_RPRN DE_LN_LBRC DE_LN_RBRC DE_LN_AMPS DE_GRV DE_QUOT DE_ACUT &bootloader &sys_reset DE_BSPC + DE_PERC DE_LN_LCBR DE_LN_RCBR DE_LN_CARET DE_PG_UP DE_HASH DE_LN_BSLH DE_LN_PIPE DE_LN_FSLH DE_LN_AMPS DE_UP DE_RET + DE_LSHFT DE_LN_LABK DE_LN_RABK DE_HOME DE_PG_DN DE_END DE_LN_TILDE DE_QUOT DE_LN_AT NAV_LEFT DE_DOWN NAV_RIGHT + ¯o7 ¯o5 ¯o8 DE_SPACE DE_RALT DE_LCTRL + >; + }; // }}} -#endif // CONFIG_ZMK_RGB_UNDERGLOW + // ### lock {{{ + lock { + label = "Lock"; + bindings = < + &none &none &none &none &none &none &none &none &none &none &none &none + &none &none &none &none &none &none &none &none &none &none &none &none + &none &none &none &none &none &none &none &none &none &none &none &none + &none &none &none &none &none &none + >; + }; + //}}} }; }; -// }}} -// ### niceview {{{ -&nice_view_spi { - cs-gpios = <&pro_micro 0 GPIO_ACTIVE_HIGH>; -}; -// }}} -// vim: fdm=marker: + +// vim: filetype=dts fdm=marker: diff --git a/config/keymap_german_mac_iso_zmk.h b/config/keymap_german_mac_iso_zmk.h index d84786c..bdc0bcf 100644 --- a/config/keymap_german_mac_iso_zmk.h +++ b/config/keymap_german_mac_iso_zmk.h @@ -349,6 +349,24 @@ along with this program. If not, see . #define DE_DIV &kp LS(LA(DOT)) // ÷ #define DE_MDSH &kp LS(LA(MINUS)) // — +// DE_LN_XXX for linux and windows +#define DE_LN_LABK &kp NUBS // < +#define DE_LN_RABK &kp LS(NUBS) // > +#define DE_LN_LBRC &kp RA(N5) // [ +#define DE_LN_RBRC &kp RA(N6) // ] +#define DE_LN_LPRN &kp LS(N8) // ( +#define DE_LN_RPRN &kp LS(N9) // ) +#define DE_LN_LCBR &kp RA(N8) // { +#define DE_LN_RCBR &kp RA(N9) // } +#define DE_LN_FSLH &kp LS(N7) // slash +#define DE_LN_BSLH &kp LS(RA(N7)) // backslash +#define DE_LN_PIPE &kp RA(NUBS) // pipe +#define DE_LN_AT &kp LS(RA(Q)) // @ +#define DE_LN_AMPS &kp LS(N6) // & +#define DE_LN_TILDE &kp LS(RA(N8)) // ~ +#define DE_LN_CARET &kp RA(APOS) // ^ +#define DE_LN_DQUO &kp LS(N2) // " + // ############### // #define DE_FSLH &kp AMPS // "/" DE_SLSH // #define DE_STAR &kp RBRC // "*" DE_ASTR diff --git a/config/keypos_42keys.h b/config/keypos_42keys.h new file mode 100644 index 0000000..2c92f92 --- /dev/null +++ b/config/keypos_42keys.h @@ -0,0 +1,62 @@ +/* 42 KEY MATRIX / LAYOUT MAPPING + + ╭────────────────────────┬────────────────────────╮ ╭─────────────────────────┬─────────────────────────╮ + │ 0 1 2 3 4 5 │ 6 7 8 9 10 11 │ │ LT5 LT4 LT3 LT2 LT1 LT0 │ RT0 RT1 RT2 RT3 RT4 RT5 │ + │ 12 13 14 15 16 17 │ 18 19 20 21 22 23 │ │ LM5 LM4 LM3 LM2 LM1 LM0 │ RM0 RM1 RM2 RM3 RM4 RM5 │ + │ 24 25 26 27 28 29 │ 30 31 32 33 34 35 │ │ LB5 LB4 LB3 LB2 LB1 LB0 │ RB0 RB1 RB2 RB3 RB4 RB5 │ + ╰───────────╮ 36 37 38 │ 39 40 41 ╭───────────╯ ╰───────────╮ LH2 LH1 LH0 │ RH0 RH1 RH2 ╭───────────╯ + ╰────────────┴────────────╯ ╰─────────────┴─────────────╯ */ + +#pragma once + +#define LT0 5 // left-top row +#define LT1 4 +#define LT2 3 +#define LT3 2 +#define LT4 1 +#define LT5 0 + +#define RT0 6 // right-top row +#define RT1 7 +#define RT2 8 +#define RT3 9 +#define RT4 10 +#define RT5 11 + +#define LM0 17 // left-middle row +#define LM1 16 +#define LM2 15 +#define LM3 14 +#define LM4 13 +#define LM5 12 + +#define RM0 18 // right-middle row +#define RM1 19 +#define RM2 20 +#define RM3 21 +#define RM4 22 +#define RM5 23 + +#define LB0 29 // left-bottom row +#define LB1 28 +#define LB2 27 +#define LB3 26 +#define LB4 25 +#define LB5 24 + +#define RB0 30 // right-bottom row +#define RB1 31 +#define RB2 32 +#define RB3 33 +#define RB4 34 +#define RB5 35 + +#define LH0 38 // left thumb keys +#define LH1 37 +#define LH2 36 + +#define RH0 39 // right thumb keys +#define RH1 40 +#define RH2 41 + +// vim: filetype=dts fdm=marker: diff --git a/config/macros.dtsi b/config/macros.dtsi new file mode 100644 index 0000000..2efd9cc --- /dev/null +++ b/config/macros.dtsi @@ -0,0 +1,71 @@ +/* ======================================== {{{ +FileName: macros.dtsi +Date: Sun 10/11/2020 9:00:00.00 +Author: Marcos Chow Castro +Email: mctechnology170318@gmail.com +GitHub: https://github.com/mctechnology17 +Brief: define macros for the wireless corne keyboard +Use: in your keymap file, include this file +/ { + + macros { + #include "macros.dtsi" + }; + + keymap { + compatible = "zmk,keymap"; + default_layer { + bindings = < + ... + >; + }; + }; +}; +=========================================== +Copyright 2023 Marcos Ivan Chow Castro + ╔═╦═╦═╗ + ╔════╗ ║║║║║╔╝ + ║╔╗╔╗║ ║║║║║╚╗ + ╚╝║║╚╝ ║╠═╩╩═╝ + ║╠═╦═╣╚╦═╦╦═╦╗╔═╦═╦╦╗ + ║║╩╣═╣║║║║║╬║╚╣╬║╬║║║ + ╚╩═╩═╩╩╩╩═╩═╩═╩═╬╗╠╗║ + ╚═╩═╝ + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +}}}*/ +// ### macros {{{ +#define MACRO(name, keys) \ +name: name##_macro { \ + label = #name; \ + compatible = "zmk,behavior-macro";\ + #binding-cells = <0>; \ + tap-ms = <1>; \ + wait-ms = <1>; \ + bindings = ; \ +}; + +MACRO(macro1, &kp M &kp A &kp C &kp R &kp O &kp N1) +MACRO(macro2, &kp M &kp A &kp C &kp R &kp O &kp N2) +MACRO(macro3, &kp M &kp A &kp C &kp R &kp O &kp N3) +MACRO(macro4, &kp M &kp A &kp C &kp R &kp O &kp N4) +MACRO(macro5, &kp M &kp A &kp C &kp R &kp O &kp N5) +MACRO(macro6, &kp M &kp A &kp C &kp R &kp O &kp N6) +MACRO(macro7, &kp M &kp A &kp C &kp R &kp O &kp N7) +MACRO(macro8, &kp M &kp A &kp C &kp R &kp O &kp N8) +MACRO(macro9, &kp M &kp A &kp C &kp R &kp O &kp N9) +MACRO(ene_small, DE_TILD DE_N) +MACRO(ene_big, DE_TILD &kp LS(N)) +// }}} +// vim: filetype=dts fdm=marker: diff --git a/config/mouse.dtsi b/config/mouse.dtsi new file mode 100644 index 0000000..41110b4 --- /dev/null +++ b/config/mouse.dtsi @@ -0,0 +1,68 @@ +#if MC_TECHNOLOGY_MOUSE_ENABLE == 1 +# include + + &mmv { + time-to-max-speed-ms = <1500>; // 500 + acceleration-exponent=<1>; + delay-ms = <0>; // 10 + }; + &mwh { + time-to-max-speed-ms = <5000>; // 2000 + acceleration-exponent=<1>; // 0 + delay-ms = <0>; // 10 + }; + + #undef CLICK_LEFT + #undef CLICK_RIGHT + #undef CLICK_MIDDLE + #define CLICK_LEFT &mkp LCLK + #define CLICK_RIGHT &mkp RCLK + #define CLICK_MIDDLE &mkp MCLK + + #undef MOVE_UP + #undef MOVE_DOWN + #undef MOVE_LEFT + #undef MOVE_RIGHT + #define MOVE_UP &mmv MOVE_VERT(-2500) + #define MOVE_DOWN &mmv MOVE_VERT(2500) + #define MOVE_LEFT &mmv MOVE_HOR(-2500) + #define MOVE_RIGHT &mmv MOVE_HOR(2500) + + #undef SCROLL_UP + #undef SCROLL_DOWN + #undef SCROLL_LEFT + #undef SCROLL_RIGHT + #define SCROLL_UP &mwh SCROLL_VERT(15) + #define SCROLL_DOWN &mwh SCROLL_VERT(-15) + #define SCROLL_LEFT &mwh SCROLL_HOR(-15) + #define SCROLL_RIGHT &mwh SCROLL_HOR(15) + +#else + + #undef CLICK_LEFT + #undef CLICK_RIGHT + #undef CLICK_MIDDLE + #define CLICK_LEFT &none + #define CLICK_RIGHT &none + #define CLICK_MIDDLE &none + + #undef MOVE_UP + #undef MOVE_DOWN + #undef MOVE_LEFT + #undef MOVE_RIGHT + #define MOVE_UP &none + #define MOVE_DOWN &none + #define MOVE_LEFT &none + #define MOVE_RIGHT &none + + #undef SCROLL_UP + #undef SCROLL_DOWN + #undef SCROLL_LEFT + #undef SCROLL_RIGHT + #define SCROLL_UP &none + #define SCROLL_DOWN &none + #define SCROLL_LEFT &none + #define SCROLL_RIGHT &none + +#endif +// vim: filetype=dts fdm=marker: diff --git a/config/nice_nano_v2.overlay b/config/nice_nano_v2.overlay deleted file mode 100644 index cf87a43..0000000 --- a/config/nice_nano_v2.overlay +++ /dev/null @@ -1,33 +0,0 @@ -#include - -&spi1 { - compatible = "nordic,nrf-spim"; - /* Cannot be used together with i2c0. */ - status = "okay"; - mosi-pin = <6>; - // Unused pins, needed for SPI definition, but not used by the ws2812 driver itself. - sck-pin = <5>; - miso-pin = <7>; - - led_strip: ws2812@0 { - compatible = "worldsemi,ws2812-spi"; - label = "SK6812mini"; - - /* SPI */ - reg = <0>; /* ignored, but necessary for SPI bindings */ - spi-max-frequency = <4000000>; - - /* WS2812 */ - chain-length = <54>; /* There are per-key RGB, but the first 6 are underglow */ - spi-one-frame = <0x70>; - spi-zero-frame = <0x40>; - - color-mapping = ; - }; -}; - -/ { - chosen { - zmk,underglow = &led_strip; - }; -}; diff --git a/config/west.yml b/config/west.yml index 379d291..c3d9990 100644 --- a/config/west.yml +++ b/config/west.yml @@ -2,10 +2,14 @@ manifest: remotes: - name: zmkfirmware url-base: https://github.com/zmkfirmware + - name: urob + url-base: https://github.com/urob + - name: AakashDabas + url-base: https://github.com/AakashDabas projects: - name: zmk - remote: zmkfirmware - revision: main + remote: AakashDabas + revision: animated_widgets import: app/west.yml self: path: config