Add Dactyl
boards
This commit is contained in:
parent
b276a3bfb0
commit
7e756a9ff2
40 changed files with 1057 additions and 0 deletions
18
app/boards/shields/dactyl/Kconfig.defconfig
Normal file
18
app/boards/shields/dactyl/Kconfig.defconfig
Normal file
|
@ -0,0 +1,18 @@
|
|||
# Copyright (c) 2023 Matt Adereth
|
||||
# SPDX-License-Identifier: MIT
|
||||
if SHIELD_DACTYL_LEFT
|
||||
|
||||
config ZMK_KEYBOARD_NAME
|
||||
default "Dactyl"
|
||||
|
||||
config ZMK_SPLIT_ROLE_CENTRAL
|
||||
default y
|
||||
|
||||
endif
|
||||
|
||||
if SHIELD_DACTYL_LEFT || SHIELD_DACTYL_RIGHT
|
||||
|
||||
config ZMK_SPLIT
|
||||
default y
|
||||
|
||||
endif
|
8
app/boards/shields/dactyl/Kconfig.shield
Normal file
8
app/boards/shields/dactyl/Kconfig.shield
Normal file
|
@ -0,0 +1,8 @@
|
|||
# Copyright (c) 2023 Matt Adereth
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
config SHIELD_DACTYL_LEFT
|
||||
def_bool $(shields_list_contains,dactyl_left)
|
||||
|
||||
config SHIELD_DACTYL_RIGHT
|
||||
def_bool $(shields_list_contains,dactyl_right)
|
6
app/boards/shields/dactyl/dactyl.conf
Normal file
6
app/boards/shields/dactyl/dactyl.conf
Normal file
|
@ -0,0 +1,6 @@
|
|||
# Uncomment the following lines to enable the Corne RGB Underglow
|
||||
# CONFIG_ZMK_RGB_UNDERGLOW=y
|
||||
# CONFIG_WS2812_STRIP=y
|
||||
|
||||
# Uncomment the following line to enable the Corne OLED Display
|
||||
# CONFIG_ZMK_DISPLAY=y
|
55
app/boards/shields/dactyl/dactyl.dtsi
Normal file
55
app/boards/shields/dactyl/dactyl.dtsi
Normal file
|
@ -0,0 +1,55 @@
|
|||
/*
|
||||
* Copyright (c) 2023 Matt Adereth
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
};
|
||||
|
||||
default_transform: keymap_transform_0 {
|
||||
compatible = "zmk,matrix-transform";
|
||||
columns = <12>;
|
||||
rows = <6>;
|
||||
|
||||
// | SW1 | SW2 | SW3 | SW4 | SW5 | SW6 | | SW6 | SW5 | SW4 | SW3 | SW2 | SW1 |
|
||||
// | SW7 | SW8 | SW9 | SW10 | SW11 | SW12 | | SW12 | SW11 | SW10 | SW9 | SW8 | SW7 |
|
||||
// | SW13 | SW14 | SW15 | SW16 | SW17 | SW18 | | SW18 | SW17 | SW16 | SW15 | SW14 | SW13 |
|
||||
// | SW19 | SW20 | SW21 | SW22 | SW23 | SW24 | | SW24 | SW23 | SW22 | SW21 | SW20 | SW19 |
|
||||
// | SW25 | SW26 | SW27 | SW28 | SW29 | | SW29 | SW28 | SW27 | SW26 | SW25 |
|
||||
// | SW32 | SW33 | | SW33 | SW32 |
|
||||
// | SW30 | SW36 | SW34 | | SW34 | SW36 | SW30 |
|
||||
// | SW35 | | SW35 |
|
||||
map = <
|
||||
RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,11) RC(0,10) RC(0,9) RC(0,8) RC(0,7) RC(0,6)
|
||||
RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,11) RC(1,10) RC(1,9) RC(1,8) RC(1,7) RC(1,6)
|
||||
RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,11) RC(2,10) RC(2,9) RC(2,8) RC(2,7) RC(2,6)
|
||||
RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(3,11) RC(3,10) RC(3,9) RC(3,8) RC(3,7) RC(3,6)
|
||||
RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,10) RC(4,9) RC(4,8) RC(4,7) RC(4,6)
|
||||
RC(5,1) RC(5,2) RC(5,8) RC(5,7)
|
||||
RC(4,5) RC(5,5) RC(5,3) RC(5,9) RC(5,11) RC(4,11)
|
||||
RC(5,4) RC(5,10)
|
||||
>;
|
||||
};
|
||||
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
label = "KSCAN";
|
||||
|
||||
diode-direction = "col2row";
|
||||
|
||||
row-gpios
|
||||
= <&pro_micro 19 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 18 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 15 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 14 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 16 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
;
|
||||
};
|
||||
};
|
135
app/boards/shields/dactyl/dactyl.keymap
Normal file
135
app/boards/shields/dactyl/dactyl.keymap
Normal file
|
@ -0,0 +1,135 @@
|
|||
/*
|
||||
* Copyright (c) 2023 Matt Adereth
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <behaviors.dtsi>
|
||||
#include <dt-bindings/zmk/keys.h>
|
||||
#include <dt-bindings/zmk/bt.h>
|
||||
|
||||
/ {
|
||||
keymap {
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
deafult_layer {
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
|
||||
// ------ ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | CAP | Q | W | E | R | T | | Y | U | I | O | P | \ |
|
||||
// ------ ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | TAB | A | S | D | F | G | | H | J | K | L | ; | ' |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | SFT | Z | X | C | V | B | | N | M | , | . | / | SFT |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | CTL | - | = | ← | → | | ↑ | ↓ | [ | ] | CTL |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | ALT | GUI | | GUI | ALT |
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
// | | | HOM | | PG↑ | | |
|
||||
// | BSP | SPC |----- -----| ENT | DEL |
|
||||
// |(lt1)| | END | | PG↓ | |(lt2)|
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
bindings = <
|
||||
&kp ESC &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp GRAVE
|
||||
&kp CAPS &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp BSLH
|
||||
&kp TAB &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp SQT
|
||||
&kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp RSHFT
|
||||
&kp LCTRL &kp MINUS &kp EQUAL &kp LEFT &kp RIGHT &kp UP &kp DOWN &kp LBKT &kp RBKT &kp RCTRL
|
||||
&kp LALT &kp LGUI &kp RGUI &kp LALT
|
||||
< 1 BSPC &kp SPACE &kp HOME &kp PG_UP &kp ENT < 2 DEL
|
||||
&kp END &kp PG_DN
|
||||
>;
|
||||
};
|
||||
|
||||
tkm_layer {
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | | | | | | | | | | | | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | | | | | | | KP( | KP7 | KP8 | KP9 | KP) | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | SLK | INS | BRK | PSC | | | KP* | KP4 | KP5 | KP6 | KP+ | NLK |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | | | | | | | KP/ | KP1 | KP2 | KP3 | KP- | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | | | | | | KP, | KP0 | KP. | KP↵ | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | | | ◌ | ◌ |
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
// | | | | | | | |
|
||||
// | ◌ | |----- -----| SFT | mo3 |
|
||||
// | | | | | CTL | | |
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
bindings = <
|
||||
&none &none &none &none &none &none &none &none &none &none &none &none
|
||||
&none &none &none &none &none &none &kp KP_LPAR &kp KP_N7 &kp KP_N8 &kp KP_N9 &kp KP_RPAR &none
|
||||
&none &kp SLCK &kp INS &kp PAUSE_BREAK &kp PSCRN &none &kp KP_ASTERISK &kp KP_N4 &kp KP_N5 &kp KP_N6 &kp KP_PLUS &kp KP_NUM
|
||||
&none &none &none &none &none &none &kp KP_SLASH &kp KP_N1 &kp KP_N2 &kp KP_N3 &kp KP_MINUS &none
|
||||
&none &none &none &none &none &kp KP_COMMA &kp KP_N0 &kp KP_DOT &kp KP_ENTER &none
|
||||
&none &none &trans &trans
|
||||
&trans &none &none &none &kp RSHFT &mo 3
|
||||
&none &kp RCTRL
|
||||
>;
|
||||
};
|
||||
|
||||
function_layer {
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | | | | | | | | | | | | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | F4 | F3 | F2 | F1 | | | | F13 | F14 | F15 | F16 | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | F8 | F7 | F6 | F5 | | | | F17 | F18 | F19 | F20 | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | F12 | F11 | F10 | F9 | | | | F21 | F22 | F23 | F24 | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | | | | | | | | | | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | ◌ | ◌ | | | |
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
// | | | | | | | |
|
||||
// | mo3 | SFT |----- -----| | ◌ |
|
||||
// | | | CTL | | | | |
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
bindings = <
|
||||
&none &none &none &none &none &none &none &none &none &none &none &none
|
||||
&none &kp F4 &kp F3 &kp F2 &kp F1 &none &none &kp F13 &kp F14 &kp F15 &kp F16 &none
|
||||
&none &kp F8 &kp F7 &kp F6 &kp F5 &none &none &kp F17 &kp F18 &kp F19 &kp F20 &none
|
||||
&none &kp F12 &kp F11 &kp F10 &kp F9 &none &none &kp F21 &kp F22 &kp F23 &kp F24 &none
|
||||
&none &none &none &none &none &none &none &none &none &none
|
||||
&trans &trans &none &none
|
||||
&mo 3 &kp LSHFT &none &none &none &trans
|
||||
&kp LCTRL &none
|
||||
>;
|
||||
};
|
||||
|
||||
system_layer {
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | | | | | | | | | | | | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | | | | | | | | VL+ | | BR+ | | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | BT5 | BT4 | BT3 | BT2 | BT1 | | | | VLm | mNT | mPP | mPV | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | BTC | | | | | | | | VL- | | BR- | | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | | | RST | BLR | | BLR | RST | | | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | | | | |
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
// | | | | | | | |
|
||||
// | ◌ | |----- -----| | ◌ |
|
||||
// | | | | | | | |
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
bindings = <
|
||||
&none &none &none &none &none &none &none &none &none &none &none &none
|
||||
&none &none &none &none &none &none &none &kp C_VOL_UP &none &kp C_BRI_UP &none &none
|
||||
&bt BT_SEL 5 &bt BT_SEL 4 &bt BT_SEL 3 &bt BT_SEL 2 &bt BT_SEL 1 &none &none &kp C_MUTE &kp C_NEXT &kp C_PP &kp C_PREV &none
|
||||
&bt BT_CLR &none &none &none &none &none &none &kp C_VOL_DN &none &kp C_BRI_DN &none &none
|
||||
&none &none &none &sys_reset &bootloader &bootloader &sys_reset &none &none &none
|
||||
&none &none &none &none
|
||||
&trans &none &none &none &none &trans
|
||||
&none &none
|
||||
>;
|
||||
};
|
||||
};
|
||||
};
|
11
app/boards/shields/dactyl/dactyl.zmk.yml
Normal file
11
app/boards/shields/dactyl/dactyl.zmk.yml
Normal file
|
@ -0,0 +1,11 @@
|
|||
file_format: "1"
|
||||
id: dactyl
|
||||
name: Dactyl
|
||||
type: shield
|
||||
url: https://github.com/adereth/dactyl-keyboard
|
||||
requires: [pro_micro]
|
||||
features:
|
||||
- keys
|
||||
siblings:
|
||||
- dactyl_left
|
||||
- dactyl_right
|
0
app/boards/shields/dactyl/dactyl_left.conf
Normal file
0
app/boards/shields/dactyl/dactyl_left.conf
Normal file
18
app/boards/shields/dactyl/dactyl_left.overlay
Normal file
18
app/boards/shields/dactyl/dactyl_left.overlay
Normal file
|
@ -0,0 +1,18 @@
|
|||
/*
|
||||
* Copyright (c) 2023 Matt Adereth
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include "dactyl.dtsi"
|
||||
|
||||
&kscan0 {
|
||||
col-gpios
|
||||
= <&pro_micro 4 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 5 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 6 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 7 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 8 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 9 GPIO_ACTIVE_HIGH>
|
||||
;
|
||||
};
|
0
app/boards/shields/dactyl/dactyl_right.conf
Normal file
0
app/boards/shields/dactyl/dactyl_right.conf
Normal file
22
app/boards/shields/dactyl/dactyl_right.overlay
Normal file
22
app/boards/shields/dactyl/dactyl_right.overlay
Normal file
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
* Copyright (c) 2023 Matt Adereth
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include "dactyl.dtsi"
|
||||
|
||||
&default_transform {
|
||||
col-offset = <6>;
|
||||
};
|
||||
|
||||
&kscan0 {
|
||||
col-gpios
|
||||
= <&pro_micro 9 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 8 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 7 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 6 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 5 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 4 GPIO_ACTIVE_HIGH>
|
||||
;
|
||||
};
|
18
app/boards/shields/dactyl_cc/Kconfig.defconfig
Normal file
18
app/boards/shields/dactyl_cc/Kconfig.defconfig
Normal file
|
@ -0,0 +1,18 @@
|
|||
# Copyright (c) 2023 Matt Adereth
|
||||
# SPDX-License-Identifier: MIT
|
||||
if SHIELD_DACTYL_CC_LEFT
|
||||
|
||||
config ZMK_KEYBOARD_NAME
|
||||
default "Dactyl CC"
|
||||
|
||||
config ZMK_SPLIT_ROLE_CENTRAL
|
||||
default y
|
||||
|
||||
endif
|
||||
|
||||
if SHIELD_DACTYL_CC_LEFT || SHIELD_DACTYL_CC_RIGHT
|
||||
|
||||
config ZMK_SPLIT
|
||||
default y
|
||||
|
||||
endif
|
8
app/boards/shields/dactyl_cc/Kconfig.shield
Normal file
8
app/boards/shields/dactyl_cc/Kconfig.shield
Normal file
|
@ -0,0 +1,8 @@
|
|||
# Copyright (c) 2023 Michael Johns
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
config SHIELD_DACTYL_CC_LEFT
|
||||
def_bool $(shields_list_contains,dactyl_cc_left)
|
||||
|
||||
config SHIELD_DACTYL_CC_RIGHT
|
||||
def_bool $(shields_list_contains,dactyl_cc_right)
|
6
app/boards/shields/dactyl_cc/dactyl_cc.conf
Normal file
6
app/boards/shields/dactyl_cc/dactyl_cc.conf
Normal file
|
@ -0,0 +1,6 @@
|
|||
# Uncomment the following lines to enable the Corne RGB Underglow
|
||||
# CONFIG_ZMK_RGB_UNDERGLOW=y
|
||||
# CONFIG_WS2812_STRIP=y
|
||||
|
||||
# Uncomment the following line to enable the Corne OLED Display
|
||||
# CONFIG_ZMK_DISPLAY=y
|
56
app/boards/shields/dactyl_cc/dactyl_cc.dtsi
Normal file
56
app/boards/shields/dactyl_cc/dactyl_cc.dtsi
Normal file
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* Copyright (c) 2023 Michael
|
||||
Johns
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
};
|
||||
|
||||
default_transform: keymap_transform_0 {
|
||||
compatible = "zmk,matrix-transform";
|
||||
columns = <12>;
|
||||
rows = <6>;
|
||||
|
||||
// | SW1 | SW2 | SW3 | SW4 | SW5 | SW6 | | SW6 | SW5 | SW4 | SW3 | SW2 | SW1 |
|
||||
// | SW7 | SW8 | SW9 | SW10 | SW11 | SW12 | | SW12 | SW11 | SW10 | SW9 | SW8 | SW7 |
|
||||
// | SW13 | SW14 | SW15 | SW16 | SW17 | SW18 | | SW18 | SW17 | SW16 | SW15 | SW14 | SW13 |
|
||||
// | SW19 | SW20 | SW21 | SW22 | SW23 | SW24 | | SW24 | SW23 | SW22 | SW21 | SW20 | SW19 |
|
||||
// | SW26 | SW27 | SW28 | SW29 | | SW29 | SW28 | SW27 | SW26 |
|
||||
// | SW32 | SW33 | | SW33 | SW32 |
|
||||
// | SW30 | SW36 | SW34 | | SW34 | SW36 | SW30 |
|
||||
// | SW35 | | SW35 |
|
||||
map = <
|
||||
RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,11) RC(0,10) RC(0,9) RC(0,8) RC(0,7) RC(0,6)
|
||||
RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,11) RC(1,10) RC(1,9) RC(1,8) RC(1,7) RC(1,6)
|
||||
RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,11) RC(2,10) RC(2,9) RC(2,8) RC(2,7) RC(2,6)
|
||||
RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(3,11) RC(3,10) RC(3,9) RC(3,8) RC(3,7) RC(3,6)
|
||||
RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,10) RC(4,9) RC(4,8) RC(4,7)
|
||||
RC(5,1) RC(5,2) RC(5,8) RC(5,7)
|
||||
RC(4,5) RC(5,5) RC(5,3) RC(5,9) RC(5,11) RC(4,11)
|
||||
RC(5,4) RC(5,10)
|
||||
>;
|
||||
};
|
||||
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
label = "KSCAN";
|
||||
|
||||
diode-direction = "col2row";
|
||||
|
||||
row-gpios
|
||||
= <&pro_micro 19 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 18 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 15 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 14 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 16 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
;
|
||||
};
|
||||
};
|
135
app/boards/shields/dactyl_cc/dactyl_cc.keymap
Normal file
135
app/boards/shields/dactyl_cc/dactyl_cc.keymap
Normal file
|
@ -0,0 +1,135 @@
|
|||
/*
|
||||
* Copyright (c) 2023 Michael Johns
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <behaviors.dtsi>
|
||||
#include <dt-bindings/zmk/keys.h>
|
||||
#include <dt-bindings/zmk/bt.h>
|
||||
|
||||
/ {
|
||||
keymap {
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
deafult_layer {
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
|
||||
// ------ ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | CAP | Q | W | E | R | T | | Y | U | I | O | P | \ |
|
||||
// ------ ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | TAB | A | S | D | F | G | | H | J | K | L | ; | ' |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | CTL | Z | X | C | V | B | | N | M | , | . | / | CTL |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | - | = | ← | → | | ↑ | ↓ | [ | ] |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | ALT | GUI | | GUI | ALT |
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
// | | | HOM | | PG↑ | | |
|
||||
// | BSP | SPC |----- -----| ENT | DEL |
|
||||
// |(lt1)|(SFT)| END | | PG↓ |(SFT)|(lt2)|
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
bindings = <
|
||||
&kp ESC &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp GRAVE
|
||||
&kp CAPS &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp BSLH
|
||||
&kp TAB &kp A &kp S &kp D &kp F &kp G &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 N &kp M &kp COMMA &kp DOT &kp FSLH &kp RCTRL
|
||||
&kp MINUS &kp EQUAL &kp LEFT &kp RIGHT &kp UP &kp DOWN &kp LBKT &kp RBKT
|
||||
&kp LALT &kp LGUI &kp RGUI &kp LALT
|
||||
< 1 BSPC &mt LSHFT SPACE &kp HOME &kp PG_UP &mt RSHFT ENT < 2 DEL
|
||||
&kp END &kp PG_DN
|
||||
>;
|
||||
};
|
||||
|
||||
tkm_layer {
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | | | | | | | | | | | | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | | | | | | | KP( | KP7 | KP8 | KP9 | KP) | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | SLK | INS | BRK | PSC | | | KP* | KP4 | KP5 | KP6 | KP+ | NLK |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | | | | | | | KP/ | KP1 | KP2 | KP3 | KP- | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | | | | | KP, | KP0 | KP. | KP↵ |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | | | ◌ | ◌ |
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
// | | | | | | | |
|
||||
// | ◌ | |----- -----| SFT | mo3 |
|
||||
// | | | | | CTL | | |
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
bindings = <
|
||||
&none &none &none &none &none &none &none &none &none &none &none &none
|
||||
&none &none &none &none &none &none &kp KP_LPAR &kp KP_N7 &kp KP_N8 &kp KP_N9 &kp KP_RPAR &none
|
||||
&none &kp SLCK &kp INS &kp PAUSE_BREAK &kp PSCRN &none &kp KP_ASTERISK &kp KP_N4 &kp KP_N5 &kp KP_N6 &kp KP_PLUS &kp KP_NUM
|
||||
&none &none &none &none &none &none &kp KP_SLASH &kp KP_N1 &kp KP_N2 &kp KP_N3 &kp KP_MINUS &none
|
||||
&none &none &none &none &kp KP_COMMA &kp KP_N0 &kp KP_DOT &kp KP_ENTER
|
||||
&none &none &trans &trans
|
||||
&trans &none &none &none &kp RSHFT &mo 3
|
||||
&none &kp RCTRL
|
||||
>;
|
||||
};
|
||||
|
||||
function_layer {
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | | | | | | | | | | | | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | F4 | F3 | F2 | F1 | | | | F13 | F14 | F15 | F16 | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | F8 | F7 | F6 | F5 | | | | F17 | F18 | F19 | F20 | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | F12 | F11 | F10 | F9 | | | | F21 | F22 | F23 | F24 | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | | | | | | | | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | ◌ | ◌ | | | |
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
// | | | | | | | |
|
||||
// | mo3 | SFT |----- -----| | ◌ |
|
||||
// | | | CTL | | | | |
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
bindings = <
|
||||
&none &none &none &none &none &none &none &none &none &none &none &none
|
||||
&none &kp F4 &kp F3 &kp F2 &kp F1 &none &none &kp F13 &kp F14 &kp F15 &kp F16 &none
|
||||
&none &kp F8 &kp F7 &kp F6 &kp F5 &none &none &kp F17 &kp F18 &kp F19 &kp F20 &none
|
||||
&none &kp F12 &kp F11 &kp F10 &kp F9 &none &none &kp F21 &kp F22 &kp F23 &kp F24 &none
|
||||
&none &none &none &none &none &none &none &none
|
||||
&trans &trans &none &none
|
||||
&mo 3 &kp LSHFT &none &none &none &trans
|
||||
&kp LCTRL &none
|
||||
>;
|
||||
};
|
||||
|
||||
system_layer {
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | | | | | | | | | | | | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | | | | | | | | VL+ | | BR+ | | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | BT5 | BT4 | BT3 | BT2 | BT1 | | | | VLm | mNT | mPP | mPV | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | BTC | | | | | | | | VL- | | BR- | | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | | RST | BLR | | BLR | RST | | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | | | | |
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
// | | | | | | | |
|
||||
// | ◌ | |----- -----| | ◌ |
|
||||
// | | | | | | | |
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
bindings = <
|
||||
&none &none &none &none &none &none &none &none &none &none &none &none
|
||||
&none &none &none &none &none &none &none &kp C_VOL_UP &none &kp C_BRI_UP &none &none
|
||||
&bt BT_SEL 5 &bt BT_SEL 4 &bt BT_SEL 3 &bt BT_SEL 2 &bt BT_SEL 1 &none &none &kp C_MUTE &kp C_NEXT &kp C_PP &kp C_PREV &none
|
||||
&bt BT_CLR &none &none &none &none &none &none &kp C_VOL_DN &none &kp C_BRI_DN &none &none
|
||||
&none &none &sys_reset &bootloader &bootloader &sys_reset &none &none
|
||||
&none &none &none &none
|
||||
&trans &none &none &none &none &trans
|
||||
&none &none
|
||||
>;
|
||||
};
|
||||
};
|
||||
};
|
11
app/boards/shields/dactyl_cc/dactyl_cc.zmk.yml
Normal file
11
app/boards/shields/dactyl_cc/dactyl_cc.zmk.yml
Normal file
|
@ -0,0 +1,11 @@
|
|||
file_format: "1"
|
||||
id: dactyl_cc
|
||||
name: Dactyl CC
|
||||
type: shield
|
||||
url: https://github.com/mjohns/dactyl-cc
|
||||
requires: [pro_micro]
|
||||
features:
|
||||
- keys
|
||||
siblings:
|
||||
- dactyl_cc_left
|
||||
- dactyl_cc_right
|
0
app/boards/shields/dactyl_cc/dactyl_cc_left.conf
Normal file
0
app/boards/shields/dactyl_cc/dactyl_cc_left.conf
Normal file
18
app/boards/shields/dactyl_cc/dactyl_cc_left.overlay
Normal file
18
app/boards/shields/dactyl_cc/dactyl_cc_left.overlay
Normal file
|
@ -0,0 +1,18 @@
|
|||
/*
|
||||
* Copyright (c) 2023 Michael Johns
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include "dactyl_cc.dtsi"
|
||||
|
||||
&kscan0 {
|
||||
col-gpios
|
||||
= <&pro_micro 4 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 5 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 6 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 7 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 8 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 9 GPIO_ACTIVE_HIGH>
|
||||
;
|
||||
};
|
0
app/boards/shields/dactyl_cc/dactyl_cc_right.conf
Normal file
0
app/boards/shields/dactyl_cc/dactyl_cc_right.conf
Normal file
22
app/boards/shields/dactyl_cc/dactyl_cc_right.overlay
Normal file
22
app/boards/shields/dactyl_cc/dactyl_cc_right.overlay
Normal file
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
* Copyright (c) 2023 Michael Johns
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include "dactyl_cc.dtsi"
|
||||
|
||||
&default_transform {
|
||||
col-offset = <6>;
|
||||
};
|
||||
|
||||
&kscan0 {
|
||||
col-gpios
|
||||
= <&pro_micro 9 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 8 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 7 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 6 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 5 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 4 GPIO_ACTIVE_HIGH>
|
||||
;
|
||||
};
|
18
app/boards/shields/dactyl_lightcycle/Kconfig.defconfig
Normal file
18
app/boards/shields/dactyl_lightcycle/Kconfig.defconfig
Normal file
|
@ -0,0 +1,18 @@
|
|||
# Copyright (c) 2023 Matt Adereth
|
||||
# SPDX-License-Identifier: MIT
|
||||
if SHIELD_DACTYL_LIGHTCYCLE_LEFT
|
||||
|
||||
config ZMK_KEYBOARD_NAME
|
||||
default "Dactyl Lightcycle"
|
||||
|
||||
config ZMK_SPLIT_ROLE_CENTRAL
|
||||
default y
|
||||
|
||||
endif
|
||||
|
||||
if SHIELD_DACTYL_LIGHTCYCLE_LEFT || SHIELD_DACTYL_LIGHTCYCLE_RIGHT
|
||||
|
||||
config ZMK_SPLIT
|
||||
default y
|
||||
|
||||
endif
|
8
app/boards/shields/dactyl_lightcycle/Kconfig.shield
Normal file
8
app/boards/shields/dactyl_lightcycle/Kconfig.shield
Normal file
|
@ -0,0 +1,8 @@
|
|||
# Copyright (c) 2023 Matthew Adereth
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
config SHIELD_DACTYL_LIGHTCYCLE_LEFT
|
||||
def_bool $(shields_list_contains,dactyl_lightcycle_left)
|
||||
|
||||
config SHIELD_DACTYL_LIGHTCYCLE_RIGHT
|
||||
def_bool $(shields_list_contains,dactyl_lightcycle_right)
|
|
@ -0,0 +1,6 @@
|
|||
# Uncomment the following lines to enable the Corne RGB Underglow
|
||||
# CONFIG_ZMK_RGB_UNDERGLOW=y
|
||||
# CONFIG_WS2812_STRIP=y
|
||||
|
||||
# Uncomment the following line to enable the Corne OLED Display
|
||||
# CONFIG_ZMK_DISPLAY=y
|
50
app/boards/shields/dactyl_lightcycle/dactyl_lightcycle.dtsi
Normal file
50
app/boards/shields/dactyl_lightcycle/dactyl_lightcycle.dtsi
Normal file
|
@ -0,0 +1,50 @@
|
|||
/*
|
||||
* Copyright (c) 2023 Matt Adereth
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
};
|
||||
|
||||
default_transform: keymap_transform_0 {
|
||||
compatible = "zmk,matrix-transform";
|
||||
columns = <12>;
|
||||
rows = <5>;
|
||||
|
||||
// | SW1 | SW2 | SW3 | SW4 | SW5 | SW6 | | SW6 | SW5 | SW4 | SW3 | SW2 | SW1 |
|
||||
// | SW7 | SW8 | SW9 | SW10 | SW11 | SW12 | | SW12 | SW11 | SW10 | SW9 | SW8 | SW7 |
|
||||
// | SW13 | SW14 | SW15 | SW16 | SW17 | SW18 | | SW18 | SW17 | SW16 | SW15 | SW14 | SW13 |
|
||||
// | SW19 | SW20 | SW21 | SW22 | SW23 | | SW23 | SW22 | SW21 | SW20 | SW19 |
|
||||
// | SW24 | SW30 | | SW30 | SW24 |
|
||||
// | SW27 | SW28 | SW29 | | SW29 | SW28 | SW27 |
|
||||
map = <
|
||||
RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,11) RC(0,10) RC(0,9) RC(0,8) RC(0,7) RC(0,6)
|
||||
RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,11) RC(1,10) RC(1,9) RC(1,8) RC(1,7) RC(1,6)
|
||||
RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,11) RC(2,10) RC(2,9) RC(2,8) RC(2,7) RC(2,6)
|
||||
RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,10) RC(3,9) RC(3,8) RC(3,7) RC(3,6)
|
||||
RC(3,5) RC(4,5) RC(4,11) RC(3,11)
|
||||
RC(4,2) RC(4,3) RC(4,4) RC(4,10) RC(4,9) RC(4,8)
|
||||
>;
|
||||
};
|
||||
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
label = "KSCAN";
|
||||
|
||||
diode-direction = "col2row";
|
||||
|
||||
row-gpios
|
||||
= <&pro_micro 18 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 15 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 14 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 16 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
;
|
||||
};
|
||||
};
|
121
app/boards/shields/dactyl_lightcycle/dactyl_lightcycle.keymap
Normal file
121
app/boards/shields/dactyl_lightcycle/dactyl_lightcycle.keymap
Normal file
|
@ -0,0 +1,121 @@
|
|||
/*
|
||||
* Copyright (c) 2023 Matt Adereth
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <behaviors.dtsi>
|
||||
#include <dt-bindings/zmk/keys.h>
|
||||
#include <dt-bindings/zmk/bt.h>
|
||||
|
||||
/ {
|
||||
keymap {
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
deafult_layer {
|
||||
// ------ ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | ESC | Q | W | E | R | T | | Y | U | I | O | P | \ |
|
||||
// ------ ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | TAB | A | S | D | F | G | | H | J | K | L | ; | ' |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | ALT | Z | X | C | V | B | | N | M | , | . | / | ALT |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | CTL | - | = | ← | → | | ↑ | ↓ | [ | ] | SFT |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// -----| BSP | GUI | | GUI | DEL |-----
|
||||
// | | | | | | | |
|
||||
// | HOM |----- ----- ----- -----| END |
|
||||
// |(lt1)| SPC | SFT | | CTL | ENT |(lt2)|
|
||||
// | | | | | | | |
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
bindings = <
|
||||
&kp ESC &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp BSLH
|
||||
&kp TAB &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp SQT
|
||||
&kp LALT &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp LALT
|
||||
&kp LCTRL &kp MINUS &kp EQUAL &kp LEFT &kp RIGHT &kp UP &kp DOWN &kp LBKT &kp RBKT &kp RSHFT
|
||||
&kp BSPC &kp LGUI &kp RGUI &kp DEL
|
||||
< 1 HOME &kp SPACE &kp LSHFT &kp RCTRL &kp ENT < 2 END
|
||||
>;
|
||||
};
|
||||
|
||||
lower_layer {
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// |scESC| | | | | | | KP( | KP7 | KP8 | KP9 | KP) |G_TB |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | CAP | SLK | INS | BRK | PSC | | | KP* | KP4 | KP5 | KP6 | KP+ | NLK |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | ◌ | | |saTAB|aTAB | | | KP/ | KP1 | KP2 | KP3 | KP- | ◌ |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | ◌ | | | | | | KP, | KP0 | KP. | KP↵ | ◌ |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// -----| | | | ◌ |C_BPC|-----
|
||||
// | | | | | | | |
|
||||
// | ◌ |----- ----- ----- -----| mo3 |
|
||||
// | | | | | ◌ | SFT | |
|
||||
// | | | | | | | |
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
bindings = <
|
||||
&kp LS(LC(ESC)) &none &none &none &none &none &kp KP_LPAR &kp KP_N7 &kp KP_N8 &kp KP_N9 &kp KP_RPAR &kp LG(TAB)
|
||||
&kp CAPS &kp SLCK &kp INS &kp PAUSE_BREAK &kp PSCRN &none &kp KP_ASTERISK &kp KP_N4 &kp KP_N5 &kp KP_N6 &kp KP_PLUS &kp KP_NUM
|
||||
&trans &none &none &kp LS(LA(TAB)) &kp LA(TAB) &none &kp KP_SLASH &kp KP_N1 &kp KP_N2 &kp KP_N3 &kp KP_MINUS &trans
|
||||
&trans &none &none &none &none &kp KP_COMMA &kp KP_N0 &kp KP_DOT &kp KP_ENTER &trans
|
||||
&none &none &trans &trans
|
||||
&trans &none &none &none &kp RSHFT &mo 3
|
||||
>;
|
||||
};
|
||||
|
||||
raise_layer {
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ~ |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | ◌ | ! | @ | # | $ | ( | | ) | % | ^ | & | * | ◌ |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | ◌ | _ | + | |A_TAB| | PG↑ | PG↓ | { | } | ◌ |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// -----|C_DEL| ◌ | | | |-----
|
||||
// | | | | | | | |
|
||||
// | mo3 |----- ----- ----- -----| ◌ |
|
||||
// | | CTL | ◌ | | | | |
|
||||
// | | | | | | | |
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
bindings = <
|
||||
&kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12
|
||||
&kp GRAVE &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp TILDE
|
||||
&trans &kp EXCL &kp AT &kp HASH &kp DLLR &kp LPAR &kp RPAR &kp PRCNT &kp CARET &kp AMPS &kp STAR &trans
|
||||
&trans &kp UNDER &kp PLUS &none &kp LA(TAB) &kp PG_UP &kp PG_DN &kp LBRC &kp RBRC &trans
|
||||
&kp LC(DEL) &trans &none &none
|
||||
&mo 3 &kp LCTRL &trans &none &none &trans
|
||||
>;
|
||||
};
|
||||
|
||||
system_layer {
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | | | | | | | | VL+ | | BR+ | | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | BT5 | BT4 | BT3 | BT2 | BT1 | | | | VLm | mNT | mPP | mPV | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | BTC | | | | | | | | VL- | | BR- | | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | | | RST | BLR | | BLR | RST | | | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// -----| | | | | |-----
|
||||
// | | | | | | | |
|
||||
// | ◌ |----- ----- ----- -----| ◌ |
|
||||
// | | | | | | | |
|
||||
// | | | | | | | |
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
bindings = <
|
||||
&none &none &none &none &none &none &none &none &none &none &none &none
|
||||
&none &none &none &none &none &none &none &kp C_VOL_UP &none &kp C_BRI_UP &none &none
|
||||
&bt BT_SEL 5 &bt BT_SEL 4 &bt BT_SEL 3 &bt BT_SEL 2 &bt BT_SEL 1 &none &none &kp C_MUTE &kp C_NEXT &kp C_PP &kp C_PREV &none
|
||||
&bt BT_CLR &none &none &none &none &none &none &kp C_VOL_DN &none &kp C_BRI_DN &none &none
|
||||
&none &none &none &sys_reset &bootloader &bootloader &sys_reset &none &none &none
|
||||
&none &none &none &none
|
||||
&trans &none &none &none &none &trans
|
||||
&none &none
|
||||
>;
|
||||
};
|
||||
};
|
||||
};
|
|
@ -0,0 +1,11 @@
|
|||
file_format: "1"
|
||||
id: dactyl_lightcycle
|
||||
name: Dactyl Lightcycle
|
||||
type: shield
|
||||
url: https://github.com/adereth/dactyl-keyboard
|
||||
requires: [pro_micro]
|
||||
features:
|
||||
- keys
|
||||
siblings:
|
||||
- dactyl_lightcycle_left
|
||||
- dactyl_lightcycle_right
|
|
@ -0,0 +1,18 @@
|
|||
/*
|
||||
* Copyright (c) 2023 Matt Adereth
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include "dactyl_lightcycle.dtsi"
|
||||
|
||||
&kscan0 {
|
||||
col-gpios
|
||||
= <&pro_micro 4 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 5 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 6 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 7 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 8 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 9 GPIO_ACTIVE_HIGH>
|
||||
;
|
||||
};
|
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
* Copyright (c) 2023 Matt Adereth
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include "dactyl_lightcycle.dtsi"
|
||||
|
||||
&default_transform {
|
||||
col-offset = <6>;
|
||||
};
|
||||
|
||||
&kscan0 {
|
||||
col-gpios
|
||||
= <&pro_micro 9 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 8 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 7 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 6 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 5 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 4 GPIO_ACTIVE_HIGH>
|
||||
;
|
||||
};
|
18
app/boards/shields/dactyl_tracer/Kconfig.defconfig
Normal file
18
app/boards/shields/dactyl_tracer/Kconfig.defconfig
Normal file
|
@ -0,0 +1,18 @@
|
|||
# Copyright (c) 2023 Matt Adereth
|
||||
# SPDX-License-Identifier: MIT
|
||||
if SHIELD_DACTYL_TRACER_LEFT
|
||||
|
||||
config ZMK_KEYBOARD_NAME
|
||||
default "Dactyl Tracer"
|
||||
|
||||
config ZMK_SPLIT_ROLE_CENTRAL
|
||||
default y
|
||||
|
||||
endif
|
||||
|
||||
if SHIELD_DACTYL_TRACER_LEFT || SHIELD_DACTYL_TRACER_RIGHT
|
||||
|
||||
config ZMK_SPLIT
|
||||
default y
|
||||
|
||||
endif
|
8
app/boards/shields/dactyl_tracer/Kconfig.shield
Normal file
8
app/boards/shields/dactyl_tracer/Kconfig.shield
Normal file
|
@ -0,0 +1,8 @@
|
|||
# Copyright (c) 2023 Michael Johns
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
config SHIELD_DACTYL_TRACER_LEFT
|
||||
def_bool $(shields_list_contains,dactyl_tracer_left)
|
||||
|
||||
config SHIELD_DACTYL_TRACER_RIGHT
|
||||
def_bool $(shields_list_contains,dactyl_tracer_right)
|
6
app/boards/shields/dactyl_tracer/dactyl_tracer.conf
Normal file
6
app/boards/shields/dactyl_tracer/dactyl_tracer.conf
Normal file
|
@ -0,0 +1,6 @@
|
|||
# Uncomment the following lines to enable the Corne RGB Underglow
|
||||
# CONFIG_ZMK_RGB_UNDERGLOW=y
|
||||
# CONFIG_WS2812_STRIP=y
|
||||
|
||||
# Uncomment the following line to enable the Corne OLED Display
|
||||
# CONFIG_ZMK_DISPLAY=y
|
52
app/boards/shields/dactyl_tracer/dactyl_tracer.dtsi
Normal file
52
app/boards/shields/dactyl_tracer/dactyl_tracer.dtsi
Normal file
|
@ -0,0 +1,52 @@
|
|||
/*
|
||||
* Copyright (c) 2023 Michael Johns
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
};
|
||||
|
||||
default_transform: keymap_transform_0 {
|
||||
compatible = "zmk,matrix-transform";
|
||||
columns = <10>;
|
||||
rows = <5>;
|
||||
|
||||
// | SW1 | SW2 | SW3 | SW4 | SW5 | | SW5 | SW4 | SW3 | SW2 | SW1 |
|
||||
// | SW6 | SW7 | SW8 | SW9 | SW10 | | SW10 | SW9 | SW8 | SW7 | SW6 |
|
||||
// | SW11 | SW12 | SW13 | SW14 | SW15 | | SW15 | SW14 | SW13 | SW12 | SW11 |
|
||||
// | SW17 | SW18 | | SW18 | SW17 |
|
||||
// | SW20 | | SW20 |
|
||||
// | SW23 | SW19 | SW25 | | SW25 | SW19 | SW23 |
|
||||
// | SW24 | | SW24 |
|
||||
map = <
|
||||
RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,9) RC(0,8) RC(0,7) RC(0,6) RC(0,5)
|
||||
RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,9) RC(1,8) RC(1,7) RC(1,6) RC(1,5)
|
||||
RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,9) RC(2,8) RC(2,7) RC(2,6) RC(2,5)
|
||||
RC(3,1) RC(3,2) RC(3,7) RC(3,6)
|
||||
RC(3,4) RC(3,9)
|
||||
RC(4,2) RC(3,3) RC(4,4) RC(4,9) RC(3,8) RC(4,7)
|
||||
RC(4,3) RC(4,8)
|
||||
>;
|
||||
};
|
||||
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
label = "KSCAN";
|
||||
|
||||
diode-direction = "col2row";
|
||||
|
||||
row-gpios
|
||||
= <&pro_micro 18 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 15 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 14 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 16 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
;
|
||||
};
|
||||
};
|
123
app/boards/shields/dactyl_tracer/dactyl_tracer.keymap
Normal file
123
app/boards/shields/dactyl_tracer/dactyl_tracer.keymap
Normal file
|
@ -0,0 +1,123 @@
|
|||
/*
|
||||
* Copyright (c) 2023 Michael Johns
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <behaviors.dtsi>
|
||||
#include <dt-bindings/zmk/keys.h>
|
||||
#include <dt-bindings/zmk/bt.h>
|
||||
|
||||
/ {
|
||||
keymap {
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
deafult_layer {
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | Q | W | E | R | T | | Y | U | I | O | P |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | A(g)| S(a)| D(c)| F(s)| G | | H | J(s)| K(c)| L(a)| ;(g)|
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | Z | X | C | V | B | | N | M | , | . | ' |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | ← | → | | ↑ | ↓ |
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
// | HOM | | END |
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
// | mo1 | SPC | DEL | | BSP | ENT | mo2 |
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
// | TAB | | ESC |
|
||||
// ----- -----
|
||||
bindings = <
|
||||
&kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P
|
||||
&mt LGUI A &mt LALT S &mt LCTRL D &mt LSHFT F &kp G &kp H &mt LSHFT J &mt LCTRL K &mt LALT L &mt LGUI SEMI
|
||||
&kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp SQT
|
||||
&kp LEFT &kp RIGHT &kp UP &kp DOWN
|
||||
&kp HOME &kp END
|
||||
&mo1 &kp SPACE &kp DEL &kp BSPC &kp ENT &mo 2
|
||||
&kp TAB &kp ESC
|
||||
>;
|
||||
};
|
||||
|
||||
lower_layer {
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | ! | @ | # | $ | [ | | ] | % | ^ | & | * |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | "|" | ` | \ | ( | { | | } | ) | / | ? | ~ |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | - | + | | = | _ |
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
// | | | ALT |
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
// | ◌ | | | | CTL | SFT | mo3 |
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
// | | | GUI |
|
||||
// ----- -----
|
||||
bindings = <
|
||||
&kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0
|
||||
&kp EXCL &kp AT &kp HASH &kp DLLR &kp LBKT &kp RBKT &kp PRCNT &kp CARET &kp AMPS &kp STAR
|
||||
&kp PIPE &kp GRAVE &kp FSLH &kp LPAR &kp LBRC &kp RBRC &kp RPAR &kp BSLH &kp QMARK &kp TILDE
|
||||
&kp MINUS &kp PLUS &kp EQUAL &kp UNDER
|
||||
&none &kp LALT
|
||||
&trans &none &none &kp RCTRL &kp RSHFT &mo 3
|
||||
&none &kp RGUI
|
||||
>;
|
||||
};
|
||||
|
||||
raise_layer {
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | F11 | INS | BRK | PG↑ | PSC | | | VL+ | VLm | VL- | F12 |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | SLK | | PG↓ | | | | | | | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | BR- | BR+ | |a+TB |sa+TB|
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
// | ALT | | |
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
// | mo3 | SFT | CTL | | | | ◌ |
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
// | GUI | | |
|
||||
// ----- -----
|
||||
bindings = <
|
||||
&kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10
|
||||
&kp F11 &kp INS &kp PAUSE_BREAK &kp PG_UP &kp PSCRN &none &kp C_VOL_UP &kp C_MUTE &kp C_VOL_DN &kp F12
|
||||
&none &kp SLCK &none &kp PG_DN &none &none &none &none &none &none
|
||||
&kp C_BRI_DN &kp C_BRI_UP &kp LA(TAB) &kp LS(LA(TAB))
|
||||
&kp LALT &none
|
||||
&mo 3 &kp LSHFT &kp LCTRL &none &none &trans
|
||||
&kp LGUI &none
|
||||
>;
|
||||
};
|
||||
|
||||
system_layer {
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | | | | | | | | | | | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | BT4 | BT3 | BT2 | BT1 | | | | mNT | mPP | mPV | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | BTC | | | BT5 | | | | mFF | | mRW | |
|
||||
// ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
|
||||
// | RST | BLR | | BLR | RST |
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
// | | | |
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
// | ◌ | | | | | | ◌ |
|
||||
// ----- ----- ----- ----- ----- -----
|
||||
// | | | |
|
||||
// ----- -----
|
||||
bindings = <
|
||||
&none &none &none &none &none &none &none &none &none &none
|
||||
&bt BT_SEL 4 &bt BT_SEL 3 &bt BT_SEL 2 &bt BT_SEL 1 &none &none &kp C_NEXT &kp C_PP &kp C_PREV &none
|
||||
&bt BT_CLR &none &none &bt BT_SEL 5 &none &none &kp C_FF &none &kp C_RW &none
|
||||
&sys_reset &bootloader &bootloader &sys_reset
|
||||
&none &none
|
||||
&trans &none &none &none &none &trans
|
||||
&none &none
|
||||
>;
|
||||
};
|
||||
};
|
||||
};
|
11
app/boards/shields/dactyl_tracer/dactyl_tracer.zmk.yml
Normal file
11
app/boards/shields/dactyl_tracer/dactyl_tracer.zmk.yml
Normal file
|
@ -0,0 +1,11 @@
|
|||
file_format: "1"
|
||||
id: dactyl_tracer
|
||||
name: Dactyl Tracer
|
||||
type: shield
|
||||
url: https://github.com/mjohns/tracer
|
||||
requires: [pro_micro]
|
||||
features:
|
||||
- keys
|
||||
siblings:
|
||||
- dactyl_tracer_left
|
||||
- dactyl_tracer_right
|
0
app/boards/shields/dactyl_tracer/dactyl_tracer_left.conf
Normal file
0
app/boards/shields/dactyl_tracer/dactyl_tracer_left.conf
Normal file
17
app/boards/shields/dactyl_tracer/dactyl_tracer_left.overlay
Normal file
17
app/boards/shields/dactyl_tracer/dactyl_tracer_left.overlay
Normal file
|
@ -0,0 +1,17 @@
|
|||
/*
|
||||
* Copyright (c) 2023 Matt Adereth
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include "dactyl_tracer.dtsi"
|
||||
|
||||
&kscan0 {
|
||||
col-gpios
|
||||
= <&pro_micro 5 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 6 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 7 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 8 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 9 GPIO_ACTIVE_HIGH>
|
||||
;
|
||||
};
|
21
app/boards/shields/dactyl_tracer/dactyl_tracer_right.overlay
Normal file
21
app/boards/shields/dactyl_tracer/dactyl_tracer_right.overlay
Normal file
|
@ -0,0 +1,21 @@
|
|||
/*
|
||||
* Copyright (c) 2023 Matt Adereth
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include "dactyl_tracer.dtsi"
|
||||
|
||||
&default_transform {
|
||||
col-offset = <5>;
|
||||
};
|
||||
|
||||
&kscan0 {
|
||||
col-gpios
|
||||
= <&pro_micro 9 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 8 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 7 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 6 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 5 GPIO_ACTIVE_HIGH>
|
||||
;
|
||||
};
|
Loading…
Add table
Reference in a new issue