feat(users/flokli/kb/corneish_zen): init
This builds the keyboard firmware using zmk-nix. The miryoku_zmk config is pulled in from manna-harbour/miryoku_zmk, but slightly patched to add support for RALT and quick-tap. Change-Id: I91efbbd789526cce7f086f367c7bccb7857b06e6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12695 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de> Autosubmit: flokli <flokli@flokli.de>
This commit is contained in:
parent
0183c36843
commit
4c90f723d8
4 changed files with 146 additions and 0 deletions
|
@ -0,0 +1,25 @@
|
||||||
|
From 9ed3e8ee2aad704fcfef2490617e2fd22902b2c4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Florian Klink <flokli@flokli.de>
|
||||||
|
Date: Sun, 27 Oct 2024 12:01:13 +0100
|
||||||
|
Subject: [PATCH] miryoku_behaviors: add quick-tap-ms, require-prior-idle-ms
|
||||||
|
|
||||||
|
---
|
||||||
|
miryoku/miryoku_behaviors.dtsi | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/miryoku/miryoku_behaviors.dtsi b/miryoku/miryoku_behaviors.dtsi
|
||||||
|
index 473df49..73211da 100644
|
||||||
|
--- a/miryoku/miryoku_behaviors.dtsi
|
||||||
|
+++ b/miryoku/miryoku_behaviors.dtsi
|
||||||
|
@@ -14,6 +14,8 @@
|
||||||
|
compatible = "zmk,behavior-hold-tap";
|
||||||
|
#binding-cells = <2>;
|
||||||
|
tapping-term-ms = <U_TAPPING_TERM>;
|
||||||
|
+ quick-tap-ms = <200>;
|
||||||
|
+ require-prior-idle-ms = <125>;
|
||||||
|
flavor = "tap-preferred";
|
||||||
|
bindings = <&mo>, <&kp>;
|
||||||
|
};
|
||||||
|
--
|
||||||
|
2.46.1
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
From a852a9738cc7510f6d3b80d1befb3c88ef8f08f7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Florian Klink <flokli@flokli.de>
|
||||||
|
Date: Sun, 27 Oct 2024 11:14:30 +0100
|
||||||
|
Subject: [PATCH] miryoku_layer_alternatives.h: expose alt-gr on G and M
|
||||||
|
|
||||||
|
---
|
||||||
|
miryoku/miryoku_babel/miryoku_layer_alternatives.h | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/miryoku/miryoku_babel/miryoku_layer_alternatives.h b/miryoku/miryoku_babel/miryoku_layer_alternatives.h
|
||||||
|
index 8044fdd..07ed9b6 100644
|
||||||
|
--- a/miryoku/miryoku_babel/miryoku_layer_alternatives.h
|
||||||
|
+++ b/miryoku/miryoku_babel/miryoku_layer_alternatives.h
|
||||||
|
@@ -86,7 +86,7 @@ U_NP, U_NP, U_LT(U_MEDIA, ESC),U_LT(U_NAV, SPACE),U_LT
|
||||||
|
|
||||||
|
#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH \
|
||||||
|
&kp Q, &kp W, &kp F, &kp P, &kp B, &kp J, &kp L, &kp U, &kp Y, &kp SQT, \
|
||||||
|
-U_MT(LGUI, A), U_MT(LALT, R), U_MT(LCTRL, S), U_MT(LSHFT, T), &kp G, &kp M, U_MT(LSHFT, N), U_MT(LCTRL, E), U_MT(LALT, I), U_MT(LGUI, O), \
|
||||||
|
+U_MT(LGUI, A), U_MT(LALT, R), U_MT(LCTRL, S), U_MT(LSHFT, T), U_MT(RALT, G), U_MT(RALT, M), U_MT(LSHFT, N), U_MT(LCTRL, E), U_MT(LALT, I), U_MT(LGUI, O), \
|
||||||
|
U_LT(U_BUTTON, Z), U_MT(RALT, X), &kp C, &kp D, &kp V, &kp K, &kp H, &kp COMMA, U_MT(RALT, DOT), U_LT(U_BUTTON, SLASH),\
|
||||||
|
U_NP, U_NP, U_LT(U_MEDIA, ESC),U_LT(U_NAV, SPACE),U_LT(U_MOUSE, TAB),U_LT(U_SYM, RET), U_LT(U_NUM, BSPC), U_LT(U_FUN, DEL), U_NP, U_NP
|
||||||
|
|
||||||
|
--
|
||||||
|
2.46.1
|
||||||
|
|
62
users/flokli/keyboards/corneish_zen/default.nix
Normal file
62
users/flokli/keyboards/corneish_zen/default.nix
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
{ pkgs, lib, ... }:
|
||||||
|
let
|
||||||
|
zmk-nix = pkgs.fetchFromGitHub {
|
||||||
|
owner = "lilyinstarlight";
|
||||||
|
repo = "zmk-nix";
|
||||||
|
rev = "d72e94ab94b2bceb60a29a2a8c2e1d304a4e922e";
|
||||||
|
hash = "sha256-3WXPPBJ2u8rMxejPhUahSiqOBr1BOfTgDa7oQDPtw54=";
|
||||||
|
};
|
||||||
|
|
||||||
|
builders = pkgs.callPackage (import (zmk-nix + "/nix/builders.nix")) { };
|
||||||
|
|
||||||
|
miryoku_zmk = pkgs.fetchFromGitHub {
|
||||||
|
owner = "manna-harbour";
|
||||||
|
repo = "miryoku_zmk";
|
||||||
|
rev = "e6683e9f8b6c199b339208b1b501e88a7308ed48";
|
||||||
|
hash = "sha256-GjTbAoyhr557Tn4JaWsA3Po5KxMsQXrpKc9H+PU3T8A=";
|
||||||
|
};
|
||||||
|
|
||||||
|
miryoku_zmk_patched = pkgs.runCommand "miryoku_zmk_patched" { } ''
|
||||||
|
mkdir -p $out
|
||||||
|
cp -r ${miryoku_zmk}/. $out/
|
||||||
|
cd $out
|
||||||
|
chmod -R +w $out
|
||||||
|
patch -p1 < ${./0001-miryoku_layer_alternatives.h-expose-alt-gr-on-G-and-.patch}
|
||||||
|
patch -p1 < ${./0001-miryoku_behaviors-add-quick-tap-ms-require-prior-idl.patch}
|
||||||
|
'';
|
||||||
|
|
||||||
|
in
|
||||||
|
|
||||||
|
rec {
|
||||||
|
config = pkgs.runCommand "config" { } ''
|
||||||
|
mkdir -p $out/config
|
||||||
|
cp -r ${miryoku_zmk_patched}/miryoku $out/
|
||||||
|
cp ${./west.yml} $out/config/west.yml
|
||||||
|
cp ${miryoku_zmk_patched}/config/corneish_zen.keymap $out/config/
|
||||||
|
'';
|
||||||
|
|
||||||
|
# helpful for debugging the resulting keymap
|
||||||
|
config-flat = pkgs.runCommand "config-flat"
|
||||||
|
{
|
||||||
|
nativeBuildInputs = [ pkgs.python3.pkgs.pcpp ];
|
||||||
|
} ''
|
||||||
|
mkdir -p $out/config
|
||||||
|
cp ${./west.yml} $out/config/west.yml
|
||||||
|
pcpp --passthru-unfound-includes -o $out/config/corneish_zen.keymap ${miryoku_zmk_patched}/config/corneish_zen.keymap
|
||||||
|
'';
|
||||||
|
|
||||||
|
firmware = builders.buildSplitKeyboard {
|
||||||
|
name = "corneish_zen_v1";
|
||||||
|
board = "corneish_zen_v1_%PART%";
|
||||||
|
zephyrDepsHash = "sha256-D5CAlrO/E6DPbtUJyh/ec8ACpo1XM1jx2gLS2TpklBQ=";
|
||||||
|
src = config;
|
||||||
|
};
|
||||||
|
|
||||||
|
flash-left = pkgs.writeShellScript "flash.sh" ''
|
||||||
|
cp ${firmware}/zmk_left.uf2 /run/media/$USER/CORNEISHZEN/
|
||||||
|
'';
|
||||||
|
|
||||||
|
flash-right = pkgs.writeShellScript "flash.sh" ''
|
||||||
|
cp ${firmware}/zmk_right.uf2 /run/media/$USER/CORNEISHZEN/
|
||||||
|
'';
|
||||||
|
}
|
34
users/flokli/keyboards/corneish_zen/west.yml
Normal file
34
users/flokli/keyboards/corneish_zen/west.yml
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
manifest:
|
||||||
|
remotes:
|
||||||
|
- name: zmkfirmware
|
||||||
|
url-base: https://github.com/zmkfirmware
|
||||||
|
projects:
|
||||||
|
- name: zephyr
|
||||||
|
remote: zmkfirmware
|
||||||
|
revision: f8e4d15791602c67405c0fd2651167a895939565 # v3.5.0+zmk-fixes
|
||||||
|
import:
|
||||||
|
name-blocklist:
|
||||||
|
- ci-tools
|
||||||
|
- hal_altera
|
||||||
|
- hal_cypress
|
||||||
|
- hal_infineon
|
||||||
|
- hal_microchip
|
||||||
|
- hal_nxp
|
||||||
|
- hal_openisa
|
||||||
|
- hal_silabs
|
||||||
|
- hal_xtensa
|
||||||
|
- hal_st
|
||||||
|
- hal_ti
|
||||||
|
- loramac-node
|
||||||
|
- mcuboot
|
||||||
|
- mcumgr
|
||||||
|
- net-tools
|
||||||
|
- openthread
|
||||||
|
- edtt
|
||||||
|
- trusted-firmware-m
|
||||||
|
- name: zmk
|
||||||
|
remote: zmkfirmware
|
||||||
|
revision: 7f1ee320ab638245bbdae9b1cda5d5c50e2cb16e # main
|
||||||
|
import: app/west.yml
|
||||||
|
self:
|
||||||
|
path: config
|
Loading…
Reference in a new issue