-
Notifications
You must be signed in to change notification settings - Fork 173
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
bb19584
commit 8707260
Showing
19 changed files
with
692 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,22 @@ | ||
# zmk-config | ||
# ZMK Firmware for Dao keyboard | ||
|
||
## Default keymap | ||
|
||
|
||
### Dao44 | ||
|
||
Visual representation of the default keymap in keyboard-layout-editor: [KLE](http://www.keyboard-layout-editor.com/#/gists/c6ba0634e5b92366be9f324775394e66) | ||
|
||
This layout is heavily inspired by [this](https://github.com/KGOH/Jian-Info) | ||
|
||
### Dao42 | ||
|
||
Visual representation of the default keymap in keyboard-layout-editor: [KLE](http://www.keyboard-layout-editor.com/#/gists/67a81f6b83c65abcda5e7f32989a1688) | ||
|
||
Because of current ZMK limitations, Dao42 keymap is in the branch [dao42](https://github.com/yumagulovrn/dao-zmk-config/tree/dao42) | ||
|
||
This layout is heavily inspired by [this](https://github.com/aroum/Watchman-layouts) | ||
|
||
## Documentation | ||
|
||
Answers to frequently asked questions can be found in [FAQ](docs/FAQ.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
include: | ||
- board: dao_left | ||
- board: dao_right | ||
- board: nice_nano_v2 | ||
shield: settings_reset |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# Copyright (c) 2021 Rafael Yumagulov | ||
# SPDX-License-Identifier: MIT | ||
|
||
config BOARD_ENABLE_DCDC | ||
bool "Enable DCDC mode" | ||
select SOC_DCDC_NRF52X | ||
default y | ||
depends on (BOARD_DAO_LEFT || BOARD_DAO_RIGHT) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
# Dao board configuration | ||
|
||
# Copyright (c) 2021 Rafael Yumagulov | ||
# SPDX-License-Identifier: MIT | ||
|
||
config BOARD_DAO_LEFT | ||
bool "dao_left" | ||
depends on SOC_NRF52840_QIAA | ||
|
||
config BOARD_DAO_RIGHT | ||
bool "dao_right" | ||
depends on SOC_NRF52840_QIAA |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
# Copyright (c) 2021 Rafael Yumagulov | ||
# SPDX-License-Identifier: MIT | ||
|
||
if BOARD_DAO_LEFT | ||
|
||
config ZMK_KEYBOARD_NAME | ||
default "Dao56" | ||
|
||
config ZMK_SPLIT_BLE_ROLE_CENTRAL | ||
default y | ||
|
||
endif # BOARD_DAO_LEFT | ||
|
||
if BOARD_DAO_RIGHT | ||
|
||
config ZMK_KEYBOARD_NAME | ||
default "Dao56 Right" | ||
|
||
endif # BOARD_DAO_RIGHT | ||
|
||
|
||
if BOARD_DAO_LEFT || BOARD_DAO_RIGHT | ||
|
||
config BOARD | ||
default "dao" | ||
|
||
config ZMK_SPLIT | ||
default y | ||
|
||
config BT_CTLR | ||
default BT | ||
|
||
config ZMK_BATTERY_VOLTAGE_DIVIDER | ||
default y | ||
|
||
if USB | ||
|
||
config USB_NRFX | ||
default y | ||
|
||
config USB_DEVICE_STACK | ||
default y | ||
|
||
endif # USB | ||
|
||
endif # BOARD_DAO_LEFT || BOARD_DAO_RIGHT |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# | ||
# Copyright (c) 2020 The ZMK Contributors | ||
# SPDX-License-Identifier: MIT | ||
# | ||
|
||
board_runner_args(nrfjprog "--nrf-family=NRF52" "--softreset") | ||
include(${ZEPHYR_BASE}/boards/common/nrfjprog.board.cmake) | ||
include(${ZEPHYR_BASE}/boards/common/blackmagicprobe.board.cmake) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,138 @@ | ||
/* | ||
* Copyright (c) 2021 Rafael Yumagulov | ||
* | ||
* SPDX-License-Identifier: MIT | ||
*/ | ||
|
||
/dts-v1/; | ||
#include <nordic/nrf52840_qiaa.dtsi> | ||
|
||
#include <dt-bindings/zmk/matrix_transform.h> | ||
|
||
|
||
/ { | ||
model = "dao"; | ||
compatible = "dao"; | ||
|
||
chosen { | ||
zephyr,code-partition = &code_partition; | ||
zephyr,sram = &sram0; | ||
zephyr,flash = &flash0; | ||
zmk,kscan = &kscan0; | ||
zmk,matrix_transform = &default_transform; | ||
zmk,battery = &vbatt; | ||
}; | ||
|
||
default_transform: keymap_transform_0 { | ||
compatible = "zmk,matrix-transform"; | ||
columns = <12>; | ||
rows = <5>; | ||
|
||
// | SW19 | SW1 | SW2 | SW3 | SW4 | SW5 | SW6 | | SW6 | SW5 | SW4 | SW3 | SW2 | SW1 | SW19 | | ||
// | | SW7 | SW8 | SW9 | SW10 | SW11 | SW12 | | SW12 | SW11 | SW10 | SW9 | SW8 | SW7 | | | ||
// | | SW13 | SW14 | SW15 | SW16 | SW17 | SW18 | | SW18 | SW17 | SW16 | SW15 | SW14 | SW13 | | | ||
// | | | | | SW20 | SW21 | SW22 | | SW22 | SW21 | SW20 | | | | | | ||
map = < | ||
RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,5) RC(4,11) RC(4,10) RC(4,9) RC(4,8) RC(4,7) RC(4,6) | ||
RC(3,0) 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(3,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,3) RC(3,4) RC(3,5) RC(3,11) RC(3,10) RC(3,9) | ||
>; | ||
}; | ||
|
||
kscan0: kscan { | ||
compatible = "zmk,kscan-gpio-matrix"; | ||
label = "KSCAN"; | ||
|
||
diode-direction = "col2row"; | ||
row-gpios | ||
= <&gpio0 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> | ||
, <&gpio0 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> | ||
, <&gpio0 22 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> | ||
, <&gpio0 24 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> | ||
, <&gpio0 26 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> | ||
; | ||
}; | ||
|
||
vbatt: vbatt { | ||
compatible = "zmk,battery-voltage-divider"; | ||
label = "VBATT"; | ||
io-channels = <&adc 7>; | ||
output-ohms = <2000000>; | ||
full-ohms = <(2000000 + 820000)>; | ||
}; | ||
|
||
}; | ||
|
||
|
||
&adc { | ||
status = "okay"; | ||
}; | ||
|
||
&gpiote { | ||
status = "okay"; | ||
}; | ||
|
||
&gpio0 { | ||
status = "okay"; | ||
}; | ||
|
||
&gpio1 { | ||
status = "okay"; | ||
}; | ||
|
||
&usbd { | ||
status = "okay"; | ||
}; | ||
|
||
&uart0 { | ||
compatible = "nordic,nrf-uarte"; | ||
status = "okay"; | ||
current-speed = <115200>; | ||
tx-pin = <19>; | ||
rx-pin = <21>; | ||
rts-pin = <23>; | ||
cts-pin = <25>; | ||
}; | ||
|
||
|
||
&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 { | ||
label = "softdevice"; | ||
reg = <0x00000000 0x00026000>; | ||
}; | ||
code_partition: partition@26000 { | ||
label = "code_partition"; | ||
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 { | ||
label = "storage"; | ||
reg = <0x000ec000 0x00008000>; | ||
}; | ||
|
||
boot_partition: partition@f4000 { | ||
label = "adafruit_boot"; | ||
reg = <0x000f4000 0x0000c000>; | ||
}; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
/* | ||
* Copyright (c) 2021 Rafael Yumagulov | ||
* | ||
* SPDX-License-Identifier: MIT | ||
*/ | ||
|
||
#include <behaviors.dtsi> | ||
#include <dt-bindings/zmk/keys.h> | ||
#include <dt-bindings/zmk/bt.h> | ||
|
||
#define DEF 0 | ||
#define LWR 1 | ||
#define RSE 2 | ||
#define ADJ 3 | ||
|
||
< { quick_tap_ms = <200>; }; | ||
&mt { quick_tap_ms = <200>; }; | ||
|
||
/ { | ||
keymap { | ||
compatible = "zmk,keymap"; | ||
|
||
default_layer { | ||
// ----------------------------------------------------------------------------------------- | ||
// | GUI | ~ | Q | W | E | R | T | | Y | U | I | O | P | [ | GUI/] | | ||
// | CTRL | A | S | D | F | G | | H | J | K | L | ; |CTRL/'| | ||
// | LALT | Z | X | C | V | B | | N | M | , | . | / | RALT | | ||
// | RSE | SPC | LWR | | LWR | BKSP | RSE | | ||
bindings = < | ||
&kp GRAVE &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp MINUS | ||
&kp LWIN &kp GRAVE &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp LBKT &mt RWIN RBKT | ||
&kp LCTRL &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &mt RCTRL SQT | ||
&kp LALT &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH &mt RALT BSLH | ||
< RSE TAB &mt LSHFT SPACE < LWR RET < LWR ESC &mt RSHFT BSPC < RSE DEL | ||
>; | ||
}; | ||
lower_layer { | ||
// ----------------------------------------------------------------------------------------- | ||
// | | _ | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | ||
// | + | ! | @ | # | $ | % | | ^ | & | * | ( | ) | - | | ||
// | = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | | ||
// | GUI | | SPC | | ENT | | ALT | | ||
bindings = < | ||
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans | ||
&trans &kp UNDER &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &mt RGUI F12 | ||
&mt LCTRL PLUS &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp STAR &kp LPAR &kp RPAR &mt RCTRL MINUS | ||
&mt LALT EQUAL &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &trans | ||
< ADJ TAB &trans &trans &trans &trans < ADJ DEL | ||
>; | ||
}; | ||
|
||
raise_layer { | ||
// ----------------------------------------------------------------------------------------- | ||
// | | NMLK | / | 7 | 8 | 9 | - | | VOLU| HOME| PRSC| PGUP| SCLK| CLCK| | | ||
// | CTRL | * | 4 | 5 | 6 | + | | MUT | LEFT| UP | RGHT| INS | APP | | ||
// | | 0 | 1 | 2 | 3 | . | | VOLD| END | DOWN| PGDN| PAUS| | | ||
// | | | ADJ | | ADJ | | | | ||
bindings = < | ||
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans | ||
&trans &kp KP_NUM &kp KP_SLASH &kp KP_N7 &kp KP_N8 &kp KP_N9 &kp KP_MINUS &kp C_VOL_UP &kp HOME &kp PSCRN &kp PG_UP &kp SLCK &kp CAPS &trans | ||
&mt LCTRL EQUAL &kp KP_MULTIPLY &kp KP_N4 &kp KP_N5 &kp KP_N6 &kp KP_PLUS &kp C_MUTE &kp LEFT &kp UP &kp RIGHT &kp INS &mt RCTRL K_APP | ||
&trans &kp KP_N0 &kp KP_N1 &kp KP_N2 &kp KP_N3 &kp KP_DOT &kp C_VOL_DN &kp END &kp DOWN &kp PG_DN &kp PAUSE_BREAK &trans | ||
&trans &trans < ADJ RET < ADJ ESC &trans &trans | ||
>; | ||
}; | ||
adjust_layer { | ||
// ----------------------------------------------------------------------------------------- | ||
// | RST | BLDR | | | | | | | | | | | | BLDR | RST | | ||
// | BTCLR| BT0 | BT1 | BT2 | BT3 | BT4 | | BT4 | BT3 | BT2 | BT1 | BT0 | BTCLR| | ||
// | | | | | | | | | | | | | | | ||
// | | | | | | | | | ||
bindings = < | ||
&none &none &none &none &none &none &none &none &none &none &none &none | ||
&reset &bootloader &none &none &none &none &none &none &none &none &none &none &bootloader &reset | ||
&bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &bt BT_SEL 4 &bt BT_SEL 3 &bt BT_SEL 2 &bt BT_SEL 1 &bt BT_SEL 0 &bt BT_CLR | ||
&none &none &none &none &none &none &none &none &none &none &none &none | ||
&trans &none &trans &trans &none &trans | ||
>; | ||
}; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
identifier: dao | ||
name: Dao | ||
type: keyboard | ||
arch: arm | ||
toolchain: | ||
- zephyr | ||
- gnuarmemb | ||
- xtools | ||
supported: | ||
- adc | ||
- usb_device | ||
- ble | ||
- ieee802154 | ||
- pwm | ||
- watchdog | ||
- kscan | ||
- nvs | ||
- can |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
/* | ||
* Copyright (c) 2021 Rafael Yumagulov | ||
* | ||
* SPDX-License-Identifier: MIT | ||
*/ | ||
|
||
#include "dao.dtsi" | ||
|
||
&kscan0 { | ||
col-gpios | ||
= <&gpio0 12 GPIO_ACTIVE_HIGH> | ||
, <&gpio1 9 GPIO_ACTIVE_HIGH> | ||
, <&gpio0 8 GPIO_ACTIVE_HIGH> | ||
, <&gpio0 13 GPIO_ACTIVE_HIGH> | ||
, <&gpio0 15 GPIO_ACTIVE_HIGH> | ||
, <&gpio0 20 GPIO_ACTIVE_HIGH> | ||
; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
/* | ||
* Copyright (c) 2021 Rafael Yumagulov | ||
* | ||
* SPDX-License-Identifier: MIT | ||
*/ | ||
|
||
#include "dao.keymap" |
Oops, something went wrong.