Skip to content

Commit

Permalink
Merge pull request #4 from JeffDess/urchin
Browse files Browse the repository at this point in the history
Urchin
  • Loading branch information
JeffDess authored Dec 13, 2023
2 parents ad4007c + 6aabf08 commit 4d2ebf6
Show file tree
Hide file tree
Showing 19 changed files with 337 additions and 22 deletions.
3 changes: 1 addition & 2 deletions behaviors/combos.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@
ALL LAYERS
***********************/

// TAB - Inner right thumbs, active on all layer
ZMK_COMBO(combo_tab, &kp TAB, RH0 RH1, ALL)
// NOTE: Other thumb key combos are in ./combos_34.dsti and combos_36.dtsi

// NOTE: Other mouse keys related combos in ./mouse.dtsi

Expand Down
19 changes: 19 additions & 0 deletions behaviors/combos_34.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#include <behaviors.dtsi>
#include <dt-bindings/zmk/keys.h>
#include "../zmk-nodefree-config/helper.h"
#include "../zmk-nodefree-config/keypos_def/keypos_36keys.h"
#include "../config/constants.h"
#include "./combos.dtsi"

#pragma once

// NOTE: Only thumb keys are different between 34/36 layouts
// All other combos should be in ./combos.dtsi

/***********************
THUMBS
***********************/

// TAB - Inner right thumbs, active on all layer
ZMK_COMBO(combo_tab_34, &kp TAB, LH0 RH0, ALL)

19 changes: 19 additions & 0 deletions behaviors/combos_36.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#include <behaviors.dtsi>
#include <dt-bindings/zmk/keys.h>
#include "../zmk-nodefree-config/helper.h"
#include "../zmk-nodefree-config/keypos_def/keypos_36keys.h"
#include "../config/constants.h"
#include "./combos.dtsi"

#pragma once

// NOTE: Only thumb keys are different between 34/36 layouts
// All other combos should be in ./combos.dtsi

/***********************
THUMBS
***********************/

// TAB - Inner right thumbs, active on all layer
ZMK_COMBO(combo_tab, &kp TAB, RH0 RH1, ALL)

4 changes: 4 additions & 0 deletions build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,7 @@ include:
shield: corne_left nice_view_adapter nice_view
- board: nice_nano_v2
shield: corne_right nice_view_adapter nice_view
- board: nice_nano_v2
shield: urchin_left nice_view_adapter nice_view
- board: nice_nano_v2
shield: urchin_right nice_view_adapter nice_view
17 changes: 17 additions & 0 deletions config/boards/shields/urchin/Kconfig.defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Copyright (c) 2022 Duccio Breschi
# SPDX-License-Identifier: MIT

if SHIELD_URCHIN_LEFT

config ZMK_KEYBOARD_NAME
default "urchin"

config ZMK_SPLIT_ROLE_CENTRAL
default y

endif

if SHIELD_URCHIN_LEFT || SHIELD_URCHIN_RIGHT
config ZMK_SPLIT
default y
endif
8 changes: 8 additions & 0 deletions config/boards/shields/urchin/Kconfig.shield
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Copyright (c) 2022 Duccio Breschi
# SPDX-License-Identifier: MIT

config SHIELD_URCHIN_LEFT
def_bool $(shields_list_contains,urchin_left)

config SHIELD_URCHIN_RIGHT
def_bool $(shields_list_contains,urchin_right)
33 changes: 33 additions & 0 deletions config/boards/shields/urchin/urchin.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
/*
* Copyright (c) 2022 Duccio Breschi
*
* 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 = <4>;

map = <
RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,7) RC(0,8 ) RC(0,9)
RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(1,7) RC(1,8) RC(1,9)
RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,7) RC(2,8) RC(2,9)
RC(3,3) RC(3,4) RC(3,5) RC(3,6)
>;
};

kscan0: kscan {
compatible = "zmk,kscan-gpio-matrix";
label = "KSCAN0";
};
};
7 changes: 7 additions & 0 deletions config/boards/shields/urchin/urchin.keymap
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
/*
* Copyright (c) 2020 Duccio Breschi
*
* SPDX-License-Identifier: MIT
*/

#include "../../../urchin.keymap"
11 changes: 11 additions & 0 deletions config/boards/shields/urchin/urchin.zmk.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
file_format: "1"
id: urchin
name: urchin
type: shield
url: https://github.com/duckyb/urchin
requires: [pro_micro]
features:
- keys
siblings:
- urchin_left
- urchin_right
24 changes: 24 additions & 0 deletions config/boards/shields/urchin/urchin_left.overlay
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/*
* Copyright (c) 2022 Duccio Breschi
*
* SPDX-License-Identifier: MIT
*/

#include "urchin.dtsi"

&kscan0 {
diode-direction = "col2row";
col-gpios
= <&pro_micro 18 (GPIO_ACTIVE_HIGH)> // COL0
, <&pro_micro 15 (GPIO_ACTIVE_HIGH)> // COL1
, <&pro_micro 14 (GPIO_ACTIVE_HIGH)> // COL2
, <&pro_micro 16 (GPIO_ACTIVE_HIGH)> // COL3
, <&pro_micro 10 (GPIO_ACTIVE_HIGH)> // COL4
;
row-gpios
= <&pro_micro 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // ROW0
, <&pro_micro 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // ROW1
, <&pro_micro 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // ROW2
, <&pro_micro 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // ROW3
;
};
28 changes: 28 additions & 0 deletions config/boards/shields/urchin/urchin_right.overlay
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
/*
* Copyright (c) 2022 Duccio Breschi
*
* SPDX-License-Identifier: MIT
*/

#include "urchin.dtsi"

&default_transform {
col-offset = <5>;
};

&kscan0 {
diode-direction = "col2row";
col-gpios
= <&pro_micro 5 (GPIO_ACTIVE_HIGH)> // COL0
, <&pro_micro 6 (GPIO_ACTIVE_HIGH)> // COL1
, <&pro_micro 7 (GPIO_ACTIVE_HIGH)> // COL2
, <&pro_micro 8 (GPIO_ACTIVE_HIGH)> // COL3
, <&pro_micro 9 (GPIO_ACTIVE_HIGH)> // COL4
;
row-gpios
= <&pro_micro 15 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // ROW0
, <&pro_micro 14 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // ROW1
, <&pro_micro 16 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // ROW2
, <&pro_micro 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // ROW3
;
};
2 changes: 1 addition & 1 deletion config/corne.keymap
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
#include "../zmk-nodefree-config/symbols/typography.dtsi"

#include "../layouts/canadian-multilingual-standard.dtsi"
#include "../behaviors/combos.dtsi"
#include "../behaviors/combos_36.dtsi"
#include "../behaviors/hold-tap.dtsi"
#include "../behaviors/macros.dtsi"
#include "../behaviors/mod-morph.dtsi"
Expand Down
28 changes: 28 additions & 0 deletions config/urchin.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# increase bluetooth signal power
CONFIG_BT_CTLR_TX_PWR_PLUS_8=y

# enable deep sleep support
CONFIG_ZMK_SLEEP=y

# the keyboard disconnects from bluetooth.
# uses very little power, but it may take
# a few seconds to reconnect after waking.
# 1.800.000 ms = 30 minutes
CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=1800000

# "Eager Debouncing"
# Trying to lower the input lag.
# CONFIG_ZMK_KSCAN_DEBOUNCE_PRESS_MS=1
# CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS=5

# --- DISPLAY SETTINGS ---

# disable the WPM widget
CONFIG_ZMK_WIDGET_WPM_STATUS=n

# display battery as n%
CONFIG_ZMK_WIDGET_BATTERY_STATUS_SHOW_PERCENTAGE=y

# Add mouse keys support
CONFIG_ZMK_MOUSE=y

Loading

0 comments on commit 4d2ebf6

Please sign in to comment.