Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4f60caf483 | ||
|
|
e718dc9e47 | ||
|
|
9f1c9b748d | ||
|
|
c9d8c3b12e | ||
|
|
bf9689889d | ||
|
|
c94b963e51 | ||
|
|
ccd55a102f | ||
|
|
08f9538d3c | ||
|
|
322fe07e5b | ||
|
|
6370fecbf9 | ||
|
|
b165e8ca75 | ||
|
|
878c891225 | ||
|
|
2574861987 | ||
|
|
c3eec66c0e | ||
|
|
b9bce2ada9 | ||
|
|
106eb1ccaa | ||
|
|
b2e2a01ba5 | ||
|
|
71b05fc252 | ||
|
|
63a8a22e56 | ||
|
|
e06d061ed0 | ||
|
|
8041a5fe42 | ||
|
|
ed2332a0a9 | ||
|
|
f0b29f8aea | ||
|
|
995995b64e | ||
|
|
df40cfa698 | ||
|
|
77581cd8de | ||
|
|
a11b9f47a5 | ||
|
|
ca1e47f4f0 | ||
|
|
eeb0504086 |
@@ -0,0 +1 @@
|
||||
result
|
||||
@@ -1 +1,3 @@
|
||||
[This guy](https://nickcoutsos.github.io/keymap-editor/) has a pretty decent GUI editor on the web that integrates with your Git repository.
|
||||
|
||||
And [this pr](https://github.com/zmkfirmware/zmk/pull/2027) is where the experimental mouse support comes from.
|
||||
@@ -4,3 +4,4 @@
|
||||
|
||||
# Uncomment the following line to enable the Lily58 OLED Display
|
||||
# CONFIG_ZMK_DISPLAY=y
|
||||
CONFIG_ZMK_MOUSE=y
|
||||
|
||||
+48
-38
@@ -4,9 +4,13 @@
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <dt-bindings/zmk/mouse.h>
|
||||
#include <dt-bindings/zmk/mouse.h>
|
||||
#include <behaviors.dtsi>
|
||||
#include <dt-bindings/zmk/bt.h>
|
||||
#include <dt-bindings/zmk/keys.h>
|
||||
#include <dt-bindings/zmk/outputs.h>
|
||||
#include <dt-bindings/zmk/pointing.h>
|
||||
|
||||
&mt {
|
||||
flavor = "tap-preferred";
|
||||
@@ -30,36 +34,30 @@
|
||||
bindings = <&sl 1>, <&tog 1>;
|
||||
};
|
||||
|
||||
tap_dance_tab: tap_dance_tab {
|
||||
compatible = "zmk,behavior-tap-dance";
|
||||
label = "TAP_DANCE_TAB";
|
||||
#binding-cells = <0>;
|
||||
bindings = <&kp TAB>, <&kp RA(TAB)>;
|
||||
};
|
||||
|
||||
td_escape: td_escape {
|
||||
compatible = "zmk,behavior-tap-dance";
|
||||
label = "TD_ESCAPE";
|
||||
#binding-cells = <0>;
|
||||
bindings = <&kp GRAVE>, <&kp ESCAPE>;
|
||||
};
|
||||
|
||||
td_z: td_z {
|
||||
compatible = "zmk,behavior-tap-dance";
|
||||
label = "TD_Z";
|
||||
#binding-cells = <0>;
|
||||
bindings = <&kp X>, <&kp Z>;
|
||||
};
|
||||
|
||||
hm: hm {
|
||||
compatible = "zmk,behavior-hold-tap";
|
||||
label = "HM";
|
||||
label = "Home row mods for left";
|
||||
bindings = <&kp>, <&kp>;
|
||||
|
||||
#binding-cells = <2>;
|
||||
tapping-term-ms = <200>;
|
||||
flavor = "balanced";
|
||||
quick-tap-ms = <0>;
|
||||
hold-trigger-key-positions = <48 49 6 7 8 9 10 11 18 19 20 21 22 23 30 31 32 33 34 35 43 44 45 46 47 48 49 54 55 56 57 40 39 38>;
|
||||
hold-trigger-on-release;
|
||||
};
|
||||
|
||||
hm_right: hm_right {
|
||||
compatible = "zmk,behavior-hold-tap";
|
||||
label = "Home row mods for right";
|
||||
bindings = <&kp>, <&kp>;
|
||||
|
||||
#binding-cells = <2>;
|
||||
tapping-term-ms = <200>;
|
||||
flavor = "balanced";
|
||||
quick-tap-ms = <0>;
|
||||
hold-trigger-key-positions = <0 1 2 4 5 12 13 14 15 16 17 24 25 26 27 28 29 36 37 38 39 40 41 42 50 51 52 53 3>;
|
||||
hold-trigger-on-release;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -75,11 +73,11 @@
|
||||
// | ALT | GUI | LOWER| SPACE | | ENTER | RAISE| BSPC | GUI |
|
||||
|
||||
bindings = <
|
||||
&td_escape &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp DELETE
|
||||
&kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp BACKSLASH
|
||||
&kp CAPSLOCK &hm LCTRL A &hm LEFT_GUI S &hm LEFT_ALT D &hm LEFT_SHIFT F &kp G &kp H &hm RIGHT_SHIFT J &hm RIGHT_ALT K &hm RIGHT_GUI L &hm RIGHT_CONTROL SEMICOLON &kp SQT
|
||||
&mo 3 &kp Z &td_z &kp C &kp V &kp B &kp LBKT &kp RBKT &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp EQUAL
|
||||
&trans &trans &tap_layer_1 &kp ENTER &kp SPACE &kp BACKSPACE &tap_layer_2 &tog 0
|
||||
&kp GRAVE &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp DELETE
|
||||
&kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp BACKSLASH
|
||||
&kp CAPSLOCK &hm LCTRL A &hm LEFT_GUI S &hm LEFT_ALT D &hm LEFT_SHIFT F &kp G &kp H &hm_right RIGHT_SHIFT J &hm_right RIGHT_ALT K &hm_right RIGHT_GUI L &hm_right RIGHT_CONTROL SEMICOLON &kp SQT
|
||||
&mo 3 &kp Z &kp X &kp C &kp V &kp B &kp LBKT &kp RBKT &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp EQUAL
|
||||
&tog 0 &tog 4 < 1 ESCAPE &kp ENTER &kp SPACE < 2 BACKSPACE &kp MINUS &tog 0
|
||||
>;
|
||||
|
||||
sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>;
|
||||
@@ -98,7 +96,7 @@
|
||||
&trans &trans &trans &trans &trans &trans &kp STAR &kp N7 &kp N8 &kp N9 &kp MINUS &trans
|
||||
&trans &trans &trans &trans &trans &trans &kp KP_DIVIDE &kp NUMBER_4 &kp N5 &kp N6 &kp PLUS &trans
|
||||
&trans &trans &trans &trans &trans &trans &kp LEFT_PARENTHESIS &kp RIGHT_PARENTHESIS &kp CARET &kp NUMBER_1 &kp NUMBER_2 &kp NUMBER_3 &kp ENTER &trans
|
||||
&trans &trans &tap_layer_1 &trans &kp N0 &kp PERIOD &trans &tog 0
|
||||
&trans &trans &tap_layer_1 &trans &kp N0 &kp PERIOD &trans &to 0
|
||||
>;
|
||||
|
||||
sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>;
|
||||
@@ -113,11 +111,11 @@
|
||||
// | | | | | | | | | |
|
||||
|
||||
bindings = <
|
||||
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
|
||||
&trans &trans &trans &trans &trans &trans &trans &kp HOME &kp PAGE_UP &trans &trans &trans
|
||||
&trans &trans &trans &trans &trans &trans &kp LEFT &kp DOWN &kp UP_ARROW &kp RIGHT &trans &trans
|
||||
&trans &trans &trans &trans &trans &trans &trans &trans &trans &kp END &kp PAGE_DOWN &trans &trans &trans
|
||||
&trans &trans &trans &trans &trans &trans &trans &tog 0
|
||||
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
|
||||
&trans &trans &msc SCRL_UP &mmv MOVE_UP &msc SCRL_DOWN &trans &trans &kp HOME &kp PAGE_UP &trans &trans &trans
|
||||
&trans &trans &mmv MOVE_LEFT &mmv MOVE_DOWN &mmv MOVE_RIGHT &trans &kp LEFT &kp DOWN &kp UP_ARROW &kp RIGHT &trans &trans
|
||||
&trans &trans &trans &trans &trans &trans &mkp LCLK &mkp RCLK &trans &kp END &kp PAGE_DOWN &trans &trans &trans
|
||||
&trans &trans &trans &trans &trans &trans &trans &to 0
|
||||
>;
|
||||
|
||||
sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>;
|
||||
@@ -125,12 +123,24 @@
|
||||
|
||||
bt_layer {
|
||||
bindings = <
|
||||
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &bt BT_CLR
|
||||
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
|
||||
&trans &trans &trans &trans &trans &trans &trans &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4
|
||||
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
|
||||
&trans &trans &trans &trans &trans &trans &trans &tog 0
|
||||
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &bt BT_CLR
|
||||
&trans &trans &trans &trans &trans &trans &out OUT_USB &trans &trans &trans &trans &trans
|
||||
&trans &trans &trans &trans &trans &trans &out OUT_TOG &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4
|
||||
&trans &trans &trans &trans &trans &trans &trans &trans &out OUT_BLE &trans &trans &trans &trans &trans
|
||||
&trans &trans &trans &trans &trans &trans &trans &to 0
|
||||
>;
|
||||
};
|
||||
|
||||
game {
|
||||
bindings = <
|
||||
&kp GRAVE &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp DELETE
|
||||
&kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp BACKSLASH
|
||||
&kp LEFT_SHIFT &kp A &kp S &kp D &kp F &kp G &kp H &hm_right RIGHT_SHIFT J &hm_right RIGHT_ALT K &hm_right RIGHT_GUI L &hm_right RIGHT_CONTROL SEMICOLON &kp SQT
|
||||
&kp F1 &kp Z &kp X &kp C &kp V &kp B &kp LBKT &kp RBKT &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp ESCAPE
|
||||
&kp J &kp H &kp Y &kp ENTER &kp SPACE < 2 BACKSPACE &kp MINUS &to 0
|
||||
>;
|
||||
|
||||
sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
+4
-2
@@ -2,12 +2,14 @@ manifest:
|
||||
remotes:
|
||||
- name: zmkfirmware
|
||||
url-base: https://github.com/zmkfirmware
|
||||
- name: pete
|
||||
url-base: https://github.com/petejohanson
|
||||
# Additional modules containing boards/shields/custom code can be listed here as well
|
||||
# See https://docs.zephyrproject.org/3.2.0/develop/west/manifest.html#projects
|
||||
projects:
|
||||
- name: zmk
|
||||
remote: zmkfirmware
|
||||
revision: main
|
||||
remote: pete
|
||||
revision: feat/pointers-with-input-processors
|
||||
import: app/west.yml
|
||||
self:
|
||||
path: config
|
||||
|
||||
Generated
+48
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"nodes": {
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1764915887,
|
||||
"narHash": "sha256-CeBCJ9BMsuzVgn8GVfuSRZ6xeau7szzG0Xn6O/OxP9M=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "42e29df35be6ef54091d3a3b4e97056ce0a98ce8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs",
|
||||
"zmk-nix": "zmk-nix"
|
||||
}
|
||||
},
|
||||
"zmk-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764463362,
|
||||
"narHash": "sha256-5tp/ldKhQjQA4x3PkxcKs2X7nZH6yel983jE6612bWs=",
|
||||
"owner": "lilyinstarlight",
|
||||
"repo": "zmk-nix",
|
||||
"rev": "a067029e5447d211b933179cb25bba12bbc1a8fa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "lilyinstarlight",
|
||||
"repo": "zmk-nix",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
{
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||
|
||||
zmk-nix = {
|
||||
url = "github:lilyinstarlight/zmk-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, zmk-nix }: let
|
||||
forAllSystems = nixpkgs.lib.genAttrs (nixpkgs.lib.attrNames zmk-nix.packages);
|
||||
in {
|
||||
packages = forAllSystems (system: rec {
|
||||
default = firmware;
|
||||
|
||||
firmware = zmk-nix.legacyPackages.${system}.buildSplitKeyboard {
|
||||
name = "firmware";
|
||||
|
||||
src = nixpkgs.lib.sourceFilesBySuffices self [ ".board" ".cmake" ".conf" ".defconfig" ".dts" ".dtsi" ".json" ".keymap" ".overlay" ".shield" ".yml" "_defconfig" ];
|
||||
|
||||
board = "nice_nano_v2";
|
||||
shield = "lily58_%PART%";
|
||||
|
||||
zephyrDepsHash = "sha256-GO8lfSqZwc8yLc+cyFc+EA3163tBrYLVP9dFacytZTg=";
|
||||
|
||||
meta = {
|
||||
description = "ZMK firmware";
|
||||
license = nixpkgs.lib.licenses.mit;
|
||||
platforms = nixpkgs.lib.platforms.all;
|
||||
};
|
||||
};
|
||||
|
||||
flash = zmk-nix.packages.${system}.flash.override { inherit firmware; };
|
||||
update = zmk-nix.packages.${system}.update;
|
||||
});
|
||||
|
||||
apps = forAllSystems (system: {
|
||||
default = {
|
||||
type = "app";
|
||||
program = "${nixpkgs.lib.getExe self.packages.${system}.flash}";
|
||||
};
|
||||
});
|
||||
|
||||
devShells = forAllSystems (system: {
|
||||
default = zmk-nix.devShells.${system}.default;
|
||||
});
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user