forked from zmkfirmware/zmk
-
Notifications
You must be signed in to change notification settings - Fork 66
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
731b4e1
commit b96441a
Showing
40 changed files
with
1,776 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 |
---|---|---|
|
@@ -4,3 +4,4 @@ | |
# Docker on Windows. | ||
.bashrc text eol=lf | ||
*.sh text eol=lf | ||
*.nix text eol=lf |
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 |
---|---|---|
|
@@ -6,4 +6,9 @@ | |
/zmk-config | ||
/build | ||
*.DS_Store | ||
__pycache__ | ||
__pycache__ | ||
workspace.code-workspace | ||
*.uf2 | ||
left | ||
result | ||
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,3 @@ | ||
zephyr_library() | ||
zephyr_library_sources(usb_serial_number.c) | ||
zephyr_library_include_directories(${ZEPHYR_BASE}/drivers) |
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 @@ | ||
# SPDX-License-Identifier: MIT | ||
|
||
config BOARD_ENABLE_DCDC | ||
bool "Enable DCDC mode" | ||
select SOC_DCDC_NRF52X | ||
default y | ||
depends on (BOARD_GLOVE80_LH || BOARD_GLOVE80_RH) |
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 @@ | ||
# nice!nano board configuration | ||
|
||
# Copyright (c) 2020 Pete Johanson | ||
# SPDX-License-Identifier: MIT | ||
|
||
config BOARD_GLOVE80_LH | ||
bool "Glove80 LH" | ||
depends on SOC_NRF52840_QIAA | ||
|
||
config BOARD_GLOVE80_RH | ||
bool "Glove80 RH" | ||
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,79 @@ | ||
# Copyright (c) 2021 The ZMK Contributors | ||
# SPDX-License-Identifier: MIT | ||
|
||
if BOARD_GLOVE80_LH | ||
config BOARD | ||
default "glove80 lh" | ||
|
||
config ZMK_SPLIT_BLE_ROLE_CENTRAL | ||
default y | ||
|
||
config ZMK_KEYBOARD_NAME | ||
default "Glove80 Left" | ||
endif # BOARD_GLOVE80_LH | ||
|
||
if BOARD_GLOVE80_RH | ||
config BOARD | ||
default "glove80 rh" | ||
|
||
config ZMK_KEYBOARD_NAME | ||
default "Glove80 Right" | ||
endif # BOARD_GLOVE80_RH | ||
|
||
if BOARD_GLOVE80_LH || BOARD_GLOVE80_RH | ||
|
||
config ZMK_SPLIT | ||
default y | ||
|
||
config BT_CTLR | ||
default BT | ||
|
||
config ZMK_BLE | ||
default y | ||
|
||
config ZMK_USB | ||
default y | ||
|
||
config ZMK_BATTERY_VOLTAGE_DIVIDER | ||
default y | ||
|
||
config ZMK_BATTERY_NRF_VDDH | ||
default y | ||
|
||
config ZMK_KSCAN_MATRIX_WAIT_BETWEEN_OUTPUTS | ||
default 5 | ||
|
||
config PINCTRL | ||
default y | ||
|
||
if USB | ||
|
||
config USB_NRFX | ||
default y | ||
|
||
config USB_DEVICE_STACK | ||
default y | ||
|
||
endif # USB | ||
|
||
if ZMK_BACKLIGHT | ||
|
||
config PWM | ||
default y | ||
|
||
config LED_PWM | ||
default y | ||
|
||
endif # ZMK_BACKLIGHT | ||
|
||
if ZMK_RGB_UNDERGLOW | ||
|
||
config SPI | ||
default y | ||
|
||
config WS2812_STRIP | ||
default y | ||
|
||
endif # ZMK_RGB_UNDERGLOW | ||
|
||
endif # BOARD_GLOVE80_LH || BOARD_GLOVE80_RH |
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 @@ | ||
# SPDX-License-Identifier: MIT | ||
|
||
board_runner_args(nrfjprog "--nrf-family=NRF52" "--softreset") | ||
include(${ZEPHYR_BASE}/boards/common/blackmagicprobe.board.cmake) | ||
include(${ZEPHYR_BASE}/boards/common/nrfjprog.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,105 @@ | ||
/* | ||
* Copyright (c) 2020 Pete Johanson | ||
* | ||
* SPDX-License-Identifier: MIT | ||
*/ | ||
|
||
#include <dt-bindings/zmk/matrix_transform.h> | ||
|
||
/ { | ||
chosen { | ||
zmk,kscan = &kscan0; | ||
zmk,matrix_transform = &default_transform; | ||
zephyr,code-partition = &code_partition; | ||
zephyr,sram = &sram0; | ||
zephyr,flash = &flash0; | ||
zephyr,console = &cdc_acm_uart; | ||
}; | ||
|
||
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,9) RC(0,10) RC(0,11) RC(0,12) RC(0,13) | ||
RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,8) RC(1,9) RC(1,10) RC(1,11) RC(1,12) RC(1,13) | ||
RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,8) RC(2,9) RC(2,10) RC(2,11) RC(2,12) RC(2,13) | ||
RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(3,8) RC(3,9) RC(3,10) RC(3,11) RC(3,12) RC(3,13) | ||
RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,5) RC(0,6) RC(1,6) RC(2,6) RC(2,7) RC(1,7) RC(0,7) RC(4,8) RC(4,9) RC(4,10) RC(4,11) RC(4,12) RC(4,13) | ||
RC(5,0) RC(5,1) RC(5,2) RC(5,3) RC(5,4) RC(3,6) RC(4,6) RC(5,6) RC(5,7) RC(4,7) RC(3,7) RC(5,9) RC(5,10) RC(5,11) RC(5,12) RC(5,13) | ||
>; | ||
}; | ||
|
||
kscan0: kscan { | ||
compatible = "zmk,kscan-gpio-matrix"; | ||
label = "KSCAN"; | ||
diode-direction = "col2row"; | ||
debounce-press-ms = <4>; | ||
debounce-release-ms = <20>; | ||
}; | ||
|
||
}; | ||
|
||
&adc { | ||
status = "okay"; | ||
}; | ||
|
||
&gpiote { | ||
status = "okay"; | ||
}; | ||
|
||
&gpio0 { | ||
status = "okay"; | ||
}; | ||
|
||
&gpio1 { | ||
status = "okay"; | ||
}; | ||
|
||
&usbd { | ||
status = "okay"; | ||
cdc_acm_uart: cdc_acm_uart { | ||
compatible = "zephyr,cdc-acm-uart"; | ||
label = "CDC_ACM_0"; | ||
}; | ||
}; | ||
|
||
&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,145 @@ | ||
/* | ||
* Copyright (c) 2020 The ZMK Contributors | ||
* | ||
* SPDX-License-Identifier: MIT | ||
*/ | ||
|
||
#include <behaviors.dtsi> | ||
#include <dt-bindings/zmk/keys.h> | ||
#include <dt-bindings/zmk/bt.h> | ||
#include <dt-bindings/zmk/ext_power.h> | ||
#include <dt-bindings/zmk/outputs.h> | ||
#include <dt-bindings/zmk/rgb.h> | ||
|
||
#define HYPER LC(LS(LG(LALT))) | ||
|
||
// layers | ||
#define DEFAULT 0 | ||
#define LOWER 1 | ||
#define MAGIC 2 | ||
#define FACTORY_TEST 3 | ||
|
||
/ { | ||
behaviors { | ||
// For the "layer" key, it'd nice to be able to use it as either a shift or a toggle. | ||
// Configure it as a tap dance, so the first tap (or hold) is a &mo and the second tap is a &to | ||
layer_td: tap_dance_0 { | ||
compatible = "zmk,behavior-tap-dance"; | ||
label = "LAYER_TAP_DANCE"; | ||
#binding-cells = <0>; | ||
tapping-term-ms = <200>; | ||
bindings = <&mo LOWER>, <&to LOWER>; | ||
}; | ||
|
||
magic: magic_hold_tap { | ||
compatible = "zmk,behavior-hold-tap"; | ||
label = "MAGIC_HOLD_TAP"; | ||
#binding-cells = <2>; | ||
flavor = "tap-preferred"; | ||
tapping-term-ms = <200>; | ||
bindings = <&mo>, <&rgb_ug_status_macro>; | ||
}; | ||
}; | ||
|
||
macros { | ||
rgb_ug_status_macro: rgb_ug_status_macro_0 { | ||
label = "RGB_UG_STATUS"; | ||
compatible = "zmk,behavior-macro"; | ||
#binding-cells = <0>; | ||
bindings | ||
= <&rgb_ug RGB_STATUS>; | ||
}; | ||
|
||
bt_0: bt_profile_macro_0 { | ||
label = "BT_0"; | ||
compatible = "zmk,behavior-macro"; | ||
#binding-cells = <0>; | ||
bindings | ||
= <&out OUT_BLE>, | ||
<&bt BT_SEL 0>; | ||
}; | ||
|
||
bt_1: bt_profile_macro_1 { | ||
label = "BT_1"; | ||
compatible = "zmk,behavior-macro"; | ||
#binding-cells = <0>; | ||
bindings | ||
= <&out OUT_BLE>, | ||
<&bt BT_SEL 1>; | ||
}; | ||
|
||
bt_2: bt_profile_macro_2 { | ||
label = "BT_2"; | ||
compatible = "zmk,behavior-macro"; | ||
#binding-cells = <0>; | ||
bindings | ||
= <&out OUT_BLE>, | ||
<&bt BT_SEL 2>; | ||
}; | ||
|
||
bt_3: bt_profile_macro_3 { | ||
label = "BT_3"; | ||
compatible = "zmk,behavior-macro"; | ||
#binding-cells = <0>; | ||
bindings | ||
= <&out OUT_BLE>, | ||
<&bt BT_SEL 3>; | ||
}; | ||
}; | ||
|
||
keymap { | ||
compatible = "zmk,keymap"; | ||
|
||
default_layer { | ||
// --------------------------------------------------------------------------------------------------------------------------------- | ||
// | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | | ||
// | = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | | ||
// | TAB | Q | W | E | R | T | | Y | U | I | O | P | \ | | ||
// | ESC | A | S | D | F | G | | H | J | K | L | ; | ' | | ||
// | ` | Z | X | C | V | B | LSHFT | LCTRL | LOWER | | LGUI | RCTRL | RSHFT | N | M | , | . | / | PGUP | | ||
// | MAGIC | HOME| END | LEFT | RIGHT| | BSPC | DEL | LALT | | RALT | RET | SPACE | | UP | DOWN | [ | ] | PGDN | | ||
|
||
bindings = < | ||
&kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 | ||
&kp EQUAL &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp MINUS | ||
&kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp BSLH | ||
&kp ESC &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp SQT | ||
&kp GRAVE &kp Z &kp X &kp C &kp V &kp B &kp LSHFT &kp LCTRL &layer_td &kp LGUI &kp RCTRL &kp RSHFT &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp PG_UP | ||
&magic MAGIC 0 &kp HOME &kp END &kp LEFT &kp RIGHT &kp BSPC &kp DEL &kp LALT &kp RALT &kp RET &kp SPACE &kp UP &kp DOWN &kp LBKT &kp RBKT &kp PG_DN | ||
>; | ||
}; | ||
|
||
lower_layer { | ||
bindings = < | ||
&kp C_BRI_DN &kp C_BRI_UP &kp C_PREV &kp C_NEXT &kp C_PP &kp C_MUTE &kp C_VOL_DN &kp C_VOL_UP &none &kp PAUSE_BREAK | ||
&trans &none &none &none &none &kp HOME &kp LPAR &kp KP_NUM &kp KP_EQUAL &kp KP_DIVIDE &kp KP_MULTIPLY &kp PSCRN | ||
&trans &none &none &kp UP &none &kp END &kp RPAR &kp KP_N7 &kp KP_N8 &kp KP_N9 &kp KP_MINUS &kp SLCK | ||
&trans &none &kp LEFT &kp DOWN &kp RIGHT &kp PG_UP &kp PRCNT &kp KP_N4 &kp KP_N5 &kp KP_N6 &kp KP_PLUS &none | ||
&trans &kp K_CMENU &none &kp F11 &kp F12 &kp PG_DN &trans &trans &to DEFAULT &trans &trans &trans &kp COMMA &kp KP_N1 &kp KP_N2 &kp KP_N3 &kp KP_ENTER &trans | ||
&trans &kp CAPS &kp INS &kp F11 &kp F12 &trans &trans &trans &trans &trans &trans &kp KP_N0 &kp KP_N0 &kp KP_DOT &kp KP_ENTER &trans | ||
>; | ||
}; | ||
|
||
magic_layer { | ||
bindings = < | ||
&bt BT_CLR &none &none &none &none &none &none &none &none &bt BT_CLR_ALL | ||
&none &none &none &none &none &none &none &none &none &none &none &none | ||
&none &rgb_ug RGB_SPI &rgb_ug RGB_SAI &rgb_ug RGB_HUI &rgb_ug RGB_BRI &rgb_ug RGB_TOG &none &none &none &none &none &none | ||
&bootloader &rgb_ug RGB_SPD &rgb_ug RGB_SAD &rgb_ug RGB_HUD &rgb_ug RGB_BRD &rgb_ug RGB_EFF &none &none &none &none &none &bootloader | ||
&sys_reset &none &none &none &none &none &bt_2 &bt_3 &none &none &none &none &none &none &none &none &none &sys_reset | ||
&none &none &none &none &none &bt_0 &bt_1 &out OUT_USB &none &none &none &none &none &none &none &to FACTORY_TEST | ||
>; | ||
}; | ||
|
||
factory_test_layer { | ||
bindings = < | ||
&kp N0 &kp N6 &kp N2 &kp N8 &kp N4 &kp N4 &kp N8 &kp N2 &kp N6 &kp N0 | ||
&kp N1 &kp N7 &kp N3 &kp N9 &kp N5 &kp N0 &kp N0 &kp N5 &kp N9 &kp N3 &kp N7 &kp N1 | ||
&kp N2 &kp N8 &kp N4 &kp N0 &kp N6 &kp N1 &kp N1 &kp N6 &kp N0 &kp N4 &kp N8 &kp N2 | ||
&kp N3 &kp N9 &kp N5 &kp N1 &kp N7 &kp N2 &kp N2 &kp N7 &kp N1 &kp N5 &kp N9 &kp N3 | ||
&kp N4 &kp N0 &kp N6 &kp N2 &kp N8 &kp N3 &kp N4 &kp N5 &kp N6 &kp N6 &kp N5 &kp N4 &kp N3 &kp N8 &kp N2 &kp N6 &kp N0 &kp N4 | ||
&kp N5 &kp N1 &kp N7 &kp N3 &kp N9 &kp N7 &kp N8 &kp N9 &kp N9 &kp N8 &kp N7 &kp N9 &kp N3 &kp N7 &kp N1 &kp N5 | ||
>; | ||
}; | ||
}; | ||
}; |
Oops, something went wrong.