Init: Corne-only zmk-config
Extracted from zmk-config-archive (multi-board repo). Corne 42-key with nice_nano_v2, nice_oled, RGB, ZMK Studio, Javelin steno.
This commit is contained in:
commit
9d21b8ff1e
35 changed files with 3830 additions and 0 deletions
2
.gitattributes
vendored
Normal file
2
.gitattributes
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
*.dtsi linguist-language=C++
|
||||||
|
*.keymap linguist-language=C++
|
||||||
5
.github/workflows/build.yml
vendored
Normal file
5
.github/workflows/build.yml
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
on: [push, pull_request, workflow_dispatch]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
uses: zmkfirmware/zmk/.github/workflows/build-user-config.yml@v0.3.0
|
||||||
25
.github/workflows/keymap-drawer.yaml
vendored
Normal file
25
.github/workflows/keymap-drawer.yaml
vendored
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
# keymap -c config/config_keymap-drawer.yaml parse -c 12 -z config/corne.keymap > keymap-drawer/corne.yaml
|
||||||
|
# keymap -c config/config_keymap-drawer.yaml draw keymap-drawer/corne.yaml > keymap-drawer/corne.svg
|
||||||
|
|
||||||
|
# Example for using the keymap-drawer ZMK user config workflow
|
||||||
|
name: Draw ZMK keymaps
|
||||||
|
on:
|
||||||
|
workflow_dispatch: # can be triggered manually
|
||||||
|
push: # automatically run on changes to following paths
|
||||||
|
paths:
|
||||||
|
- "config/*.keymap"
|
||||||
|
- "config/config_keymap-drawer.yaml"
|
||||||
|
- .github/workflows/keymap-drawer.yaml
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
draw:
|
||||||
|
uses: caksoylar/keymap-drawer/.github/workflows/draw-zmk.yml@main
|
||||||
|
permissions:
|
||||||
|
contents: write # allow workflow to commit to the repo
|
||||||
|
with:
|
||||||
|
amend_commit: true
|
||||||
|
keymap_patterns: "config/*.keymap" # path to the keymaps to parse
|
||||||
|
config_path: "config/config_keymap-drawer.yaml" # config file, ignored if not exists
|
||||||
|
output_folder: "keymap-drawer" # path to save produced SVG and keymap YAML files
|
||||||
|
parse_args: "" # map of extra args to pass to `keymap parse`, e.g. "corne:'-l Def Lwr Rse' cradio:''"
|
||||||
|
draw_args: "" # map of extra args to pass to `keymap draw`, e.g. "corne:'-k corne_rotated' cradio:'-k paroxysm'"
|
||||||
91
.gitignore
vendored
Normal file
91
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,91 @@
|
||||||
|
# zmk
|
||||||
|
zmk/
|
||||||
|
|
||||||
|
# sketchybar
|
||||||
|
sketchybar/dotfiles/
|
||||||
|
sketchybar/dotfiles
|
||||||
|
sketchybar/dotfiles/*
|
||||||
|
|
||||||
|
# MacOS
|
||||||
|
.DS_Store
|
||||||
|
vim-tools_notiz.vim
|
||||||
|
.DS_Store
|
||||||
|
./*/.DS_Store
|
||||||
|
.vscode
|
||||||
|
# .vimspector.json
|
||||||
|
push.sh
|
||||||
|
/test
|
||||||
|
test/
|
||||||
|
|
||||||
|
# c, cpp
|
||||||
|
*.x
|
||||||
|
*.d
|
||||||
|
*.dSYM
|
||||||
|
*.o
|
||||||
|
*.out
|
||||||
|
|
||||||
|
# firmware build output
|
||||||
|
*.uf2
|
||||||
|
*.hex
|
||||||
|
*.bin
|
||||||
|
|
||||||
|
# log
|
||||||
|
*.log
|
||||||
|
|
||||||
|
# cache
|
||||||
|
*.cache
|
||||||
|
cache/
|
||||||
|
|
||||||
|
# Windows
|
||||||
|
Thumbs.db
|
||||||
|
Desktop.ini
|
||||||
|
|
||||||
|
# Tags
|
||||||
|
#TAGS
|
||||||
|
#!TAGS/
|
||||||
|
#tags
|
||||||
|
doc/tags
|
||||||
|
tags-cn
|
||||||
|
!tags/
|
||||||
|
.tags
|
||||||
|
.tags1
|
||||||
|
tags.lock
|
||||||
|
tags.temp
|
||||||
|
gtags.files
|
||||||
|
GTAGS
|
||||||
|
GRTAGS
|
||||||
|
GPATH
|
||||||
|
cscope.files
|
||||||
|
cscope.out
|
||||||
|
cscope.in.out
|
||||||
|
cscope.po.out
|
||||||
|
|
||||||
|
# Vim
|
||||||
|
[._]*.s[a-w][a-z]
|
||||||
|
[._]s[a-w][a-z]
|
||||||
|
*.un~
|
||||||
|
Session.vim
|
||||||
|
.netrwhist
|
||||||
|
*~
|
||||||
|
|
||||||
|
# Test % Tmp
|
||||||
|
test.*
|
||||||
|
tmp.*
|
||||||
|
temp.*
|
||||||
|
|
||||||
|
# Java
|
||||||
|
*.class
|
||||||
|
|
||||||
|
# JavaScript
|
||||||
|
node_modules
|
||||||
|
|
||||||
|
# Python
|
||||||
|
*.pyc
|
||||||
|
.idea/
|
||||||
|
/.idea
|
||||||
|
# build/
|
||||||
|
__pycache__
|
||||||
|
|
||||||
|
# Rust
|
||||||
|
target/
|
||||||
|
**/*.rs.bk
|
||||||
21
LICENSE
Normal file
21
LICENSE
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2020 The ZMK Contributors
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
47
boards/nice_nano.overlay
Normal file
47
boards/nice_nano.overlay
Normal file
|
|
@ -0,0 +1,47 @@
|
||||||
|
#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";
|
||||||
|
|
||||||
|
/* 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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
// vim: filetype=dts fdm=marker:
|
||||||
75
boards/nice_nano_v2.overlay
Normal file
75
boards/nice_nano_v2.overlay
Normal file
|
|
@ -0,0 +1,75 @@
|
||||||
|
#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";
|
||||||
|
|
||||||
|
/* 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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Override flash size for build testing — actual hardware may differ */
|
||||||
|
&flash0 {
|
||||||
|
reg = <0x00000000 DT_SIZE_M(4)>;
|
||||||
|
|
||||||
|
partitions {
|
||||||
|
/delete-node/ partition@0;
|
||||||
|
/delete-node/ partition@26000;
|
||||||
|
/delete-node/ partition@ec000;
|
||||||
|
/delete-node/ partition@f4000;
|
||||||
|
|
||||||
|
sd_partition: partition@0 {
|
||||||
|
reg = <0x00000000 0x00026000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
code_partition: partition@26000 {
|
||||||
|
reg = <0x00026000 0x003c8000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
storage_partition: partition@3ee000 {
|
||||||
|
reg = <0x003ee000 0x00008000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
boot_partition: partition@3f6000 {
|
||||||
|
reg = <0x003f6000 0x0000a000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
// vim: filetype=dts fdm=marker:
|
||||||
58
boards/shields/corne/Kconfig.defconfig
Normal file
58
boards/shields/corne/Kconfig.defconfig
Normal file
|
|
@ -0,0 +1,58 @@
|
||||||
|
if SHIELD_CORNE_LEFT || SHIELD_CORNE_DONGLE_XIAO || SHIELD_CORNE_DONGLE_PRO_MICRO
|
||||||
|
|
||||||
|
config ZMK_KEYBOARD_NAME
|
||||||
|
default "Corne"
|
||||||
|
|
||||||
|
config ZMK_SPLIT_ROLE_CENTRAL
|
||||||
|
default y
|
||||||
|
|
||||||
|
# if SHIELD_CORNE_DONGLE_XIAO || SHIELD_CORNE_DONGLE_PRO_MICRO
|
||||||
|
|
||||||
|
# config ZMK_USB
|
||||||
|
# default y
|
||||||
|
|
||||||
|
# endif
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
if SHIELD_CORNE_LEFT || SHIELD_CORNE_RIGHT || SHIELD_CORNE_LEFT_PERIPHERAL || SHIELD_CORNE_DONGLE_XIAO || SHIELD_CORNE_DONGLE_PRO_MICRO
|
||||||
|
|
||||||
|
config ZMK_SPLIT
|
||||||
|
default y
|
||||||
|
|
||||||
|
if ZMK_DISPLAY
|
||||||
|
|
||||||
|
config I2C
|
||||||
|
default y
|
||||||
|
|
||||||
|
config SSD1306
|
||||||
|
default y
|
||||||
|
|
||||||
|
if SHIELD_CORNE_DONGLE_XIAO || SHIELD_CORNE_DONGLE_PRO_MICRO
|
||||||
|
|
||||||
|
choice ZMK_DISPLAY_WORK_QUEUE
|
||||||
|
default ZMK_DISPLAY_WORK_QUEUE_DEDICATED
|
||||||
|
endchoice
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
endif # ZMK_DISPLAY
|
||||||
|
|
||||||
|
if LVGL
|
||||||
|
|
||||||
|
config LV_Z_VDB_SIZE
|
||||||
|
default 64
|
||||||
|
|
||||||
|
config LV_DPI_DEF
|
||||||
|
default 148
|
||||||
|
|
||||||
|
config LV_Z_BITS_PER_PIXEL
|
||||||
|
default 1
|
||||||
|
|
||||||
|
choice LV_COLOR_DEPTH
|
||||||
|
default LV_COLOR_DEPTH_1
|
||||||
|
endchoice
|
||||||
|
|
||||||
|
endif # LVGL
|
||||||
|
|
||||||
|
endif
|
||||||
17
boards/shields/corne/Kconfig.shield
Normal file
17
boards/shields/corne/Kconfig.shield
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
# Copyright (c) 2020 Pete Johanson
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
config SHIELD_CORNE_LEFT
|
||||||
|
def_bool $(shields_list_contains,corne_left)
|
||||||
|
|
||||||
|
config SHIELD_CORNE_RIGHT
|
||||||
|
def_bool $(shields_list_contains,corne_right)
|
||||||
|
|
||||||
|
config SHIELD_CORNE_DONGLE_XIAO
|
||||||
|
def_bool $(shields_list_contains,corne_dongle_xiao)
|
||||||
|
|
||||||
|
config SHIELD_CORNE_LEFT_PERIPHERAL
|
||||||
|
def_bool $(shields_list_contains,corne_left_peripheral)
|
||||||
|
|
||||||
|
config SHIELD_CORNE_DONGLE_PRO_MICRO
|
||||||
|
def_bool $(shields_list_contains,corne_dongle_pro_micro)
|
||||||
46
boards/shields/corne/boards/nice_nano.overlay
Normal file
46
boards/shields/corne/boards/nice_nano.overlay
Normal file
|
|
@ -0,0 +1,46 @@
|
||||||
|
#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";
|
||||||
|
|
||||||
|
/* 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;
|
||||||
|
};
|
||||||
|
};
|
||||||
46
boards/shields/corne/boards/nice_nano_v2.overlay
Normal file
46
boards/shields/corne/boards/nice_nano_v2.overlay
Normal file
|
|
@ -0,0 +1,46 @@
|
||||||
|
#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";
|
||||||
|
|
||||||
|
/* 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;
|
||||||
|
};
|
||||||
|
};
|
||||||
6
boards/shields/corne/corne.conf
Normal file
6
boards/shields/corne/corne.conf
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
# Uncomment the following lines to enable the Corne RGB Underglow
|
||||||
|
# CONFIG_ZMK_RGB_UNDERGLOW=y
|
||||||
|
# CONFIG_WS2812_STRIP=y
|
||||||
|
|
||||||
|
# Uncomment the following line to enable the Corne OLED Display
|
||||||
|
# CONFIG_ZMK_DISPLAY=y
|
||||||
94
boards/shields/corne/corne.dtsi
Normal file
94
boards/shields/corne/corne.dtsi
Normal file
|
|
@ -0,0 +1,94 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2020 Pete Johanson
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <dt-bindings/zmk/matrix_transform.h>
|
||||||
|
|
||||||
|
#include <layouts/foostan/corne/5column.dtsi>
|
||||||
|
#include <layouts/foostan/corne/6column.dtsi>
|
||||||
|
|
||||||
|
&foostan_corne_6col_layout {
|
||||||
|
transform = <&default_transform>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&foostan_corne_5col_layout {
|
||||||
|
transform = <&five_column_transform>;
|
||||||
|
};
|
||||||
|
|
||||||
|
/ {
|
||||||
|
chosen {
|
||||||
|
zephyr,display = &oled;
|
||||||
|
zmk,kscan = &kscan0;
|
||||||
|
zmk,physical-layout = &foostan_corne_6col_layout;
|
||||||
|
};
|
||||||
|
|
||||||
|
default_transform: keymap_transform_0 {
|
||||||
|
compatible = "zmk,matrix-transform";
|
||||||
|
columns = <12>;
|
||||||
|
rows = <4>;
|
||||||
|
// | SW1 | SW2 | SW3 | SW4 | SW5 | SW6 | | SW6 | SW5 | SW4 | SW3 | SW2 | SW1 |
|
||||||
|
// | SW7 | SW8 | SW9 | SW10 | SW11 | SW12 | | SW12 | SW11 | SW10 | SW9 | SW8 | SW7 |
|
||||||
|
// | SW13 | SW14 | SW15 | SW16 | SW17 | SW18 | | SW18 | SW17 | SW16 | SW15 | SW14 | SW13 |
|
||||||
|
// | SW19 | SW20 | SW21 | | SW21 | SW20 | SW19 |
|
||||||
|
map = <
|
||||||
|
RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,7) RC(0,8) RC(0,9) RC(0,10) RC(0,11)
|
||||||
|
RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(1,7) RC(1,8) RC(1,9) RC(1,10) RC(1,11)
|
||||||
|
RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,7) RC(2,8) RC(2,9) RC(2,10) RC(2,11)
|
||||||
|
RC(3,3) RC(3,4) RC(3,5) RC(3,6) RC(3,7) RC(3,8)
|
||||||
|
>;
|
||||||
|
};
|
||||||
|
|
||||||
|
five_column_transform: keymap_transform_1 {
|
||||||
|
compatible = "zmk,matrix-transform";
|
||||||
|
columns = <10>;
|
||||||
|
rows = <4>;
|
||||||
|
// | SW2 | SW3 | SW4 | SW5 | SW6 | | SW6 | SW5 | SW4 | SW3 | SW2 |
|
||||||
|
// | SW8 | SW9 | SW10 | SW11 | SW12 | | SW12 | SW11 | SW10 | SW9 | SW8 |
|
||||||
|
// | SW14 | SW15 | SW16 | SW17 | SW18 | | SW18 | SW17 | SW16 | SW15 | SW14 |
|
||||||
|
// | SW19 | SW20 | SW21 | | SW21 | SW20 | SW19 |
|
||||||
|
map = <
|
||||||
|
RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,7) RC(0,8) RC(0,9) RC(0,10)
|
||||||
|
RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(1,7) RC(1,8) RC(1,9) RC(1,10)
|
||||||
|
RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,7) RC(2,8) RC(2,9) RC(2,10)
|
||||||
|
RC(3,3) RC(3,4) RC(3,5) RC(3,6) RC(3,7) RC(3,8)
|
||||||
|
>;
|
||||||
|
};
|
||||||
|
|
||||||
|
kscan0: kscan {
|
||||||
|
compatible = "zmk,kscan-gpio-matrix";
|
||||||
|
wakeup-source;
|
||||||
|
|
||||||
|
diode-direction = "col2row";
|
||||||
|
row-gpios
|
||||||
|
= <&pro_micro 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||||
|
, <&pro_micro 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||||
|
, <&pro_micro 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||||
|
, <&pro_micro 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||||
|
;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
// TODO: per-key RGB node(s)?
|
||||||
|
};
|
||||||
|
|
||||||
|
&pro_micro_i2c {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
oled: ssd1306@3c {
|
||||||
|
compatible = "solomon,ssd1306fb";
|
||||||
|
reg = <0x3c>;
|
||||||
|
width = <128>;
|
||||||
|
height = <32>;
|
||||||
|
segment-offset = <0>;
|
||||||
|
page-offset = <0>;
|
||||||
|
display-offset = <0>;
|
||||||
|
multiplex-ratio = <31>;
|
||||||
|
segment-remap;
|
||||||
|
com-invdir;
|
||||||
|
com-sequential;
|
||||||
|
inversion-on;
|
||||||
|
prechargep = <0x22>;
|
||||||
|
};
|
||||||
|
};
|
||||||
58
boards/shields/corne/corne.keymap
Normal file
58
boards/shields/corne/corne.keymap
Normal file
|
|
@ -0,0 +1,58 @@
|
||||||
|
// #include "../../../corne.keymap"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2020 The ZMK Contributors
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <behaviors.dtsi>
|
||||||
|
#include <dt-bindings/zmk/keys.h>
|
||||||
|
#include <dt-bindings/zmk/bt.h>
|
||||||
|
|
||||||
|
/ {
|
||||||
|
keymap {
|
||||||
|
compatible = "zmk,keymap";
|
||||||
|
|
||||||
|
default_layer {
|
||||||
|
// -----------------------------------------------------------------------------------------
|
||||||
|
// | TAB | Q | W | E | R | T | | Y | U | I | O | P | BKSP |
|
||||||
|
// | CTRL | A | S | D | F | G | | H | J | K | L | ; | ' |
|
||||||
|
// | SHFT | Z | X | C | V | B | | N | M | , | . | / | ESC |
|
||||||
|
// | GUI | LWR | SPC | | ENT | RSE | ALT |
|
||||||
|
bindings = <
|
||||||
|
&kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp BSPC
|
||||||
|
&kp LCTRL &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp SQT
|
||||||
|
&kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp ESC
|
||||||
|
&kp LGUI &mo 1 &kp SPACE &kp RET &mo 2 &kp RALT
|
||||||
|
>;
|
||||||
|
};
|
||||||
|
lower_layer {
|
||||||
|
// -----------------------------------------------------------------------------------------
|
||||||
|
// | TAB | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BKSP |
|
||||||
|
// | BTCLR| BT1 | BT2 | BT3 | BT4 | BT5 | | LFT | DWN | UP | RGT | | |
|
||||||
|
// | SHFT | | | | | | | | | | | | |
|
||||||
|
// | GUI | | SPC | | ENT | | ALT |
|
||||||
|
bindings = <
|
||||||
|
&kp TAB &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp BSPC
|
||||||
|
&bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &kp LEFT &kp DOWN &kp UP &kp RIGHT &trans &trans
|
||||||
|
&kp LSHFT &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
|
||||||
|
&kp LGUI &trans &kp SPACE &kp RET &trans &kp RALT
|
||||||
|
>;
|
||||||
|
};
|
||||||
|
|
||||||
|
raise_layer {
|
||||||
|
// -----------------------------------------------------------------------------------------
|
||||||
|
// | TAB | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BKSP |
|
||||||
|
// | CTRL | | | | | | | - | = | [ | ] | \ | ` |
|
||||||
|
// | SHFT | | | | | | | _ | + | { | } | "|" | ~ |
|
||||||
|
// | GUI | | SPC | | ENT | | ALT |
|
||||||
|
bindings = <
|
||||||
|
&kp TAB &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp ASTRK &kp LPAR &kp RPAR &kp BSPC
|
||||||
|
&kp LCTRL &trans &trans &trans &trans &trans &kp MINUS &kp EQUAL &kp LBKT &kp RBKT &kp BSLH &kp GRAVE
|
||||||
|
&kp LSHFT &trans &trans &trans &trans &trans &kp UNDER &kp PLUS &kp LBRC &kp RBRC &kp PIPE &kp TILDE
|
||||||
|
&kp LGUI &trans &kp SPACE &kp RET &trans &kp RALT
|
||||||
|
>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
18
boards/shields/corne/corne.zmk.yml
Normal file
18
boards/shields/corne/corne.zmk.yml
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
file_format: "1"
|
||||||
|
id: corne
|
||||||
|
name: Corne
|
||||||
|
type: shield
|
||||||
|
url: https://github.com/foostan/crkbd/
|
||||||
|
requires: [pro_micro]
|
||||||
|
exposes: [i2c_oled]
|
||||||
|
features:
|
||||||
|
- keys
|
||||||
|
- display
|
||||||
|
- underglow
|
||||||
|
- studio
|
||||||
|
siblings:
|
||||||
|
- corne_left
|
||||||
|
- corne_right
|
||||||
|
- corne_left_peripheral
|
||||||
|
- corne_dongle_xiao
|
||||||
|
- corne_dongle_pro_micro
|
||||||
30
boards/shields/corne/corne_dongle_pro_micro.conf
Normal file
30
boards/shields/corne/corne_dongle_pro_micro.conf
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
# MC:
|
||||||
|
# compatible con todas las versiones de nrf52840 (pro_micro):
|
||||||
|
# - nice_nano (no probado)
|
||||||
|
# - nice_nano_v2 (probado)
|
||||||
|
# - nice_nano_v2 (super mini -> nice_nano_v2 clon) (probado)
|
||||||
|
# - nrfmicro_11 (no probado)
|
||||||
|
# - nrfmicro_11_flipped (no probado)
|
||||||
|
# - nrfmicro_13 (no probado)
|
||||||
|
# - puchi_ble_v1 (probado)
|
||||||
|
|
||||||
|
### DONGLE MODE
|
||||||
|
CONFIG_ZMK_SPLIT_BLE_CENTRAL_PERIPHERALS=2
|
||||||
|
|
||||||
|
### DONGLE OPTIONS
|
||||||
|
# 3 profiles (n+2)
|
||||||
|
CONFIG_BT_MAX_CONN=5
|
||||||
|
CONFIG_BT_MAX_PAIRED=5
|
||||||
|
|
||||||
|
### DISPLAY DONGLE OPTIONS
|
||||||
|
CONFIG_ZMK_DISPLAY=y
|
||||||
|
CONFIG_BT_BAS=n
|
||||||
|
CONFIG_ZMK_SPLIT_BLE_CENTRAL_BATTERY_LEVEL_FETCHING=y
|
||||||
|
|
||||||
|
### POWER OPTIONS
|
||||||
|
# La unidad del intervalo del informe de energía de la batería es segundos
|
||||||
|
CONFIG_ZMK_BATTERY_REPORT_INTERVAL=60
|
||||||
|
|
||||||
|
### DEBUG OPTIONS
|
||||||
|
# CONFIG_ZMK_USB_LOGGING=y
|
||||||
|
# CONFIG_LOG_PROCESS_THREAD_STARTUP_DELAY_MS=8000
|
||||||
182
boards/shields/corne/corne_dongle_pro_micro.overlay
Normal file
182
boards/shields/corne/corne_dongle_pro_micro.overlay
Normal file
|
|
@ -0,0 +1,182 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2020 Pete Johanson
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <dt-bindings/zmk/matrix_transform.h>
|
||||||
|
|
||||||
|
#include <layouts/foostan/corne/5column.dtsi>
|
||||||
|
#include <layouts/foostan/corne/6column.dtsi>
|
||||||
|
|
||||||
|
&foostan_corne_6col_layout {
|
||||||
|
transform = <&default_transform>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&foostan_corne_5col_layout {
|
||||||
|
transform = <&five_column_transform>;
|
||||||
|
};
|
||||||
|
|
||||||
|
/ {
|
||||||
|
chosen {
|
||||||
|
zephyr,display = &oled;
|
||||||
|
zmk,kscan = &mock_kscan;
|
||||||
|
zmk,physical-layout = &foostan_corne_6col_layout;
|
||||||
|
};
|
||||||
|
|
||||||
|
default_transform: keymap_transform_0 {
|
||||||
|
compatible = "zmk,matrix-transform";
|
||||||
|
columns = <12>;
|
||||||
|
rows = <4>;
|
||||||
|
// | SW1 | SW2 | SW3 | SW4 | SW5 | SW6 | | SW6 | SW5 | SW4 | SW3 | SW2 | SW1 |
|
||||||
|
// | SW7 | SW8 | SW9 | SW10 | SW11 | SW12 | | SW12 | SW11 | SW10 | SW9 | SW8 | SW7 |
|
||||||
|
// | SW13 | SW14 | SW15 | SW16 | SW17 | SW18 | | SW18 | SW17 | SW16 | SW15 | SW14 | SW13 |
|
||||||
|
// | SW19 | SW20 | SW21 | | SW21 | SW20 | SW19 |
|
||||||
|
map = <
|
||||||
|
RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,7) RC(0,8) RC(0,9) RC(0,10) RC(0,11)
|
||||||
|
RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(1,7) RC(1,8) RC(1,9) RC(1,10) RC(1,11)
|
||||||
|
RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,7) RC(2,8) RC(2,9) RC(2,10) RC(2,11)
|
||||||
|
RC(3,3) RC(3,4) RC(3,5) RC(3,6) RC(3,7) RC(3,8)
|
||||||
|
>;
|
||||||
|
};
|
||||||
|
|
||||||
|
five_column_transform: keymap_transform_1 {
|
||||||
|
compatible = "zmk,matrix-transform";
|
||||||
|
columns = <10>;
|
||||||
|
rows = <4>;
|
||||||
|
// | SW2 | SW3 | SW4 | SW5 | SW6 | | SW6 | SW5 | SW4 | SW3 | SW2 |
|
||||||
|
// | SW8 | SW9 | SW10 | SW11 | SW12 | | SW12 | SW11 | SW10 | SW9 | SW8 |
|
||||||
|
// | SW14 | SW15 | SW16 | SW17 | SW18 | | SW18 | SW17 | SW16 | SW15 | SW14 |
|
||||||
|
// | SW19 | SW20 | SW21 | | SW21 | SW20 | SW19 |
|
||||||
|
map = <
|
||||||
|
RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,7) RC(0,8) RC(0,9) RC(0,10)
|
||||||
|
RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(1,7) RC(1,8) RC(1,9) RC(1,10)
|
||||||
|
RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,7) RC(2,8) RC(2,9) RC(2,10)
|
||||||
|
RC(3,3) RC(3,4) RC(3,5) RC(3,6) RC(3,7) RC(3,8)
|
||||||
|
>;
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
kscan0: kscan {
|
||||||
|
compatible = "zmk,kscan-gpio-direct";
|
||||||
|
|
||||||
|
input-gpios
|
||||||
|
= <&xiao_d 0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
, <&xiao_d 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
, <&xiao_d 2 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
, <&xiao_d 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
;
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
|
||||||
|
mock_kscan: kscan_0 {
|
||||||
|
compatible = "zmk,kscan-mock";
|
||||||
|
// wakeup-source;
|
||||||
|
columns = <0>;
|
||||||
|
rows = <0>;
|
||||||
|
events = <0>;
|
||||||
|
};
|
||||||
|
// TODO: per-key RGB node(s)?
|
||||||
|
};
|
||||||
|
|
||||||
|
&pro_micro_i2c {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
oled: ssd1306@3c {
|
||||||
|
compatible = "solomon,ssd1306fb";
|
||||||
|
reg = <0x3c>;
|
||||||
|
width = <128>;
|
||||||
|
height = <64>;
|
||||||
|
segment-offset = <0>;
|
||||||
|
page-offset = <0>;
|
||||||
|
display-offset = <0>;
|
||||||
|
multiplex-ratio = <63>;
|
||||||
|
segment-remap;
|
||||||
|
com-invdir;
|
||||||
|
inversion-on;
|
||||||
|
prechargep = <0x22>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
// 128x64 OLED
|
||||||
|
&pro_micro_i2c {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
oled: ssd1306@3c {
|
||||||
|
compatible = "solomon,ssd1306fb";
|
||||||
|
reg = <0x3c>;
|
||||||
|
width = <128>;
|
||||||
|
height = <64>;
|
||||||
|
segment-offset = <0>;
|
||||||
|
page-offset = <0>;
|
||||||
|
display-offset = <0>;
|
||||||
|
multiplex-ratio = <63>;
|
||||||
|
segment-remap;
|
||||||
|
com-invdir;
|
||||||
|
inversion-on;
|
||||||
|
prechargep = <0x22>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
// 128x32 OLED
|
||||||
|
&pro_micro_i2c {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
oled: ssd1306@3c {
|
||||||
|
compatible = "solomon,ssd1306fb";
|
||||||
|
reg = <0x3c>;
|
||||||
|
width = <128>;
|
||||||
|
height = <32>;
|
||||||
|
segment-offset = <0>;
|
||||||
|
page-offset = <0>;
|
||||||
|
display-offset = <0>;
|
||||||
|
multiplex-ratio = <31>;
|
||||||
|
segment-remap;
|
||||||
|
com-invdir;
|
||||||
|
com-sequential;
|
||||||
|
inversion-on;
|
||||||
|
prechargep = <0x22>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
// 128x64 OLED model sh1106
|
||||||
|
|
||||||
|
&pro_micro_i2c {
|
||||||
|
status = "okay";
|
||||||
|
oled: sh1106@3c {
|
||||||
|
compatible = "sinowealth,sh1106";
|
||||||
|
reg = <0x3c>;
|
||||||
|
width = <129>;
|
||||||
|
height = <64>;
|
||||||
|
segment-offset = <1>;
|
||||||
|
page-offset = <0>;
|
||||||
|
display-offset = <0>;
|
||||||
|
multiplex-ratio = <63>;
|
||||||
|
segment-remap;
|
||||||
|
com-invdir;
|
||||||
|
inversion-on;
|
||||||
|
prechargep = <0x22>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
// 128x128 OLED model sh1107
|
||||||
|
&pro_micro_i2c {
|
||||||
|
status = "okay";
|
||||||
|
oled: sh1106@3c {
|
||||||
|
compatible = "sinowealth,sh1106";
|
||||||
|
reg = <0x3c>;
|
||||||
|
width = <120>;
|
||||||
|
height = <128>;
|
||||||
|
segment-offset = <0>;
|
||||||
|
page-offset = <0>;
|
||||||
|
display-offset = <0>;
|
||||||
|
multiplex-ratio = <119>;
|
||||||
|
segment-remap;
|
||||||
|
com-invdir;
|
||||||
|
inversion-on;
|
||||||
|
prechargep = <0x22>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
*/
|
||||||
|
// vim: filetype=dts fdm=marker:
|
||||||
24
boards/shields/corne/corne_dongle_xiao.conf
Normal file
24
boards/shields/corne/corne_dongle_xiao.conf
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
# MC:
|
||||||
|
# compatible con todas las versiones de nrf52840 (xiao):
|
||||||
|
# - seeeduino_xiao_ble (probado)
|
||||||
|
|
||||||
|
### DONGLE MODE
|
||||||
|
CONFIG_ZMK_SPLIT_BLE_CENTRAL_PERIPHERALS=2
|
||||||
|
|
||||||
|
### DONGLE OPTIONS
|
||||||
|
# 3 profiles (n+2)
|
||||||
|
CONFIG_BT_MAX_CONN=5
|
||||||
|
CONFIG_BT_MAX_PAIRED=5
|
||||||
|
|
||||||
|
### DISPLAY DONGLE OPTIONS
|
||||||
|
CONFIG_ZMK_DISPLAY=y
|
||||||
|
CONFIG_BT_BAS=n
|
||||||
|
CONFIG_ZMK_SPLIT_BLE_CENTRAL_BATTERY_LEVEL_FETCHING=y
|
||||||
|
|
||||||
|
### POWER OPTIONS
|
||||||
|
# La unidad del intervalo del informe de energía de la batería es segundos
|
||||||
|
CONFIG_ZMK_BATTERY_REPORT_INTERVAL=60
|
||||||
|
|
||||||
|
### DEBUG OPTIONS
|
||||||
|
# CONFIG_ZMK_USB_LOGGING=y
|
||||||
|
# CONFIG_LOG_PROCESS_THREAD_STARTUP_DELAY_MS=8000
|
||||||
220
boards/shields/corne/corne_dongle_xiao.overlay
Normal file
220
boards/shields/corne/corne_dongle_xiao.overlay
Normal file
|
|
@ -0,0 +1,220 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2020 Pete Johanson
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <dt-bindings/zmk/matrix_transform.h>
|
||||||
|
|
||||||
|
#include <layouts/foostan/corne/5column.dtsi>
|
||||||
|
#include <layouts/foostan/corne/6column.dtsi>
|
||||||
|
|
||||||
|
&foostan_corne_6col_layout {
|
||||||
|
transform = <&default_transform>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&foostan_corne_5col_layout {
|
||||||
|
transform = <&five_column_transform>;
|
||||||
|
};
|
||||||
|
|
||||||
|
/ {
|
||||||
|
chosen {
|
||||||
|
zephyr,display = &oled;
|
||||||
|
zmk,kscan = &mock_kscan;
|
||||||
|
zmk,physical-layout = &foostan_corne_6col_layout;
|
||||||
|
};
|
||||||
|
|
||||||
|
default_transform: keymap_transform_0 {
|
||||||
|
compatible = "zmk,matrix-transform";
|
||||||
|
columns = <12>;
|
||||||
|
rows = <4>;
|
||||||
|
// | SW1 | SW2 | SW3 | SW4 | SW5 | SW6 | | SW6 | SW5 | SW4 | SW3 | SW2 | SW1 |
|
||||||
|
// | SW7 | SW8 | SW9 | SW10 | SW11 | SW12 | | SW12 | SW11 | SW10 | SW9 | SW8 | SW7 |
|
||||||
|
// | SW13 | SW14 | SW15 | SW16 | SW17 | SW18 | | SW18 | SW17 | SW16 | SW15 | SW14 | SW13 |
|
||||||
|
// | SW19 | SW20 | SW21 | | SW21 | SW20 | SW19 |
|
||||||
|
map = <
|
||||||
|
RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,7) RC(0,8) RC(0,9) RC(0,10) RC(0,11)
|
||||||
|
RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(1,7) RC(1,8) RC(1,9) RC(1,10) RC(1,11)
|
||||||
|
RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,7) RC(2,8) RC(2,9) RC(2,10) RC(2,11)
|
||||||
|
RC(3,3) RC(3,4) RC(3,5) RC(3,6) RC(3,7) RC(3,8)
|
||||||
|
>;
|
||||||
|
};
|
||||||
|
|
||||||
|
five_column_transform: keymap_transform_1 {
|
||||||
|
compatible = "zmk,matrix-transform";
|
||||||
|
columns = <10>;
|
||||||
|
rows = <4>;
|
||||||
|
// | SW2 | SW3 | SW4 | SW5 | SW6 | | SW6 | SW5 | SW4 | SW3 | SW2 |
|
||||||
|
// | SW8 | SW9 | SW10 | SW11 | SW12 | | SW12 | SW11 | SW10 | SW9 | SW8 |
|
||||||
|
// | SW14 | SW15 | SW16 | SW17 | SW18 | | SW18 | SW17 | SW16 | SW15 | SW14 |
|
||||||
|
// | SW19 | SW20 | SW21 | | SW21 | SW20 | SW19 |
|
||||||
|
map = <
|
||||||
|
RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,7) RC(0,8) RC(0,9) RC(0,10)
|
||||||
|
RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(1,7) RC(1,8) RC(1,9) RC(1,10)
|
||||||
|
RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,7) RC(2,8) RC(2,9) RC(2,10)
|
||||||
|
RC(3,3) RC(3,4) RC(3,5) RC(3,6) RC(3,7) RC(3,8)
|
||||||
|
>;
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
kscan0: kscan {
|
||||||
|
compatible = "zmk,kscan-gpio-direct";
|
||||||
|
|
||||||
|
input-gpios
|
||||||
|
= <&xiao_d 0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
, <&xiao_d 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
, <&xiao_d 2 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
, <&xiao_d 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
;
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
|
||||||
|
mock_kscan: kscan_0 {
|
||||||
|
compatible = "zmk,kscan-mock";
|
||||||
|
// wakeup-source;
|
||||||
|
columns = <0>;
|
||||||
|
rows = <0>;
|
||||||
|
events = <0>;
|
||||||
|
};
|
||||||
|
// TODO: per-key RGB node(s)?
|
||||||
|
};
|
||||||
|
|
||||||
|
// 128x64 OLED
|
||||||
|
&xiao_i2c {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
oled: ssd1306@3c {
|
||||||
|
compatible = "solomon,ssd1306fb";
|
||||||
|
reg = <0x3c>;
|
||||||
|
width = <128>;
|
||||||
|
height = <64>;
|
||||||
|
segment-offset = <0>;
|
||||||
|
page-offset = <0>;
|
||||||
|
display-offset = <0>;
|
||||||
|
multiplex-ratio = <63>;
|
||||||
|
segment-remap;
|
||||||
|
com-invdir;
|
||||||
|
inversion-on;
|
||||||
|
prechargep = <0x22>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
// 128x64 OLED
|
||||||
|
&xiao_i2c {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
oled: ssd1306@3c {
|
||||||
|
compatible = "solomon,ssd1306fb";
|
||||||
|
reg = <0x3c>;
|
||||||
|
width = <128>;
|
||||||
|
height = <64>;
|
||||||
|
segment-offset = <0>;
|
||||||
|
page-offset = <0>;
|
||||||
|
display-offset = <0>;
|
||||||
|
multiplex-ratio = <63>;
|
||||||
|
segment-remap;
|
||||||
|
com-invdir;
|
||||||
|
inversion-on;
|
||||||
|
prechargep = <0x22>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
// 128x32 OLED
|
||||||
|
&xiao_i2c {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
oled: ssd1306@3c {
|
||||||
|
compatible = "solomon,ssd1306fb";
|
||||||
|
reg = <0x3c>;
|
||||||
|
width = <128>;
|
||||||
|
height = <32>;
|
||||||
|
segment-offset = <0>;
|
||||||
|
page-offset = <0>;
|
||||||
|
display-offset = <0>;
|
||||||
|
multiplex-ratio = <31>;
|
||||||
|
segment-remap;
|
||||||
|
com-invdir;
|
||||||
|
com-sequential;
|
||||||
|
inversion-on;
|
||||||
|
prechargep = <0x22>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// 128x64 OLED model sh1106
|
||||||
|
|
||||||
|
&xiao_i2c {
|
||||||
|
status = "okay";
|
||||||
|
oled: sh1106@3c {
|
||||||
|
compatible = "sinowealth,sh1106";
|
||||||
|
reg = <0x3c>;
|
||||||
|
width = <129>;
|
||||||
|
height = <64>;
|
||||||
|
segment-offset = <1>;
|
||||||
|
page-offset = <0>;
|
||||||
|
display-offset = <0>;
|
||||||
|
multiplex-ratio = <63>;
|
||||||
|
segment-remap;
|
||||||
|
com-invdir;
|
||||||
|
inversion-on;
|
||||||
|
prechargep = <0x22>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
// 128x128 OLED model sh1107
|
||||||
|
&xiao_i2c {
|
||||||
|
status = "okay";
|
||||||
|
oled: sh1106@3c {
|
||||||
|
compatible = "sinowealth,sh1106";
|
||||||
|
reg = <0x3c>;
|
||||||
|
width = <120>;
|
||||||
|
height = <128>;
|
||||||
|
segment-offset = <0>;
|
||||||
|
page-offset = <0>;
|
||||||
|
display-offset = <0>;
|
||||||
|
multiplex-ratio = <119>;
|
||||||
|
segment-remap;
|
||||||
|
com-invdir;
|
||||||
|
inversion-on;
|
||||||
|
prechargep = <0x22>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
// ################# niceview working fine START #################
|
||||||
|
// doc: https://wiki.seeedstudio.com/XIAO-SAMD21-Zephyr-RTOS/
|
||||||
|
// @bravekarma nice Discord server
|
||||||
|
// The &gpioX Y and NRF_PSEL(..., X, Y) uses the PX.Y notation (underlying nRF
|
||||||
|
// pin numbers), &xiao_d x uses the unified pinout Dx
|
||||||
|
|
||||||
|
&pinctrl {
|
||||||
|
spi0_default: spi0_default {
|
||||||
|
group1 {
|
||||||
|
psels = <NRF_PSEL(SPIM_SCK, 1, 13)>,
|
||||||
|
<NRF_PSEL(SPIM_MOSI, 1, 15)>,
|
||||||
|
<NRF_PSEL(SPIM_MISO, 1, 14)>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
spi0_sleep: spi0_sleep {
|
||||||
|
group1 {
|
||||||
|
psels = <NRF_PSEL(SPIM_SCK, 1, 13)>,
|
||||||
|
<NRF_PSEL(SPIM_MOSI, 1, 15)>,
|
||||||
|
<NRF_PSEL(SPIM_MISO, 1, 14)>;
|
||||||
|
low-power-enable;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nice_view_spi: &spi0 {
|
||||||
|
compatible = "nordic,nrf-spim";
|
||||||
|
pinctrl-0 = <&spi0_default>;
|
||||||
|
pinctrl-1 = <&spi0_sleep>;
|
||||||
|
pinctrl-names = "default", "sleep";
|
||||||
|
cs-gpios = <&xiao_d 6 GPIO_ACTIVE_HIGH>; // Pin D6 as CS
|
||||||
|
};
|
||||||
|
|
||||||
|
&xiao_i2c {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
// ################# niceview working fine END #################
|
||||||
|
*/
|
||||||
|
// vim: filetype=dts fdm=marker:
|
||||||
0
boards/shields/corne/corne_left.conf
Normal file
0
boards/shields/corne/corne_left.conf
Normal file
20
boards/shields/corne/corne_left.overlay
Normal file
20
boards/shields/corne/corne_left.overlay
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2020 Pete Johanson
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "corne.dtsi"
|
||||||
|
|
||||||
|
&kscan0 {
|
||||||
|
col-gpios
|
||||||
|
= <&pro_micro 21 GPIO_ACTIVE_HIGH>
|
||||||
|
, <&pro_micro 20 GPIO_ACTIVE_HIGH>
|
||||||
|
, <&pro_micro 19 GPIO_ACTIVE_HIGH>
|
||||||
|
, <&pro_micro 18 GPIO_ACTIVE_HIGH>
|
||||||
|
, <&pro_micro 15 GPIO_ACTIVE_HIGH>
|
||||||
|
, <&pro_micro 14 GPIO_ACTIVE_HIGH>
|
||||||
|
;
|
||||||
|
};
|
||||||
|
|
||||||
|
// vim: filetype=dts fdm=marker:
|
||||||
0
boards/shields/corne/corne_left_peripheral.conf
Normal file
0
boards/shields/corne/corne_left_peripheral.conf
Normal file
20
boards/shields/corne/corne_left_peripheral.overlay
Normal file
20
boards/shields/corne/corne_left_peripheral.overlay
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2020 Pete Johanson
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "corne.dtsi"
|
||||||
|
|
||||||
|
&kscan0 {
|
||||||
|
col-gpios
|
||||||
|
= <&pro_micro 21 GPIO_ACTIVE_HIGH>
|
||||||
|
, <&pro_micro 20 GPIO_ACTIVE_HIGH>
|
||||||
|
, <&pro_micro 19 GPIO_ACTIVE_HIGH>
|
||||||
|
, <&pro_micro 18 GPIO_ACTIVE_HIGH>
|
||||||
|
, <&pro_micro 15 GPIO_ACTIVE_HIGH>
|
||||||
|
, <&pro_micro 14 GPIO_ACTIVE_HIGH>
|
||||||
|
;
|
||||||
|
};
|
||||||
|
|
||||||
|
// vim: filetype=dts fdm=marker:
|
||||||
0
boards/shields/corne/corne_right.conf
Normal file
0
boards/shields/corne/corne_right.conf
Normal file
28
boards/shields/corne/corne_right.overlay
Normal file
28
boards/shields/corne/corne_right.overlay
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2020 Pete Johanson
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "corne.dtsi"
|
||||||
|
|
||||||
|
&default_transform {
|
||||||
|
col-offset = <6>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&five_column_transform {
|
||||||
|
col-offset = <6>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&kscan0 {
|
||||||
|
col-gpios
|
||||||
|
= <&pro_micro 14 GPIO_ACTIVE_HIGH>
|
||||||
|
, <&pro_micro 15 GPIO_ACTIVE_HIGH>
|
||||||
|
, <&pro_micro 18 GPIO_ACTIVE_HIGH>
|
||||||
|
, <&pro_micro 19 GPIO_ACTIVE_HIGH>
|
||||||
|
, <&pro_micro 20 GPIO_ACTIVE_HIGH>
|
||||||
|
, <&pro_micro 21 GPIO_ACTIVE_HIGH>
|
||||||
|
;
|
||||||
|
};
|
||||||
|
|
||||||
|
// vim: filetype=dts fdm=marker:
|
||||||
20
build.yaml
Normal file
20
build.yaml
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
---
|
||||||
|
include:
|
||||||
|
|
||||||
|
### CORNE START ###
|
||||||
|
- board: nice_nano_v2
|
||||||
|
shield: corne_left nice_oled
|
||||||
|
artifact-name: nice_corne_left_oled_rgb
|
||||||
|
snippet: rgb-config studio-rpc-usb-uart
|
||||||
|
- board: nice_nano_v2
|
||||||
|
shield: corne_right nice_oled
|
||||||
|
cmake-args: -DCONFIG_NICE_OLED_WIDGET_ANIMATION_PERIPHERAL_CAT=n -DCONFIG_NICE_OLED_WIDGET_ANIMATION_PERIPHERAL_KM=y
|
||||||
|
artifact-name: nice_corne_right_oled_rgb
|
||||||
|
snippet: rgb-config
|
||||||
|
### CORNE END ###
|
||||||
|
|
||||||
|
### SETTINGS_RESET START ###
|
||||||
|
- board: nice_nano_v2
|
||||||
|
shield: settings_reset
|
||||||
|
artifact-name: nice_settings_reset
|
||||||
|
### SETTINGS_RESET END ###
|
||||||
433
config/config_keymap-drawer.yaml
Normal file
433
config/config_keymap-drawer.yaml
Normal file
|
|
@ -0,0 +1,433 @@
|
||||||
|
# configuration for https://github.com/caksoylar/keymap-drawer
|
||||||
|
draw_config:
|
||||||
|
footer_text: 'Keymap View: <a href="https://github.com/caksoylar/keymap-drawer">keymap-drawer</a>'
|
||||||
|
# dark_mode: auto
|
||||||
|
n_columns: 1
|
||||||
|
# draw_key_sides: true # draw a square in the middle of the keys
|
||||||
|
key_w: 60.0
|
||||||
|
key_h: 56.0
|
||||||
|
split_gap: 30.0
|
||||||
|
combo_w: 28.0
|
||||||
|
combo_h: 26.0
|
||||||
|
key_rx: 6.0
|
||||||
|
key_ry: 6.0
|
||||||
|
inner_pad_w: 2.0
|
||||||
|
inner_pad_h: 2.0
|
||||||
|
outer_pad_w: 40.0
|
||||||
|
outer_pad_h: 56.0
|
||||||
|
line_spacing: 1.2
|
||||||
|
arc_radius: 6.0
|
||||||
|
append_colon_to_layer_header: true
|
||||||
|
small_pad: 2.0
|
||||||
|
svg_extra_style: |
|
||||||
|
/* For default sytles, see https://github.com/caksoylar/keymap-drawer/blob/main/keymap_drawer/config.py#L85 */
|
||||||
|
|
||||||
|
svg.keymap {
|
||||||
|
font-family: Ubuntu Mono, Inconsolata, Consolas, Liberation Mono, Menlo, monospace;
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: bold;
|
||||||
|
text-rendering: optimizeLegibility;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Color accent for held keys
|
||||||
|
red = #f00
|
||||||
|
green = #0f0
|
||||||
|
blue = #00f
|
||||||
|
yellow = #ff0
|
||||||
|
cyan = #0ff
|
||||||
|
magenta = #f0f
|
||||||
|
white = #fff
|
||||||
|
black = #000
|
||||||
|
grey = #888
|
||||||
|
light grey = #ccc
|
||||||
|
#ffc
|
||||||
|
*/
|
||||||
|
rect.held, rect.combo.held {
|
||||||
|
fill: #f00;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Technique borrowed and extended from https://github.com/englmaxi/zmk-config/blob/master/keymap-drawer/config.yaml */
|
||||||
|
.sym_sub_text.tap {
|
||||||
|
translate: -5px 2px;
|
||||||
|
font-size: 20px;
|
||||||
|
}
|
||||||
|
.sym_sub_text.shifted {
|
||||||
|
translate: 10px 13px;
|
||||||
|
font-size: 10px;
|
||||||
|
opacity: 1.0;
|
||||||
|
}
|
||||||
|
.combo.sym_sub_text.tap {
|
||||||
|
translate: -1px 1px;
|
||||||
|
}
|
||||||
|
.combo.sym_sub_text.shifted {
|
||||||
|
translate: 7px 5px;
|
||||||
|
font-size: 10px;
|
||||||
|
opacity: 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Toggle */
|
||||||
|
.toggle.shifted {
|
||||||
|
translate: -10px 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toggle.hold {
|
||||||
|
translate: 13px -23px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Variant for tap-dances */
|
||||||
|
.tap_dance.tap {
|
||||||
|
translate: -7px 0px;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
.tap_dance.shifted {
|
||||||
|
translate: 7px 17px;
|
||||||
|
font-size: 12px;
|
||||||
|
opacity: 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Variant for symbol next to symbol */
|
||||||
|
.sym_by_sym.tap {
|
||||||
|
translate: -6px 0px;
|
||||||
|
}
|
||||||
|
.sym_by_sym.shifted {
|
||||||
|
translate: 10px 12px;
|
||||||
|
opacity: 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.combo.sym_by_sym.tap {
|
||||||
|
translate: -35px 0px;
|
||||||
|
}
|
||||||
|
.combo.sym_by_sym.shifted {
|
||||||
|
translate: 35px 20px;
|
||||||
|
opacity: 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.combo.sym_by_sym.hold {
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* hide hold box for combo sym_by_sym */
|
||||||
|
.combo.sym_by_sym.hold > path[stroke="none"][fill="none"] {
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
shrink_wide_legends: 6
|
||||||
|
glyph_tap_size: 18
|
||||||
|
glyph_hold_size: 15
|
||||||
|
glyph_shifted_size: 15
|
||||||
|
glyphs: {}
|
||||||
|
glyph_urls:
|
||||||
|
tabler: https://unpkg.com/@tabler/icons/icons/outline/{}.svg
|
||||||
|
tablerf: https://unpkg.com/@tabler/icons/icons/filled/{}.svg
|
||||||
|
mdi: https://raw.githubusercontent.com/Templarian/MaterialDesign-SVG/master/svg/{}.svg
|
||||||
|
mdil: https://raw.githubusercontent.com/Pictogrammers/MaterialDesignLight/master/svg/{}.svg
|
||||||
|
material: https://fonts.gstatic.com/s/i/short-term/release/materialsymbolsoutlined/{}/default/48px.svg
|
||||||
|
use_local_cache: true
|
||||||
|
parse_config:
|
||||||
|
raw_binding_map:
|
||||||
|
'&sys_reset': Reset
|
||||||
|
'&bootloader': Boot
|
||||||
|
'&swapper': Win Next
|
||||||
|
'&caps_word': Caps Word
|
||||||
|
'&inv_qm': ¿
|
||||||
|
|
||||||
|
'&kp LC(LG(LEFT))': Desk Left
|
||||||
|
'&kp LC(LG(RIGHT))': Desk Right
|
||||||
|
'&kp LC(TAB)': Tab Right
|
||||||
|
'&kp LC(LS(TAB))': Tab Left
|
||||||
|
'&kp LA(F4)': Win Close
|
||||||
|
'&kp LC(F4)': Tab Close
|
||||||
|
'&kp LS(TAB)': Win Prev
|
||||||
|
'&kp LS(INS)': Paste
|
||||||
|
'&kp LG(L)': Lock
|
||||||
|
|
||||||
|
'&out OUT_USB': Out USB
|
||||||
|
'&out OUT_BLE': Out BLE
|
||||||
|
|
||||||
|
'&bt BT_SEL 0': BT 1
|
||||||
|
'&bt BT_SEL 1': BT 2
|
||||||
|
'&bt BT_SEL 2': BT 3
|
||||||
|
'&bt BT_SEL 3': BT 4
|
||||||
|
'&bt BT_SEL 4': BT 5
|
||||||
|
|
||||||
|
# Display
|
||||||
|
'DISPLAY_UP': {t: $$mdi:television-classic$$, h: $$mdi:arrow-up$$, type: tap_dance}
|
||||||
|
'DISPLAY_DOWN': {t: $$mdi:television-classic$$, h: $$mdi:arrow-down$$, type: tap_dance}
|
||||||
|
'DISPLAY_LEFT': {t: $$mdi:television-classic$$, h: $$mdi:arrow-left$$, type: tap_dance}
|
||||||
|
'DISPLAY_RIGHT': {t: $$mdi:television-classic$$, h: $$mdi:arrow-right$$, type: tap_dance}
|
||||||
|
'DISPLAY_SPACE': {t: $$mdi:television-classic$$, h: $$mdi:keyboard-space$$, type: tap_dance}
|
||||||
|
|
||||||
|
|
||||||
|
# Rgb
|
||||||
|
'&rgb_ug RGB_TOG': {t: $$mdi:led-on$$, h: $$mdi:toggle-switch$$, s: $$mdi:led-outline$$, type: toggle}
|
||||||
|
'&rgb_ug RGB_VAI': {t: $$mdi:led-on$$, s: $$tabler:brightness-up$$, type: sym_by_sym}
|
||||||
|
'&rgb_ug RGB_VAD': {t: $$mdi:led-outline$$, s: $$tabler:brightness-down$$, type: sym_by_sym}
|
||||||
|
'&rgb_ug RGB_BRD': {t: $$mdi:led-on$$, s: $$tabler:brightness-up$$, type: sym_by_sym}
|
||||||
|
'&rgb_ug RGB_BRI': {t: $$mdi:led-outline$$, s: $$tabler:brightness-down$$, type: sym_by_sym}
|
||||||
|
'&rgb_ug RGB_SAI': {t: $$mdi:led-outline$$, s: $$mdi:eyedropper$$, type: sym_by_sym}
|
||||||
|
'&rgb_ug RGB_SAD': {t: $$mdi:led-on$$, s: $$mdi:eyedropper$$, type: sym_by_sym}
|
||||||
|
'&rgb_ug RGB_HUI': {t: $$mdi:led-on$$, s: $$mdi:palette$$, type: sym_by_sym}
|
||||||
|
'&rgb_ug RGB_HUD': {t: $$mdi:led-outline$$, s: $$mdi:palette$$, type: sym_by_sym}
|
||||||
|
'&rgb_ug RGB_RMOD': {t: $$mdi:led-on$$, h: $$mdi:page-previous-outline$$, type: tap_dance}
|
||||||
|
'&rgb_ug RGB_MOD': {t: $$mdi:led-on$$, h: $$mdi:page-next-outline$$, type: tap_dance}
|
||||||
|
'&rgb_ug RGB_EFF': {t: $$mdi:led-on$$, h: $$mdi:page-previous-outline$$, type: tap_dance}
|
||||||
|
'&rgb_ug RGB_EFR': {t: $$mdi:led-on$$, h: $$mdi:page-next-outline$$, type: tap_dance}
|
||||||
|
'&rgb_ug RGB_SPI': {t: $$mdi:led-on$$, h: $$mdi:speedometer$$, type: sym_by_sym}
|
||||||
|
'&rgb_ug RGB_SPD': {t: $$mdi:led-on$$, h: $$mdi:speedometer-slow$$, type: sym_by_sym}
|
||||||
|
'&rgb_ug RGB_UP': {t: $$mdi:led-on$$, h: $$mdi:arrow-up$$, type: tap_dance}
|
||||||
|
'&rgb_ug RGB_DOWN': {t: $$mdi:led-on$$, h: $$mdi:arrow-down$$, type: tap_dance}
|
||||||
|
'&rgb_ug RGB_LEFT': {t: $$mdi:led-on$$, h: $$mdi:arrow-left$$, type: tap_dance}
|
||||||
|
'&rgb_ug RGB_RIGHT': {t: $$mdi:led-on$$, h: $$mdi:arrow-right$$, type: tap_dance}
|
||||||
|
'&rgb_ug RGB_SPACE': {t: $$mdi:led-on$$, h: $$mdi:keyboard-space$$, type: tap_dance}
|
||||||
|
'&rgb_ug RGB_COLOR_HSB(0,0,100)': {t: $$mdi:led-on$$, h: $$mdi:palette$$, type: tap_dance}
|
||||||
|
'&rgb_ug RGB_COLOR_HSB(224,100,100)': {t: $$mdi:led-on$$, h: $$mdi:palette$$, type: tap_dance}
|
||||||
|
|
||||||
|
# Mouse
|
||||||
|
'U_WH_L': {t: $$mdi:mouse-outline$$, h: $$mdi:arrow-left$$, type: tap_dance}
|
||||||
|
'U_WH_R': {t: $$mdi:mouse-outline$$, h: $$mdi:arrow-right$$, type: tap_dance}
|
||||||
|
'U_WH_U': {t: $$mdi:mouse-outline$$, h: $$mdi:arrow-up$$, type: tap_dance}
|
||||||
|
'U_WH_D': {t: $$mdi:mouse-outline$$, h: $$mdi:arrow-down$$, type: tap_dance}
|
||||||
|
'U_MS_L': {t: $$mdi:mouse$$, h: $$mdi:arrow-left$$, type: tap_dance}
|
||||||
|
'U_MS_D': {t: $$mdi:mouse$$, h: $$mdi:arrow-down$$, type: tap_dance}
|
||||||
|
'U_MS_R': {t: $$mdi:mouse$$, h: $$mdi:arrow-right$$, type: tap_dance}
|
||||||
|
'U_MS_U': {t: $$mdi:mouse$$, h: $$mdi:arrow-up$$, type: tap_dance}
|
||||||
|
'CLICK_LEFT': $$mdi:cursor-default-click$$
|
||||||
|
'CLICK_RIGHT': $$mdi:cursor-default-click-outline$$
|
||||||
|
'CLICK_MIDDLE': $$mdi:cursor-default-click-outline$$
|
||||||
|
# '&mmv MOVE_UP': Mouse ↑
|
||||||
|
# '&mmv MOVE_DOWN': Mouse ↓
|
||||||
|
# '&mmv MOVE_LEFT': Mouse ←
|
||||||
|
# '&mmv MOVE_RIGHT': Mouse →
|
||||||
|
|
||||||
|
# '&msc SCRL_UP': Scroll ↑
|
||||||
|
# '&msc SCRL_DOWN': Scroll ↓
|
||||||
|
# '&msc SCRL_LEFT': Scroll ←
|
||||||
|
# '&msc SCRL_RIGHT': Scroll →
|
||||||
|
|
||||||
|
# '&mkp MCLK': Middle Click
|
||||||
|
# '&mkp MB4': Back Click
|
||||||
|
# '&mkp MB5': Forward Click
|
||||||
|
|
||||||
|
|
||||||
|
# layers
|
||||||
|
'MEDIA_ESC': {t: $$mdi:keyboard-esc$$, h: $$mdi:music-note$$}
|
||||||
|
'MOUSE_TAB': {t: $$mdi:keyboard-tab$$, h: $$mdi:mouse$$}
|
||||||
|
'NUMBER_SPACE': {t: $$mdi:keyboard-space$$, h: $$mdi:numeric$$}
|
||||||
|
'&mo _FUNCTION': $$mdi:function-variant$$
|
||||||
|
'&mo _CONFIG': $$mdi:cog$$
|
||||||
|
'&mo _LOCK': $$mdi:lock$$
|
||||||
|
'&mo _SYMBOL': $$mdi:symbol$$
|
||||||
|
'&mo _DISPLAY': $$mdi:television-classic$$
|
||||||
|
'&mo _OLED': $$mdi:television-classic$$
|
||||||
|
'&mo _LINUX': $$mdi:linux$$
|
||||||
|
'&mo _RGB': $$mdi:led-on$$
|
||||||
|
'DE_CAPS': $$mdi:keyboard-caps$$
|
||||||
|
'TAB': $$mdi:keyboard-tab$$
|
||||||
|
'&mt LSHFT COMMA': {t: $$mdi:google-downasaur$$, h: $$mdi:apple-keyboard-shift$$, type: tap_dance}
|
||||||
|
|
||||||
|
# CONTROL CMD/WINDOWS SHIFT ALT/META/OPTION
|
||||||
|
'&kp LSHFT': $$mdi:apple-keyboard-shift$$
|
||||||
|
'&kp LCTRL': $$mdi:apple-keyboard-control$$
|
||||||
|
'&kp RCTRL': $$mdi:apple-keyboard-control$$
|
||||||
|
'&kp LGUI': $$mdi:apple-keyboard-command$$
|
||||||
|
'&kp RGUI': $$mdi:apple-keyboard-command$$
|
||||||
|
'&kp LALT': $$mdi:apple-keyboard-option$$
|
||||||
|
'&kp RALT': $$mdi:apple-keyboard-option$$
|
||||||
|
'&kp RSHFT': $$mdi:apple-keyboard-shift$$
|
||||||
|
'&kp BSPC': $$mdi:backspace-outline$$
|
||||||
|
|
||||||
|
qmk_keycode_map:
|
||||||
|
XXXXXXX: ''
|
||||||
|
'NO': ''
|
||||||
|
MINUS: '-'
|
||||||
|
MINS: '-'
|
||||||
|
EQUAL: '='
|
||||||
|
EQL: '='
|
||||||
|
LEFT_BRACKET: '['
|
||||||
|
LBRC: '['
|
||||||
|
RIGHT_BRACKET: ']'
|
||||||
|
RBRC: ']'
|
||||||
|
BACKSLASH: \
|
||||||
|
BSLS: \
|
||||||
|
NONUS_HASH: '#'
|
||||||
|
NUHS: '#'
|
||||||
|
SEMICOLON: ;
|
||||||
|
SCLN: ;
|
||||||
|
QUOTE: ''''
|
||||||
|
QUOT: ''''
|
||||||
|
GRAVE: '`'
|
||||||
|
GRV: '`'
|
||||||
|
COMMA: ','
|
||||||
|
COMM: ','
|
||||||
|
DOT: .
|
||||||
|
SLASH: /
|
||||||
|
SLSH: /
|
||||||
|
TILDE: '~'
|
||||||
|
TILD: '~'
|
||||||
|
EXCLAIM: '!'
|
||||||
|
EXLM: '!'
|
||||||
|
AT: '@'
|
||||||
|
HASH: '#'
|
||||||
|
DOLLAR: $
|
||||||
|
DLR: $
|
||||||
|
PERCENT: '%'
|
||||||
|
PERC: '%'
|
||||||
|
CIRCUMFLEX: ^
|
||||||
|
CIRC: ^
|
||||||
|
AMPERSAND: '&'
|
||||||
|
AMPR: '&'
|
||||||
|
ASTERISK: '*'
|
||||||
|
ASTR: '*'
|
||||||
|
LEFT_PAREN: (
|
||||||
|
LPRN: (
|
||||||
|
RIGHT_PAREN: )
|
||||||
|
RPRN: )
|
||||||
|
UNDERSCORE: _
|
||||||
|
UNDS: _
|
||||||
|
PLUS: +
|
||||||
|
LEFT_CURLY_BRACE: '{'
|
||||||
|
LCBR: '{'
|
||||||
|
RIGHT_CURLY_BRACE: '}'
|
||||||
|
RCBR: '}'
|
||||||
|
PIPE: '|'
|
||||||
|
COLON: ':'
|
||||||
|
COLN: ':'
|
||||||
|
DOUBLE_QUOTE: '"'
|
||||||
|
DQUO: '"'
|
||||||
|
DQT: '"'
|
||||||
|
LEFT_ANGLE_BRACKET: <
|
||||||
|
LABK: <
|
||||||
|
LT: <
|
||||||
|
RIGHT_ANGLE_BRACKET: '>'
|
||||||
|
RABK: '>'
|
||||||
|
GT: '>'
|
||||||
|
QUESTION: '?'
|
||||||
|
QUES: '?'
|
||||||
|
|
||||||
|
zmk_combos:
|
||||||
|
combo_tab: {align: top, o: 0.15}
|
||||||
|
combo_del: {align: top, o: 0.15}
|
||||||
|
combo_f12: {align: bottom}
|
||||||
|
combo_btclr: {align: bottom}
|
||||||
|
combo_play: {align: right}
|
||||||
|
combo_capswd: {draw_separate: true}
|
||||||
|
combo_semi: {draw_separate: true}
|
||||||
|
combo_grave: {draw_separate: true}
|
||||||
|
combo_lpar: {draw_separate: true}
|
||||||
|
combo_rpar: {draw_separate: true}
|
||||||
|
combo_lbkt: {draw_separate: true}
|
||||||
|
combo_rbkt: {draw_separate: true}
|
||||||
|
combo_tab: {draw_separate: true}
|
||||||
|
combo_del: {draw_separate: true}
|
||||||
|
combo_esc: {draw_separate: true}
|
||||||
|
combo_ret: {draw_separate: true}
|
||||||
|
combo_lock: {draw_separate: true}
|
||||||
|
combo_bslh: {draw_separate: true}
|
||||||
|
combo_slsh: {draw_separate: true}
|
||||||
|
|
||||||
|
zmk_keycode_map:
|
||||||
|
|
||||||
|
# custom mappings
|
||||||
|
C_VOL_UP: Vol Up
|
||||||
|
C_VOL_DN: Vol Down
|
||||||
|
C_AL_CALC: Calc
|
||||||
|
# C_PP: Play Pause
|
||||||
|
|
||||||
|
LCTRL: Ctrl
|
||||||
|
RCTRL: Ctrl
|
||||||
|
LALT: Alt
|
||||||
|
RALT: Alt
|
||||||
|
LGUI: Gui
|
||||||
|
RGUI: Gui
|
||||||
|
LSHFT: Shift
|
||||||
|
RSHFT: Shift
|
||||||
|
ESC: Esc
|
||||||
|
SPACE: ␣
|
||||||
|
BSPC: ⌫
|
||||||
|
RET: ⏎
|
||||||
|
TAB: ↹
|
||||||
|
DEL: ⌦
|
||||||
|
|
||||||
|
PG_UP: Page Up
|
||||||
|
PG_DN: Page Down
|
||||||
|
INS: Insert
|
||||||
|
HOME: Home
|
||||||
|
END: End
|
||||||
|
CAPS: Caps Lock
|
||||||
|
PSCRN: Print Scrn
|
||||||
|
PAUSE_BREAK: Pause Break
|
||||||
|
|
||||||
|
UP: ↑
|
||||||
|
DOWN: ↓
|
||||||
|
LEFT: ←
|
||||||
|
RIGHT: →
|
||||||
|
|
||||||
|
C_PP: ⏯
|
||||||
|
C_NEXT: ⏭️
|
||||||
|
C_PREV: ⏮️
|
||||||
|
|
||||||
|
# defaults
|
||||||
|
# AMPERSAND: '&'
|
||||||
|
# AMPS: '&'
|
||||||
|
APOS: "'"
|
||||||
|
APOSTROPHE: "'"
|
||||||
|
ASTERISK: '*'
|
||||||
|
ASTRK: '*'
|
||||||
|
AT: '@'
|
||||||
|
AT_SIGN: '@'
|
||||||
|
BACKSLASH: \
|
||||||
|
BSLH: \
|
||||||
|
CARET: ^
|
||||||
|
COLON: ':'
|
||||||
|
COMMA: ','
|
||||||
|
DLLR: $
|
||||||
|
DOLLAR: $
|
||||||
|
DOT: .
|
||||||
|
DOUBLE_QUOTES: '"'
|
||||||
|
DQT: '"'
|
||||||
|
EQUAL: '='
|
||||||
|
EXCL: '!'
|
||||||
|
EXCLAMATION: '!'
|
||||||
|
FSLH: /
|
||||||
|
GRAVE: '`'
|
||||||
|
GREATER_THAN: '>'
|
||||||
|
GT: '>'
|
||||||
|
HASH: '#'
|
||||||
|
LBKT: '['
|
||||||
|
LBRC: '{'
|
||||||
|
LEFT_BRACE: '{'
|
||||||
|
LEFT_BRACKET: '['
|
||||||
|
LEFT_PARENTHESIS: (
|
||||||
|
LESS_THAN: <
|
||||||
|
LPAR: (
|
||||||
|
LT: <
|
||||||
|
MINUS: '-'
|
||||||
|
NON_US_BACKSLASH: \
|
||||||
|
NON_US_BSLH: '|'
|
||||||
|
NON_US_HASH: '#'
|
||||||
|
NUHS: '#'
|
||||||
|
PERCENT: '%'
|
||||||
|
PERIOD: .
|
||||||
|
PIPE: '|'
|
||||||
|
PIPE2: '|'
|
||||||
|
PLUS: +
|
||||||
|
POUND: '#'
|
||||||
|
PRCNT: '%'
|
||||||
|
QMARK: '?'
|
||||||
|
QUESTION: '?'
|
||||||
|
RBKT: ']'
|
||||||
|
RBRC: '}'
|
||||||
|
RIGHT_BRACE: '}'
|
||||||
|
RIGHT_BRACKET: ']'
|
||||||
|
RIGHT_PARENTHESIS: )
|
||||||
|
RPAR: )
|
||||||
|
SEMI: ;
|
||||||
|
SEMICOLON: ;
|
||||||
|
SINGLE_QUOTE: ''''
|
||||||
|
SLASH: /
|
||||||
|
SQT: ''''
|
||||||
|
STAR: '*'
|
||||||
|
TILDE: '~'
|
||||||
|
TILDE2: '~'
|
||||||
|
UNDER: _
|
||||||
|
UNDERSCORE: _
|
||||||
139
config/corne.conf
Normal file
139
config/corne.conf
Normal file
|
|
@ -0,0 +1,139 @@
|
||||||
|
# ========================================
|
||||||
|
# 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
|
||||||
|
|
||||||
|
### Turn of pin code pairing
|
||||||
|
CONFIG_ZMK_BLE_PASSKEY_ENTRY=n
|
||||||
|
CONFIG_ZMK_BLE_EXPERIMENTAL_SEC=n
|
||||||
|
CONFIG_ZMK_BLE_EXPERIMENTAL_FEATURES=n
|
||||||
|
|
||||||
|
### Keyboard name
|
||||||
|
CONFIG_ZMK_KEYBOARD_NAME="Afiq Zudin Corne42"
|
||||||
|
CONFIG_BT_DEVICE_NAME_MAX=28
|
||||||
|
|
||||||
|
### Boost Bluetooth TX power, also make Bluetooth stronger
|
||||||
|
CONFIG_BT_CTLR_TX_PWR_PLUS_8=y
|
||||||
|
CONFIG_ZMK_BLE_EXPERIMENTAL_FEATURES=y
|
||||||
|
# Tune bluetooth profiles for quick select
|
||||||
|
# CONFIG_BT_MAX_CONN=3
|
||||||
|
# Uncomment the following line if you facing issue on win 11 connection
|
||||||
|
# Enables a combination of settings that are planned to be default in future
|
||||||
|
# versions of ZMK to improve connection stability. This includes changes to
|
||||||
|
# timing on BLE pairing initiation, restores use of the updated/new LLCP
|
||||||
|
# implementation, and disables 2M PHY support.
|
||||||
|
CONFIG_ZMK_BLE_EXPERIMENTAL_CONN=y
|
||||||
|
|
||||||
|
### POWER OPTIONS
|
||||||
|
CONFIG_ZMK_SLEEP=y
|
||||||
|
CONFIG_ZMK_EXT_POWER=y
|
||||||
|
# 15 min (15*60*1000ms)
|
||||||
|
# CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=900000
|
||||||
|
# 1 min Número de milisegundos de inactividad antes de entrar en estado inactivo
|
||||||
|
# CONFIG_ZMK_IDLE_TIMEOUT=60000
|
||||||
|
# 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
|
||||||
|
# https://github.com/zmkfirmware/zmk/blob/main/docs/docs/keymaps/behaviors/mouse-emulation.md
|
||||||
|
# CONFIG_ZMK_MOUSE=y
|
||||||
|
|
||||||
|
### ZMK STUDIO
|
||||||
|
# MC: 2. zmk-studio test START
|
||||||
|
# https://github.com/zmkfirmware/zmk/blob/main/docs/docs/config/studio.md
|
||||||
|
CONFIG_ZMK_STUDIO=y
|
||||||
|
CONFIG_ZMK_STUDIO_LOCKING=n
|
||||||
|
# MC: zmk-studio test END
|
||||||
|
|
||||||
|
### 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
|
||||||
|
CONFIG_ZMK_DISPLAY_STATUS_SCREEN_CUSTOM=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
|
||||||
|
# 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
|
||||||
|
# ref: https://zmk.dev/docs/config/system#hid
|
||||||
|
CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=y
|
||||||
|
|
||||||
|
### JAVELIN STENO ENGINE
|
||||||
|
CONFIG_ZMK_JAVELIN_STENO=y
|
||||||
|
CONFIG_ZMK_JAVELIN_STENO_DICT_PLOVER=n
|
||||||
|
CONFIG_ZMK_JAVELIN_STENO_DICT_LAPWING=y
|
||||||
|
CONFIG_CPLUSPLUS=y
|
||||||
|
CONFIG_LIB_CPLUSPLUS=y
|
||||||
|
CONFIG_HEAP_MEM_POOL_SIZE=32768
|
||||||
|
|
||||||
|
### DEBUG OPTIONS
|
||||||
|
# CONFIG_ZMK_USB_LOGGING=y
|
||||||
|
# CONFIG_LOG_PROCESS_THREAD_STARTUP_DELAY_MS=8000
|
||||||
126
config/corne.keymap
Normal file
126
config/corne.keymap
Normal file
|
|
@ -0,0 +1,126 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2020 The ZMK Contributors
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <behaviors.dtsi>
|
||||||
|
#include <dt-bindings/zmk/keys.h>
|
||||||
|
#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 <dt-bindings/zmk/javelin_steno.h>
|
||||||
|
#include <behaviors/javelin_steno.dtsi>
|
||||||
|
|
||||||
|
&led_strip {
|
||||||
|
chain-length = <27>;
|
||||||
|
};
|
||||||
|
|
||||||
|
/ {
|
||||||
|
behaviors {
|
||||||
|
ht_mute_pp: ht_mute_pp {
|
||||||
|
compatible = "zmk,behavior-hold-tap";
|
||||||
|
#binding-cells = <2>;
|
||||||
|
tapping-term-ms = <200>;
|
||||||
|
bindings = <&kp>, <&kp>;
|
||||||
|
};
|
||||||
|
td_rgb: td_rgb {
|
||||||
|
compatible = "zmk,behavior-tap-dance";
|
||||||
|
#binding-cells = <0>;
|
||||||
|
tapping-term-ms = <300>;
|
||||||
|
bindings = <&rgb_ug RGB_TOG>, <&rgb_ug RGB_EFF>, <&rgb_ug RGB_EFR>;
|
||||||
|
};
|
||||||
|
td_colors: td_colors {
|
||||||
|
compatible = "zmk,behavior-tap-dance";
|
||||||
|
#binding-cells = <0>;
|
||||||
|
tapping-term-ms = <400>;
|
||||||
|
bindings = <&rgb_ug RGB_COLOR_HSB(270,89,90)>,
|
||||||
|
<&rgb_ug RGB_COLOR_HSB(0,0,100)>,
|
||||||
|
<&rgb_ug RGB_COLOR_HSB(0,100,100)>,
|
||||||
|
<&rgb_ug RGB_COLOR_HSB(240,100,100)>,
|
||||||
|
<&rgb_ug RGB_COLOR_HSB(120,100,100)>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
combos {
|
||||||
|
compatible = "zmk,combos";
|
||||||
|
// Top + home row combos = numbers (like ecosteno)
|
||||||
|
combo_1 { key-positions = <1 13>; bindings = <&kp N1>; layers = <0 1>; };
|
||||||
|
combo_2 { key-positions = <2 14>; bindings = <&kp N2>; layers = <0 1>; };
|
||||||
|
combo_3 { key-positions = <3 15>; bindings = <&kp N3>; layers = <0 1>; };
|
||||||
|
combo_4 { key-positions = <4 16>; bindings = <&kp N4>; layers = <0 1>; };
|
||||||
|
combo_5 { key-positions = <5 17>; bindings = <&kp N5>; layers = <0 1>; };
|
||||||
|
combo_6 { key-positions = <6 18>; bindings = <&kp N6>; layers = <0 1>; };
|
||||||
|
combo_7 { key-positions = <7 19>; bindings = <&kp N7>; layers = <0 1>; };
|
||||||
|
combo_8 { key-positions = <8 20>; bindings = <&kp N8>; layers = <0 1>; };
|
||||||
|
combo_9 { key-positions = <9 21>; bindings = <&kp N9>; layers = <0 1>; };
|
||||||
|
combo_0 { key-positions = <10 22>; bindings = <&kp N0>; layers = <0 1>; };
|
||||||
|
// I+O (QWRT) / U+B (CARP) = BSPC
|
||||||
|
combo_bspc { key-positions = <8 9>; bindings = <&kp BSPC>; layers = <0 1>; };
|
||||||
|
// K+L (QWRT) / E+O (CARP) = ENTER
|
||||||
|
combo_enter { key-positions = <20 21>; bindings = <&kp RET>; layers = <0 1>; };
|
||||||
|
// W+E (QWRT) / G+M (CARP) = ESC
|
||||||
|
combo_esc { key-positions = <2 3>; bindings = <&kp ESC>; layers = <0 1>; };
|
||||||
|
// S+D (QWRT) / S+T (CARP) = TAB
|
||||||
|
combo_tab { key-positions = <14 15>; bindings = <&kp TAB>; layers = <0 1>; };
|
||||||
|
};
|
||||||
|
|
||||||
|
keymap {
|
||||||
|
compatible = "zmk,keymap";
|
||||||
|
|
||||||
|
carpalx_layer {
|
||||||
|
display-name = "CARP";
|
||||||
|
bindings = <
|
||||||
|
&kp GRAVE &kp Q &kp G &kp M &kp L &kp W &kp Y &kp F &kp U &kp B &kp SEMI &to 4
|
||||||
|
&mo 4 &kp D &kp S &kp T &kp N &kp R &kp I &kp A &kp E &kp O &kp H &kp SQT
|
||||||
|
&kp LSHFT &kp Z &kp X &kp C &kp V &kp J &kp K &kp P &kp COMMA &kp DOT &kp FSLH &kp RSHFT
|
||||||
|
&td_rgb &kp LCTRL &kp LGUI &kp SPACE &kp RALT &ht_mute_pp C_PLAY_PAUSE C_MUTE
|
||||||
|
>;
|
||||||
|
};
|
||||||
|
|
||||||
|
qwerty_layer {
|
||||||
|
display-name = "QWRT";
|
||||||
|
bindings = <
|
||||||
|
&kp GRAVE &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &to 4
|
||||||
|
&mo 4 &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp SQT
|
||||||
|
&kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp RSHFT
|
||||||
|
&td_rgb &kp LCTRL &kp LGUI &kp SPACE &kp RALT &ht_mute_pp C_PLAY_PAUSE C_MUTE
|
||||||
|
>;
|
||||||
|
};
|
||||||
|
|
||||||
|
steno_layer {
|
||||||
|
display-name = "STEN";
|
||||||
|
bindings = <
|
||||||
|
&none &javsteno STENO_NUM1 &javsteno STENO_NUM2 &javsteno STENO_NUM3 &javsteno STENO_NUM4 &javsteno STENO_NUM5 &javsteno STENO_NUM6 &javsteno STENO_NUM7 &javsteno STENO_NUM8 &javsteno STENO_NUM9 &javsteno STENO_NUM10 &to 4
|
||||||
|
&mo 4 &javsteno STENO_S1 &javsteno STENO_TL &javsteno STENO_PL &javsteno STENO_HL &javsteno STENO_STAR1 &javsteno STENO_STAR3 &javsteno STENO_FR &javsteno STENO_PR &javsteno STENO_LR &javsteno STENO_TR &javsteno STENO_DR
|
||||||
|
&none &javsteno STENO_S2 &javsteno STENO_KL &javsteno STENO_WL &javsteno STENO_RL &javsteno STENO_STAR2 &javsteno STENO_STAR4 &javsteno STENO_RR &javsteno STENO_BR &javsteno STENO_GR &javsteno STENO_SR &javsteno STENO_ZR
|
||||||
|
&none &javsteno STENO_A &javsteno STENO_O &javsteno STENO_E &javsteno STENO_U &none
|
||||||
|
>;
|
||||||
|
};
|
||||||
|
|
||||||
|
fps_layer {
|
||||||
|
display-name = "FPS";
|
||||||
|
bindings = <
|
||||||
|
&mt ESC N1 &kp N2 &kp Q &kp W &mt N3 E &mt N4 R &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &to 4
|
||||||
|
&kp TAB &kp LSHFT &kp A &kp S &kp D &kp F &none &none &none &none &none &none
|
||||||
|
&mt LALT M &kp Z &kp X &kp C &kp V &kp G &none &none &none &none &none &none
|
||||||
|
&kp T &kp LCTRL &kp SPACE &none &none &none
|
||||||
|
>;
|
||||||
|
};
|
||||||
|
|
||||||
|
hub_layer {
|
||||||
|
display-name = "HUB";
|
||||||
|
bindings = <
|
||||||
|
&bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &kp PLUS &kp LBKT &kp UP &kp RBKT &kp ASTRK &kp EQUAL
|
||||||
|
&out OUT_TOG &rgb_ug RGB_HUI &rgb_ug RGB_SAI &rgb_ug RGB_BRI &kp C_BRI_UP &kp C_VOL_UP &kp MINUS &kp LEFT &kp DOWN &kp RIGHT &kp FSLH &kp BSLH
|
||||||
|
&kp LSHFT &rgb_ug RGB_HUD &rgb_ug RGB_SAD &rgb_ug RGB_BRD &kp C_BRI_DN &kp C_VOL_DN &to 0 &to 1 &to 2 &to 3 &td_colors &kp RSHFT
|
||||||
|
&td_rgb &kp LCTRL &kp LGUI &kp SPACE &kp RALT &ht_mute_pp C_PLAY_PAUSE C_MUTE
|
||||||
|
>;
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
55
config/west.yml
Normal file
55
config/west.yml
Normal file
|
|
@ -0,0 +1,55 @@
|
||||||
|
manifest:
|
||||||
|
remotes:
|
||||||
|
- name: zmkfirmware
|
||||||
|
url-base: https://github.com/zmkfirmware
|
||||||
|
# dongle_display
|
||||||
|
- name: englmaxi
|
||||||
|
url-base: https://github.com/englmaxi
|
||||||
|
# nice_oled - nice_epaper - dongle_display!view - oled Adapter
|
||||||
|
- name: mctechnology17
|
||||||
|
url-base: https://github.com/mctechnology17
|
||||||
|
# fork of zmk-nice-oled with custom KM medal animation
|
||||||
|
- name: KeebMaker
|
||||||
|
url-base: https://github.com/KeebMaker
|
||||||
|
# javelin steno engine module
|
||||||
|
- name: afiqzudinhadi
|
||||||
|
url-base: https://github.com/afiqzudinhadi
|
||||||
|
# javelin steno engine source
|
||||||
|
- name: jthlim
|
||||||
|
url-base: https://github.com/jthlim
|
||||||
|
projects:
|
||||||
|
# Pinned to v0.3.0 instead of `main`: ZMK main tracks Zephyr 4.1, whose
|
||||||
|
# board-model rewrite renamed `nice_nano_v2` (now `nice_nano//zmk`) and
|
||||||
|
# split the `WS2812_STRIP` Kconfig symbol per-driver. Bumping this back to
|
||||||
|
# `main` will break every build.yaml entry below until those are updated.
|
||||||
|
- name: zmk
|
||||||
|
remote: zmkfirmware
|
||||||
|
revision: v0.3.0
|
||||||
|
import: app/west.yml
|
||||||
|
# dongle_display
|
||||||
|
- name: zmk-dongle-display
|
||||||
|
remote: englmaxi
|
||||||
|
revision: v0.3
|
||||||
|
# nice_oled - nice_epaper (fork with custom KM medal animation)
|
||||||
|
- name: zmk-nice-oled
|
||||||
|
remote: KeebMaker
|
||||||
|
revision: km-medal-animation
|
||||||
|
# dongle_display!view
|
||||||
|
- name: zmk-dongle-display-view
|
||||||
|
remote: mctechnology17
|
||||||
|
revision: main
|
||||||
|
# oled Adapter
|
||||||
|
- name: zmk-oled-adapter
|
||||||
|
remote: mctechnology17
|
||||||
|
revision: main
|
||||||
|
# javelin steno engine module
|
||||||
|
- name: zmk-javelin-steno
|
||||||
|
remote: afiqzudinhadi
|
||||||
|
revision: main
|
||||||
|
# javelin steno engine source (fetched into module's javelin/ dir)
|
||||||
|
- name: javelin-steno
|
||||||
|
remote: jthlim
|
||||||
|
revision: main
|
||||||
|
path: zmk-javelin-steno/javelin
|
||||||
|
self:
|
||||||
|
path: config
|
||||||
1634
keymap-drawer/corne.svg
Normal file
1634
keymap-drawer/corne.svg
Normal file
File diff suppressed because it is too large
Load diff
|
After Width: | Height: | Size: 72 KiB |
262
keymap-drawer/corne.yaml
Normal file
262
keymap-drawer/corne.yaml
Normal file
|
|
@ -0,0 +1,262 @@
|
||||||
|
layout: {zmk_keyboard: corne}
|
||||||
|
layers:
|
||||||
|
CARP:
|
||||||
|
- '`'
|
||||||
|
- Q
|
||||||
|
- G
|
||||||
|
- M
|
||||||
|
- L
|
||||||
|
- W
|
||||||
|
- Y
|
||||||
|
- F
|
||||||
|
- U
|
||||||
|
- B
|
||||||
|
- ;
|
||||||
|
- {t: HUB, h: toggle}
|
||||||
|
- HUB
|
||||||
|
- D
|
||||||
|
- S
|
||||||
|
- T
|
||||||
|
- N
|
||||||
|
- R
|
||||||
|
- I
|
||||||
|
- A
|
||||||
|
- E
|
||||||
|
- O
|
||||||
|
- H
|
||||||
|
- ''''
|
||||||
|
- $$mdi:apple-keyboard-shift$$
|
||||||
|
- Z
|
||||||
|
- X
|
||||||
|
- C
|
||||||
|
- V
|
||||||
|
- J
|
||||||
|
- K
|
||||||
|
- P
|
||||||
|
- ','
|
||||||
|
- .
|
||||||
|
- /
|
||||||
|
- $$mdi:apple-keyboard-shift$$
|
||||||
|
- '&td_rgb'
|
||||||
|
- $$mdi:apple-keyboard-control$$
|
||||||
|
- $$mdi:apple-keyboard-command$$
|
||||||
|
- ␣
|
||||||
|
- $$mdi:apple-keyboard-option$$
|
||||||
|
- {t: MUTE, h: PLAY PAUSE}
|
||||||
|
QWRT:
|
||||||
|
- '`'
|
||||||
|
- Q
|
||||||
|
- W
|
||||||
|
- E
|
||||||
|
- R
|
||||||
|
- T
|
||||||
|
- Y
|
||||||
|
- U
|
||||||
|
- I
|
||||||
|
- O
|
||||||
|
- P
|
||||||
|
- {t: HUB, h: toggle}
|
||||||
|
- HUB
|
||||||
|
- A
|
||||||
|
- S
|
||||||
|
- D
|
||||||
|
- F
|
||||||
|
- G
|
||||||
|
- H
|
||||||
|
- J
|
||||||
|
- K
|
||||||
|
- L
|
||||||
|
- ;
|
||||||
|
- ''''
|
||||||
|
- $$mdi:apple-keyboard-shift$$
|
||||||
|
- Z
|
||||||
|
- X
|
||||||
|
- C
|
||||||
|
- V
|
||||||
|
- B
|
||||||
|
- N
|
||||||
|
- M
|
||||||
|
- ','
|
||||||
|
- .
|
||||||
|
- /
|
||||||
|
- $$mdi:apple-keyboard-shift$$
|
||||||
|
- '&td_rgb'
|
||||||
|
- $$mdi:apple-keyboard-control$$
|
||||||
|
- $$mdi:apple-keyboard-command$$
|
||||||
|
- ␣
|
||||||
|
- $$mdi:apple-keyboard-option$$
|
||||||
|
- {t: MUTE, h: PLAY PAUSE}
|
||||||
|
STEN:
|
||||||
|
- ''
|
||||||
|
- '&javsteno STENO_NUM1'
|
||||||
|
- '&javsteno STENO_NUM2'
|
||||||
|
- '&javsteno STENO_NUM3'
|
||||||
|
- '&javsteno STENO_NUM4'
|
||||||
|
- '&javsteno STENO_NUM5'
|
||||||
|
- '&javsteno STENO_NUM6'
|
||||||
|
- '&javsteno STENO_NUM7'
|
||||||
|
- '&javsteno STENO_NUM8'
|
||||||
|
- '&javsteno STENO_NUM9'
|
||||||
|
- '&javsteno STENO_NUM10'
|
||||||
|
- {t: HUB, h: toggle}
|
||||||
|
- HUB
|
||||||
|
- '&javsteno STENO_S1'
|
||||||
|
- '&javsteno STENO_TL'
|
||||||
|
- '&javsteno STENO_PL'
|
||||||
|
- '&javsteno STENO_HL'
|
||||||
|
- '&javsteno STENO_STAR1'
|
||||||
|
- '&javsteno STENO_STAR3'
|
||||||
|
- '&javsteno STENO_FR'
|
||||||
|
- '&javsteno STENO_PR'
|
||||||
|
- '&javsteno STENO_LR'
|
||||||
|
- '&javsteno STENO_TR'
|
||||||
|
- '&javsteno STENO_DR'
|
||||||
|
- ''
|
||||||
|
- '&javsteno STENO_S2'
|
||||||
|
- '&javsteno STENO_KL'
|
||||||
|
- '&javsteno STENO_WL'
|
||||||
|
- '&javsteno STENO_RL'
|
||||||
|
- '&javsteno STENO_STAR2'
|
||||||
|
- '&javsteno STENO_STAR4'
|
||||||
|
- '&javsteno STENO_RR'
|
||||||
|
- '&javsteno STENO_BR'
|
||||||
|
- '&javsteno STENO_GR'
|
||||||
|
- '&javsteno STENO_SR'
|
||||||
|
- '&javsteno STENO_ZR'
|
||||||
|
- ''
|
||||||
|
- '&javsteno STENO_A'
|
||||||
|
- '&javsteno STENO_O'
|
||||||
|
- '&javsteno STENO_E'
|
||||||
|
- '&javsteno STENO_U'
|
||||||
|
- ''
|
||||||
|
FPS:
|
||||||
|
- {t: '1', h: Esc}
|
||||||
|
- '2'
|
||||||
|
- Q
|
||||||
|
- W
|
||||||
|
- {t: E, h: '3'}
|
||||||
|
- {t: R, h: '4'}
|
||||||
|
- '5'
|
||||||
|
- '6'
|
||||||
|
- '7'
|
||||||
|
- '8'
|
||||||
|
- '9'
|
||||||
|
- {t: HUB, h: toggle}
|
||||||
|
- ↹
|
||||||
|
- $$mdi:apple-keyboard-shift$$
|
||||||
|
- A
|
||||||
|
- S
|
||||||
|
- D
|
||||||
|
- F
|
||||||
|
- ''
|
||||||
|
- ''
|
||||||
|
- ''
|
||||||
|
- ''
|
||||||
|
- ''
|
||||||
|
- ''
|
||||||
|
- {t: M, h: '$$mdi:apple-keyboard-option$$'}
|
||||||
|
- Z
|
||||||
|
- X
|
||||||
|
- C
|
||||||
|
- V
|
||||||
|
- G
|
||||||
|
- ''
|
||||||
|
- ''
|
||||||
|
- ''
|
||||||
|
- ''
|
||||||
|
- ''
|
||||||
|
- ''
|
||||||
|
- T
|
||||||
|
- $$mdi:apple-keyboard-control$$
|
||||||
|
- ␣
|
||||||
|
- ''
|
||||||
|
- ''
|
||||||
|
- ''
|
||||||
|
HUB:
|
||||||
|
- BT CLR
|
||||||
|
- BT 1
|
||||||
|
- BT 2
|
||||||
|
- BT 3
|
||||||
|
- BT 4
|
||||||
|
- BT 5
|
||||||
|
- +
|
||||||
|
- '['
|
||||||
|
- ↑
|
||||||
|
- ']'
|
||||||
|
- '*'
|
||||||
|
- '='
|
||||||
|
- {t: OUT TOG, type: held}
|
||||||
|
- {t: '$$mdi:led-on$$', s: '$$mdi:palette$$', type: sym_by_sym}
|
||||||
|
- {t: '$$mdi:led-outline$$', s: '$$mdi:eyedropper$$', type: sym_by_sym}
|
||||||
|
- {t: '$$mdi:led-outline$$', s: '$$tabler:brightness-down$$', type: sym_by_sym}
|
||||||
|
- BRI UP
|
||||||
|
- Vol Up
|
||||||
|
- '-'
|
||||||
|
- ←
|
||||||
|
- ↓
|
||||||
|
- →
|
||||||
|
- /
|
||||||
|
- \
|
||||||
|
- $$mdi:apple-keyboard-shift$$
|
||||||
|
- {t: '$$mdi:led-outline$$', s: '$$mdi:palette$$', type: sym_by_sym}
|
||||||
|
- {t: '$$mdi:led-on$$', s: '$$mdi:eyedropper$$', type: sym_by_sym}
|
||||||
|
- {t: '$$mdi:led-on$$', s: '$$tabler:brightness-up$$', type: sym_by_sym}
|
||||||
|
- BRI DN
|
||||||
|
- Vol Down
|
||||||
|
- {t: CARP, h: toggle}
|
||||||
|
- {t: QWRT, h: toggle}
|
||||||
|
- {t: STEN, h: toggle}
|
||||||
|
- {t: FPS, h: toggle}
|
||||||
|
- '&td_colors'
|
||||||
|
- $$mdi:apple-keyboard-shift$$
|
||||||
|
- '&td_rgb'
|
||||||
|
- $$mdi:apple-keyboard-control$$
|
||||||
|
- $$mdi:apple-keyboard-command$$
|
||||||
|
- ␣
|
||||||
|
- $$mdi:apple-keyboard-option$$
|
||||||
|
- {t: MUTE, h: PLAY PAUSE}
|
||||||
|
combos:
|
||||||
|
- p: [1, 13]
|
||||||
|
k: '1'
|
||||||
|
l: [CARP, QWRT]
|
||||||
|
- p: [2, 14]
|
||||||
|
k: '2'
|
||||||
|
l: [CARP, QWRT]
|
||||||
|
- p: [3, 15]
|
||||||
|
k: '3'
|
||||||
|
l: [CARP, QWRT]
|
||||||
|
- p: [4, 16]
|
||||||
|
k: '4'
|
||||||
|
l: [CARP, QWRT]
|
||||||
|
- p: [5, 17]
|
||||||
|
k: '5'
|
||||||
|
l: [CARP, QWRT]
|
||||||
|
- p: [6, 18]
|
||||||
|
k: '6'
|
||||||
|
l: [CARP, QWRT]
|
||||||
|
- p: [7, 19]
|
||||||
|
k: '7'
|
||||||
|
l: [CARP, QWRT]
|
||||||
|
- p: [8, 20]
|
||||||
|
k: '8'
|
||||||
|
l: [CARP, QWRT]
|
||||||
|
- p: [9, 21]
|
||||||
|
k: '9'
|
||||||
|
l: [CARP, QWRT]
|
||||||
|
- p: [10, 22]
|
||||||
|
k: '0'
|
||||||
|
l: [CARP, QWRT]
|
||||||
|
- p: [8, 9]
|
||||||
|
k: $$mdi:backspace-outline$$
|
||||||
|
l: [CARP, QWRT]
|
||||||
|
- p: [20, 21]
|
||||||
|
k: ⏎
|
||||||
|
l: [CARP, QWRT]
|
||||||
|
- p: [2, 3]
|
||||||
|
k: Esc
|
||||||
|
l: [CARP, QWRT]
|
||||||
|
draw_separate: true
|
||||||
|
- p: [14, 15]
|
||||||
|
k: ↹
|
||||||
|
l: [CARP, QWRT]
|
||||||
|
draw_separate: true
|
||||||
21
snippets/rgb-config/rgb-config.conf
Normal file
21
snippets/rgb-config/rgb-config.conf
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
### RGB UNDERGLOW
|
||||||
|
CONFIG_ZMK_RGB_UNDERGLOW=y
|
||||||
|
CONFIG_ZMK_RGB_UNDERGLOW_ON_START=n
|
||||||
|
CONFIG_WS2812_STRIP=y
|
||||||
|
# 0 Solid color 1 Breathe 2 Spectrum 3 Swirl
|
||||||
|
CONFIG_ZMK_RGB_UNDERGLOW_EFF_START=3
|
||||||
|
# brightness level in percentage, the default value is 10 percent
|
||||||
|
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
|
||||||
|
# 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
|
||||||
3
snippets/rgb-config/snippet.yml
Normal file
3
snippets/rgb-config/snippet.yml
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
name: rgb-config
|
||||||
|
append:
|
||||||
|
EXTRA_CONF_FILE: rgb-config.conf
|
||||||
4
zephyr/module.yml
Normal file
4
zephyr/module.yml
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
build:
|
||||||
|
settings:
|
||||||
|
board_root: .
|
||||||
|
snippet_root: .
|
||||||
Loading…
Add table
Add a link
Reference in a new issue