Merge pull request #2 from lesshonor/refactor

refactor: corne to eyelash_corne
This commit is contained in:
1218 2024-12-03 22:48:32 +08:00 committed by GitHub
commit 1f77eff4bd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
45 changed files with 847 additions and 3617 deletions

View File

@ -2,25 +2,9 @@ name: Build ZMK firmware
on:
workflow_dispatch:
push:
paths:
- "config/**"
paths-ignore:
- "keymap-drawer/**"
jobs:
build:
uses: zmkfirmware/zmk/.github/workflows/build-user-config.yml@main
draw:
uses: caksoylar/keymap-drawer/.github/workflows/draw-zmk.yml@main
permissions:
contents: write
with:
commit_message: "[Draw] ${{ github.event.head_commit.message }}"
amend_commit: false
install_branch: "main"
keymap_patterns: "config/*.keymap"
json_path: "config"
config_path: "keymap_drawer.config.yaml" # config file, ignored if not exists
output_folder: "keymap-drawer"
destination: "both"
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'"

18
.github/workflows/draw.yml vendored Normal file
View File

@ -0,0 +1,18 @@
name: Draw Keymap
on:
workflow_dispatch:
push:
paths:
- "config/**"
- .github/workflows/draw.yml
- keymap_drawer.config.yaml
jobs:
draw:
uses: caksoylar/keymap-drawer/.github/workflows/draw-zmk.yml@main
permissions:
contents: write
with:
commit_message: "[Draw] ${{ github.event.head_commit.message }}"
destination: "commit"
fail_on_error: ${{ fromJSON(true) }}

3
.gitignore vendored
View File

@ -1,6 +1,5 @@
build/
zmk/
zephyr/
modules/
tools/
.west/
.west/

View File

@ -1,6 +1,44 @@
if you need the 3D modle of this keyboardyou can connect me by Email。380465425@qq.com
# zmk-config-corne
# 睫毛外设 (Eyelash Peripherals) Corne ZMK Repository
**This keyboard is not the same as [foostan's Corne](https://github.com/foostan/crkbd). It will not work with standard `corne` firmware.**
<img src="keymap-drawer/corne.svg" >
![Photo of Eyelash Peripherals Corne](https://ae01.alicdn.com/kf/Sa797fee25edd44248fbfdb0e13d44e00B.jpg)
If you need a 3D model of this keyboard, email `380465425@qq.com`.
## Instructions
1. [Fork this repository](https://docs.github.com/en/get-started/quickstart/fork-a-repo#forking-a-repository).
2. [Click the **Actions** tab and make sure the workflow is enabled](https://docs.github.com/en/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/disabling-and-enabling-a-workflow#enabling-a-workflow).
3. Make sure the `eyelash_corne` project in [`config/west.yml`](config/west.yml) still works. The `boards/arm/eyelash_corne` folder will be downloaded from this URL.
4. If there is still a `boards/arm/eyelash_corne` folder in your fork, delete it.
**If you already have a ZMK config repository, [you can add this one as a module instead of forking](https://zmk.dev/docs/features/modules#building-with-modules).**
## Keymap Diagram
![Diagram of config/eyelash_corne.keymap](keymap-drawer/eyelash_corne.svg "generated by @caksoylar's Keymap Drawer")
## Mouse Support
:warning: This repository defaults to an EXPERIMENTAL mouse movement branch which is slated for eventual merge into ZMK, but is not guaranteed to be stable. For more information, see [beta testing](https://zmk.dev/docs/features/modules#beta-testing) and [PR #2477](https://github.com/zmkfirmware/zmk/pull/2477).
If desired, edit your `config/west.yml` to switch back to `zmkfirmware`'s `main` branch:
```diff
diff --git a/config/west.yml b/config/west.yml
index ac30a68..70ad540 100644
--- a/config/west.yml
+++ b/config/west.yml
@@ -13,8 +13,8 @@ manifest:
url: https://github.com/a741725193/zmk-new_corne
revision: main
- name: zmk
- remote: petejohanson
- revision: feat/pointers-with-input-processors
+ remote: zmkfirmware
+ revision: main
import: app/west.yml
self:
path: config
```

View File

@ -0,0 +1,12 @@
#
# Copyright (c) 2024 The ZMK Contributors
# SPDX-License-Identifier: MIT
#
config BOARD_EYELASH_CORNE_LEFT
bool "eyelash_corne left"
depends on SOC_NRF52840_QIAA
config BOARD_EYELASH_CORNE_RIGHT
bool "eyelash_corne right"
depends on SOC_NRF52840_QIAA

View File

@ -0,0 +1,61 @@
#
# Copyright (c) 2024 The ZMK Contributors
# SPDX-License-Identifier: MIT
#
if BOARD_EYELASH_CORNE_LEFT
config ZMK_KEYBOARD_NAME
default "Eyelash Corne"
config ZMK_SPLIT_ROLE_CENTRAL
default y
endif # BOARD_EYELASH_CORNE_LEFT
if BOARD_EYELASH_CORNE_LEFT || BOARD_EYELASH_CORNE_RIGHT
config BOARD
default "eyelash_corne"
config BOARD_ENABLE_DCDC
bool "Enable DCDC mode"
select SOC_DCDC_NRF52X
default y
config BOARD_ENABLE_DCDC_HV
bool "Enable High Voltage DCDC converter"
default y
select SOC_DCDC_NRF52X_HV
depends on (BOARD_EYELASH_CORNE_LEFT || BOARD_EYELASH_CORNE_RIGHT)
config ZMK_SLEEP
default y
config ZMK_SPLIT
default y
config BT_CTLR
default BT
if USB
config USB_NRFX
default y
config USB_DEVICE_STACK
default y
endif # USB
if ZMK_BACKLIGHT
config PWM
default y
config LED_PWM
default y
endif # ZMK_BACKLIGHT
endif # BOARD_EYELASH_CORNE_LEFT || BOARD_EYELASH_CORNE_RIGHT

View File

@ -1,6 +1,8 @@
# Copyright (c) 2021 @MangoIV
# Copyright (c) 2024 The ZMK Contributors
# SPDX-License-Identifier: MIT
board_runner_args(nrfjprog "--nrf-family=NRF52" "--softreset")
include(${ZEPHYR_BASE}/boards/common/uf2.board.cmake)
include(${ZEPHYR_BASE}/boards/common/blackmagicprobe.board.cmake)
include(${ZEPHYR_BASE}/boards/common/nrfjprog.board.cmake)

View File

@ -0,0 +1,68 @@
/*
*
* Copyright (c) 2024 The ZMK Contributors
* SPDX-License-Identifier: MIT
*
*/
#include <physical_layouts.dtsi>
/ {
default_layout: default_layout {
compatible = "zmk,physical-layout";
display-name = "Layout";
transform = <&default_transform>;
keys // w h x y rot rx r
= <&key_physical_attrs 100 100 0 37 0 0 0>
, <&key_physical_attrs 100 100 100 37 0 0 0>
, <&key_physical_attrs 100 100 200 12 0 0 0>
, <&key_physical_attrs 100 100 300 0 0 0 0>
, <&key_physical_attrs 100 100 400 12 0 0 0>
, <&key_physical_attrs 100 100 500 24 0 0 0>
, <&key_physical_attrs 100 100 925 24 0 0 0>
, <&key_physical_attrs 100 100 1150 24 0 0 0>
, <&key_physical_attrs 100 100 1250 12 0 0 0>
, <&key_physical_attrs 100 100 1350 0 0 0 0>
, <&key_physical_attrs 100 100 1450 12 0 0 0>
, <&key_physical_attrs 100 100 1550 37 0 0 0>
, <&key_physical_attrs 100 100 1650 37 0 0 0>
, <&key_physical_attrs 100 100 0 137 0 0 0>
, <&key_physical_attrs 100 100 100 137 0 0 0>
, <&key_physical_attrs 100 100 200 112 0 0 0>
, <&key_physical_attrs 100 100 300 100 0 0 0>
, <&key_physical_attrs 100 100 400 112 0 0 0>
, <&key_physical_attrs 100 100 500 124 0 0 0>
, <&key_physical_attrs 100 100 825 124 0 0 0>
, <&key_physical_attrs 100 100 925 124 0 0 0>
, <&key_physical_attrs 100 100 1025 124 0 0 0>
, <&key_physical_attrs 100 100 1150 124 0 0 0>
, <&key_physical_attrs 100 100 1250 112 0 0 0>
, <&key_physical_attrs 100 100 1350 100 0 0 0>
, <&key_physical_attrs 100 100 1450 112 0 0 0>
, <&key_physical_attrs 100 100 1550 137 0 0 0>
, <&key_physical_attrs 100 100 1650 137 0 0 0>
, <&key_physical_attrs 100 100 0 237 0 0 0>
, <&key_physical_attrs 100 100 100 237 0 0 0>
, <&key_physical_attrs 100 100 200 212 0 0 0>
, <&key_physical_attrs 100 100 300 200 0 0 0>
, <&key_physical_attrs 100 100 400 212 0 0 0>
, <&key_physical_attrs 100 100 500 224 0 0 0>
, <&key_physical_attrs 100 100 625 224 0 0 0>
, <&key_physical_attrs 100 100 925 224 0 0 0>
, <&key_physical_attrs 100 100 1150 224 0 0 0>
, <&key_physical_attrs 100 100 1250 212 0 0 0>
, <&key_physical_attrs 100 100 1350 200 0 0 0>
, <&key_physical_attrs 100 100 1450 212 0 0 0>
, <&key_physical_attrs 100 100 1550 237 0 0 0>
, <&key_physical_attrs 100 100 1650 237 0 0 0>
, <&key_physical_attrs 100 100 350 312 0 0 0>
, <&key_physical_attrs 100 100 450 312 1200 450 412>
, <&key_physical_attrs 100 100 550 312 2400 515 433>
, <&key_physical_attrs 100 100 1100 312 (-2400) 1230 433>
, <&key_physical_attrs 100 100 1200 312 (-1200) 1300 412>
, <&key_physical_attrs 100 100 1300 312 0 0 0>
;
};
};

View File

@ -0,0 +1,232 @@
/*
*
* Copyright (c) 2024 The ZMK Contributors
* SPDX-License-Identifier: MIT
*
*/
/dts-v1/;
#include <nordic/nrf52840_qiaa.dtsi>
#include <dt-bindings/led/led.h>
#include <dt-bindings/zmk/matrix_transform.h>
#include "eyelash_corne-layouts.dtsi"
/ {
model = "eyelash_corne";
compatible = "eyelashperipherals,eyelash_corne";
chosen {
zephyr,code-partition = &code_partition;
zephyr,sram = &sram0;
zephyr,flash = &flash0;
zmk,kscan = &kscan0;
zmk,battery = &vbatt;
zmk,underglow = &led_strip;
zmk,physical-layout = &default_layout;
zmk,backlight = &backlight;
};
vbatt: vbatt {
compatible = "zmk,battery-nrf-vddh";
};
EXT_POWER {
compatible = "zmk,ext-power-generic";
control-gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
init-delay-ms = <50>;
};
left_encoder: encoder_left {
compatible = "alps,ec11";
a-gpios = <&gpio1 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
b-gpios = <&gpio1 14 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
steps = <40>;
status = "disabled";
};
sensors {
compatible = "zmk,keymap-sensors";
triggers-per-rotation = <20>;
sensors = <&left_encoder>;
};
kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row";
row-gpios
= <&gpio0 19 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&gpio0 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&gpio0 12 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&gpio0 11 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&gpio1 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
;
col-gpios
= <&gpio0 3 GPIO_ACTIVE_HIGH>
, <&gpio0 28 GPIO_ACTIVE_HIGH>
, <&gpio0 30 GPIO_ACTIVE_HIGH>
, <&gpio0 21 GPIO_ACTIVE_HIGH>
, <&gpio0 23 GPIO_ACTIVE_HIGH>
, <&gpio0 22 GPIO_ACTIVE_HIGH>
, <&gpio0 29 GPIO_ACTIVE_HIGH>
;
};
default_transform: keymap_transform_0 {
compatible = "zmk,matrix-transform";
columns = <14>;
rows = <5>;
map = <
RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,12) RC(0,13) 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(2,12) RC(4,12) RC(3,12) RC(1,13) 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(3,2) RC(1,12) RC(2,13) 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,13) RC(3,7) RC(3,8)
>;
};
backlight: pwmleds {
compatible = "pwm-leds";
pwm_led_0 {
pwms = <&pwm0 0 PWM_MSEC(1) PWM_POLARITY_NORMAL>;
};
};
};
&adc {
status = "okay";
};
&gpiote {
status = "okay";
};
&gpio0 {
status = "okay";
};
&gpio1 {
status = "okay";
};
zephyr_udc0: &usbd {
status = "okay";
};
&flash0 {
/*
* For more information, see:
* http://docs.zephyrproject.org/latest/devices/dts/flash_partitions.html
*/
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
sd_partition: partition@0 {
reg = <0x00000000 0x00026000>;
};
code_partition: partition@26000 {
reg = <0x00026000 0x000c6000>;
};
/*
* The flash starting at 0x000ec000 and ending at
* 0x000f3fff is reserved for use by the application.
*
* Storage partition will be used by FCB/LittleFS/NVS
* if enabled.
*/
storage_partition: partition@ec000 {
reg = <0x000ec000 0x00008000>;
};
boot_partition: partition@f4000 {
reg = <0x000f4000 0x0000c000>;
};
};
};
&pinctrl {
spi0_default: spi0_default {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 0, 20)>,
<NRF_PSEL(SPIM_MOSI, 0, 17)>,
<NRF_PSEL(SPIM_MISO, 0, 25)>;
};
};
spi0_sleep: spi0_sleep {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 0, 20)>,
<NRF_PSEL(SPIM_MOSI, 0, 17)>,
<NRF_PSEL(SPIM_MISO, 0, 25)>;
low-power-enable;
};
};
pwm0_default: pwm0_default {
group1 {
psels = <NRF_PSEL(PWM_OUT0, 1, 13)>;
};
};
pwm0_sleep: pwm0_sleep {
group1 {
psels = <NRF_PSEL(PWM_OUT0, 1, 13)>;
low-power-enable;
};
};
spi3_default: spi3_default {
group1 {
psels = <NRF_PSEL(SPIM_MOSI, 1, 12)>; // WS2812_VEXT_DATA
};
};
spi3_sleep: spi3_sleep {
group1 {
psels = <NRF_PSEL(SPIM_MOSI, 1, 12)>;
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 = <&gpio0 6 GPIO_ACTIVE_HIGH>;
};
&pwm0 {
status = "okay";
pinctrl-0 = <&pwm0_default>;
pinctrl-1 = <&pwm0_sleep>;
pinctrl-names = "default", "sleep";
};
&spi3 {
status = "okay";
compatible = "nordic,nrf-spim";
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 = <21>;
spi-one-frame = <0x70>;
spi-zero-frame = <0x40>;
color-mapping = <LED_COLOR_ID_GREEN LED_COLOR_ID_RED LED_COLOR_ID_BLUE>;
};
};

View File

@ -0,0 +1,75 @@
#include <behaviors.dtsi>
#include <dt-bindings/zmk/bt.h>
#include <dt-bindings/zmk/keys.h>
#include <dt-bindings/zmk/mouse.h>
#include <dt-bindings/zmk/outputs.h>
#include <dt-bindings/zmk/rgb.h>
/ {
behaviors {
td0: td0 {
compatible = "zmk,behavior-tap-dance";
#binding-cells = <0>;
bindings = <&kp LEFT_SHIFT>, <&kp CAPS>;
};
};
rgb_encoder: rgb_encoder {
compatible = "zmk,behavior-sensor-rotate";
#sensor-binding-cells = <0>;
bindings = <&rgb_ug RGB_BRI>, <&rgb_ug RGB_BRD>;
};
keymap {
compatible = "zmk,keymap";
default_layer {
display-name = "QWERTY";
bindings = <
&kp TAB &kp Q &kp W &kp E &kp R &kp T &kp UP &kp Y &kp U &kp I &kp O &kp P &kp BSPC
&td0 &kp A &kp S &kp D &kp F &kp G &kp LEFT &kp ENTER &kp RIGHT &kp H &kp J &kp K &kp L &kp SEMI &kp SQT
&kp LCTRL &kp Z &kp X &kp C &kp V &kp B &kp SPACE &kp DOWN &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp ESC
&kp LGUI &mo 1 &lt 3 SPACE &lt 3 ENTER &mo 2 &kp RALT
>;
sensor-bindings = <&inc_dec_kp C_VOLUME_UP C_VOLUME_DOWN>;
};
lower_layer {
display-name = "NUMBER";
bindings = <
&trans &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &trans &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp BSPC
&trans &bt BT_CLR_ALL &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &trans &mkp LCLK &trans &kp LEFT &kp DOWN &kp UP &kp RIGHT &kp HOME &kp PG_UP
&trans &rgb_ug RGB_OFF &rgb_ug RGB_ON &trans &trans &rgb_ug RGB_EFF &kp C_MUTE &trans &rgb_ug RGB_EFR &rgb_ug RGB_SPI &rgb_ug RGB_BRI &rgb_ug RGB_BRD &kp END &kp PG_DN
&trans &trans &trans &kp INS &kp DEL &trans
>;
sensor-bindings = <&inc_dec_kp PG_UP PG_DN>;
};
raise_layer {
display-name = "SYMBOL";
bindings = <
&trans &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &trans &kp CARET &kp AMPS &kp ASTRK &kp LPAR &kp RPAR &kp BSPC
&trans &bt BT_CLR &mkp LCLK &mkp MCLK &mkp RCLK &mkp MB4 &trans &mkp LCLK &trans &kp MINUS &kp EQUAL &kp LBKT &kp RBKT &kp BSLH &kp GRAVE
&trans &out OUT_USB &out OUT_BLE &none &none &mkp MB5 &kp C_MUTE &trans &kp UNDER &kp PLUS &kp LBRC &kp RBRC &kp PIPE &kp TILDE
&trans &trans &kp SPACE &kp RET &trans &trans
>;
sensor-bindings = <&inc_dec_kp PG_UP PG_DN>;
};
layer_3 {
display-name = "Fn";
bindings = <
&trans &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &trans &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11
&trans &trans &mkp LCLK &mkp MCLK &mkp RCLK &mkp MB4 &trans &mkp LCLK &trans &bootloader &mkp LCLK &mkp MCLK &mkp RCLK &kp PRINTSCREEN &kp F12
&trans &sys_reset &trans &bootloader &trans &mkp MB5 &kp C_MUTE &trans &trans &trans &bootloader &sys_reset &kp SCROLLLOCK &kp PAUSE_BREAK
&trans &trans &trans &trans &trans &trans
>;
sensor-bindings = <&rgb_encoder>;
};
};
};

View File

@ -1,13 +1,12 @@
identifier: corne
name: Solfe
url: https://github.com/tokyo2006/zmk-config-corne
identifier: eyelash_corne
name: Eyelash Corne
url: https://github.com/a741725193/zmk-new_corne
type: mcu
arch: arm
toolchain:
- zephyr
- gnuarmemb
- xtools
ram: 40
supported:
- adc
- usb_device
@ -16,5 +15,4 @@ supported:
- pwm
- watchdog
- gpio
- i2c
- spi
- spi

View File

@ -0,0 +1,17 @@
file_format: "1"
id: eyelash_corne
name: Eyelash Corne
url: https://github.com/a741725193/zmk-new_corne
type: board
arch: arm
features:
- keys
- display
- underglow
- encoder
outputs:
- usb
- ble
siblings:
- eyelash_corne_left
- eyelash_corne_right

View File

@ -0,0 +1,12 @@
/*
*
* Copyright (c) 2024 The ZMK Contributors
* SPDX-License-Identifier: MIT
*
*/
#include "eyelash_corne.dtsi"
&left_encoder {
status = "okay";
};

View File

@ -0,0 +1,44 @@
#
# Copyright (c) 2024 The ZMK Contributors
# SPDX-License-Identifier: MIT
#
CONFIG_SOC_SERIES_NRF52X=y
CONFIG_SOC_NRF52840_QIAA=y
CONFIG_BOARD_EYELASH_CORNE_LEFT=y
# Enable 32kHz crystal
CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_30PPM=y
# Enable MPU
CONFIG_ARM_MPU=y
# enable pinctrl
CONFIG_PINCTRL=y
# enable GPIO
CONFIG_GPIO=y
# Enable SPI
CONFIG_SPI=y
# Enable writing to flash
CONFIG_USE_DT_CODE_PARTITION=y
CONFIG_BUILD_OUTPUT_UF2=y
CONFIG_MPU_ALLOW_FLASH_WRITE=y
CONFIG_NVS=y
CONFIG_SETTINGS_NVS=y
CONFIG_FLASH=y
CONFIG_FLASH_PAGE_LAYOUT=y
CONFIG_FLASH_MAP=y
CONFIG_ZMK_USB=y
CONFIG_ZMK_BLE=y
#EXT POWER
CONFIG_ZMK_EXT_POWER=y
#EC11 enable
CONFIG_EC11=y
CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y

View File

@ -0,0 +1,12 @@
/*
*
* Copyright (c) 2024 The ZMK Contributors
* SPDX-License-Identifier: MIT
*
*/
#include "eyelash_corne.dtsi"
&default_transform {
col-offset = <7>;
};

View File

@ -0,0 +1,40 @@
#
# Copyright (c) 2024 The ZMK Contributors
# SPDX-License-Identifier: MIT
#
CONFIG_SOC_SERIES_NRF52X=y
CONFIG_SOC_NRF52840_QIAA=y
CONFIG_BOARD_EYELASH_CORNE_RIGHT=y
# Enable 32kHz crystal
CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_30PPM=y
# Enable MPU
CONFIG_ARM_MPU=y
# enable pinctrl
CONFIG_PINCTRL=y
# enable GPIO
CONFIG_GPIO=y
# Enable SPI
CONFIG_SPI=y
# Enable writing to flash
CONFIG_USE_DT_CODE_PARTITION=y
CONFIG_BUILD_OUTPUT_UF2=y
CONFIG_MPU_ALLOW_FLASH_WRITE=y
CONFIG_NVS=y
CONFIG_SETTINGS_NVS=y
CONFIG_FLASH=y
CONFIG_FLASH_PAGE_LAYOUT=y
CONFIG_FLASH_MAP=y
CONFIG_ZMK_USB=n
CONFIG_ZMK_BLE=y
#EXT POWER
CONFIG_ZMK_EXT_POWER=y

View File

@ -1,10 +1,16 @@
---
include:
- board: nice_nano_v2
- board: eyelash_corne_left
shield: nice_view
#snippet: zmk-usb-logging # Uncomment to log over USB.
- board: eyelash_corne_right
shield: nice_view
#snippet: zmk-usb-logging
- board: eyelash_corne_left
shield: nice_view
snippet: studio-rpc-usb-uart
cmake-args: -DCONFIG_ZMK_STUDIO=y
artifact-name: eyelash_corne_studio_left
- board: eyelash_corne_left
shield: settings_reset
- board: corne_left
shield: nice_view_adapter nice_view
artifact-name: corne_left_nice_view
- board: corne_right
shield: nice_view_adapter nice_view
artifact-name: corne_right_nice_view
#snippet: zmk-usb-logging

View File

@ -1,10 +0,0 @@
#
# Copyright (c) 2022 The ZMK Contributors
# SPDX-License-Identifier: MIT
#
config BOARD_CORNE_LEFT
bool
config BOARD_CORNE_RIGHT
bool

View File

@ -1,15 +0,0 @@
#
# Copyright (c) 2022 Darryl deHaan
# SPDX-License-Identifier: MIT
#
config BOARD_CORNE_LEFT
bool "corne left"
depends on SOC_NRF52840_QIAA
config BOARD_CORNE_RIGHT
bool "corne right"
depends on SOC_NRF52840_QIAA

View File

@ -1,91 +0,0 @@
#
# Copyright (c) 2022 Darryl deHaan
# SPDX-License-Identifier: MIT
#
if BOARD_CORNE_LEFT
config ZMK_KEYBOARD_NAME
default "Corne"
config ZMK_SPLIT_ROLE_CENTRAL
default y
endif # BOARD_CORNE_LEFT
if BOARD_CORNE_LEFT || BOARD_CORNE_RIGHT
config BOARD
default "corne"
config BOARD_ENABLE_DCDC
bool "Enable DCDC mode"
select SOC_DCDC_NRF52X
default y
config BOARD_ENABLE_DCDC_HV
bool "Enable High Voltage DCDC converter"
default y
select SOC_DCDC_NRF52X_HV
depends on (BOARD_CORNE_LEFT || BOARD_CORNE_RIGHT)
config ZMK_SPLIT
default y
config BT_CTLR
default BT
if USB
config USB_NRFX
default y
config USB_DEVICE_STACK
default y
endif # USB
if ZMK_DISPLAY
config I2C
default y
config SSD1306
default y
choice ZMK_DISPLAY_WORK_QUEUE
default ZMK_DISPLAY_WORK_QUEUE_DEDICATED
endchoice
endif
if SSD1306
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
endif # BOARD_CORNE_LEFT || BOARD_CORNE_RIGHT
if ZMK_BACKLIGHT
config PWM
default y
config LED_PWM
default y
endif # ZMK_BACKLIGHT

View File

@ -1,32 +0,0 @@
# go to sleep after one hour (1*60*60*1000ms)
# CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=3600000
# Turn on logging, and set ZMK logging to debug output
# CONFIG_ZMK_USB_LOGGING=n
#
# Copyright (c) 2022 Darryl deHaan
# SPDX-License-Identifier: MIT
#
CONFIG_ZMK_SLEEP=y
CONFIG_WS2812_STRIP=y
CONFIG_ZMK_RGB_UNDERGLOW=y
CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER=y
CONFIG_ZMK_RGB_UNDERGLOW_ON_START=n
CONFIG_ZMK_RGB_UNDERGLOW_BRT_MAX=90
CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE=y
CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_USB=y
CONFIG_ZMK_RGB_UNDERGLOW_HUE_START=160
CONFIG_ZMK_RGB_UNDERGLOW_EFF_START=3
#CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=y
CONFIG_ZMK_BACKLIGHT=y
CONFIG_ZMK_BACKLIGHT_BRT_START=100
CONFIG_ZMK_BACKLIGHT_ON_START=y
CONFIG_ZMK_BACKLIGHT_AUTO_OFF_IDLE=n
# Uncomment the following line to increase the keyboard's wireless range
CONFIG_BT_CTLR_TX_PWR_PLUS_8=y

View File

@ -1,205 +0,0 @@
/*
*
* Copyright (c) 2021 Darryl deHaan
* SPDX-License-Identifier: MIT
*
*/
/dts-v1/;
#include <nordic/nrf52840_qiaa.dtsi>
#include <dt-bindings/led/led.h>
#include <dt-bindings/zmk/matrix_transform.h>
/ {
model = "corne";
compatible = "corne";
chosen {
zephyr,code-partition = &code_partition;
zephyr,sram = &sram0;
zephyr,flash = &flash0;
zmk,kscan = &kscan0;
zephyr,display = &oled;
zephyr,console = &cdc_acm_uart;
zmk,underglow = &led_strip;
zmk,matrix-transform = &default_transform;
zmk,backlight = &backlight;
};
left_encoder: encoder_left {
compatible = "alps,ec11";
label = "LEFT_ENCODER";
resolution = <4>;
steps = <40>;
status = "disabled";
};
sensors {
compatible = "zmk,keymap-sensors";
sensors = <&left_encoder>;
};
default_transform: keymap_transform_0 {
compatible = "zmk,matrix-transform";
columns = <14>;
rows = <5>;
map = <
RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,7) RC(0,8) RC(0,9) RC(0,10) RC(0,11) RC(0,12) RC(0,13)
RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,7) RC(1,8) RC(1,9) RC(1,10) RC(1,11) RC(1,12) RC(1,13)
RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,7) RC(2,8) RC(2,9) RC(2,10) RC(2,11) RC(2,12) RC(2,13)
RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(3,7) RC(3,8) RC(3,9) RC(3,10)
RC(4,7)
>;
};
};
&adc {
status = "okay";
};
&gpiote {
status = "okay";
};
&gpio0 {
status = "okay";
};
&gpio1 {
status = "okay";
};
&usbd {
status = "okay";
cdc_acm_uart: cdc_acm_uart {
compatible = "zephyr,cdc-acm-uart";
};
};
&flash0 {
/*
* For more information, see:
* http://docs.zephyrproject.org/latest/devices/dts/flash_partitions.html
*/
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
sd_partition: partition@0 {
reg = <0x00000000 0x00026000>;
};
code_partition: partition@26000 {
reg = <0x00026000 0x000c6000>;
};
/*
* The flash starting at 0x000ec000 and ending at
* 0x000f3fff is reserved for use by the application.
*/
/*
* Storage partition will be used by FCB/LittleFS/NVS
* if enabled.
*/
storage_partition: partition@ec000 {
reg = <0x000ec000 0x00008000>;
};
boot_partition: partition@f4000 {
reg = <0x000f4000 0x0000c000>;
};
};
};
&pinctrl {
i2c0_default: i2c0_default {
group1 {
psels = <NRF_PSEL(TWIM_SDA, 0, 17)>,
<NRF_PSEL(TWIM_SCL, 0, 20)>;
};
};
i2c0_sleep: i2c0_sleep {
group1 {
psels = <NRF_PSEL(TWIM_SDA, 0, 17)>,
<NRF_PSEL(TWIM_SCL, 0, 20)>;
low-power-enable;
};
};
spi3_default: spi3_default {
group1 {
psels = <NRF_PSEL(SPIM_MOSI, 1, 12)>; // WS2812_VEXT_DATA
};
};
spi3_sleep: spi3_sleep {
group1 {
psels = <NRF_PSEL(SPIM_MOSI, 1, 12)>;
low-power-enable;
};
};
};
&i2c0 {
status = "okay";
compatible = "nordic,nrf-twi";
pinctrl-0 = <&i2c0_default>;
pinctrl-1 = <&i2c0_sleep>;
pinctrl-names = "default", "sleep";
oled: ssd1306@3c {
compatible = "solomon,ssd1306fb";
reg = <0x3c>;
label = "DISPLAY";
width = <128>;
height = <32>;
segment-offset = <0>;
page-offset = <0>;
display-offset = <0>;
multiplex-ratio = <31>;
segment-remap;
com-invdir;
com-sequential;
prechargep = <0x22>;
};
};
&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 = <6>;
spi-one-frame = <0x70>;
spi-zero-frame = <0x40>;
color-mapping = <LED_COLOR_ID_GREEN LED_COLOR_ID_RED LED_COLOR_ID_BLUE>;
};
};
/ {
backlight: pwmleds {
compatible = "pwm-leds";
pwm_led_0 {
pwms = <&pwm0 0 PWM_MSEC(1) PWM_POLARITY_NORMAL>;
};
};
};
&pwm0 {
status = "okay";
pinctrl-0 = <&pwm0_default>;
pinctrl-1 = <&pwm0_sleep>;
pinctrl-names = "default", "sleep";
};

View File

@ -1,15 +0,0 @@
file_format: "1"
id: corne
name: Sofle
url: https://github.com/tokyo2006/zmk-config-corne
type: board
arch: arm
features:
- keys
- display
outputs:
- usb
- ble
siblings:
- corne_left
- corne_right

View File

@ -1,75 +0,0 @@
/*
*
* Copyright (c) 2021 Darryl deHaan
* SPDX-License-Identifier: MIT
*
*/
#include "corne.dtsi"
/{
chosen {
zmk,battery = &vbatt;
zmk,backlight = &backlight;
};
kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row";
row-gpios
= <&gpio0 19 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&gpio0 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&gpio0 12 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&gpio0 11 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&gpio1 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
;
col-gpios
= <&gpio0 3 GPIO_ACTIVE_HIGH>
, <&gpio0 28 GPIO_ACTIVE_HIGH>
, <&gpio0 30 GPIO_ACTIVE_HIGH>
, <&gpio0 21 GPIO_ACTIVE_HIGH>
, <&gpio0 23 GPIO_ACTIVE_HIGH>
, <&gpio0 22 GPIO_ACTIVE_HIGH>
;
};
ext-power {
compatible = "zmk,ext-power-generic";
label = "EXT_POWER";
control-gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
init-delay-ms = <50>;
};
vbatt: vbatt {
compatible = "zmk,battery-nrf-vddh";
};
};
&left_encoder {
a-gpios = <&gpio1 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
b-gpios = <&gpio1 14 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
status = "okay";
};
&pinctrl {
// Other pinctrl definitions for other hardware
pwm0_default: pwm0_default {
group1 {
psels = <NRF_PSEL(PWM_OUT0, 1, 13)>;
};
};
pwm0_sleep: pwm0_sleep {
group1 {
psels = <NRF_PSEL(PWM_OUT0, 1, 13)>;
low-power-enable;
};
};
};
&pwm0 {
status = "okay";
pinctrl-0 = <&pwm0_default>;
pinctrl-1 = <&pwm0_sleep>;
pinctrl-names = "default", "sleep";
};

View File

@ -1,82 +0,0 @@
#
# Copyright (c) 2022 Darryl deHaan
# SPDX-License-Identifier: MIT
#
CONFIG_SOC_SERIES_NRF52X=y
CONFIG_SOC_NRF52840_QIAA=y
CONFIG_BOARD_CORNE_LEFT=y
CONFIG_ZMK_SLEEP=y
# Enable 32kHz crystal
CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_30PPM=y
# Enable MPU
CONFIG_ARM_MPU=y
# enable pinctrl
CONFIG_PINCTRL=y
# enable GPIO
CONFIG_GPIO=y
# Enable SPI
CONFIG_SPI=y
# Enable writing to flash
CONFIG_USE_DT_CODE_PARTITION=y
CONFIG_BUILD_OUTPUT_UF2=y
CONFIG_MPU_ALLOW_FLASH_WRITE=y
CONFIG_NVS=y
CONFIG_SETTINGS_NVS=y
CONFIG_FLASH=y
CONFIG_FLASH_PAGE_LAYOUT=y
CONFIG_FLASH_MAP=y
# Enable 32kHz crystal
CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_30PPM=y
CONFIG_ZMK_USB=y
CONFIG_ZMK_BLE=y
# enable display drivers
CONFIG_ZMK_DISPLAY=y
#CONFIG_ZMK_DISPLAY_WORK_QUEUE_DEDICATED=y
#CONFIG_ZMK_DISPLAY_DEDICATED_THREAD_STACK_SIZE=2048
#CONFIG_LV_Z_BITS_PER_PIXEL=1
#CONFIG_LV_COLOR_DEPTH_1=y
#CONFIG_LV_DPI_DEF=145
#CONFIG_LV_Z_VDB_SIZE=100
#CONFIG_LV_USE_THEME_MONO=y
#CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00
#CONFIG_ZMK_LV_FONT_DEFAULT_SMALL_MONTSERRAT_16=y
#CONFIG_LV_FONT_MONTSERRAT_26=y
#CONFIG_LV_FONT_DEFAULT_MONTSERRAT_26=y
#EXT POWER
CONFIG_ZMK_EXT_POWER=y
#BLE-passkey
CONFIG_ZMK_BLE_PASSKEY_ENTRY=n
#BLE-clean
CONFIG_ZMK_BLE_CLEAR_BONDS_ON_START=n
#usb-name
CONFIG_USB_DEVICE_MANUFACTURER="corne"
CONFIG_BT_CTLR_TX_PWR_PLUS_8=y
CONFIG_ZMK_HID_REPORT_TYPE_NKRO=n
#CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=y
#EC11 enable
CONFIG_EC11=y
CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y

View File

@ -1,96 +0,0 @@
/*
*
* Copyright (c) 2021 Darryl deHaan
* SPDX-License-Identifier: MIT
*
*/
#include "corne.dtsi"
/{
chosen {
zmk,battery = &vbatt;
};
kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix";
wakeup-source;
diode-direction = "col2row";
row-gpios
= <&gpio0 19 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&gpio0 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&gpio0 12 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&gpio0 11 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&gpio1 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
;
col-gpios
= <&gpio0 22 GPIO_ACTIVE_HIGH>
, <&gpio0 29 GPIO_ACTIVE_HIGH>
, <&gpio0 3 GPIO_ACTIVE_HIGH>
, <&gpio0 28 GPIO_ACTIVE_HIGH>
, <&gpio0 30 GPIO_ACTIVE_HIGH>
, <&gpio0 21 GPIO_ACTIVE_HIGH>
, <&gpio0 23 GPIO_ACTIVE_HIGH>
;
};
ext-power {
compatible = "zmk,ext-power-generic";
label = "EXT_POWER";
control-gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
init-delay-ms = <50>;
};
vbatt: vbatt {
compatible = "zmk,battery-nrf-vddh";
init-delay-ms = <50>;
};
};
&default_transform {
col-offset = <7>;
};
&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 = <7>; /* 6 keys have underglow at the moment */
spi-one-frame = <0x70>;
spi-zero-frame = <0x40>;
color-mapping = <LED_COLOR_ID_GREEN LED_COLOR_ID_RED LED_COLOR_ID_BLUE>;
};
};
&pinctrl {
// Other pinctrl definitions for other hardware
pwm0_default: pwm0_default {
group1 {
psels = <NRF_PSEL(PWM_OUT0, 1, 13)>;
};
};
pwm0_sleep: pwm0_sleep {
group1 {
psels = <NRF_PSEL(PWM_OUT0, 1, 13)>;
low-power-enable;
};
};
};
&pwm0 {
status = "okay";
pinctrl-0 = <&pwm0_default>;
pinctrl-1 = <&pwm0_sleep>;
pinctrl-names = "default", "sleep";
};

View File

@ -1,78 +0,0 @@
#
# Copyright (c) 2022 Darryl deHaan
# SPDX-License-Identifier: MIT
#
CONFIG_SOC_SERIES_NRF52X=y
CONFIG_SOC_NRF52840_QIAA=y
CONFIG_BOARD_CORNE_RIGHT=y
CONFIG_ZMK_SLEEP=y
# Enable 32kHz crystal
CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_30PPM=y
# Enable MPU
CONFIG_ARM_MPU=y
# enable pinctrl
CONFIG_PINCTRL=y
# enable GPIO
CONFIG_GPIO=y
# Enable SPI
CONFIG_SPI=y
# Enable writing to flash
CONFIG_USE_DT_CODE_PARTITION=y
CONFIG_BUILD_OUTPUT_UF2=y
CONFIG_MPU_ALLOW_FLASH_WRITE=y
CONFIG_NVS=y
CONFIG_SETTINGS_NVS=y
CONFIG_FLASH=y
CONFIG_FLASH_PAGE_LAYOUT=y
CONFIG_FLASH_MAP=y
# Enable 32kHz crystal
CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_30PPM=y
CONFIG_ZMK_USB=n
CONFIG_ZMK_BLE=y
# enable display drivers
CONFIG_ZMK_DISPLAY=y
#CONFIG_ZMK_DISPLAY_WORK_QUEUE_DEDICATED=y
#CONFIG_ZMK_DISPLAY_DEDICATED_THREAD_STACK_SIZE=2048
#CONFIG_LV_Z_BITS_PER_PIXEL=1
#CONFIG_LV_COLOR_DEPTH_1=y
#CONFIG_LV_DPI_DEF=145
#CONFIG_LV_Z_VDB_SIZE=100
#CONFIG_LV_USE_THEME_MONO=y
#CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00
#CONFIG_ZMK_LV_FONT_DEFAULT_SMALL_MONTSERRAT_16=y
#CONFIG_LV_FONT_MONTSERRAT_26=y
#CONFIG_LV_FONT_DEFAULT_MONTSERRAT_26=y
#EXT POWER
CONFIG_ZMK_EXT_POWER=y
#BLE-passkey
CONFIG_ZMK_BLE_PASSKEY_ENTRY=n
#BLE-clean
CONFIG_ZMK_BLE_CLEAR_BONDS_ON_START=n
#usb-name
CONFIG_USB_DEVICE_MANUFACTURER="corne"
CONFIG_BT_CTLR_TX_PWR_PLUS_8=y
CONFIG_ZMK_HID_REPORT_TYPE_NKRO=n

View File

@ -1,2 +0,0 @@
config SHIELD_NICE_VIEW_ADAPTER
def_bool $(shields_list_contains,nice_view_adapter)

View File

@ -1,29 +0,0 @@
&pinctrl {
spi0_default: spi0_default {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 0, 20)>,
<NRF_PSEL(SPIM_MOSI, 0, 17)>,
<NRF_PSEL(SPIM_MISO, 0, 25)>;
};
};
spi0_sleep: spi0_sleep {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 0, 20)>,
<NRF_PSEL(SPIM_MOSI, 0, 17)>,
<NRF_PSEL(SPIM_MISO, 0, 25)>;
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 = <&gpio0 6 GPIO_ACTIVE_HIGH>;
};
&i2c0 {
status = "disabled";
};

View File

@ -1,29 +0,0 @@
&pinctrl {
spi0_default: spi0_default {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 0, 20)>,
<NRF_PSEL(SPIM_MOSI, 0, 17)>,
<NRF_PSEL(SPIM_MISO, 0, 25)>;
};
};
spi0_sleep: spi0_sleep {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 0, 20)>,
<NRF_PSEL(SPIM_MOSI, 0, 17)>,
<NRF_PSEL(SPIM_MISO, 0, 25)>;
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 = <&gpio0 6 GPIO_ACTIVE_HIGH>;
};
&i2c0 {
status = "disabled";
};

View File

@ -1,6 +0,0 @@
CONFIG_SSD1306=n
# Enable Nice View
#CONFIG_ZMK_DISPLAY_STATUS_SCREEN_BUILT_IN=y
#CONFIG_ZMK_LV_FONT_DEFAULT_SMALL_MONTSERRAT_26=y
#CONFIG_LV_FONT_DEFAULT_MONTSERRAT_26=y
CONFIG_ZMK_DISPLAY_STATUS_SCREEN_CUSTOM=y

View File

@ -1,7 +0,0 @@
file_format: "1"
id: nice_view_adapter
name: nice!view adapter
type: shield
url: https://nicekeyboards.com/nice-view
requires: [i2c_oled]
exposes: [nice_view_header]

View File

@ -1,72 +0,0 @@
{
"id": "corne",
"name": "Corne",
"layouts": {
"default_layout": {
"name": "default_layout",
"layout": [
{ "row": 0, "col": 0, "x": 1.5, "y": 1.13, "label": "0\n0" },
{ "row": 0, "col": 1, "x": 2.5, "y": 1.13, "label": "0\n1" },
{ "row": 0, "col": 2, "x": 3.5, "y": 0.75, "label": "0\n2" },
{ "row": 0, "col": 3, "x": 4.5, "y": 0.63, "label": "0\n3" },
{ "row": 0, "col": 4, "x": 5.5, "y": 0.75, "label": "0\n4" },
{ "row": 0, "col": 5, "x": 6.5, "y": 1, "label": "0\n5" },
{ "row": 0, "col": 7, "x": 9.25, "y": 0.25, "label": "0\n7" },
{ "row": 0, "col": 8, "x": 12, "y": 1, "label": "0\n8" },
{ "row": 0, "col": 9, "x": 13, "y": 0.75, "label": "0\n9" },
{ "row": 0, "col": 10, "x": 14, "y": 0.63, "label": "0\n10" },
{ "row": 0, "col": 11, "x": 15, "y": 0.75, "label": "0\n11" },
{ "row": 0, "col": 12, "x": 16, "y": 1.13, "label": "0\n12" },
{ "row": 0, "col": 13, "x": 17, "y": 1.13, "label": "0\n13" },
{ "row": 1, "col": 0, "x": 1.5, "y": 2.13, "label": "1\n0" },
{ "row": 1, "col": 1, "x": 2.5, "y": 2.13, "label": "1\n1" },
{ "row": 1, "col": 2, "x": 3.5, "y": 1.75, "label": "1\n2" },
{ "row": 1, "col": 3, "x": 4.5, "y": 1.63, "label": "1\n3" },
{ "row": 1, "col": 4, "x": 5.5, "y": 1.75, "label": "1\n4" },
{ "row": 1, "col": 5, "x": 6.5, "y": 2, "label": "1\n5" },
{ "row": 1, "col": 7, "x": 9.25, "y": 2.25, "label": "1\n7" },
{ "row": 1, "col": 8, "x": 12, "y": 2, "label": "1\n8" },
{ "row": 1, "col": 9, "x": 13, "y": 1.75, "label": "1\n9" },
{ "row": 1, "col": 10, "x": 14, "y": 1.63, "label": "1\n10" },
{ "row": 1, "col": 11, "x": 15, "y": 1.75, "label": "1\n11" },
{ "row": 1, "col": 12, "x": 16, "y": 2.13, "label": "1\n12" },
{ "row": 1, "col": 13, "x": 17, "y": 2.13, "label": "1\n13" },
{ "row": 2, "col": 0, "x": 1.5, "y": 3.13, "label": "2\n0" },
{ "row": 2, "col": 1, "x": 2.5, "y": 3.13, "label": "2\n1" },
{ "row": 2, "col": 2, "x": 3.5, "y": 2.75, "label": "2\n2" },
{ "row": 2, "col": 3, "x": 4.5, "y": 2.63, "label": "2\n3" },
{ "row": 2, "col": 4, "x": 5.5, "y": 2.75, "label": "2\n4" },
{ "row": 2, "col": 5, "x": 6.5, "y": 3, "label": "2\n5" },
{ "row": 2, "col": 7, "x": 8.25, "y": 1.25, "label": "2\n7" },
{ "row": 2, "col": 8, "x": 12, "y": 3, "label": "2\n8" },
{ "row": 2, "col": 9, "x": 13, "y": 2.75, "label": "2\n9" },
{ "row": 2, "col": 10, "x": 14, "y": 2.63, "label": "2\n10" },
{ "row": 2, "col": 11, "x": 15, "y": 2.75, "label": "2\n11" },
{ "row": 2, "col": 12, "x": 16, "y": 3.13, "label": "2\n12" },
{ "row": 2, "col": 13, "x": 17, "y": 3.13, "label": "2\n13" },
{ "row": 3, "col": 2, "x": 8, "y": 3.5, "label": "4\n2" },
{ "row": 3, "col": 3, "x": 5.5, "y": 4.25, "label": "3\n3" },
{ "row": 3, "col": 4, "x": 7, "y": 4.25, "label": "3\n4", "r": 30, "rx": 6.5, "ry": 4.25 },
{ "row": 3, "col": 5, "x": 8.25, "y": 3.75, "label": "3\n5", "r": 30, "rx": 6.5, "ry": 4.25, "h": 1.5 },
{ "row": 3, "col": 7, "x": 10.25, "y": 1.25, "label": "3\n7" },
{ "row": 3, "col": 8, "x": 10.25, "y": 3.75, "label": "3\n8", "r": -30, "rx": 13, "ry": 4.25, "h": 1.5 },
{ "row": 3, "col": 9, "x": 11.5, "y": 4.25, "label": "3\n9", "r": -30, "rx": 13, "ry": 4.25 },
{ "row": 3, "col": 10, "x": 13, "y": 4.25, "label": "3\n10" },
{ "row": 4, "col": 7, "x": 9.25, "y": 1.25, "label": "4\n7" }
]
}
},
"sensors": [
{
"ref": "left_encoder",
"name": "encoder_left",
"identifier": "encoder_left",
"compatible": "alps,ec11",
"label": "LEFT_ENCODER",
"enabled": true
}
]
}

View File

@ -1,134 +0,0 @@
#include <behaviors/mouse_keys.dtsi>
#include <behaviors.dtsi>
#include <dt-bindings/zmk/bt.h>
#include <dt-bindings/zmk/keys.h>
#include <dt-bindings/zmk/mouse.h>
#include <dt-bindings/zmk/outputs.h>
#include <dt-bindings/zmk/rgb.h>
#define ZMK_MOUSE_DEFAULT_MOVE_VAL 1200 // 600
#define ZMK_MOUSE_DEFAULT_SCRL_VAL 20 // 10
#define U_MS_U &mmv MOVE_UP
#define U_MS_D &mmv MOVE_DOWN
#define U_MS_L &mmv MOVE_LEFT
#define U_MS_R &mmv MOVE_RIGHT
/ {
behaviors {
td0: td0 {
compatible = "zmk,behavior-tap-dance";
label = "TD0";
#binding-cells = <0>;
bindings = <&kp LEFT_SHIFT>, <&kp CAPS>;
};
mmv {
acceleration-exponent = <1>; // 1
time-to-max-speed-ms = <900>; // 40
delay-ms = <0>; // 0
};
msc {
acceleration-exponent = <1>; // 0
time-to-max-speed-ms = <400>; // 500
delay-ms = <0>; // 10
};
};
rgb_encoder: rgb_encoder {
compatible = "zmk,behavior-sensor-rotate";
label = "RGB_ENCODER";
#sensor-binding-cells = <0>;
bindings = <&rgb_ug RGB_BRI>, <&rgb_ug RGB_BRD>;
};
scroll_encoder: scroll_encoder {
compatible = "zmk,behavior-sensor-rotate";
#sensor-binding-cells = <0>;
bindings = <&msc SCRL_DOWN>, <&msc SCRL_UP>;
tap-ms = <30>;
};
keymap {
compatible = "zmk,keymap";
default_layer {
display-name = "QWERTY";
// --------------------------------------------------------------------------------
// | TAB | Q | W | E | R | T | ↑ | Y | U | I | O | P | BKSP | &kp UP_ARROW
// | SHIFT | A | S | D | F | G | ↓ | H | J | K | L | ; | ' |
// | CTRL | Z | X | C | V | B | ← | N | M | , | . | / | ESC |
// | GUI | LWR | SPC | → | ENT | RSE | ALT |
// enter
bindings = <
&kp TAB &kp Q &kp W &kp E &kp R &kp T &kp UP_ARROW &kp Y &kp U &kp I &kp O &kp P &kp BSPC
&td0 &kp A &kp S &kp D &kp F &kp G &kp DOWN_ARROW &kp H &kp J &kp K &kp L &kp SEMI &kp SQT
&kp LCTRL &kp Z &kp X &kp C &kp V &kp B &kp LEFT_ARROW &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp ESC
&kp SPACE &kp LGUI &mo 1 &lt 3 SPACE &kp RIGHT_ARROW &lt 3 ENTER &mo 2 &kp RALT
&kp ENTER
>;
label = "QWERTY";
sensor-bindings = <&inc_dec_kp C_VOLUME_UP C_VOLUME_DOWN>;
};
lower_layer {
display-name = "NUMBER";
// -----------------------------------------------------------------------------------------
// | 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 = <
&trans &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &mmv MOVE_UP &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp BSPC
&trans &bt BT_CLR_ALL &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &mmv MOVE_DOWN &kp LEFT &kp DOWN &kp UP &kp RIGHT &kp HOME &kp PG_UP
&trans &rgb_ug RGB_OFF &rgb_ug RGB_ON &trans &trans &rgb_ug RGB_EFF &mmv MOVE_LEFT &rgb_ug RGB_EFR &rgb_ug RGB_SPI &rgb_ug RGB_BRI &rgb_ug RGB_BRD &kp END &kp PG_DN
&kp C_MUTE &trans &trans &trans &mmv MOVE_RIGHT &kp INS &kp DEL &trans
&mkp LCLK
>;
label = "NUMBER";
sensor-bindings = <&scroll_encoder>;
};
raise_layer {
display-name = "SYMBOL";
// -----------------------------------------------------------------------------------------
// | TAB | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BKSP |
// | CTRL | | | | | | | - | = | [ | ] | \ | ` |
// | SHFT | | | | | | | _ | + | { | } | "|" | ~ |
// | GUI | | SPC | | ENT | | ALT |
bindings = <
&trans &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &mmv MOVE_UP &kp CARET &kp AMPS &kp ASTRK &kp LPAR &kp RPAR &kp BSPC
&trans &bt BT_CLR &mkp LCLK &mkp MCLK &mkp RCLK &mkp MB4 &mmv MOVE_DOWN &kp MINUS &kp EQUAL &kp LBKT &kp RBKT &kp BSLH &kp GRAVE
&trans &out OUT_USB &out OUT_BLE &none &none &mkp MB5 &mmv MOVE_LEFT &kp UNDER &kp PLUS &kp LBRC &kp RBRC &kp PIPE &kp TILDE
&trans &trans &trans &kp SPACE &mmv MOVE_RIGHT &kp RET &trans &trans
&mkp LCLK
>;
label = "SYMBOL";
sensor-bindings = <&scroll_encoder>;
};
layer_3 {
display-name = "Fn";
bindings = <
&trans &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &mmv MOVE_UP &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11
&trans &trans &mkp LCLK &mkp MCLK &mkp RCLK &mkp MB4 &mmv MOVE_DOWN &bootloader &mkp LCLK &mkp MCLK &mkp RCLK &kp PRINTSCREEN &kp F12
&trans &sys_reset &trans &bootloader &trans &mkp MB5 &mmv MOVE_LEFT &trans &trans &bootloader &sys_reset &kp SCROLLLOCK &kp PAUSE_BREAK
&kp C_MUTE &trans &trans &trans &mmv MOVE_RIGHT &trans &trans &trans
&mkp LCLK
>;
label = "FN";
sensor-bindings = <&scroll_encoder>;
};
};
};

View File

@ -1,37 +1,32 @@
#
# Copyright (c) 2022 Darryl deHaan
# Copyright (c) 2024 The ZMK Contributors
# SPDX-License-Identifier: MIT
#
CONFIG_WS2812_STRIP=y
CONFIG_ZMK_RGB_UNDERGLOW=y
CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER=y
CONFIG_ZMK_RGB_UNDERGLOW_ON_START=n
CONFIG_ZMK_RGB_UNDERGLOW_BRT_MAX=100
CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE=y
CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_USB=n
CONFIG_ZMK_RGB_UNDERGLOW_HUE_START=160
CONFIG_ZMK_RGB_UNDERGLOW_EFF_START=3
# Uncomment the following line to enable NKRO
#CONFIG_ZMK_HID_REPORT_TYPE_NKRO=y
# Some operating systems have problems with full support for consumer keycodes.
# Uncomment the following line if keycodes labeled "consumer" like C_AC_SEARCH don't work
#CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=y
#EC11 enable
CONFIG_EC11=y
CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y
#EXT POWER
CONFIG_ZMK_EXT_POWER=y
# MOUSE
# Mouse enable
CONFIG_ZMK_MOUSE=y
CONFIG_BT_CTLR_TX_PWR_PLUS_8=y
CONFIG_ZMK_HID_REPORT_TYPE_NKRO=n
CONFIG_ZMK_BACKLIGHT=y
CONFIG_ZMK_BACKLIGHT_BRT_START=100
CONFIG_ZMK_BACKLIGHT_ON_START=y
CONFIG_ZMK_BACKLIGHT_AUTO_OFF_IDLE=n
CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=3600000
# Uncomment the following line to increase the keyboard's wireless range
#CONFIG_BT_CTLR_TX_PWR_PLUS_8=y

72
config/eyelash_corne.json Normal file
View File

@ -0,0 +1,72 @@
{
"id": "eyelash_corne",
"name": "Eyelash Corne",
"layouts": {
"default_layout": {
"name": "default_layout",
"layout": [
{ "row": 0, "col": 0, "x": 0, "y": 0.37 },
{ "row": 0, "col": 1, "x": 1, "y": 0.37 },
{ "row": 0, "col": 2, "x": 2, "y": 0.12 },
{ "row": 0, "col": 3, "x": 3, "y": 0 },
{ "row": 0, "col": 4, "x": 4, "y": 0.12 },
{ "row": 0, "col": 5, "x": 5, "y": 0.24 },
{ "row": 0, "col": 9, "x": 9.25, "y": 0.24, "label": "5-way up" },
{ "row": 0, "col": 11, "x": 11.5, "y": 0.24 },
{ "row": 0, "col": 12, "x": 12.5, "y": 0.12 },
{ "row": 0, "col": 13, "x": 13.5, "y": 0 },
{ "row": 0, "col": 14, "x": 14.5, "y": 0.12 },
{ "row": 0, "col": 15, "x": 15.5, "y": 0.37 },
{ "row": 0, "col": 16, "x": 16.5, "y": 0.37 },
{ "row": 1, "col": 0, "x": 0, "y": 1.37 },
{ "row": 1, "col": 1, "x": 1, "y": 1.37 },
{ "row": 1, "col": 2, "x": 2, "y": 1.12 },
{ "row": 1, "col": 3, "x": 3, "y": 1 },
{ "row": 1, "col": 4, "x": 4, "y": 1.12 },
{ "row": 1, "col": 5, "x": 5, "y": 1.24 },
{ "row": 1, "col": 8, "x": 8.25, "y": 1.24, "label": "5-way left" },
{ "row": 1, "col": 9, "x": 9.25, "y": 1.24, "label": "5-way press" },
{ "row": 1, "col": 10, "x": 10.25, "y": 1.24, "label": "5-way right" },
{ "row": 1, "col": 11, "x": 11.5, "y": 1.24 },
{ "row": 1, "col": 12, "x": 12.5, "y": 1.12 },
{ "row": 1, "col": 13, "x": 13.5, "y": 1 },
{ "row": 1, "col": 14, "x": 14.5, "y": 1.12 },
{ "row": 1, "col": 15, "x": 15.5, "y": 1.37 },
{ "row": 1, "col": 16, "x": 16.5, "y": 1.37 },
{ "row": 2, "col": 0, "x": 0, "y": 2.37 },
{ "row": 2, "col": 1, "x": 1, "y": 2.37 },
{ "row": 2, "col": 2, "x": 2, "y": 2.12 },
{ "row": 2, "col": 3, "x": 3, "y": 2 },
{ "row": 2, "col": 4, "x": 4, "y": 2.12 },
{ "row": 2, "col": 5, "x": 5, "y": 2.24 },
{ "row": 2, "col": 6, "x": 6.25, "y": 2.24, "label": "4\n2" },
{ "row": 2, "col": 9, "x": 9.25, "y": 2.24, "label": "5-way down" },
{ "row": 2, "col": 11, "x": 11.5, "y": 2.24 },
{ "row": 2, "col": 12, "x": 12.5, "y": 2.12 },
{ "row": 2, "col": 13, "x": 13.5, "y": 2 },
{ "row": 2, "col": 14, "x": 14.5, "y": 2.12 },
{ "row": 2, "col": 15, "x": 15.5, "y": 2.37 },
{ "row": 2, "col": 16, "x": 16.5, "y": 2.37 },
{ "row": 3, "col": 3, "x": 3.5, "y": 3.12 },
{ "row": 3, "col": 4, "x": 4.5, "y": 3.12, "r": 12, "rx": 4.5, "ry": 4.12 },
{ "row": 3, "col": 5, "x": 5.5, "y": 3.12, "r": 24, "rx": 5.15, "ry": 4.33 },
{ "row": 3, "col": 11, "x": 11, "y": 3.12, "r": -24, "rx": 12.3, "ry": 4.33 },
{ "row": 3, "col": 12, "x": 12, "y": 3.12, "r": -12, "rx": 13, "ry": 4.12 },
{ "row": 3, "col": 13, "x": 13, "y": 3.12 }
]
}
},
"sensors": [
{
"ref": "left_encoder",
"name": "encoder_left",
"identifier": "encoder_left",
"compatible": "alps,ec11",
"label": "LEFT_ENCODER",
"enabled": true
}
]
}

View File

@ -0,0 +1,95 @@
#include <behaviors.dtsi>
#include <dt-bindings/zmk/bt.h>
#include <dt-bindings/zmk/keys.h>
#include <dt-bindings/zmk/mouse.h>
#include <dt-bindings/zmk/outputs.h>
#include <dt-bindings/zmk/rgb.h>
#include <input/processors.dtsi>
/*
&mmv_input_listener {
input-processors = <&zip_xy_scaler 2 1>;
};
&msc_input_listener {
input-processors = <&zip_xy_scaler 2 1>;
};
*/
#define ZMK_MOUSE_DEFAULT_MOVE_VAL 1200 // 600
#define ZMK_MOUSE_DEFAULT_SCRL_VAL 20 // 10
/ {
behaviors {
td0: td0 {
compatible = "zmk,behavior-tap-dance";
display-name = "Shift/Caps Lock Tap Dance";
#binding-cells = <0>;
bindings = <&kp LEFT_SHIFT>, <&kp CAPS>;
};
};
rgb_encoder: rgb_encoder {
compatible = "zmk,behavior-sensor-rotate";
#sensor-binding-cells = <0>;
bindings = <&rgb_ug RGB_BRI>, <&rgb_ug RGB_BRD>;
};
scroll_encoder: scroll_encoder {
compatible = "zmk,behavior-sensor-rotate";
#sensor-binding-cells = <0>;
bindings = <&msc SCRL_DOWN>, <&msc SCRL_UP>;
tap-ms = <30>;
};
keymap {
compatible = "zmk,keymap";
default_layer {
display-name = "QWERTY";
bindings = <
&kp TAB &kp Q &kp W &kp E &kp R &kp T &kp UP &kp Y &kp U &kp I &kp O &kp P &kp BSPC
&td0 &kp A &kp S &kp D &kp F &kp G &kp LEFT &kp ENTER &kp RIGHT &kp H &kp J &kp K &kp L &kp SEMI &kp SQT
&kp LCTRL &kp Z &kp X &kp C &kp V &kp B &kp SPACE &kp DOWN &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp ESC
&kp LGUI &mo 1 &lt 3 SPACE &lt 3 ENTER &mo 2 &kp RALT
>;
sensor-bindings = <&inc_dec_kp C_VOLUME_UP C_VOLUME_DOWN>;
};
lower_layer {
display-name = "NUMBER";
bindings = <
&trans &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &mmv MOVE_UP &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp BSPC
&trans &bt BT_CLR_ALL &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &mmv MOVE_LEFT &mkp LCLK &mmv MOVE_RIGHT &kp LEFT &kp DOWN &kp UP &kp RIGHT &kp HOME &kp PG_UP
&trans &rgb_ug RGB_OFF &rgb_ug RGB_ON &trans &trans &rgb_ug RGB_EFF &kp C_MUTE &mmv MOVE_DOWN &rgb_ug RGB_EFR &rgb_ug RGB_SPI &rgb_ug RGB_BRI &rgb_ug RGB_BRD &kp END &kp PG_DN
&trans &trans &trans &kp INS &kp DEL &trans
>;
sensor-bindings = <&scroll_encoder>;
};
raise_layer {
display-name = "SYMBOL";
bindings = <
&trans &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &mmv MOVE_UP &kp CARET &kp AMPS &kp ASTRK &kp LPAR &kp RPAR &kp BSPC
&trans &bt BT_CLR &mkp LCLK &mkp MCLK &mkp RCLK &mkp MB4 &mmv MOVE_LEFT &mkp LCLK &mmv MOVE_RIGHT &kp MINUS &kp EQUAL &kp LBKT &kp RBKT &kp BSLH &kp GRAVE
&trans &out OUT_USB &out OUT_BLE &none &none &mkp MB5 &trans &mmv MOVE_DOWN &kp UNDER &kp PLUS &kp LBRC &kp RBRC &kp PIPE &kp TILDE
&trans &trans &kp SPACE &kp RET &trans &trans
>;
sensor-bindings = <&scroll_encoder>;
};
layer_3 {
display-name = "Fn";
bindings = <
&trans &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &mmv MOVE_UP &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11
&trans &trans &mkp LCLK &mkp MCLK &mkp RCLK &mkp MB4 &mmv MOVE_LEFT &mkp LCLK &mmv MOVE_RIGHT &bootloader &mkp LCLK &mkp MCLK &mkp RCLK &kp PRINTSCREEN &kp F12
&trans &sys_reset &trans &bootloader &trans &mkp MB5 &kp C_MUTE &mmv MOVE_DOWN &trans &trans &bootloader &sys_reset &kp SCROLLLOCK &kp PAUSE_BREAK
&trans &trans &trans &trans &trans &trans
>;
sensor-bindings = <&scroll_encoder>;
};
};
};

View File

@ -1,12 +1,20 @@
manifest:
remotes:
- name: urob
url-base: https://github.com/urob
- name: zmkfirmware
url-base: https://github.com/zmkfirmware
# Additional modules containing boards/shields/custom code can be listed here as well.
# See:
# - https://zmk.dev/docs/features/modules
# - https://docs.zephyrproject.org/3.5.0/develop/west/manifest.html#projects
- name: petejohanson
url-base: https://github.com/petejohanson
projects:
- name: zmk
remote: urob
- name: eyelash_corne
url: https://github.com/a741725193/zmk-new_corne
revision: main
- name: zmk
remote: petejohanson
revision: feat/pointers-with-input-processors
import: app/west.yml
self:
path: config

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 75 KiB

View File

@ -1,198 +0,0 @@
layout: {qmk_keyboard: corne_rotated, qmk_layout: LAYOUT_split_3x6_3}
layers:
default:
- $$mdi:keyboard-tab$$
- Q
- W
- E
- R
- T
- $$mdi:arrow-up-bold$$
- Y
- U
- I
- O
- P
- {t: '$$mdi:backspace$$', type: backspace}
- '&td0'
- A
- S
- D
- F
- G
- $$mdi:arrow-down-bold$$
- H
- J
- K
- L
- {t: ;, s: ':'}
- {t: '''', s: '"'}
- $$mdi:apple-keyboard-control$$
- Z
- X
- C
- V
- B
- $$mdi:arrow-left-bold$$
- N
- M
- {t: ',', s: <}
- {t: ., s: '>'}
- {t: /, s: '?'}
- $$mdi:keyboard-esc$$
- $$mdi:keyboard-space$$
- LGUI
- lower
- {t: '$$mdi:keyboard-space$$', h: '3'}
- $$mdi:arrow-right-bold$$
- {t: '$$mdi:keyboard-return$$', h: '3'}
- raise
- $$mdi:apple-keyboard-option$$
- {t: '$$mdi:keyboard-return$$', type: enter}
lower:
- {t: '$$mdi:transfer$$', type: trans}
- {t: '1', s: '!'}
- {t: '2', s: '@'}
- {t: '3', s: '#'}
- {t: '4', s: $}
- {t: '5', s: '%'}
- {t: '$$mdi:menu-up$$', s: '$$mdi:mouse$$'}
- {t: '6', s: ^}
- {t: '7', s: '&'}
- {t: '8', s: '*'}
- {t: '9', s: (}
- {t: '0', s: )}
- {t: '$$mdi:backspace$$', type: backspace}
- {t: '$$mdi:transfer$$', type: trans}
- BT CLR ALL
- {h: '1', s: '$$mdi:bluetooth-connect$$'}
- {h: '2', s: '$$mdi:bluetooth-connect$$'}
- {h: '3', s: '$$mdi:bluetooth-connect$$'}
- {h: '4', s: '$$mdi:bluetooth-connect$$'}
- {t: '$$mdi:menu-down$$', s: '$$mdi:mouse$$'}
- $$mdi:arrow-left-bold$$
- $$mdi:arrow-down-bold$$
- $$mdi:arrow-up-bold$$
- $$mdi:arrow-right-bold$$
- HOME
- PG UP
- {t: '$$mdi:transfer$$', type: trans}
- RGB OFF
- RGB ON
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- RGB EFF
- {t: '$$mdi:menu-left$$', s: '$$mdi:mouse$$'}
- RGB EFR
- RGB SPI
- RGB BRI
- RGB BRD
- END
- PG DN
- $$mdi:volume-off$$
- {t: '$$mdi:transfer$$', type: trans}
- {type: held}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:menu-right$$', s: '$$mdi:mouse$$'}
- INS
- $$mdi:backspace-reverse-outline$$
- {t: '$$mdi:transfer$$', type: trans}
- $$mdi:mouse-left-click-outline$$
raise:
- {t: '$$mdi:transfer$$', type: trans}
- '!'
- '@'
- '#'
- $
- '%'
- {t: '$$mdi:menu-up$$', s: '$$mdi:mouse$$'}
- ^
- '&'
- '*'
- (
- )
- {t: '$$mdi:backspace$$', type: backspace}
- {t: '$$mdi:transfer$$', type: trans}
- $$mdi:bluetooth-off$$
- $$mdi:mouse-left-click-outline$$
- $$mdi:mouse-scroll-wheel$$
- $$mdi:mouse-right-click-outline$$
- '&mkp MB4'
- {t: '$$mdi:menu-down$$', s: '$$mdi:mouse$$'}
- {t: '-', s: _}
- {t: '=', s: +}
- {t: '[', s: '{'}
- {t: ']', s: '}'}
- {t: \, s: '|'}
- {t: '`', s: '~'}
- {t: '$$mdi:transfer$$', type: trans}
- OUT USB
- OUT BLE
- {t: '$$mdi:minus-circle-outline$$', type: none}
- {t: '$$mdi:minus-circle-outline$$', type: none}
- '&mkp MB5'
- {t: '$$mdi:menu-left$$', s: '$$mdi:mouse$$'}
- _
- +
- '{'
- '}'
- '|'
- '~'
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- $$mdi:keyboard-space$$
- {t: '$$mdi:menu-right$$', s: '$$mdi:mouse$$'}
- {t: '$$mdi:keyboard-return$$', type: enter}
- {type: held}
- {t: '$$mdi:transfer$$', type: trans}
- $$mdi:mouse-left-click-outline$$
'3':
- {t: '$$mdi:transfer$$', type: trans}
- F1
- F2
- F3
- F4
- F5
- {t: '$$mdi:menu-up$$', s: '$$mdi:mouse$$'}
- F6
- F7
- F8
- F9
- F10
- F11
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- $$mdi:mouse-left-click-outline$$
- $$mdi:mouse-scroll-wheel$$
- $$mdi:mouse-right-click-outline$$
- '&mkp MB4'
- {t: '$$mdi:menu-down$$', s: '$$mdi:mouse$$'}
- $$mdi:progress-download$$
- $$mdi:mouse-left-click-outline$$
- $$mdi:mouse-scroll-wheel$$
- $$mdi:mouse-right-click-outline$$
- PRINTSCREEN
- F12
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:backup-restore$$', type: bootloader}
- {t: '$$mdi:transfer$$', type: trans}
- $$mdi:progress-download$$
- {t: '$$mdi:transfer$$', type: trans}
- '&mkp MB5'
- {t: '$$mdi:menu-left$$', s: '$$mdi:mouse$$'}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- $$mdi:progress-download$$
- {t: '$$mdi:backup-restore$$', type: bootloader}
- SCROLLLOCK
- PAUSE BREAK
- $$mdi:volume-off$$
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {type: held}
- {t: '$$mdi:menu-right$$', s: '$$mdi:mouse$$'}
- {type: held alternate}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- $$mdi:mouse-left-click-outline$$

View File

@ -1,917 +0,0 @@
<svg width="1004" height="881" viewBox="0 0 1004 881" class="keymap" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>/* start glyphs */
<svg id="mdi:apple-keyboard-caps">
<svg xmlns="http://www.w3.org/2000/svg" id="mdi-apple-keyboard-caps" viewBox="0 0 24 24"><path d="M15,14V8H17.17L12,2.83L6.83,8H9V14H15M12,0L22,10H17V16H7V10H2L12,0M7,18H17V24H7V18M15,20H9V22H15V20Z" /></svg>
</svg>
<svg id="mdi:apple-keyboard-control">
<svg xmlns="http://www.w3.org/2000/svg" id="mdi-apple-keyboard-control" viewBox="0 0 24 24"><path d="M19.78,11.78L18.36,13.19L12,6.83L5.64,13.19L4.22,11.78L12,4L19.78,11.78Z" /></svg>
</svg>
<svg id="mdi:apple-keyboard-option">
<svg xmlns="http://www.w3.org/2000/svg" id="mdi-apple-keyboard-option" viewBox="0 0 24 24"><path d="M3,4H9.11L16.15,18H21V20H14.88L7.84,6H3V4M14,4H21V6H14V4Z" /></svg>
</svg>
<svg id="mdi:apple-keyboard-shift">
<svg xmlns="http://www.w3.org/2000/svg" id="mdi-apple-keyboard-shift" viewBox="0 0 24 24"><path d="M15,18V12H17.17L12,6.83L6.83,12H9V18H15M12,4L22,14H17V20H7V14H2L12,4Z" /></svg>
</svg>
<svg id="mdi:arrow-down-bold">
<svg xmlns="http://www.w3.org/2000/svg" id="mdi-arrow-down-bold" viewBox="0 0 24 24"><path d="M9,4H15V12H19.84L12,19.84L4.16,12H9V4Z" /></svg>
</svg>
<svg id="mdi:arrow-left-bold">
<svg xmlns="http://www.w3.org/2000/svg" id="mdi-arrow-left-bold" viewBox="0 0 24 24"><path d="M20,9V15H12V19.84L4.16,12L12,4.16V9H20Z" /></svg>
</svg>
<svg id="mdi:arrow-right-bold">
<svg xmlns="http://www.w3.org/2000/svg" id="mdi-arrow-right-bold" viewBox="0 0 24 24"><path d="M4,15V9H12V4.16L19.84,12L12,19.84V15H4Z" /></svg>
</svg>
<svg id="mdi:arrow-up-bold">
<svg xmlns="http://www.w3.org/2000/svg" id="mdi-arrow-up-bold" viewBox="0 0 24 24"><path d="M15,20H9V12H4.16L12,4.16L19.84,12H15V20Z" /></svg>
</svg>
<svg id="mdi:backspace">
<svg xmlns="http://www.w3.org/2000/svg" id="mdi-backspace" viewBox="0 0 24 24"><path d="M22,3H7C6.31,3 5.77,3.35 5.41,3.88L0,12L5.41,20.11C5.77,20.64 6.31,21 7,21H22A2,2 0 0,0 24,19V5A2,2 0 0,0 22,3M19,15.59L17.59,17L14,13.41L10.41,17L9,15.59L12.59,12L9,8.41L10.41,7L14,10.59L17.59,7L19,8.41L15.41,12" /></svg>
</svg>
<svg id="mdi:keyboard-esc">
<svg xmlns="http://www.w3.org/2000/svg" id="mdi-keyboard-esc" viewBox="0 0 24 24"><path d="M1 7H7V9H3V11H7V13H3V15H7V17H1V7M11 7H15V9H11V11H13C14.11 11 15 11.9 15 13V15C15 16.11 14.11 17 13 17H9V15H13V13H11C9.9 13 9 12.11 9 11V9C9 7.9 9.9 7 11 7M19 7H21C22.11 7 23 7.9 23 9V10H21V9H19V15H21V14H23V15C23 16.11 22.11 17 21 17H19C17.9 17 17 16.11 17 15V9C17 7.9 17.9 7 19 7Z" /></svg>
</svg>
<svg id="mdi:keyboard-return">
<svg xmlns="http://www.w3.org/2000/svg" id="mdi-keyboard-return" viewBox="0 0 24 24"><path d="M19,7V11H5.83L9.41,7.41L8,6L2,12L8,18L9.41,16.58L5.83,13H21V7H19Z" /></svg>
</svg>
<svg id="mdi:keyboard-space">
<svg xmlns="http://www.w3.org/2000/svg" id="mdi-keyboard-space" viewBox="0 0 24 24"><path d="M3 15H5V19H19V15H21V19C21 20.1 20.1 21 19 21H5C3.9 21 3 20.1 3 19V15Z" /></svg>
</svg>
<svg id="mdi:keyboard-tab">
<svg xmlns="http://www.w3.org/2000/svg" id="mdi-keyboard-tab" viewBox="0 0 24 24"><path d="M20,18H22V6H20M11.59,7.41L15.17,11H1V13H15.17L11.59,16.58L13,18L19,12L13,6L11.59,7.41Z" /></svg>
</svg>
<svg id="mdi:transfer">
<svg xmlns="http://www.w3.org/2000/svg" id="mdi-transfer" viewBox="0 0 24 24"><path d="M8 4A2 2 0 0 0 6 6V10H8V6H16V9H13.5L17 12.5L20.5 9H18V6A2 2 0 0 0 16 4H8M3 12V14H11V12H3M3 15V17H11V15H3M13 15V17H21V15H13M3 18V20H11V18H3M13 18V20H21V18H13Z" /></svg>
</svg>
</defs>/* end glyphs */
<style>:root {
--fg-color: #24292e;
--key-color: #f6f8fa;
--outline-color: #c9cccf;
--combo-color: #ccddff;
--held-color: #ffdddd;
--font-size: 14px;
--small-font-size: 11px;
--tiny-font-size: 8px;
--dendron-color: #808080;
--trans-fg-color: #7b7e81;
}
/* inherit to force styles through use tags */
svg path {
fill: inherit;
}
/* font and background color specifications */
svg.keymap {
font-family: SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;
font-size: var(--font-size);
font-kerning: normal;
text-rendering: optimizeLegibility;
fill: var(--fg-color);
}
/* default key styling */
rect.key {
fill: var(--key-color);
}
rect.key, rect.combo {
stroke: var(--outline-color);
stroke-width: 1;
}
/* default key side styling, only used is draw_key_sides is set */
rect.side {
filter: brightness(90%);
}
/* color accent for combo boxes */
rect.combo, rect.combo-separate {
fill: var(--combo-color);
}
/* color accent for held keys */
rect.held, rect.combo.held {
fill: var(--held-color);
}
/* styling for ghost (optional) keys */
rect.ghost, rect.combo.ghost {
stroke-dasharray: 4, 4;
stroke-width: 2;
}
text {
text-anchor: middle;
dominant-baseline: middle;
}
/* styling for layer labels */
text.label {
font-weight: bold;
text-anchor: start;
stroke: white;
stroke-width: 4;
paint-order: stroke;
}
/* styling for optional footer */
text.footer {
text-anchor: end;
dominant-baseline: auto;
stroke: white;
stroke-width: 4;
paint-order: stroke;
}
/* styling for combo tap, and key hold/shifted label text */
text.combo, text.hold, text.shifted {
font-size: var(--small-font-size);
}
text.hold {
text-anchor: middle;
dominant-baseline: auto;
}
text.shifted {
text-anchor: middle;
dominant-baseline: hanging;
}
/* styling for hold/shifted label text in combo box */
text.combo.hold, text.combo.shifted {
font-size: var(--tiny-font-size);
}
/* lighter symbol for transparent keys */
text.trans {
fill: var(--trans-fg-color);
}
/* styling for combo dendrons */
path.combo {
stroke-width: 1;
stroke: var(--dendron-color);
fill: none;
}
/* Start Tabler Icons Cleanup */
/* cannot use height/width with glyphs */
.icon-tabler > path {
fill: inherit;
stroke: inherit;
stroke-width: 2;
}
/* hide tabler's default box */
.icon-tabler > path[stroke="none"][fill="none"] {
visibility: hidden;
}
/* End Tabler Icons Cleanup */
/* 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: 12px;
font-weight: bold;
text-rendering: optimizeLegibility;
}
/* Color accent for held keys */
rect.held, rect.combo.held {
fill: #ffc;
}
/* 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;
}
</style>
<g transform="translate(40, 0)" class="layer-Qwery">
<text x="0" y="28" class="label">Qwery:</text>
<g transform="translate(0, 56)">
<g transform="translate(28, 56)" class="key keypos-0">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<use href="#mdi:keyboard-esc" xlink:href="#mdi:keyboard-esc" x="-9" y="-13" height="18" width="18.0" class="key tap glyph mdi:keyboard-esc"/>
</g>
<g transform="translate(84, 56)" class="key keypos-1">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">1</text>
<text x="0" y="-24" class="key shifted">!</text>
</g>
<g transform="translate(140, 35)" class="key keypos-2">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">2</text>
<text x="0" y="-24" class="key shifted">@</text>
</g>
<g transform="translate(196, 28)" class="key keypos-3">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">3</text>
<text x="0" y="-24" class="key shifted">#</text>
</g>
<g transform="translate(252, 35)" class="key keypos-4">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">4</text>
<text x="0" y="-24" class="key shifted">$</text>
</g>
<g transform="translate(308, 35)" class="key keypos-5">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">5</text>
<text x="0" y="-24" class="key shifted">%</text>
</g>
<g transform="translate(462, 35)" class="key keypos-6">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<use href="#mdi:arrow-up-bold" xlink:href="#mdi:arrow-up-bold" x="-9" y="-13" height="18" width="18.0" class="key tap glyph mdi:arrow-up-bold"/>
</g>
<g transform="translate(616, 35)" class="key keypos-7">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">6</text>
<text x="0" y="-24" class="key shifted">^</text>
</g>
<g transform="translate(672, 35)" class="key keypos-8">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">7</text>
<text x="0" y="-24" class="key shifted">&amp;</text>
</g>
<g transform="translate(728, 28)" class="key keypos-9">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">8</text>
<text x="0" y="-24" class="key shifted">*</text>
</g>
<g transform="translate(784, 35)" class="key keypos-10">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">9</text>
<text x="0" y="-24" class="key shifted">(</text>
</g>
<g transform="translate(840, 56)" class="key keypos-11">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">0</text>
<text x="0" y="-24" class="key shifted">)</text>
</g>
<g transform="translate(896, 56)" class="key keypos-12">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">-</text>
<text x="0" y="-24" class="key shifted">_</text>
</g>
<g transform="translate(28, 112)" class="key keypos-13">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<use href="#mdi:keyboard-tab" xlink:href="#mdi:keyboard-tab" x="-9" y="-13" height="18" width="18.0" class="key tap glyph mdi:keyboard-tab"/>
</g>
<g transform="translate(84, 112)" class="key keypos-14">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">Q</text>
</g>
<g transform="translate(140, 91)" class="key keypos-15">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">W</text>
</g>
<g transform="translate(196, 84)" class="key keypos-16">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">E</text>
</g>
<g transform="translate(252, 91)" class="key keypos-17">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">R</text>
</g>
<g transform="translate(308, 91)" class="key keypos-18">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">T</text>
</g>
<g transform="translate(462, 147)" class="key keypos-19">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<use href="#mdi:arrow-down-bold" xlink:href="#mdi:arrow-down-bold" x="-9" y="-13" height="18" width="18.0" class="key tap glyph mdi:arrow-down-bold"/>
</g>
<g transform="translate(616, 91)" class="key keypos-20">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">Y</text>
</g>
<g transform="translate(672, 91)" class="key keypos-21">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">U</text>
</g>
<g transform="translate(728, 84)" class="key keypos-22">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">I</text>
</g>
<g transform="translate(784, 91)" class="key keypos-23">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">O</text>
</g>
<g transform="translate(840, 112)" class="key keypos-24">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">P</text>
</g>
<g transform="translate(896, 112)" class="key keypos-25">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">]</text>
<text x="0" y="-24" class="key shifted">}</text>
</g>
<g transform="translate(28, 168)" class="key keypos-26">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<use href="#mdi:apple-keyboard-caps" xlink:href="#mdi:apple-keyboard-caps" x="-9" y="-13" height="18" width="18.0" class="key tap glyph mdi:apple-keyboard-caps"/>
</g>
<g transform="translate(84, 168)" class="key keypos-27">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">A</text>
</g>
<g transform="translate(140, 147)" class="key keypos-28">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">S</text>
</g>
<g transform="translate(196, 140)" class="key keypos-29">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">D</text>
</g>
<g transform="translate(252, 147)" class="key keypos-30">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">F</text>
</g>
<g transform="translate(308, 147)" class="key keypos-31">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">G</text>
</g>
<g transform="translate(406, 91)" class="key keypos-32">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<use href="#mdi:arrow-left-bold" xlink:href="#mdi:arrow-left-bold" x="-9" y="-13" height="18" width="18.0" class="key tap glyph mdi:arrow-left-bold"/>
</g>
<g transform="translate(616, 147)" class="key keypos-33">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">H</text>
</g>
<g transform="translate(672, 147)" class="key keypos-34">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">J</text>
</g>
<g transform="translate(728, 140)" class="key keypos-35">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">K</text>
</g>
<g transform="translate(784, 147)" class="key keypos-36">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">L</text>
</g>
<g transform="translate(840, 168)" class="key keypos-37">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">;</text>
<text x="0" y="-24" class="key shifted">:</text>
</g>
<g transform="translate(896, 168)" class="key keypos-38">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">.</text>
</g>
<g transform="translate(28, 224)" class="key keypos-39">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<use href="#mdi:apple-keyboard-shift" xlink:href="#mdi:apple-keyboard-shift" x="-9" y="-13" height="18" width="18.0" class="key tap glyph mdi:apple-keyboard-shift"/>
</g>
<g transform="translate(84, 224)" class="key keypos-40">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">Z</text>
</g>
<g transform="translate(140, 203)" class="key keypos-41">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">X</text>
</g>
<g transform="translate(196, 196)" class="key keypos-42">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">C</text>
</g>
<g transform="translate(252, 203)" class="key keypos-43">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">V</text>
</g>
<g transform="translate(308, 203)" class="key keypos-44">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">B</text>
</g>
<g transform="translate(518, 91)" class="key keypos-45">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<use href="#mdi:arrow-right-bold" xlink:href="#mdi:arrow-right-bold" x="-9" y="-13" height="18" width="18.0" class="key tap glyph mdi:arrow-right-bold"/>
</g>
<g transform="translate(616, 203)" class="key keypos-46">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">N</text>
</g>
<g transform="translate(672, 203)" class="key keypos-47">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">M</text>
</g>
<g transform="translate(728, 196)" class="key keypos-48">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">,</text>
<text x="0" y="-24" class="key shifted">&lt;</text>
</g>
<g transform="translate(784, 203)" class="key keypos-49">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">.</text>
<text x="0" y="-24" class="key shifted">&gt;</text>
</g>
<g transform="translate(840, 224)" class="key keypos-50">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">/</text>
<text x="0" y="-24" class="key shifted">?</text>
</g>
<g transform="translate(896, 224)" class="key enter keypos-51">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key enter side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key enter"/>
<use href="#mdi:keyboard-return" xlink:href="#mdi:keyboard-return" x="-9" y="-13" height="18" width="18.0" class="key enter tap glyph mdi:keyboard-return"/>
</g>
<g transform="translate(392, 217)" class="key backspace keypos-52">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key backspace side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key backspace"/>
<use href="#mdi:backspace" xlink:href="#mdi:backspace" x="-9" y="-13" height="18" width="18.0" class="key backspace tap glyph mdi:backspace"/>
</g>
<g transform="translate(140, 259)" class="key keypos-53">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<use href="#mdi:apple-keyboard-control" xlink:href="#mdi:apple-keyboard-control" x="-9" y="-13" height="18" width="18.0" class="key tap glyph mdi:apple-keyboard-control"/>
</g>
<g transform="translate(196, 252)" class="key keypos-54">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<use href="#mdi:apple-keyboard-option" xlink:href="#mdi:apple-keyboard-option" x="-9" y="-13" height="18" width="18.0" class="key tap glyph mdi:apple-keyboard-option"/>
</g>
<g transform="translate(252, 259)" class="key keypos-55">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">LGUI</text>
</g>
<g transform="translate(314, 283) rotate(30.0)" class="key keypos-56">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<use href="#mdi:keyboard-space" xlink:href="#mdi:keyboard-space" x="-9" y="-13" height="18" width="18.0" class="key tap glyph mdi:keyboard-space"/>
</g>
<g transform="translate(382, 306) rotate(30.0)" class="key enter keypos-57">
<rect rx="6" ry="6" x="-26" y="-40" width="52" height="80" class="key enter side"/>
<rect rx="4" ry="4" x="-20" y="-38" width="40" height="68" class="key enter"/>
<use href="#mdi:keyboard-return" xlink:href="#mdi:keyboard-return" x="-9" y="-13" height="18" width="18.0" class="key enter tap glyph mdi:keyboard-return"/>
</g>
<g transform="translate(462, 91)" class="key enter keypos-58">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key enter side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key enter"/>
<use href="#mdi:keyboard-return" xlink:href="#mdi:keyboard-return" x="-9" y="-13" height="18" width="18.0" class="key enter tap glyph mdi:keyboard-return"/>
</g>
<g transform="translate(542, 306) rotate(-30.0)" class="key enter keypos-59">
<rect rx="6" ry="6" x="-26" y="-40" width="52" height="80" class="key enter side"/>
<rect rx="4" ry="4" x="-20" y="-38" width="40" height="68" class="key enter"/>
<use href="#mdi:keyboard-return" xlink:href="#mdi:keyboard-return" x="-9" y="-13" height="18" width="18.0" class="key enter tap glyph mdi:keyboard-return"/>
</g>
<g transform="translate(610, 283) rotate(-30.0)" class="key keypos-60">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<use href="#mdi:keyboard-space" xlink:href="#mdi:keyboard-space" x="-9" y="-13" height="18" width="18.0" class="key tap glyph mdi:keyboard-space"/>
</g>
<g transform="translate(672, 259)" class="key keypos-61">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap">RGUI</text>
</g>
<g transform="translate(728, 252)" class="key keypos-62">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<use href="#mdi:apple-keyboard-option" xlink:href="#mdi:apple-keyboard-option" x="-9" y="-13" height="18" width="18.0" class="key tap glyph mdi:apple-keyboard-option"/>
</g>
<g transform="translate(784, 259)" class="key keypos-63">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<use href="#mdi:apple-keyboard-control" xlink:href="#mdi:apple-keyboard-control" x="-9" y="-13" height="18" width="18.0" class="key tap glyph mdi:apple-keyboard-control"/>
</g>
</g>
</g>
<g transform="translate(40, 412)" class="layer-Flash">
<text x="0" y="28" class="label">Flash:</text>
<g transform="translate(0, 56)">
<g transform="translate(28, 56)" class="key keypos-0">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key"/>
<text x="0" y="-4" class="key tap"><tspan style="font-size: 60%">&amp;flash_ma…</tspan></text>
</g>
<g transform="translate(84, 56)" class="key trans keypos-1">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(140, 35)" class="key trans keypos-2">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(196, 28)" class="key trans keypos-3">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(252, 35)" class="key trans keypos-4">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(308, 35)" class="key trans keypos-5">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(462, 35)" class="key trans keypos-6">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(616, 35)" class="key trans keypos-7">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(672, 35)" class="key trans keypos-8">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(728, 28)" class="key trans keypos-9">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(784, 35)" class="key trans keypos-10">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(840, 56)" class="key trans keypos-11">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(896, 56)" class="key trans keypos-12">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(28, 112)" class="key trans keypos-13">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(84, 112)" class="key trans keypos-14">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(140, 91)" class="key trans keypos-15">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(196, 84)" class="key trans keypos-16">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(252, 91)" class="key trans keypos-17">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(308, 91)" class="key trans keypos-18">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(462, 147)" class="key trans keypos-19">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(616, 91)" class="key trans keypos-20">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(672, 91)" class="key trans keypos-21">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(728, 84)" class="key trans keypos-22">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(784, 91)" class="key trans keypos-23">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(840, 112)" class="key trans keypos-24">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(896, 112)" class="key trans keypos-25">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(28, 168)" class="key trans keypos-26">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(84, 168)" class="key trans keypos-27">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(140, 147)" class="key trans keypos-28">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(196, 140)" class="key trans keypos-29">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(252, 147)" class="key trans keypos-30">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(308, 147)" class="key trans keypos-31">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(406, 91)" class="key trans keypos-32">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(616, 147)" class="key trans keypos-33">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(672, 147)" class="key trans keypos-34">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(728, 140)" class="key trans keypos-35">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(784, 147)" class="key trans keypos-36">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(840, 168)" class="key trans keypos-37">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(896, 168)" class="key trans keypos-38">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(28, 224)" class="key trans keypos-39">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(84, 224)" class="key trans keypos-40">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(140, 203)" class="key trans keypos-41">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(196, 196)" class="key trans keypos-42">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(252, 203)" class="key trans keypos-43">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(308, 203)" class="key trans keypos-44">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(518, 91)" class="key trans keypos-45">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(616, 203)" class="key trans keypos-46">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(672, 203)" class="key trans keypos-47">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(728, 196)" class="key trans keypos-48">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(784, 203)" class="key trans keypos-49">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(840, 224)" class="key trans keypos-50">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(896, 224)" class="key trans keypos-51">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(392, 217)" class="key trans keypos-52">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(140, 259)" class="key trans keypos-53">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(196, 252)" class="key trans keypos-54">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(252, 259)" class="key trans keypos-55">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(314, 283) rotate(30.0)" class="key trans keypos-56">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(382, 306) rotate(30.0)" class="key trans keypos-57">
<rect rx="6" ry="6" x="-26" y="-40" width="52" height="80" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-38" width="40" height="68" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(462, 91)" class="key trans keypos-58">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(542, 306) rotate(-30.0)" class="key trans keypos-59">
<rect rx="6" ry="6" x="-26" y="-40" width="52" height="80" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-38" width="40" height="68" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(610, 283) rotate(-30.0)" class="key trans keypos-60">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(672, 259)" class="key trans keypos-61">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(728, 252)" class="key trans keypos-62">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
<g transform="translate(784, 259)" class="key trans keypos-63">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key trans side"/>
<rect rx="4" ry="4" x="-20" y="-24" width="40" height="40" class="key trans"/>
<use href="#mdi:transfer" xlink:href="#mdi:transfer" x="-9" y="-13" height="18" width="18.0" class="key trans tap glyph mdi:transfer"/>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 50 KiB

View File

@ -1,132 +0,0 @@
layout: {qmk_keyboard: corne/rev1}
layers:
Qwery:
- $$mdi:keyboard-esc$$
- {t: '1', s: '!'}
- {t: '2', s: '@'}
- {t: '3', s: '#'}
- {t: '4', s: $}
- {t: '5', s: '%'}
- $$mdi:arrow-up-bold$$
- {t: '6', s: ^}
- {t: '7', s: '&'}
- {t: '8', s: '*'}
- {t: '9', s: (}
- {t: '0', s: )}
- {t: '-', s: _}
- $$mdi:keyboard-tab$$
- Q
- W
- E
- R
- T
- $$mdi:arrow-down-bold$$
- Y
- U
- I
- O
- P
- {t: ']', s: '}'}
- $$mdi:apple-keyboard-caps$$
- A
- S
- D
- F
- G
- $$mdi:arrow-left-bold$$
- H
- J
- K
- L
- {t: ;, s: ':'}
- .
- $$mdi:apple-keyboard-shift$$
- Z
- X
- C
- V
- B
- $$mdi:arrow-right-bold$$
- N
- M
- {t: ',', s: <}
- {t: ., s: '>'}
- {t: /, s: '?'}
- {t: '$$mdi:keyboard-return$$', type: enter}
- {t: '$$mdi:backspace$$', type: backspace}
- $$mdi:apple-keyboard-control$$
- $$mdi:apple-keyboard-option$$
- LGUI
- $$mdi:keyboard-space$$
- {t: '$$mdi:keyboard-return$$', type: enter}
- {t: '$$mdi:keyboard-return$$', type: enter}
- {t: '$$mdi:keyboard-return$$', type: enter}
- $$mdi:keyboard-space$$
- RGUI
- $$mdi:apple-keyboard-option$$
- $$mdi:apple-keyboard-control$$
Flash:
- '&flash_macro'
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}

3
zephyr/module.yml Normal file
View File

@ -0,0 +1,3 @@
build:
settings:
board_root: .