Initial commit
This commit is contained in:
10
config/default.nix
Normal file
10
config/default.nix
Normal file
@@ -0,0 +1,10 @@
|
||||
{ pkgs ? import <nixpkgs> {} }:
|
||||
|
||||
let
|
||||
firmware = import ../src {};
|
||||
config = ./.;
|
||||
|
||||
glove80_left = firmware.zmk.override { board = "glove80_lh"; keymap = "${config}/glove80.keymap"; kconfig = "${config}/glove80.conf"; };
|
||||
glove80_right = firmware.zmk.override { board = "glove80_rh"; keymap = "${config}/glove80.keymap"; kconfig = "${config}/glove80.conf"; };
|
||||
|
||||
in firmware.combine_uf2 glove80_left glove80_right
|
||||
1
config/glove80.conf
Normal file
1
config/glove80.conf
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
146
config/glove80.keymap
Normal file
146
config/glove80.keymap
Normal file
@@ -0,0 +1,146 @@
|
||||
|
||||
/*
|
||||
* Copyright (c) 2020 The ZMK Contributors
|
||||
* Copyright (c) 2022 Innaworks Development Limited, trading as MoErgo
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
|
||||
/* THIS FILE WAS GENERATED BY GLOVE80 LAYOUT EDITOR
|
||||
*
|
||||
* This file was generated automatically. You may or may not want to
|
||||
* edit it directly.
|
||||
*/
|
||||
|
||||
#include <behaviors.dtsi>
|
||||
/* Include all behaviour includes needed by system behaviors/macros */
|
||||
#include <dt-bindings/zmk/outputs.h>
|
||||
|
||||
/* Include behaviour includes needed by key binds - automatically generated */
|
||||
#include <dt-bindings/zmk/keys.h>
|
||||
#include <dt-bindings/zmk/bt.h>
|
||||
#include <dt-bindings/zmk/rgb.h>
|
||||
#include <dt-bindings/zmk/outputs.h>
|
||||
|
||||
|
||||
/ {
|
||||
/* Glove80 system behavior & macros */
|
||||
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
|
||||
lower: tap_dance_0 {
|
||||
compatible = "zmk,behavior-tap-dance";
|
||||
label = "LAYER_TAP_DANCE";
|
||||
#binding-cells = <0>;
|
||||
tapping-term-ms = <200>;
|
||||
bindings = <&mo 1>, <&to 1>;
|
||||
};
|
||||
};
|
||||
|
||||
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>;
|
||||
};
|
||||
};
|
||||
|
||||
macros {
|
||||
bt_0: bt_profile_macro_0 {
|
||||
label = "BT_0";
|
||||
compatible = "zmk,behavior-macro";
|
||||
#binding-cells = <0>;
|
||||
bindings
|
||||
= <&out OUT_BLE>,
|
||||
<&bt BT_SEL 0>;
|
||||
};
|
||||
};
|
||||
|
||||
macros {
|
||||
bt_1: bt_profile_macro_1 {
|
||||
label = "BT_1";
|
||||
compatible = "zmk,behavior-macro";
|
||||
#binding-cells = <0>;
|
||||
bindings
|
||||
= <&out OUT_BLE>,
|
||||
<&bt BT_SEL 1>;
|
||||
};
|
||||
};
|
||||
|
||||
macros {
|
||||
bt_2: bt_profile_macro_2 {
|
||||
label = "BT_2";
|
||||
compatible = "zmk,behavior-macro";
|
||||
#binding-cells = <0>;
|
||||
bindings
|
||||
= <&out OUT_BLE>,
|
||||
<&bt BT_SEL 2>;
|
||||
};
|
||||
};
|
||||
|
||||
macros {
|
||||
bt_3: bt_profile_macro_3 {
|
||||
label = "BT_3";
|
||||
compatible = "zmk,behavior-macro";
|
||||
#binding-cells = <0>;
|
||||
bindings
|
||||
= <&out OUT_BLE>,
|
||||
<&bt BT_SEL 3>;
|
||||
};
|
||||
};
|
||||
|
||||
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>;
|
||||
};
|
||||
|
||||
/* Custom Defined Behaviors */
|
||||
|
||||
|
||||
/* Automatically generated keymap */
|
||||
keymap {
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
|
||||
base_layer {
|
||||
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 &lower &kp LGUI &kp RCTRL &kp RSHFT &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp PG_UP
|
||||
&magic 2 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
|
||||
>;
|
||||
};
|
||||
|
||||
layer_Lower {
|
||||
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 LEFT_PARENTHESIS &kp KP_NUM &kp KP_EQUAL &kp KP_SLASH &kp KP_MULTIPLY &kp PRINTSCREEN
|
||||
&trans &none &none &kp UP_ARROW &none &kp END &kp RIGHT_PARENTHESIS &kp KP_N7 &kp KP_N8 &kp KP_N9 &kp KP_MINUS &kp SCROLLLOCK
|
||||
&trans &none &kp LEFT_ARROW &kp DOWN_ARROW &kp RIGHT_ARROW &kp PG_UP &kp PERCENT &kp KP_N4 &kp KP_N5 &kp KP_N6 &kp KP_PLUS &none
|
||||
&trans &kp K_APP &none &kp F11 &kp F12 &kp PG_DN &trans &trans &to 0 &trans &trans &trans &kp COMMA &kp KP_N1 &kp KP_N2 &kp KP_N3 &kp KP_ENTER &trans
|
||||
&magic 2 0 &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
|
||||
>;
|
||||
};
|
||||
|
||||
layer_Magic {
|
||||
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
|
||||
&trans &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
|
||||
&reset &none &none &none &none &none &bt_2 &bt_3 &none &none &none &none &none &none &none &none &none &reset
|
||||
&none &none &none &none &none &bt_0 &bt_1 &out OUT_USB &none &none &none &none &none &none &none &none
|
||||
>;
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
93
config/info.json
Normal file
93
config/info.json
Normal file
@@ -0,0 +1,93 @@
|
||||
{
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{ "label": "L_C6R1", "row": 0, "col": 0, "x": 0, "y": 0.5 },
|
||||
{ "label": "L_C5R1", "row": 0, "col": 1, "x": 1, "y": 0.5 },
|
||||
{ "label": "L_C4R1", "row": 0, "col": 2, "x": 2, "y": 0 },
|
||||
{ "label": "L_C3R1", "row": 0, "col": 3, "x": 3, "y": 0 },
|
||||
{ "label": "L_C2R1", "row": 0, "col": 4, "x": 4, "y": 0 },
|
||||
{ "label": "R_C2R1", "row": 0, "col": 13, "x": 13, "y": 0 },
|
||||
{ "label": "R_C3R1", "row": 0, "col": 14, "x": 14, "y": 0 },
|
||||
{ "label": "R_C4R1", "row": 0, "col": 15, "x": 15, "y": 0 },
|
||||
{ "label": "R_C5R1", "row": 0, "col": 16, "x": 16, "y": 0.5 },
|
||||
{ "label": "R_C6R1", "row": 0, "col": 17, "x": 17, "y": 0.5 },
|
||||
|
||||
{ "label": "L_C6R2", "row": 1, "col": 0, "x": 0, "y": 1.5 },
|
||||
{ "label": "L_C5R2", "row": 1, "col": 1, "x": 1, "y": 1.5 },
|
||||
{ "label": "L_C4R2", "row": 1, "col": 2, "x": 2, "y": 1 },
|
||||
{ "label": "L_C3R2", "row": 1, "col": 3, "x": 3, "y": 1 },
|
||||
{ "label": "L_C2R2", "row": 1, "col": 4, "x": 4, "y": 1 },
|
||||
{ "label": "L_C1R2", "row": 1, "col": 5, "x": 5, "y": 1 },
|
||||
{ "label": "R_C1R2", "row": 1, "col": 12, "x": 12, "y": 1 },
|
||||
{ "label": "R_C2R2", "row": 1, "col": 13, "x": 13, "y": 1 },
|
||||
{ "label": "R_C3R2", "row": 1, "col": 14, "x": 14, "y": 1 },
|
||||
{ "label": "R_C4R2", "row": 1, "col": 15, "x": 15, "y": 1 },
|
||||
{ "label": "R_C5R2", "row": 1, "col": 16, "x": 16, "y": 1.5 },
|
||||
{ "label": "R_C6R2", "row": 1, "col": 17, "x": 17, "y": 1.5 },
|
||||
|
||||
{ "label": "L_C6R3", "row": 2, "col": 0, "x": 0, "y": 2.5 },
|
||||
{ "label": "L_C5R3", "row": 2, "col": 1, "x": 1, "y": 2.5 },
|
||||
{ "label": "L_C4R3", "row": 2, "col": 2, "x": 2, "y": 2 },
|
||||
{ "label": "L_C3R3", "row": 2, "col": 3, "x": 3, "y": 2 },
|
||||
{ "label": "L_C2R3", "row": 2, "col": 4, "x": 4, "y": 2 },
|
||||
{ "label": "L_C1R3", "row": 2, "col": 5, "x": 5, "y": 2 },
|
||||
{ "label": "R_C1R3", "row": 2, "col": 12, "x": 12, "y": 2 },
|
||||
{ "label": "R_C2R3", "row": 2, "col": 13, "x": 13, "y": 2 },
|
||||
{ "label": "R_C3R3", "row": 2, "col": 14, "x": 14, "y": 2 },
|
||||
{ "label": "R_C4R3", "row": 2, "col": 15, "x": 15, "y": 2 },
|
||||
{ "label": "R_C5R3", "row": 2, "col": 16, "x": 16, "y": 2.5 },
|
||||
{ "label": "R_C6R3", "row": 2, "col": 17, "x": 17, "y": 2.5 },
|
||||
|
||||
{ "label": "L_C6R4", "row": 3, "col": 0, "x": 0, "y": 3.5 },
|
||||
{ "label": "L_C5R4", "row": 3, "col": 1, "x": 1, "y": 3.5 },
|
||||
{ "label": "L_C4R4", "row": 3, "col": 2, "x": 2, "y": 3 },
|
||||
{ "label": "L_C3R4", "row": 3, "col": 3, "x": 3, "y": 3 },
|
||||
{ "label": "L_C2R4", "row": 3, "col": 4, "x": 4, "y": 3 },
|
||||
{ "label": "L_C1R4", "row": 3, "col": 5, "x": 5, "y": 3 },
|
||||
{ "label": "R_C1R4", "row": 3, "col": 12, "x": 12, "y": 3 },
|
||||
{ "label": "R_C2R4", "row": 3, "col": 13, "x": 13, "y": 3 },
|
||||
{ "label": "R_C3R4", "row": 3, "col": 14, "x": 14, "y": 3 },
|
||||
{ "label": "R_C4R4", "row": 3, "col": 15, "x": 15, "y": 3 },
|
||||
{ "label": "R_C5R4", "row": 3, "col": 16, "x": 16, "y": 3.5 },
|
||||
{ "label": "R_C6R4", "row": 3, "col": 17, "x": 17, "y": 3.5 },
|
||||
|
||||
{ "label": "L_C6R5", "row": 4, "col": 0, "x": 0, "y": 4.5 },
|
||||
{ "label": "L_C5R5", "row": 4, "col": 1, "x": 1, "y": 4.5 },
|
||||
{ "label": "L_C4R5", "row": 4, "col": 2, "x": 2, "y": 4 },
|
||||
{ "label": "L_C3R5", "row": 4, "col": 3, "x": 3, "y": 4 },
|
||||
{ "label": "L_C2R5", "row": 4, "col": 4, "x": 4, "y": 4 },
|
||||
{ "label": "L_C1R5", "row": 4, "col": 5, "x": 5, "y": 4 },
|
||||
{ "label": "L_T1", "row": 4, "col": 6, "x": 6.4, "y": 4, "r": 20, "rx": 4 },
|
||||
{ "label": "L_T2", "row": 4, "col": 7, "x": 7.8, "y": 3.3, "r": 30, "rx": 4 },
|
||||
{ "label": "L_T3", "row": 4, "col": 8, "x": 10.1, "y": 1.5, "r": 45, "rx": 4 },
|
||||
{ "label": "R_T3", "row": 4, "col": 9, "x": 7, "y": 1.5, "r": -45, "rx": 14 },
|
||||
{ "label": "R_T2", "row": 4, "col": 10, "x": 9.3, "y": 3.3, "r": -30, "rx": 14 },
|
||||
{ "label": "R_T1", "row": 4, "col": 11, "x": 10.7, "y": 4, "r": -20, "rx": 14 },
|
||||
{ "label": "R_C1R5", "row": 4, "col": 12, "x": 12, "y": 4 },
|
||||
{ "label": "R_C2R5", "row": 4, "col": 13, "x": 13, "y": 4 },
|
||||
{ "label": "R_C3R5", "row": 4, "col": 14, "x": 14, "y": 4 },
|
||||
{ "label": "R_C4R5", "row": 4, "col": 15, "x": 15, "y": 4 },
|
||||
{ "label": "R_C5R5", "row": 4, "col": 16, "x": 16, "y": 4.5 },
|
||||
{ "label": "R_C6R5", "row": 4, "col": 17, "x": 17, "y": 4.5 },
|
||||
|
||||
{ "label": "L_C6R6", "row": 5, "col": 0, "x": 0, "y": 5.5 },
|
||||
{ "label": "L_C5R6", "row": 5, "col": 1, "x": 1, "y": 5.5 },
|
||||
{ "label": "L_C4R6", "row": 5, "col": 2, "x": 2, "y": 5 },
|
||||
{ "label": "L_C3R6", "row": 5, "col": 3, "x": 3, "y": 5 },
|
||||
{ "label": "L_C2R6", "row": 5, "col": 4, "x": 4, "y": 5 },
|
||||
{ "label": "L_T4", "row": 5, "col": 6, "x": 5.3, "y": 5.4, "r": 15, "rx": 4 },
|
||||
{ "label": "L_T5", "row": 5, "col": 7, "x": 6.6, "y": 5, "r": 25, "rx": 4 },
|
||||
{ "label": "L_T6", "row": 5, "col": 8, "x": 9, "y": 3.2, "r": 45, "rx": 4 },
|
||||
{ "label": "R_T6", "row": 5, "col": 9, "x": 8, "y": 3.2, "r": -45, "rx": 14 },
|
||||
{ "label": "R_T5", "row": 5, "col": 10, "x": 10.4, "y": 5, "r": -25, "rx": 14 },
|
||||
{ "label": "R_T4", "row": 5, "col": 11, "x": 11.7, "y": 5.4, "r": -15, "rx": 14 },
|
||||
{ "label": "R_C2R6", "row": 5, "col": 13, "x": 13, "y": 5 },
|
||||
{ "label": "R_C3R6", "row": 5, "col": 14, "x": 14, "y": 5 },
|
||||
{ "label": "R_C4R6", "row": 5, "col": 15, "x": 15, "y": 5 },
|
||||
{ "label": "R_C5R6", "row": 5, "col": 16, "x": 16, "y": 5.5 },
|
||||
{ "label": "R_C6R6", "row": 5, "col": 17, "x": 17, "y": 5.5 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
1
config/keymap.json
Normal file
1
config/keymap.json
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user