Skip to content

Commit c1de8e2

Browse files
senzgithub-actions[bot]
authored andcommitted
feat: wireless dasbob
1 parent 8327bdd commit c1de8e2

13 files changed

+415
-1
lines changed

README.md

+9
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ Currently, the following keyboards are supported:
55
- [Corne MX wireless](./config/corne.keymap)
66
- [Totem wireless](./config/totem.keymap)
77
- [Rev57LP](./config/rev57lp.keymap)
8+
- [Dasbob](./config/dasbob.keymap)
89

910
## Keymap representation
1011

@@ -34,3 +35,11 @@ Below representation was generated with [`keymap-drawer`](https://github.com/cak
3435
![Keymap Representation](./keymap-drawer/rev57lp.svg?raw=true "Keymap Representation for Rev57LP wireless")
3536
</details>
3637

38+
### Dasbob wireless
39+
40+
<details>
41+
<summary>Click to expand</summary>
42+
43+
![Keymap Representation](./keymap-drawer/dasbob.svg?raw=true "Keymap Representation for Dasbob wireless")
44+
</details>
45+

build.yaml

+10-1
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,19 @@ include:
4040
cmake-args: -DCONFIG_ZMK_USB_LOGGING=y
4141
shield: corne_left nice_view_adapter nice_view
4242
artifact-name: corne_left_nice_view_with_logging
43-
# wired rev57lp
43+
# wireless rev57lp
4444
- board: nice_nano_v2
4545
shield: rev57lp
4646
- board: nice_nano_v2
4747
cmake-args: -DCONFIG_ZMK_USB_LOGGING=y
4848
artifact-name: rev57lp_with_logging
4949
shield: rev57lp
50+
# wireless dasbob
51+
- board: nice_nano_v2
52+
shield: dasbob_left
53+
- board: nice_nano_v2
54+
shield: dasbob_right
55+
- board: nice_nano_v2
56+
cmake-args: -DCONFIG_ZMK_USB_LOGGING=y
57+
shield: dasbob_left
58+
artifact-name: dasbob_left_with_logging

config/dasbob.conf

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Copyright (c) 2021 The ZMK Contributors
2+
# SPDX-License-Identifier: MIT
3+
CONFIG_ZMK_SLEEP=y
4+
CONFIG_ZMK_IDLE_SLEEP_TIMEOUT= 1500000

config/dasbob.json

+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
{
2+
"layouts": {
3+
"default_layout": {
4+
"name": "default_layout",
5+
"layout": [
6+
{ "row": 1, "col": 0, "x": 0, "y": 1 },
7+
{ "row": 1, "col": 1, "x": 1, "y": 1 },
8+
{ "row": 1, "col": 2, "x": 2, "y": 1 },
9+
{ "row": 1, "col": 3, "x": 3, "y": 1 },
10+
{ "row": 1, "col": 4, "x": 4, "y": 1 },
11+
{ "row": 1, "col": 5, "x": 5, "y": 1 },
12+
{ "row": 1, "col": 6, "x": 6, "y": 1 },
13+
{ "row": 1, "col": 7, "x": 7, "y": 1 },
14+
{ "row": 1, "col": 8, "x": 8, "y": 1 },
15+
{ "row": 1, "col": 9, "x": 9, "y": 1 },
16+
17+
{ "row": 2, "col": 0, "x": 0, "y": 2 },
18+
{ "row": 2, "col": 1, "x": 1, "y": 2 },
19+
{ "row": 2, "col": 2, "x": 2, "y": 2 },
20+
{ "row": 2, "col": 3, "x": 3, "y": 2 },
21+
{ "row": 2, "col": 4, "x": 4, "y": 2 },
22+
{ "row": 2, "col": 5, "x": 5, "y": 2 },
23+
{ "row": 2, "col": 6, "x": 6, "y": 2 },
24+
{ "row": 2, "col": 7, "x": 7, "y": 2 },
25+
{ "row": 2, "col": 8, "x": 8, "y": 2 },
26+
{ "row": 2, "col": 9, "x": 9, "y": 2 },
27+
28+
{ "row": 3, "col": 0, "x": 0, "y": 3 },
29+
{ "row": 3, "col": 1, "x": 1, "y": 3 },
30+
{ "row": 3, "col": 2, "x": 2, "y": 3 },
31+
{ "row": 3, "col": 3, "x": 3, "y": 3 },
32+
{ "row": 3, "col": 4, "x": 4, "y": 3 },
33+
{ "row": 3, "col": 5, "x": 5, "y": 3 },
34+
{ "row": 3, "col": 6, "x": 6, "y": 3 },
35+
{ "row": 3, "col": 7, "x": 7, "y": 3 },
36+
{ "row": 3, "col": 8, "x": 8, "y": 3 },
37+
{ "row": 3, "col": 9, "x": 9, "y": 3 },
38+
39+
{ "row": 4, "col": 2, "x": 2, "y": 4 },
40+
{ "row": 4, "col": 3, "x": 3, "y": 4 },
41+
{ "row": 4, "col": 4, "x": 4, "y": 4 },
42+
{ "row": 4, "col": 5, "x": 5, "y": 4 },
43+
{ "row": 4, "col": 6, "x": 6, "y": 4 },
44+
{ "row": 4, "col": 7, "x": 7, "y": 4 }
45+
]
46+
}
47+
},
48+
"sensors": []
49+
}

config/dasbob.keymap

+82
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
#include <behaviors.dtsi>
2+
#include <dt-bindings/zmk/keys.h>
3+
4+
/ {
5+
behaviors {
6+
hm: homerow_mods {
7+
compatible = "zmk,behavior-hold-tap";
8+
label = "HOMEROW_MODS";
9+
bindings = <&kp>, <&kp>;
10+
11+
#binding-cells = <2>;
12+
tapping-term-ms = <200>;
13+
quick-tap-ms = <0>;
14+
flavor = "tap-preferred";
15+
};
16+
};
17+
18+
macros {
19+
repeat: repeat {
20+
compatible = "zmk,behavior-macro";
21+
#binding-cells = <0>;
22+
bindings = <&kp NUMBER_2 &kp NUMBER_4 &kp NUMBER_2 &kp NUMBER_4 &kp NUMBER_2 &kp NUMBER_4>;
23+
label = "REPEAT";
24+
};
25+
26+
snip: snip {
27+
compatible = "zmk,behavior-macro";
28+
#binding-cells = <0>;
29+
bindings = <&kp LSHFT &kp LEFT_GUI &kp S>;
30+
label = "SNIP";
31+
};
32+
33+
lock: lock {
34+
compatible = "zmk,behavior-macro";
35+
#binding-cells = <0>;
36+
bindings = <&kp LEFT_GUI &kp L>;
37+
label = "LOCK";
38+
};
39+
};
40+
41+
keymap {
42+
compatible = "zmk,keymap";
43+
44+
// This is a sample keymap intended to be replaced with your own
45+
46+
Base {
47+
bindings = <
48+
&kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P
49+
&kp A &kp S &kp D &hm LEFT_SHIFT F &kp G &kp H &hm LSHFT J &kp K &kp L &kp SEMI
50+
&kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp SLASH
51+
&kp ESCAPE &lt 1 BACKSPACE &lt 3 SPACE &kp ENTER &lt 2 DEL &kp TAB
52+
>;
53+
};
54+
55+
Num {
56+
bindings = <
57+
&trans &trans &repeat &snip &lock &kp F1 &kp F2 &kp F3 &kp F4 &kp F5
58+
&kp NUMBER_1 &kp N2 &kp N3 &kp N4 &kp N5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10
59+
&kp NUMBER_6 &kp NUMBER_7 &kp N8 &kp N9 &kp N0 &kp F11 &kp F12 &trans &trans &trans
60+
&trans &trans &kp LEFT_SHIFT &trans &trans &trans
61+
>;
62+
};
63+
64+
Sym {
65+
bindings = <
66+
&kp DOUBLE_QUOTES &kp LS(LEFT_BRACKET) &kp LS(RIGHT_BRACKET) &kp LEFT_BRACKET &kp RIGHT_BRACKET &kp LC(X) &kp LC(C) &kp UP &kp LC(V) &trans
67+
&kp LS(NUMBER_1) &kp LS(NUMBER_2) &kp LS(NUMBER_3) &kp LS(NUMBER_4) &kp LS(N5) &kp SINGLE_QUOTE &kp LEFT &kp DOWN &kp RIGHT &trans
68+
&kp LS(NUMBER_6) &kp LS(N7) &kp LS(N8) &kp LS(N9) &kp LS(N0) &kp MINUS &kp EQUAL &kp BACKSLASH &kp GRAVE &trans
69+
&trans &trans &kp LSHFT &trans &trans &trans
70+
>;
71+
};
72+
73+
Misc {
74+
bindings = <
75+
&trans &trans &trans &kp LS(Z) &trans &trans &trans &trans &trans &trans
76+
&trans &trans &trans &kp LS(Y) &trans &trans &trans &trans &trans &trans
77+
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
78+
&trans &trans &trans &trans &trans &trans
79+
>;
80+
};
81+
};
82+
};

config/dasbob/Kconfig.defconfig

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Copyright (c) 2021 The ZMK Contributors
2+
# SPDX-License-Identifier: MIT
3+
4+
if SHIELD_DASBOB_LEFT
5+
6+
config ZMK_KEYBOARD_NAME
7+
default "dasbob"
8+
9+
config ZMK_SPLIT_ROLE_CENTRAL
10+
default y
11+
12+
endif
13+
14+
if SHIELD_DASBOB_LEFT || SHIELD_DASBOB_RIGHT
15+
16+
config ZMK_SPLIT
17+
default y
18+
19+
endif

config/dasbob/Kconfig.shield

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Copyright (c) 2021 The ZMK Contributors
2+
# SPDX-License-Identifier: MIT
3+
4+
config SHIELD_DASBOB_LEFT
5+
def_bool $(shields_list_contains,dasbob_left)
6+
7+
config SHIELD_DASBOB_RIGHT
8+
def_bool $(shields_list_contains,dasbob_right)

config/dasbob/dasbob.dtsi

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
/*
2+
* Copyright (c) 2021 The ZMK Contributors
3+
*
4+
* SPDX-License-Identifier: MIT
5+
*/
6+
7+
#include <dt-bindings/zmk/matrix_transform.h>
8+
9+
/ {
10+
11+
chosen {
12+
zmk,kscan = &kscan0;
13+
zmk,matrix_transform = &default_transform;
14+
};
15+
16+
default_transform: keymap_transform_0 {
17+
compatible = "zmk,matrix-transform";
18+
columns = <36>;
19+
rows = <1>;
20+
map = <
21+
RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,22) RC(0,21) RC(0,20) RC(0,19) RC(0,18)
22+
RC(0,5) RC(0,6) RC(0,7) RC(0,8) RC(0,9) RC(0,27) RC(0,26) RC(0,25) RC(0,24) RC(0,23)
23+
RC(0,10) RC(0,11) RC(0,12) RC(0,13) RC(0,14) RC(0,32) RC(0,31) RC(0,30) RC(0,29) RC(0,28)
24+
RC(0,15) RC(0,16) RC(0,17) RC(0,35) RC(0,34) RC(0,33)
25+
>;
26+
};
27+
28+
kscan0: kscan {
29+
compatible = "zmk,kscan-gpio-direct";
30+
label = "KSCAN";
31+
input-gpios =
32+
<&gpio1 2 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
33+
<&pro_micro 20 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
34+
<&gpio1 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
35+
<&pro_micro 21 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
36+
<&pro_micro 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
37+
38+
<&pro_micro 15 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
39+
<&pro_micro 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
40+
<&pro_micro 18 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
41+
<&pro_micro 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
42+
<&pro_micro 19 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
43+
44+
<&pro_micro 10 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
45+
<&pro_micro 16 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
46+
<&pro_micro 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
47+
<&pro_micro 14 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
48+
<&pro_micro 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
49+
50+
<&gpio1 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
51+
<&pro_micro 9 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
52+
<&pro_micro 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
53+
;
54+
};
55+
56+
};

config/dasbob/dasbob.zmk.yml

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
file_format: "1"
2+
id: dasbob
3+
name: Dasbob
4+
type: shield
5+
url: https://github.com/tapioki/cephalopoda/tree/main/Architeuthis%20dux
6+
requires: [pro_micro]
7+
features:
8+
- keys
9+
siblings:
10+
- dasbob_left
11+
- dasbob_right

config/dasbob/dasbob_left.overlay

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/*
2+
* Copyright (c) 2021 The ZMK Contributors
3+
*
4+
* SPDX-License-Identifier: MIT
5+
*/
6+
7+
#include "dasbob.dtsi"

config/dasbob/dasbob_right.overlay

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/*
2+
* Copyright (c) 2021 The ZMK Contributors
3+
*
4+
* SPDX-License-Identifier: MIT
5+
*/
6+
7+
#include "dasbob.dtsi"
8+
9+
&default_transform {
10+
col-offset = <18>;
11+
};

keymap-drawer/dasbob.svg

Loading

0 commit comments

Comments
 (0)