From 3572edc4a49026cbc30ab58e093ca855ef77c1c0 Mon Sep 17 00:00:00 2001 From: Trent Rand Date: Tue, 9 Apr 2024 22:24:53 -0700 Subject: [PATCH] Customize configuration for Dactyl Manuform 5x7 Basis for configuration copied from alansaul: https://github.com/alansaul/zmk-config --- .../dactyl_manuform_5x7/Kconfig.defconfig | 23 ++ .../dactyl_manuform_5x7/Kconfig.shield | 5 + .../dactyl_manuform_5x7.conf | 0 .../dactyl_manuform_5x7.dtsi | 40 +++ .../dactyl_manuform_5x7.keymap | 91 +++++ .../dactyl_manuform_5x7_left.conf | 0 .../dactyl_manuform_5x7_left.overlay | 13 + .../dactyl_manuform_5x7_right.conf | 0 .../dactyl_manuform_5x7_right.overlay | 17 + .../dactyl_manuform_5x7/keys_en_gb_extended.h | 332 ++++++++++++++++++ build.yaml | 6 +- config/adv360pro.conf | 1 - config/adv360pro.keymap | 48 --- config/dactyl_manuform_5x7.conf | 5 + config/west.yml | 2 - 15 files changed, 530 insertions(+), 53 deletions(-) create mode 100644 boards/shields/dactyl_manuform_5x7/Kconfig.defconfig create mode 100644 boards/shields/dactyl_manuform_5x7/Kconfig.shield create mode 100644 boards/shields/dactyl_manuform_5x7/dactyl_manuform_5x7.conf create mode 100644 boards/shields/dactyl_manuform_5x7/dactyl_manuform_5x7.dtsi create mode 100644 boards/shields/dactyl_manuform_5x7/dactyl_manuform_5x7.keymap create mode 100644 boards/shields/dactyl_manuform_5x7/dactyl_manuform_5x7_left.conf create mode 100644 boards/shields/dactyl_manuform_5x7/dactyl_manuform_5x7_left.overlay create mode 100644 boards/shields/dactyl_manuform_5x7/dactyl_manuform_5x7_right.conf create mode 100644 boards/shields/dactyl_manuform_5x7/dactyl_manuform_5x7_right.overlay create mode 100644 boards/shields/dactyl_manuform_5x7/keys_en_gb_extended.h delete mode 100644 config/adv360pro.conf delete mode 100644 config/adv360pro.keymap create mode 100644 config/dactyl_manuform_5x7.conf diff --git a/boards/shields/dactyl_manuform_5x7/Kconfig.defconfig b/boards/shields/dactyl_manuform_5x7/Kconfig.defconfig new file mode 100644 index 0000000..b6daa97 --- /dev/null +++ b/boards/shields/dactyl_manuform_5x7/Kconfig.defconfig @@ -0,0 +1,23 @@ +if SHIELD_DACTYL_MANUFORM_5x7_LEFT + + config ZMK_KEYBOARD_NAME + default "DactylL" + + config ZMK_SPLIT_ROLE_CENTRAL + default y + +endif + +if SHIELD_DACTYL_MANUFORM_5x7_RIGHT + + config ZMK_KEYBOARD_NAME + default "DactylR" + +endif + +if SHIELD_DACTYL_MANUFORM_5x7_LEFT || SHIELD_DACTYL_MANUFORM_5x7_RIGHT + + config ZMK_SPLIT + default y + +endif diff --git a/boards/shields/dactyl_manuform_5x7/Kconfig.shield b/boards/shields/dactyl_manuform_5x7/Kconfig.shield new file mode 100644 index 0000000..c756b6c --- /dev/null +++ b/boards/shields/dactyl_manuform_5x7/Kconfig.shield @@ -0,0 +1,5 @@ +config SHIELD_DACTYL_MANUFORM_5x7_LEFT + def_bool $(shields_list_contains,dactyl_manuform_5x7_left) + +config SHIELD_DACTYL_MANUFORM_5x7_RIGHT + def_bool $(shields_list_contains,dactyl_manuform_5x7_right) diff --git a/boards/shields/dactyl_manuform_5x7/dactyl_manuform_5x7.conf b/boards/shields/dactyl_manuform_5x7/dactyl_manuform_5x7.conf new file mode 100644 index 0000000..e69de29 diff --git a/boards/shields/dactyl_manuform_5x7/dactyl_manuform_5x7.dtsi b/boards/shields/dactyl_manuform_5x7/dactyl_manuform_5x7.dtsi new file mode 100644 index 0000000..c0ea536 --- /dev/null +++ b/boards/shields/dactyl_manuform_5x7/dactyl_manuform_5x7.dtsi @@ -0,0 +1,40 @@ +#include + +/ { + chosen { + zmk,kscan = &kscan0; + zmk,matrix_transform = &default_transform; + }; + + default_transform: keymap_transform_0 { + compatible = "zmk,matrix-transform"; + columns = <14>; + rows = <6>; + map = < +RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,13) RC(0,12) RC(0,11) RC(0,10) RC(0,9) RC(0,8) RC(0,7) +RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(1,13) RC(1,12) RC(1,11) RC(1,10) RC(1,9) RC(1,8) RC(1,7) +RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,13) RC(2,12) RC(2,11) RC(2,10) RC(2,9) RC(2,8) RC(2,7) +RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(3,6) RC(3,13) RC(3,12) RC(3,11) RC(3,10) RC(3,9) RC(3,8) RC(3,7) +RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,11) RC(4,10) RC(4,9) RC(4,8) RC(4,7) + RC(4,5) RC(4,6) RC(4,13) RC(4,12) + RC(5,6) RC(5,4) RC(5,11) RC(5,13) + RC(5,5) RC(5,3) RC(5,10) RC(5,12) + >; + }; + + kscan0: kscan { + compatible = "zmk,kscan-gpio-matrix"; + label = "KSCAN"; + + diode-direction = "col2row"; + row-gpios + = <&gpio0 2 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&gpio1 15 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&gpio1 13 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&gpio1 11 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&gpio0 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&gpio0 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + ; + + }; +}; diff --git a/boards/shields/dactyl_manuform_5x7/dactyl_manuform_5x7.keymap b/boards/shields/dactyl_manuform_5x7/dactyl_manuform_5x7.keymap new file mode 100644 index 0000000..81dc996 --- /dev/null +++ b/boards/shields/dactyl_manuform_5x7/dactyl_manuform_5x7.keymap @@ -0,0 +1,91 @@ +#include +#include +#include +#include +#include +#include "keys_en_gb_extended.h" + +#define ZMK_MOUSE_DEFAULT_MOVE_VAL 1500 // 600 +#define ZMK_MOUSE_DEFAULT_SCRL_VAL 20 // 10 + +#include + +#define BASE0 0 +#define SMB1 1 +#define MED2 2 + + +/ { + macros { + vim_yank: vim_yank { + label = "ZM_vim_yank"; + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings + = <¯o_tap &kp GB_DQT &kp GB_PLUS &kp Y> + ; + }; + + vim_paste: vim_paste { + label = "ZM_vim_paste"; + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings + = <¯o_tap &kp GB_DQT &kp GB_PLUS &kp P> + ; + }; + }; + behaviors { + ht_tp: hold_tap_tap_preferred { + compatible = "zmk,behavior-hold-tap"; + label = "HOLD_TAP"; + #binding-cells = <2>; + tapping-term-ms = <200>; + quick-tap-ms = <0>; + flavor = "tap-preferred"; + bindings = <&kp>, <&kp>; + }; + }; + keymap { + compatible = "zmk,keymap"; + + base0_layer { + bindings = < + &kp GB_EQUAL &kp GB_N1 &kp GB_N2 &kp GB_N3 &kp GB_N4 &kp GB_N5 &kp LG(UP) &kp LG(DOWN) &kp GB_N6 &kp GB_N7 &kp GB_N8 &kp GB_N9 &kp GB_N0 &ht_tp GB_MINUS GB_EQUAL + &kp TAB &kp Q &kp W &kp E &kp R &kp T &kp &trans &kp &trans &kp Y &kp U &kp I &kp O &kp P &ht_tp GB_HASH GB_BSLH + &kp ESC < MED2 A &kp S &kp D &kp F &kp G &kp LG(LEFT) &kp LG(RIGHT) &kp H &kp J &kp K &kp L < SMB1 GB_SEMI &mt RGUI GB_SQT + &kp LSHFT &mt LCTRL Z &kp X &kp C &kp V &kp B &kp &trans &kp LA(LCTRL) &kp N &kp M &kp GB_COMMA &kp GB_DOT &mt RCTRL GB_FSLH &kp RSHFT + < SMB1 GB_GRAVE &mo MED2 &kp LGUI &kp LALT &kp LCTRL &kp LALT &kp RALT &kp X &mo MED2 &kp LC(A) + &kp SPACE &kp BSPC &kp TAB &kp RET + &kp HOME &kp END &kp PG_UP &kp PG_DN + &mo SMB1 &kp DEL &kp &trans &mo SMB1 + >; + }; + + smb1_layer { + bindings = < + &kp ESC &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &trans &trans &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 + &trans &kp GB_EXCL &kp GB_AT &kp GB_LBRC &kp RBRC &kp GB_PIPE &trans &trans &vim_yank &trans &trans &trans &vim_paste &kp F12 + &trans &kp GB_UNDER &kp GB_EQUAL &kp GB_LPAR &kp GB_RPAR &kp GB_DQT &kp LA(LEFT) &kp LA(RIGHT) &kp LEFT &kp DOWN &kp UP &kp RIGHT &trans &trans + &trans &kp GB_PLUS &kp GB_ASTRK &kp GB_LBKT &kp GB_RBKT &kp GB_HASH &kp LA(LC(B)) &kp LA(N5) &trans &trans &trans &trans &kp GB_BSLH &trans + &trans &kp GB_CARET &trans &trans &trans &kp F8 &kp LS(F7) &kp F8 &kp F9 &kp SYSREQ + &trans &trans &kp LC(F8) &kp LA(RET) + &kp LA(LS(F10)) &kp LA(LS(F10)) &kp LS(F10) &kp LS(F9) + &trans &trans &trans &trans + >; + }; + + med2_layer { + bindings = < + &bootloader &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &trans &trans &trans &trans &trans &trans &trans &bootloader + &sys_reset &bt BT_PRV &bt BT_NXT &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &sys_reset + &bt BT_CLR &trans &trans &trans &trans &trans &trans &trans &mmv MOVE_LEFT &mmv MOVE_DOWN &mmv MOVE_UP &mmv MOVE_RIGHT &trans &kp C_PP + &trans &trans &trans &trans &trans &trans &trans &trans &kp C_PREV &trans &trans &kp C_NEXT &trans &trans + &trans &trans &trans &trans &trans &kp C_VOL_UP &kp C_VOL_DN &kp C_MUTE &trans &trans + &trans &trans &mkp LCLK &mkp RCLK + &trans &trans &trans &trans + &trans &trans &trans &trans + >; + }; + }; +}; diff --git a/boards/shields/dactyl_manuform_5x7/dactyl_manuform_5x7_left.conf b/boards/shields/dactyl_manuform_5x7/dactyl_manuform_5x7_left.conf new file mode 100644 index 0000000..e69de29 diff --git a/boards/shields/dactyl_manuform_5x7/dactyl_manuform_5x7_left.overlay b/boards/shields/dactyl_manuform_5x7/dactyl_manuform_5x7_left.overlay new file mode 100644 index 0000000..18c3b2b --- /dev/null +++ b/boards/shields/dactyl_manuform_5x7/dactyl_manuform_5x7_left.overlay @@ -0,0 +1,13 @@ +#include "dactyl_manuform_5x7.dtsi" + +&kscan0 { + col-gpios + = <&gpio0 20 GPIO_ACTIVE_HIGH> + , <&gpio0 22 GPIO_ACTIVE_HIGH> + , <&gpio0 24 GPIO_ACTIVE_HIGH> + , <&gpio1 0 GPIO_ACTIVE_HIGH> + , <&gpio0 11 GPIO_ACTIVE_HIGH> + , <&gpio1 4 GPIO_ACTIVE_HIGH> + , <&gpio1 6 GPIO_ACTIVE_HIGH> + ; +}; diff --git a/boards/shields/dactyl_manuform_5x7/dactyl_manuform_5x7_right.conf b/boards/shields/dactyl_manuform_5x7/dactyl_manuform_5x7_right.conf new file mode 100644 index 0000000..e69de29 diff --git a/boards/shields/dactyl_manuform_5x7/dactyl_manuform_5x7_right.overlay b/boards/shields/dactyl_manuform_5x7/dactyl_manuform_5x7_right.overlay new file mode 100644 index 0000000..0ef5a1e --- /dev/null +++ b/boards/shields/dactyl_manuform_5x7/dactyl_manuform_5x7_right.overlay @@ -0,0 +1,17 @@ +#include "dactyl_manuform_5x7.dtsi" + +&default_transform { + col-offset = <7>; +}; + +&kscan0 { + col-gpios + = <&gpio1 6 GPIO_ACTIVE_HIGH> + , <&gpio1 4 GPIO_ACTIVE_HIGH> + , <&gpio0 11 GPIO_ACTIVE_HIGH> + , <&gpio1 0 GPIO_ACTIVE_HIGH> + , <&gpio0 24 GPIO_ACTIVE_HIGH> + , <&gpio0 22 GPIO_ACTIVE_HIGH> + , <&gpio0 20 GPIO_ACTIVE_HIGH> + ; +}; diff --git a/boards/shields/dactyl_manuform_5x7/keys_en_gb_extended.h b/boards/shields/dactyl_manuform_5x7/keys_en_gb_extended.h new file mode 100644 index 0000000..6168b58 --- /dev/null +++ b/boards/shields/dactyl_manuform_5x7/keys_en_gb_extended.h @@ -0,0 +1,332 @@ +/* + * Localized Keys for United Kingdom Extended + * + * This file was generated from data with the following license: + * + * UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE + * + * See Terms of Use for definitions of Unicode Inc.'s + * Data Files and Software. + * + * NOTICE TO USER: Carefully read the following legal agreement. + * BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S + * DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), + * YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE + * TERMS AND CONDITIONS OF THIS AGREEMENT. + * IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE + * THE DATA FILES OR SOFTWARE. + * + * COPYRIGHT AND PERMISSION NOTICE + * + * Copyright © 1991-2022 Unicode, Inc. All rights reserved. + * Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of the Unicode data files and any associated documentation + * (the "Data Files") or Unicode software and any associated documentation + * (the "Software") to deal in the Data Files or Software + * without restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, and/or sell copies of + * the Data Files or Software, and to permit persons to whom the Data Files + * or Software are furnished to do so, provided that either + * (a) this copyright and permission notice appear with all copies + * of the Data Files or Software, or + * (b) this copyright and permission notice appear in associated + * Documentation. + * + * THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF + * ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE + * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT OF THIRD PARTY RIGHTS. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS + * NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL + * DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THE DATA FILES OR SOFTWARE. + * + * Except as contained in this notice, the name of a copyright holder + * shall not be used in advertising or otherwise to promote the sale, + * use or other dealings in these Data Files or Software without prior + * written authorization of the copyright holder. + */ + +#pragma once + +#include +#include +#include + +#define GB_SPACE (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_SPACEBAR)) + +/* ! */ +#define GB_EXCLAMATION (LS(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_1_AND_EXCLAMATION))) +#define GB_EXCL (GB_EXCLAMATION) + +/* " */ +#define GB_DOUBLE_QUOTES (LS(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_2_AND_AT))) +#define GB_DQT (GB_DOUBLE_QUOTES) + +/* # */ +#define GB_HASH (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_BACKSLASH_AND_PIPE)) +#define GB_POUND (GB_HASH) + +/* $ */ +#define GB_DOLLAR (LS(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_4_AND_DOLLAR))) +#define GB_DLLR (GB_DOLLAR) + +/* % */ +#define GB_PERCENT (LS(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_5_AND_PERCENT))) +#define GB_PRCNT (GB_PERCENT) + +/* & */ +#define GB_AMPERSAND (LS(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_7_AND_AMPERSAND))) +#define GB_AMPS (GB_AMPERSAND) + +/* ' */ +#define GB_SINGLE_QUOTE (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_APOSTROPHE_AND_QUOTE)) +#define GB_SQT (GB_SINGLE_QUOTE) +#define GB_APOSTROPHE (GB_SINGLE_QUOTE) +#define GB_APOS (GB_SINGLE_QUOTE) + +/* ( */ +#define GB_LEFT_PARENTHESIS (LS(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_9_AND_LEFT_PARENTHESIS))) +#define GB_LPAR (GB_LEFT_PARENTHESIS) + +/* ) */ +#define GB_RIGHT_PARENTHESIS (LS(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_0_AND_RIGHT_PARENTHESIS))) +#define GB_RPAR (GB_RIGHT_PARENTHESIS) + +/* * */ +#define GB_ASTERISK (LS(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_8_AND_ASTERISK))) +#define GB_ASTRK (GB_ASTERISK) +#define GB_STAR (GB_ASTERISK) + +/* + */ +#define GB_PLUS (LS(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_EQUAL_AND_PLUS))) + +/* , */ +#define GB_COMMA (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_COMMA_AND_LESS_THAN)) + +/* - */ +#define GB_MINUS (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_MINUS_AND_UNDERSCORE)) + +/* . */ +#define GB_PERIOD (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_PERIOD_AND_GREATER_THAN)) +#define GB_DOT (GB_PERIOD) + +/* / */ +#define GB_SLASH (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_SLASH_AND_QUESTION_MARK)) +#define GB_FSLH (GB_SLASH) + +/* 0 */ +#define GB_N0 (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_0_AND_RIGHT_PARENTHESIS)) + +/* 1 */ +#define GB_N1 (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_1_AND_EXCLAMATION)) + +/* 2 */ +#define GB_N2 (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_2_AND_AT)) + +/* 3 */ +#define GB_N3 (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_3_AND_HASH)) + +/* 4 */ +#define GB_N4 (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_4_AND_DOLLAR)) + +/* 5 */ +#define GB_N5 (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_5_AND_PERCENT)) + +/* 6 */ +#define GB_N6 (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_6_AND_CARET)) + +/* 7 */ +#define GB_N7 (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_7_AND_AMPERSAND)) + +/* 8 */ +#define GB_N8 (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_8_AND_ASTERISK)) + +/* 9 */ +#define GB_N9 (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_9_AND_LEFT_PARENTHESIS)) + +/* : */ +#define GB_COLON (LS(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_SEMICOLON_AND_COLON))) + +/* ; */ +#define GB_SEMICOLON (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_SEMICOLON_AND_COLON)) +#define GB_SEMI (GB_SEMICOLON) + +/* < */ +#define GB_LESS_THAN (LS(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_COMMA_AND_LESS_THAN))) +#define GB_LT (GB_LESS_THAN) + +/* = */ +#define GB_EQUAL (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_EQUAL_AND_PLUS)) + +/* > */ +#define GB_GREATER_THAN (LS(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_PERIOD_AND_GREATER_THAN))) +#define GB_GT (GB_GREATER_THAN) + +/* ? */ +#define GB_QUESTION (LS(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_SLASH_AND_QUESTION_MARK))) +#define GB_QMARK (GB_QUESTION) + +/* @ */ +#define GB_AT_SIGN (LS(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_APOSTROPHE_AND_QUOTE))) +#define GB_AT (GB_AT_SIGN) + +/* [ */ +#define GB_LEFT_BRACKET (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_LEFT_BRACKET_AND_LEFT_BRACE)) +#define GB_LBKT (GB_LEFT_BRACKET) + +/* \ */ +#define GB_BACKSLASH (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_NON_US_BACKSLASH_AND_PIPE)) +#define GB_BSLH (GB_BACKSLASH) + +/* ] */ +#define GB_RIGHT_BRACKET (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_RIGHT_BRACKET_AND_RIGHT_BRACE)) +#define GB_RBKT (GB_RIGHT_BRACKET) + +/* ^ */ +#define GB_CARET (RA(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_6_AND_CARET))) + +/* _ */ +#define GB_UNDERSCORE (LS(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_MINUS_AND_UNDERSCORE))) +#define GB_UNDER (GB_UNDERSCORE) + +/* ` */ +#define GB_GRAVE (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_GRAVE_ACCENT_AND_TILDE)) + +/* a */ +#define GB_A (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_A)) + +/* b */ +#define GB_B (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_B)) + +/* c */ +#define GB_C (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_C)) + +/* d */ +#define GB_D (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_D)) + +/* e */ +#define GB_E (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_E)) + +/* f */ +#define GB_F (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_F)) + +/* g */ +#define GB_G (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_G)) + +/* h */ +#define GB_H (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_H)) + +/* i */ +#define GB_I (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_I)) + +/* j */ +#define GB_J (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_J)) + +/* k */ +#define GB_K (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_K)) + +/* l */ +#define GB_L (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_L)) + +/* m */ +#define GB_M (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_M)) + +/* n */ +#define GB_N (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_N)) + +/* o */ +#define GB_O (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_O)) + +/* p */ +#define GB_P (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_P)) + +/* q */ +#define GB_Q (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_Q)) + +/* r */ +#define GB_R (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_R)) + +/* s */ +#define GB_S (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_S)) + +/* t */ +#define GB_T (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_T)) + +/* u */ +#define GB_U (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_U)) + +/* v */ +#define GB_V (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_V)) + +/* w */ +#define GB_W (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_W)) + +/* x */ +#define GB_X (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_X)) + +/* y */ +#define GB_Y (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_Y)) + +/* z */ +#define GB_Z (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_Z)) + +/* { */ +#define GB_LEFT_BRACE (LS(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_LEFT_BRACKET_AND_LEFT_BRACE))) +#define GB_LBRC (GB_LEFT_BRACE) + +/* | */ +#define GB_PIPE (LS(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_NON_US_BACKSLASH_AND_PIPE))) + +/* } */ +#define GB_RIGHT_BRACE (LS(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_RIGHT_BRACKET_AND_RIGHT_BRACE))) +#define GB_RBRC (GB_RIGHT_BRACE) + +/* ~ */ +#define GB_TILDE (RA(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_BACKSLASH_AND_PIPE))) + +/* £ */ +#define GB_POUND_SIGN (LS(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_3_AND_HASH))) + +/* ¦ */ +#define GB_BROKEN_BAR (RA(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_GRAVE_ACCENT_AND_TILDE))) + +/* ¨ */ +#define GB_UMLAUT (RA(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_2_AND_AT))) + +/* ¬ */ +#define GB_NOT (LS(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_GRAVE_ACCENT_AND_TILDE))) + +/* ´ */ +#define GB_ACUTE (RA(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_APOSTROPHE_AND_QUOTE))) + +/* á */ +#define GB_A_ACUTE (RA(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_A))) + +/* ç */ +#define GB_C_CEDILLA (RA(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_C))) + +/* é */ +#define GB_E_ACUTE (RA(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_E))) + +/* í */ +#define GB_I_ACUTE (RA(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_I))) + +/* ó */ +#define GB_O_ACUTE (RA(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_O))) + +/* ú */ +#define GB_U_ACUTE (RA(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_U))) + +/* ý */ +#define GB_Y_ACUTE (RA(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_Y))) + +/* ẃ */ +#define GB_W_ACUTE (RA(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_W))) + +/* € */ +#define GB_EURO (RA(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_4_AND_DOLLAR))) diff --git a/build.yaml b/build.yaml index 3b7df5c..b3f1fc9 100644 --- a/build.yaml +++ b/build.yaml @@ -18,5 +18,7 @@ # --- include: - - board: adv360pro_left - - board: adv360pro_right + - board: nice_nano_v2 + shield: dactyl_manuform_5x7_left + - board: nice_nano_v2 + shield: dactyl_manuform_5x7_right diff --git a/config/adv360pro.conf b/config/adv360pro.conf deleted file mode 100644 index 9cbbd04..0000000 --- a/config/adv360pro.conf +++ /dev/null @@ -1 +0,0 @@ -# Put configuration options here diff --git a/config/adv360pro.keymap b/config/adv360pro.keymap deleted file mode 100644 index 999781e..0000000 --- a/config/adv360pro.keymap +++ /dev/null @@ -1,48 +0,0 @@ -#include -#include -#include -#include -#include - -/ { - keymap { - compatible = "zmk,keymap"; - - default_layer { - bindings = < - &kp EQUAL &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &tog 1 &mo 3 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp MINUS - &kp TAB &kp Q &kp W &kp E &kp R &kp T &none &none &kp Y &kp U &kp I &kp O &kp P &kp BSLH - &kp ESC &kp A &kp S &kp D &kp F &kp G &none &kp LCTRL &kp LALT &kp LGUI &kp RCTRL &none &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 HOME &kp PG_UP &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp RSHFT - &mo 2 &kp GRAVE &kp CAPS &kp LEFT &kp RIGHT &kp BSPC &kp DEL &kp END &kp PG_DN &kp ENTER &kp SPACE &kp UP &kp DOWN &kp LBKT &kp RBKT &mo 2 - >; - }; - keypad { - bindings = < - &kp EQUAL &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &trans &mo 3 &kp N6 &kp KP_NUM &kp KP_EQUAL &kp KP_DIVIDE &kp KP_MULTIPLY &kp MINUS - &kp TAB &kp Q &kp W &kp E &kp R &kp T &none &none &kp Y &kp KP_N7 &kp KP_N8 &kp KP_N9 &kp KP_MINUS &kp BSLH - &kp ESC &kp A &kp S &kp D &kp F &kp G &none &kp LCTRL &kp LALT &kp LGUI &kp RCTRL &none &kp H &kp KP_N4 &kp KP_N5 &kp KP_N6 &kp KP_PLUS &kp SQT - &kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp HOME &kp PG_UP &kp N &kp KP_N1 &kp KP_N2 &kp KP_N3 &kp KP_ENTER &kp RSHFT - &mo 2 &kp GRAVE &kp CAPS &kp LEFT &kp RIGHT &kp BSPC &kp DEL &kp END &kp PG_DN &kp ENTER &kp KP_N0 &kp UP &kp DOWN &kp KP_DOT &kp RBKT &mo 2 - >; - }; - fn { - bindings = < - &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &tog 1 &mo 3 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12 - &trans &trans &trans &trans &trans &trans &none &none &trans &trans &trans &trans &trans &trans - &trans &trans &trans &trans &trans &trans &none &trans &trans &trans &trans &none &trans &trans &trans &trans &trans &trans - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - >; - }; - mod { - bindings = < - &none &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &none &trans &none &none &none &none &none &none - &none &none &none &none &none &none &bootloader &bootloader &none &none &none &none &none &none - &none &none &none &none &none &none &none &none &none &bt BT_CLR &none &none &none &none &none &none &none &none - &none &none &none &none &none &none &none &none &none &none &none &none &none &none - &none &none &none &none &none &none &none &none &none &bl BL_TOG &rgb_ug RGB_TOG &bl BL_INC &bl BL_DEC &none &none &none - >; - }; - }; -}; diff --git a/config/dactyl_manuform_5x7.conf b/config/dactyl_manuform_5x7.conf new file mode 100644 index 0000000..31007d8 --- /dev/null +++ b/config/dactyl_manuform_5x7.conf @@ -0,0 +1,5 @@ +CONFIG_ZMK_SLEEP=y +CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=900000 +CONFIG_ZMK_BATTERY_REPORT_INTERVAL=900 +CONFIG_ZMK_MOUSE=y +CONFIG_ZMK_BLE_EXPERIMENTAL_CONN=y diff --git a/config/west.yml b/config/west.yml index b886cbe..379d291 100644 --- a/config/west.yml +++ b/config/west.yml @@ -2,8 +2,6 @@ manifest: remotes: - name: zmkfirmware url-base: https://github.com/zmkfirmware - # Additional modules containing boards/shields/custom code can be listed here as well - # See https://docs.zephyrproject.org/3.2.0/develop/west/manifest.html#projects projects: - name: zmk remote: zmkfirmware