better config, display oled/view, animations bongo cat etc., rgb full, puchi-ble/nicenano_v2, combos, macros, reset/bootloader, ... etc.

This commit is contained in:
Chow Castro, Marcos 2023-09-05 21:13:06 +02:00
parent 8991647f6e
commit e7c9c5ace7
21 changed files with 1992 additions and 363 deletions

1
.gitignore vendored
View file

@ -1,4 +1,5 @@
Makefile
build/justin/*
# MacOS
.DS_Store

184
README.md
View file

@ -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)
<div align="center">
@ -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.
> **Warning**
>
> NO SOY RESPONSABLE DE NINGÚN DAÑO QUE ESTE CÓDIGO PUEDA CAUSAR, ÚSALO 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...
> **Note**
>
> NO DUDES EN MODIFICAR EL CÓDIGO A TU GUSTO O UTILIZAR LO QUE NECESITES.
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)
| 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... |
FUNCIONANDO SIN ERRORES HASTA EL MOMENTO!
# 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.
```bash
# activar por 30 minutos (30*60*1000ms)
CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=1800000
```
# PANTALLA OLED
La pantalla OLED aun no esta soportada por ZMK o mejor dicho esta en desarrollo, por lo que no se puede usar.
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):
# 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
```
Agrega las siguientes lineas antes de keymap:
```c
#ifdef CONFIG_ZMK_RGB_UNDERGLOW
# include <dt-bindings/zmk/rgb.h>
# include <dt-bindings/led/led.h>
#include <../boards/shields/corne/boards/nice_nano.overlay>
// Overwrite number of leds on the keyboard. A Corne has 27 per side.
&led_strip { chain-length = <27>; };
#endif // CONFIG_ZMK_RGB_UNDERGLOW
```
Ahora aqui tienes un ejemplo de como debes mapear las teclas para controlar el RGB:
```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!
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

View file

@ -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

BIN
config/boards/.DS_Store.gz Normal file

Binary file not shown.

View file

@ -0,0 +1,47 @@
#include <dt-bindings/led/led.h>
&pinctrl {
spi1_default: spi1_default {
group1 {
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
};
};
spi1_sleep: spi1_sleep {
group1 {
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
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 = <LED_COLOR_ID_GREEN LED_COLOR_ID_RED LED_COLOR_ID_BLUE>;
};
};
/ {
chosen {
zmk,underglow = &led_strip;
};
};

View file

@ -0,0 +1,47 @@
#include <dt-bindings/led/led.h>
&pinctrl {
spi1_default: spi1_default {
group1 {
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
};
};
spi1_sleep: spi1_sleep {
group1 {
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
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 = <LED_COLOR_ID_GREEN LED_COLOR_ID_RED LED_COLOR_ID_BLUE>;
};
};
/ {
chosen {
zmk,underglow = &led_strip;
};
};

View file

@ -0,0 +1,48 @@
#include <dt-bindings/led/led.h>
&pinctrl {
spi3_default: spi3_default {
group1 {
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
};
};
spi3_sleep: spi3_sleep {
group1 {
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
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 = <LED_COLOR_ID_GREEN LED_COLOR_ID_RED LED_COLOR_ID_BLUE>;
};
};
/ {
chosen {
zmk,underglow = &led_strip;
};
};
// vim: filetype=dts fdm=marker:

707
config/config.options Normal file
View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

105
config/config_zmk.h Normal file
View file

@ -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 <http://www.gnu.org/licenses/>.
*/
// 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 &lt MEDIA ESC
#define MOUSE_TAB &lt MOUSE TAB
#define NUMBER_SPACE &lt NUMBER SPACE
#define SYMBOL_RGUI &mo SYMBOL // &lt SYMBOL RGUI
#define FUNCTION_RALT &mo FUNCTION // &lt 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)) // <S-D-1> ScrenFlow app for MacOS
#define TXTSNIP &kp LS(LG(NUMBER_2)) // <S-D-2> TextSniper app for MacOS
#define SC_SHOT \
&kp LS(LG(NUMBER_3)) // <S-D-3> ScrenShot for all system see &kp PRINTSCREEN
// for MacOS
#define SC_SPSF \
&kp LS(LG(NUMBER_4)) // <S-D-4> Save picture of screen as a file for MacOS
#define SC_RE \
&kp LS(LG(NUMBER_5)) // <S-D-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:

View file

@ -1,43 +1,105 @@
### MOUSE
# CONFIG_ZMK_MOUSE=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
### RGB
# Uncomment the following lines to enable the Corne RGB Underglow
CONFIG_ZMK_RGB_UNDERGLOW=y
CONFIG_WS2812_STRIP=y
### Keyboard name
# 1 nice
CONFIG_ZMK_KEYBOARD_NAME="Nice Corne"
# 1 puchi
# CONFIG_ZMK_KEYBOARD_NAME="Puchi Corne"
# 0 Solid color 1 Breathe 2 Spectrum 3 Swirl
CONFIG_ZMK_RGB_UNDERGLOW_EFF_START=2
# 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

View file

@ -22,86 +22,66 @@ SPDX-License-Identifier: MIT
#include <dt-bindings/zmk/bt.h>
#include <dt-bindings/zmk/outputs.h>
#include <dt-bindings/zmk/ext_power.h>
#include <dt-bindings/led/led.h>
#include <dt-bindings/zmk/backlight.h>
#include <dt-bindings/zmk/rgb.h>
#include <dt-bindings/zmk/reset.h>
#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 <dt-bindings/led/led.h>
// # include <../boards/shields/corne/boards/nice_nano.overlay>
#ifdef CONFIG_ZMK_RGB_UNDERGLOW
# include <dt-bindings/zmk/rgb.h>
#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 &lt MEDIA ESC
#define MOUSE_TAB &lt MOUSE TAB
#define NUMBER_SPACE &lt NUMBER SPACE
#define SYMBOL_RGUI &lt SYMBOL RGUI
#define FUNCTION_RALT &lt 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)) // <S-D-1> ScrenFlow app for MacOS
#define TXTSNIP &kp LS(LG(NUMBER_2)) // <S-D-2> TextSniper app for MacOS
#define SC_SHOT &kp LS(LG(NUMBER_3)) // <S-D-3> ScrenShot for all system see &kp PRINTSCREEN for MacOS
#define SC_SPSF &kp LS(LG(NUMBER_4)) // <S-D-4> Save picture of screen as a file for MacOS
#define SC_RE &kp LS(LG(NUMBER_5)) // <S-D-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 = <keys>; \
};
/ {
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)
};
};
macros {
#include "macros.dtsi"
};
// }}}
// ### keymap {{{
/ {
// ### combos {{{
combos {
compatible = "zmk,combos";
unlock {
bindings = <&to DEFAULT>;
key-positions = <LT5 LH0 RH0 RT5>;
layers = <LOCK>;
};
lock {
bindings = <&to LOCK>;
key-positions = <LT5 RH0>;
layers = <LX_>;
};
};
// }}}
// ### conditional_layers {{{
conditional_layers {
compatible = "zmk,conditional-layers";
tri_layer {
if-layers = <SYMBOL FUNCTION>;
then-layer = <LX_>;
};
};
//}}}
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 &macro6 &macro5 &macro8 &macro2 DE_BRI_DN DE_BRI_UP
DE_F5 DE_F6 DE_F7 DE_F8 DE_BSLS SNIPPET TASKM &macro1 &macro3 &macro4 DE_PG_UP &macro9
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
&macro7 &macro5 &macro8 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:

View file

@ -349,6 +349,24 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#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

62
config/keypos_42keys.h Normal file
View file

@ -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:

71
config/macros.dtsi Normal file
View file

@ -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 <http://www.gnu.org/licenses/>.
}}}*/
// ### macros {{{
#define MACRO(name, keys) \
name: name##_macro { \
label = #name; \
compatible = "zmk,behavior-macro";\
#binding-cells = <0>; \
tap-ms = <1>; \
wait-ms = <1>; \
bindings = <keys>; \
};
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:

68
config/mouse.dtsi Normal file
View file

@ -0,0 +1,68 @@
#if MC_TECHNOLOGY_MOUSE_ENABLE == 1
# include <dt-bindings/zmk/mouse.h>
&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:

View file

@ -1,33 +0,0 @@
#include <dt-bindings/led/led.h>
&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 = <LED_COLOR_ID_GREEN LED_COLOR_ID_RED LED_COLOR_ID_BLUE>;
};
};
/ {
chosen {
zmk,underglow = &led_strip;
};
};

View file

@ -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