-
Notifications
You must be signed in to change notification settings - Fork 132
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: add lily58 and splitkb_aurora_sofle support
- Loading branch information
1 parent
a5d6700
commit 6af60dd
Showing
44 changed files
with
2,435 additions
and
112 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
|
||
if SHIELD_LILY58_LEFT || SHIELD_LILY58_DONGLE_XIAO || SHIELD_LILY58_DONGLE_PRO_MICRO | ||
|
||
config ZMK_KEYBOARD_NAME | ||
default "Lily58" | ||
|
||
config ZMK_SPLIT_ROLE_CENTRAL | ||
default y | ||
|
||
endif | ||
|
||
if SHIELD_LILY58_LEFT || SHIELD_LILY58_RIGHT || SHIELD_LILY58_LEFT_PERIPHERAL || SHIELD_LILY58_DONGLE_XIAO || SHIELD_LILY58_DONGLE_PRO_MICRO | ||
|
||
config ZMK_SPLIT | ||
default y | ||
|
||
if ZMK_DISPLAY | ||
|
||
config I2C | ||
default y | ||
|
||
config SSD1306 | ||
default y | ||
|
||
if SHIELD_LILY58_DONGLE_XIAO || SHIELD_LILY58_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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# Copyright (c) 2020 Pete Johanson | ||
# SPDX-License-Identifier: MIT | ||
|
||
config SHIELD_LILY58_LEFT | ||
def_bool $(shields_list_contains,lily58_left) | ||
|
||
config SHIELD_LILY58_RIGHT | ||
def_bool $(shields_list_contains,lily58_right) | ||
|
||
config SHIELD_LILY58_LEFT_PERIPHERAL | ||
def_bool $(shields_list_contains,lily58_left_peripheral) | ||
|
||
config SHIELD_LILY58_DONGLE_XIAO | ||
def_bool $(shields_list_contains,lily58_dongle_xiao) | ||
|
||
config SHIELD_LILY58_DONGLE_PRO_MICRO | ||
def_bool $(shields_list_contains,lily58_dongle_pro_micro) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# Uncomment to enable encoder | ||
# CONFIG_EC11=y | ||
# CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y | ||
|
||
# Uncomment the following line to enable the Lily58 OLED Display | ||
# CONFIG_ZMK_DISPLAY=y |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
/* | ||
* Copyright (c) 2020 Pete Johanson | ||
* | ||
* SPDX-License-Identifier: MIT | ||
*/ | ||
|
||
#include <dt-bindings/zmk/matrix_transform.h> | ||
|
||
#include <layouts/kata0510/lily58.dtsi> | ||
|
||
/ { | ||
chosen { | ||
zephyr,display = &oled; | ||
zmk,kscan = &kscan0; | ||
zmk,physical-layout = &kata0510_lily58_layout; | ||
}; | ||
|
||
default_transform: keymap_transform_0 { | ||
compatible = "zmk,matrix-transform"; | ||
columns = <16>; | ||
rows = <5>; | ||
// | SW6 | SW5 | SW4 | SW3 | SW2 | SW1 | | SW1 | SW2 | SW3 | SW4 | SW5 | SW6 | | ||
// | SW12 | SW11 | SW10 | SW9 | SW8 | SW7 | | SW7 | SW8 | SW9 | SW10 | SW11 | SW12 | | ||
// | SW18 | SW17 | SW16 | SW15 | SW14 | SW13 | | SW13 | SW14 | SW15 | SW16 | SW17 | SW18 | | ||
// | SW24 | SW23 | SW22 | SW21 | SW20 | SW19 | SW25 | | SW25 | SW19 | SW20 | SW21 | SW22 | SW23 | SW24 | | ||
// | SW29 | SW28 | SW27 | SW26 | | SW26 | SW27 | SW28 | SW29 | | ||
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,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(4,5) RC(4,6) RC(3,6) RC(3,7) RC(3,8) RC(3,9) RC(3,10) RC(3,11) | ||
RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,7) RC(4,8) RC(4,9) RC(4,10) | ||
>; | ||
}; | ||
|
||
kscan0: kscan { | ||
compatible = "zmk,kscan-gpio-matrix"; | ||
wakeup-source; | ||
|
||
diode-direction = "col2row"; | ||
row-gpios | ||
= <&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)> | ||
, <&pro_micro 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> | ||
, <&pro_micro 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> | ||
; | ||
|
||
}; | ||
|
||
left_encoder: encoder_left { | ||
compatible = "alps,ec11"; | ||
a-gpios = <&pro_micro 21 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; | ||
b-gpios = <&pro_micro 20 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; | ||
steps = <80>; | ||
}; | ||
|
||
sensors: sensors { | ||
compatible = "zmk,keymap-sensors"; | ||
sensors = <&left_encoder>; | ||
triggers-per-rotation = <20>; | ||
}; | ||
}; | ||
|
||
&kata0510_lily58_layout { | ||
transform = <&default_transform>; | ||
}; | ||
|
||
&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>; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
/* | ||
* 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/ext_power.h> | ||
|
||
/ { | ||
keymap { | ||
compatible = "zmk,keymap"; | ||
|
||
default_layer { | ||
// ------------------------------------------------------------------------------------------------------------ | ||
// | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` | | ||
// | TAB | Q | W | E | R | T | | Y | U | I | O | P | - | | ||
// | CTRL | A | S | D | F | G | | H | J | K | L | ; | ' | | ||
// | SHIFT | Z | X | C | V | B | "[" | | "]" | N | M | , | . | / | SHIFT | | ||
// | ALT | GUI | LOWER| SPACE | | ENTER | RAISE| BSPC | GUI | | ||
bindings = < | ||
&kp ESC &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp GRAVE | ||
&kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp MINUS | ||
&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 LBKT &kp RBKT &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp RSHFT | ||
&kp LALT &kp LGUI &mo 1 &kp SPACE &kp RET &mo 2 &kp BSPC &kp RGUI | ||
>; | ||
|
||
sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>; | ||
}; | ||
|
||
lower_layer { | ||
// ------------------------------------------------------------------------------------------------------------ | ||
// | BTCLR | BT1 | BT2 | BT3 | BT4 | BT5 | | | | | | | | | ||
// | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | | ||
// | ` | ! | @ | # | $ | % | | ^ | & | * | ( | ) | ~ | | ||
// | | | | | | | | | | | _ | + | { | } | "|" | | ||
// | | | | | | | | | | | ||
bindings = < | ||
&bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &trans &trans &trans &trans &trans &trans | ||
&kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12 | ||
&kp GRAVE &kp EXCL &kp AT &kp HASH &kp DOLLAR &kp PRCNT &kp CARET &kp AMPS &kp ASTRK &kp LPAR &kp RPAR &kp TILDE | ||
&trans &ext_power EP_ON &ext_power EP_OFF &ext_power EP_TOG &trans &trans &trans &trans &trans &kp MINUS &kp PLUS &kp LBRC &kp RBRC &kp PIPE | ||
&trans &trans &trans &trans &trans &trans &trans &trans | ||
>; | ||
|
||
sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>; | ||
}; | ||
|
||
raise_layer { | ||
// ------------------------------------------------------------------------------------------------------------ | ||
// | | | | | | | | | | | | | | | ||
// | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | | ||
// | F1 | F2 | F3 | F4 | F5 | F6 | | | <- | v | ^ | -> | | | ||
// | F7 | F8 | F9 | F10 | F11 | F12 | | | | + | - | = | [ | ] | \ | | ||
// | | | | | | | | | | | ||
bindings = < | ||
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans | ||
&kp GRAVE &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &trans | ||
&kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &trans &kp LEFT &kp DOWN &kp UP &kp RIGHT &trans | ||
&kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12 &trans &trans &kp KP_PLUS &kp MINUS &kp EQUAL &kp LBKT &kp RBKT &kp BSLH | ||
&trans &trans &trans &trans &trans &trans &trans &trans | ||
>; | ||
|
||
sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>; | ||
}; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
file_format: "1" | ||
id: lily58 | ||
name: Lily58 | ||
type: shield | ||
url: https://github.com/kata0510/Lily58 | ||
requires: [pro_micro] | ||
exposes: [i2c_oled] | ||
features: | ||
- keys | ||
- display | ||
- studio | ||
siblings: | ||
- lily58_left | ||
- lily58_right | ||
- lily58_left_peripheral | ||
- lily58_dongle_xiao | ||
- lily58_dongle_pro_micro |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
Oops, something went wrong.