1. local/github integration module 2. makefile redundancy eliminated
This commit is contained in:
parent
95d732af57
commit
46510619a2
53 changed files with 162 additions and 341 deletions
54
boards/shields/corne/Kconfig.defconfig
Normal file
54
boards/shields/corne/Kconfig.defconfig
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
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
|
||||
|
||||
config ZMK_USB
|
||||
default y
|
||||
|
||||
endif
|
||||
|
||||
if SHIELD_CORNE_LEFT || SHIELD_CORNE_RIGHT || SHIELD_CORNE_DONGLE_XIAO || SHIELD_CORNE_LEFT_PERIPHERAL || 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
|
||||
83
boards/shields/corne/corne.dtsi
Normal file
83
boards/shields/corne/corne.dtsi
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
/*
|
||||
* Copyright (c) 2020 Pete Johanson
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zephyr,display = &oled;
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix-transform = &default_transform;
|
||||
};
|
||||
|
||||
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>;
|
||||
};
|
||||
};
|
||||
BIN
boards/shields/corne/corne.keymap.zip
Normal file
BIN
boards/shields/corne/corne.keymap.zip
Normal file
Binary file not shown.
17
boards/shields/corne/corne.zmk.yml
Normal file
17
boards/shields/corne/corne.zmk.yml
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
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
|
||||
siblings:
|
||||
- corne_left
|
||||
- corne_right
|
||||
- corne_left_peripheral
|
||||
- corne_dongle_xiao
|
||||
- corne_dongle_pro_micro
|
||||
49
boards/shields/corne/corne_dongle_pro_micro.conf
Normal file
49
boards/shields/corne/corne_dongle_pro_micro.conf
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
# MC:
|
||||
# compatible with all versions of nrf52840 (pro micro):
|
||||
# - nice_nano (not tested)
|
||||
# - nice_nano_v2 (tested)
|
||||
# - nice_nano_v2 (super mini -> nice_nano_v2 clon) (tested)
|
||||
# - nrfmicro_11 (not tested)
|
||||
# - nrfmicro_11_flipped (not tested)
|
||||
# - nrfmicro_13 (not tested)
|
||||
# - puchi_ble_v1 (tested)
|
||||
|
||||
# 3 profiles (n+2)
|
||||
CONFIG_BT_MAX_CONN=5
|
||||
CONFIG_BT_MAX_PAIRED=5
|
||||
|
||||
# dongle mode
|
||||
CONFIG_ZMK_SPLIT_BLE_CENTRAL_PERIPHERALS=2
|
||||
|
||||
# display
|
||||
CONFIG_ZMK_DISPLAY=y
|
||||
CONFIG_BT_BAS=n
|
||||
CONFIG_ZMK_SPLIT_BLE_CENTRAL_BATTERY_LEVEL_FETCHING=y
|
||||
|
||||
# enable logging and configure zmk logging to debug output
|
||||
# CONFIG_ZMK_USB_LOGGING=y
|
||||
# CONFIG_LOG_PROCESS_THREAD_STARTUP_DELAY_MS=8000
|
||||
|
||||
### POWER OPTIONS
|
||||
CONFIG_ZMK_EXT_POWER=y
|
||||
# the battery power report interval unit is seconds
|
||||
CONFIG_ZMK_BATTERY_REPORT_INTERVAL=60
|
||||
# MC: changed so that he always stays awake
|
||||
CONFIG_ZMK_SLEEP=n
|
||||
# 1800000 milliseconds = 30 minutes * 60 seconds * 1000
|
||||
# CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=3600000
|
||||
# number of milliseconds of inactivity before entering idle state
|
||||
CONFIG_ZMK_IDLE_TIMEOUT=60000
|
||||
# add keyboard bounce
|
||||
# CONFIG_ZMK_KSCAN_DEBOUNCE_PRESS_MS=5
|
||||
# CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS=5
|
||||
# Increase the transmission power of the keyboard ble radio to solve the
|
||||
# problem of left and right delay and poor communication.
|
||||
CONFIG_BT_CTLR_TX_PWR_PLUS_8=y
|
||||
CONFIG_ZMK_BLE_EXPERIMENTAL_FEATURES=y
|
||||
# change default keyboard display name
|
||||
# CONFIG_ZMK_KEYBOARD_NAME="Nice_Dongle_Oled"
|
||||
CONFIG_ZMK_MOUSE=y
|
||||
|
||||
### Improves compatibility with iPad
|
||||
CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=y
|
||||
153
boards/shields/corne/corne_dongle_pro_micro.overlay
Normal file
153
boards/shields/corne/corne_dongle_pro_micro.overlay
Normal file
|
|
@ -0,0 +1,153 @@
|
|||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &mock_kscan;
|
||||
zmk,matrix-transform = &default_transform;
|
||||
zephyr,display = &oled;
|
||||
};
|
||||
|
||||
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)
|
||||
>;
|
||||
};
|
||||
|
||||
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:
|
||||
43
boards/shields/corne/corne_dongle_xiao.conf
Normal file
43
boards/shields/corne/corne_dongle_xiao.conf
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
# MC:
|
||||
# compatible with all versions of nrf52840 (xiao):
|
||||
# - seeeduino_xiao_ble (tested)
|
||||
|
||||
# 3 profiles (n+2)
|
||||
CONFIG_BT_MAX_CONN=5
|
||||
CONFIG_BT_MAX_PAIRED=5
|
||||
|
||||
# dongle mode
|
||||
CONFIG_ZMK_SPLIT_BLE_CENTRAL_PERIPHERALS=2
|
||||
|
||||
# display
|
||||
CONFIG_ZMK_DISPLAY=y
|
||||
CONFIG_BT_BAS=n
|
||||
CONFIG_ZMK_SPLIT_BLE_CENTRAL_BATTERY_LEVEL_FETCHING=y
|
||||
|
||||
# enable logging and configure zmk logging to debug output
|
||||
# CONFIG_ZMK_USB_LOGGING=y
|
||||
# CONFIG_LOG_PROCESS_THREAD_STARTUP_DELAY_MS=8000
|
||||
|
||||
### POWER OPTIONS
|
||||
CONFIG_ZMK_EXT_POWER=y
|
||||
# the battery power report interval unit is seconds
|
||||
CONFIG_ZMK_BATTERY_REPORT_INTERVAL=60
|
||||
# MC: changed so that he always stays awake
|
||||
CONFIG_ZMK_SLEEP=n
|
||||
# 1800000 milliseconds = 30 minutes * 60 seconds * 1000
|
||||
# CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=3600000
|
||||
# number of milliseconds of inactivity before entering idle state
|
||||
CONFIG_ZMK_IDLE_TIMEOUT=60000
|
||||
# add keyboard bounce
|
||||
# CONFIG_ZMK_KSCAN_DEBOUNCE_PRESS_MS=5
|
||||
# CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS=5
|
||||
# Increase the transmission power of the keyboard ble radio to solve the
|
||||
# problem of left and right delay and poor communication.
|
||||
CONFIG_BT_CTLR_TX_PWR_PLUS_8=y
|
||||
CONFIG_ZMK_BLE_EXPERIMENTAL_FEATURES=y
|
||||
# change default keyboard display name
|
||||
# CONFIG_ZMK_KEYBOARD_NAME="Nice_Dongle_Oled"
|
||||
CONFIG_ZMK_MOUSE=y
|
||||
|
||||
### Improves compatibility with iPad
|
||||
CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=y
|
||||
184
boards/shields/corne/corne_dongle_xiao.overlay
Normal file
184
boards/shields/corne/corne_dongle_xiao.overlay
Normal file
|
|
@ -0,0 +1,184 @@
|
|||
/*
|
||||
* Copyright (c) 2020 Pete Johanson
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &mock_kscan;
|
||||
zmk,matrix-transform = &default_transform;
|
||||
zephyr,display = &oled;
|
||||
};
|
||||
|
||||
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)
|
||||
>;
|
||||
};
|
||||
|
||||
mock_kscan: kscan_0 {
|
||||
compatible = "zmk,kscan-mock";
|
||||
// wakeup-source;
|
||||
columns = <0>;
|
||||
rows = <0>;
|
||||
events = <0>;
|
||||
};
|
||||
// TODO: per-key RGB node(s)?
|
||||
};
|
||||
|
||||
&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>;
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
// 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>;
|
||||
};
|
||||
};
|
||||
|
||||
// TODO: niceview
|
||||
&pinctrl {
|
||||
spi0_default: spi0_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_SCK, 0, 5)>,
|
||||
<NRF_PSEL(SPIM_MOSI, 0, 4)>,
|
||||
<NRF_PSEL(SPIM_MISO, 0, 8)>;
|
||||
};
|
||||
};
|
||||
spi0_sleep: spi0_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_SCK, 0, 5)>, // D5
|
||||
<NRF_PSEL(SPIM_MOSI, 0, 4)>, // D4
|
||||
<NRF_PSEL(SPIM_MISO, 0, 8)>;
|
||||
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 = <&gpio1 11 GPIO_ACTIVE_HIGH>; // D6
|
||||
};
|
||||
*/
|
||||
// vim: filetype=dts fdm=marker:
|
||||
43
boards/shields/corne/corne_left.conf
Normal file
43
boards/shields/corne/corne_left.conf
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
### 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
|
||||
|
||||
# Enable and adjust nice!view
|
||||
CONFIG_ZMK_WIDGET_BATTERY_STATUS_SHOW_PERCENTAGE=y
|
||||
# CONFIG_ZMK_WIDGET_WPM_STATUS=n
|
||||
CONFIG_ZMK_WIDGET_LAYER_STATUS=y
|
||||
CONFIG_ZMK_WIDGET_BATTERY_STATUS=y
|
||||
CONFIG_ZMK_WIDGET_OUTPUT_STATUS=y
|
||||
|
||||
# Disable in-built nice!view widget
|
||||
CONFIG_ZMK_DISPLAY_STATUS_SCREEN_BUILT_IN=y
|
||||
# Enable custom nice!view widget
|
||||
CONFIG_ZMK_LV_FONT_DEFAULT_SMALL_MONTSERRAT_26=y
|
||||
CONFIG_LV_FONT_DEFAULT_MONTSERRAT_26=y
|
||||
|
||||
# Increase the bluetooth transmission power
|
||||
CONFIG_BT_CTLR_TX_PWR_PLUS_8=y
|
||||
CONFIG_ZMK_BLE_EXPERIMENTAL_FEATURES=y
|
||||
|
||||
### POWER OPTIONS
|
||||
# CONFIG_ZMK_EXT_POWER=y
|
||||
# CONFIG_ZMK_SLEEP=n
|
||||
# 1800000 milisegundos = 30 minutos * 60 segundos * 1000
|
||||
# CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=3600000
|
||||
# Número de milisegundos de inactividad antes de entrar en estado inactivo
|
||||
# CONFIG_ZMK_IDLE_TIMEOUT=60000
|
||||
|
||||
### MOUSE
|
||||
CONFIG_ZMK_MOUSE=y
|
||||
|
||||
### Improves compatibility with iPad
|
||||
CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=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
|
||||
18
boards/shields/corne/corne_left.overlay
Normal file
18
boards/shields/corne/corne_left.overlay
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
/*
|
||||
* 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>
|
||||
;
|
||||
};
|
||||
38
boards/shields/corne/corne_left_peripheral.conf
Normal file
38
boards/shields/corne/corne_left_peripheral.conf
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
# Increase the bluetooth transmission power
|
||||
CONFIG_BT_CTLR_TX_PWR_PLUS_8=y
|
||||
CONFIG_ZMK_BLE_EXPERIMENTAL_FEATURES=y
|
||||
|
||||
### MOUSE
|
||||
CONFIG_ZMK_MOUSE=y
|
||||
|
||||
### POWER OPTIONS
|
||||
# CONFIG_ZMK_EXT_POWER=y
|
||||
# CONFIG_ZMK_SLEEP=n
|
||||
# 1800000 milisegundos = 30 minutos * 60 segundos * 1000
|
||||
# CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=3600000
|
||||
# Número de milisegundos de inactividad antes de entrar en estado inactivo
|
||||
# CONFIG_ZMK_IDLE_TIMEOUT=60000
|
||||
|
||||
# Enable and adjust nice!view
|
||||
CONFIG_ZMK_WIDGET_BATTERY_STATUS_SHOW_PERCENTAGE=y
|
||||
CONFIG_ZMK_WIDGET_BATTERY_STATUS=y
|
||||
# Disable other widgets, because don't work with pheripherals
|
||||
CONFIG_ZMK_WIDGET_WPM_STATUS=n
|
||||
CONFIG_ZMK_WIDGET_LAYER_STATUS=n
|
||||
CONFIG_ZMK_WIDGET_OUTPUT_STATUS=n
|
||||
|
||||
# Disable in-built nice!view widget
|
||||
CONFIG_ZMK_DISPLAY_STATUS_SCREEN_BUILT_IN=y
|
||||
# Enable custom nice!view widget
|
||||
CONFIG_ZMK_LV_FONT_DEFAULT_SMALL_MONTSERRAT_26=y
|
||||
CONFIG_LV_FONT_DEFAULT_MONTSERRAT_26=y
|
||||
|
||||
### Improves compatibility with iPad
|
||||
CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=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
|
||||
18
boards/shields/corne/corne_left_peripheral.overlay
Normal file
18
boards/shields/corne/corne_left_peripheral.overlay
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
/*
|
||||
* 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>
|
||||
;
|
||||
};
|
||||
38
boards/shields/corne/corne_right.conf
Normal file
38
boards/shields/corne/corne_right.conf
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
# Increase the bluetooth transmission power
|
||||
CONFIG_BT_CTLR_TX_PWR_PLUS_8=y
|
||||
CONFIG_ZMK_BLE_EXPERIMENTAL_FEATURES=y
|
||||
|
||||
### MOUSE
|
||||
CONFIG_ZMK_MOUSE=y
|
||||
|
||||
### POWER OPTIONS
|
||||
# CONFIG_ZMK_EXT_POWER=y
|
||||
# CONFIG_ZMK_SLEEP=n
|
||||
# 1800000 milisegundos = 30 minutos * 60 segundos * 1000
|
||||
# CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=3600000
|
||||
# Número de milisegundos de inactividad antes de entrar en estado inactivo
|
||||
# CONFIG_ZMK_IDLE_TIMEOUT=60000
|
||||
|
||||
# Enable and adjust nice!view
|
||||
CONFIG_ZMK_WIDGET_BATTERY_STATUS_SHOW_PERCENTAGE=y
|
||||
CONFIG_ZMK_WIDGET_BATTERY_STATUS=y
|
||||
# Disable other widgets, because don't work with pheripherals
|
||||
CONFIG_ZMK_WIDGET_WPM_STATUS=n
|
||||
CONFIG_ZMK_WIDGET_LAYER_STATUS=n
|
||||
CONFIG_ZMK_WIDGET_OUTPUT_STATUS=n
|
||||
|
||||
# Disable in-built nice!view widget
|
||||
CONFIG_ZMK_DISPLAY_STATUS_SCREEN_BUILT_IN=y
|
||||
# Enable custom nice!view widget
|
||||
CONFIG_ZMK_LV_FONT_DEFAULT_SMALL_MONTSERRAT_26=y
|
||||
CONFIG_LV_FONT_DEFAULT_MONTSERRAT_26=y
|
||||
|
||||
### Improves compatibility with iPad
|
||||
CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=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
|
||||
26
boards/shields/corne/corne_right.overlay
Normal file
26
boards/shields/corne/corne_right.overlay
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
/*
|
||||
* 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>
|
||||
;
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue