Refactor dtsi files
This commit is contained in:
parent
7e632e223a
commit
3fda0cc152
4 changed files with 115 additions and 76 deletions
|
@ -1,6 +1,5 @@
|
|||
#include <behaviors.dtsi>
|
||||
#include <dt-bindings/zmk/keys.h>
|
||||
#include <dt-bindings/zmk/mouse.h>
|
||||
|
||||
#define XXX &none
|
||||
#define ___ &trans
|
||||
|
@ -14,6 +13,10 @@
|
|||
#define FN 4
|
||||
#define UC 5
|
||||
|
||||
#include "mouse.dtsi"
|
||||
#include "unicode.dtsi"
|
||||
#include "combos.dtsi"
|
||||
|
||||
/* create stubs if undefined */
|
||||
#if !defined EXTRA_MID
|
||||
#define EXTRA_MID
|
||||
|
@ -31,11 +34,11 @@ TODOs and ISSUES
|
|||
* tap-only combos not yet possible (#544), prevents rapid chaining of HRMs
|
||||
* &bootloader doesn't work with Planck_rev6 (#1086)
|
||||
* no global-quick-tap for combos
|
||||
* mouse wheel keys not yet implemented (#319), using up/down for now
|
||||
* mod-taps getting stuck with heterogenous combo-terms (#986, #905)
|
||||
* sticky-hold swallows OS shift when typing quickly, using sticky-tap for now
|
||||
* native sleep key doesn't work with windows (#1077), using sleep-macro for now
|
||||
* no native unicode support (#232), using preprocessor workaround instead
|
||||
* no native mouse keys (#319), using mouse PR #778
|
||||
* mod-morph doesn't swallow mod (#686), using masked-mod PR #1114
|
||||
*/
|
||||
|
||||
|
@ -56,9 +59,6 @@ TODOs and ISSUES
|
|||
/* root node */
|
||||
/ {
|
||||
|
||||
#include "unicode.dtsi"
|
||||
#include "combos.dtsi"
|
||||
|
||||
macros {
|
||||
// Windows sleep key
|
||||
win_sleep: win_sleep {
|
||||
|
|
|
@ -14,59 +14,60 @@
|
|||
#define COMBO_TERM_V 30
|
||||
|
||||
#define COMBO(NAME, BINDINGS, KEYPOS, LAYERS, TERM) \
|
||||
combo_##NAME { \
|
||||
timeout-ms = <TERM>; \
|
||||
bindings = <BINDINGS>; \
|
||||
key-positions = <KEYPOS>; \
|
||||
layers = <LAYERS>; \
|
||||
};
|
||||
combo_##NAME { \
|
||||
timeout-ms = <TERM>; \
|
||||
bindings = <BINDINGS>; \
|
||||
key-positions = <KEYPOS>; \
|
||||
layers = <LAYERS>; \
|
||||
};
|
||||
|
||||
combos {
|
||||
/ {
|
||||
combos {
|
||||
compatible = "zmk,combos";
|
||||
|
||||
compatible = "zmk,combos";
|
||||
/* Capsword */
|
||||
// COMBO(cpwrd, &caps_word, LM3 RM1, DEF NUM, COMBO_TERM_V)
|
||||
|
||||
/* Capsword */
|
||||
// COMBO(cpwrd, &caps_word, LM3 RM1, DEF NUM, COMBO_TERM_V)
|
||||
/* Punctuation (horizontal left hand) */
|
||||
COMBO(num, &tog NUM, LT1 LT3, DEF NUM, COMBO_TERM_H)
|
||||
COMBO(all, &kp LC(A), LT1 LT2, DEF NUM, COMBO_TERM_H)
|
||||
COMBO(app, &kp LG(SPACE), LT2 LT3, DEF NUM, COMBO_TERM_H)
|
||||
|
||||
/* Punctuation (horizontal left hand) */
|
||||
COMBO(num, &tog NUM, LT1 LT3, DEF NUM, COMBO_TERM_H)
|
||||
COMBO(all, &kp LC(A), LT1 LT2, DEF NUM, COMBO_TERM_H)
|
||||
COMBO(app, &kp LG(SPACE), LT2 LT3, DEF NUM, COMBO_TERM_H)
|
||||
COMBO(excl, &kp EXCL, LM1 LM2, DEF NUM, COMBO_TERM_H)
|
||||
COMBO(qmark, &kp QMARK, LM2 LM3, DEF NUM, COMBO_TERM_H)
|
||||
|
||||
COMBO(excl, &kp EXCL, LM1 LM2, DEF NUM, COMBO_TERM_H)
|
||||
COMBO(qmark, &kp QMARK, LM2 LM3, DEF NUM, COMBO_TERM_H)
|
||||
COMBO(cut, &kp LC(X), LB1 LB3, DEF NUM, COMBO_TERM_H)
|
||||
COMBO(copy, &kp LC(INS), LB1 LB2, DEF NUM, COMBO_TERM_H)
|
||||
COMBO(paste, &kp LS(INS), LB2 LB3, DEF NUM, COMBO_TERM_H)
|
||||
|
||||
COMBO(cut, &kp LC(X), LB1 LB3, DEF NUM, COMBO_TERM_H)
|
||||
COMBO(copy, &kp LC(INS), LB1 LB2, DEF NUM, COMBO_TERM_H)
|
||||
COMBO(paste, &kp LS(INS), LB2 LB3, DEF NUM, COMBO_TERM_H)
|
||||
/* Brackets (horizontal right hand) */
|
||||
COMBO(lbrc, &kp LBRC, RT1 RT2, DEF NUM, COMBO_TERM_H)
|
||||
COMBO(rbrc, &kp RBRC, RT2 RT3, DEF NUM, COMBO_TERM_H)
|
||||
COMBO(lpar, &kp LPAR, RM1 RM2, DEF NUM, COMBO_TERM_H)
|
||||
COMBO(rpar, &kp RPAR, RM2 RM3, DEF NUM, COMBO_TERM_H)
|
||||
COMBO(lbrk, &kp LBKT, RB1 RB2, DEF NUM, COMBO_TERM_H)
|
||||
COMBO(rbrk, &kp RBKT, RB2 RB3, DEF NUM, COMBO_TERM_H)
|
||||
|
||||
/* Brackets (horizontal right hand) */
|
||||
COMBO(lbrc, &kp LBRC, RT1 RT2, DEF NUM, COMBO_TERM_H)
|
||||
COMBO(rbrc, &kp RBRC, RT2 RT3, DEF NUM, COMBO_TERM_H)
|
||||
COMBO(lpar, &kp LPAR, RM1 RM2, DEF NUM, COMBO_TERM_H)
|
||||
COMBO(rpar, &kp RPAR, RM2 RM3, DEF NUM, COMBO_TERM_H)
|
||||
COMBO(lbrk, &kp LBKT, RB1 RB2, DEF NUM, COMBO_TERM_H)
|
||||
COMBO(rbrk, &kp RBKT, RB2 RB3, DEF NUM, COMBO_TERM_H)
|
||||
/* Other symbols (vertical combos) */
|
||||
COMBO(at, &kp AT, LT1 LM1, DEF NUM, COMBO_TERM_V)
|
||||
COMBO(hash, &kp HASH, LT2 LM2, DEF NUM, COMBO_TERM_V)
|
||||
COMBO(dllr, &kp DLLR, LT3 LM3, DEF NUM, COMBO_TERM_V)
|
||||
COMBO(prcnt, &kp PRCNT, LT4 LM4, DEF NUM, COMBO_TERM_V)
|
||||
|
||||
/* Other symbols (vertical combos) */
|
||||
COMBO(at, &kp AT, LT1 LM1, DEF NUM, COMBO_TERM_V)
|
||||
COMBO(hash, &kp HASH, LT2 LM2, DEF NUM, COMBO_TERM_V)
|
||||
COMBO(dllr, &kp DLLR, LT3 LM3, DEF NUM, COMBO_TERM_V)
|
||||
COMBO(prcnt, &kp PRCNT, LT4 LM4, DEF NUM, COMBO_TERM_V)
|
||||
COMBO(caret, &kp CARET, RT0 RM0, DEF NUM, COMBO_TERM_V)
|
||||
COMBO(plus, &kp PLUS, RT1 RM1, DEF NUM, COMBO_TERM_V)
|
||||
COMBO(star, &kp STAR, RT2 RM2, DEF NUM, COMBO_TERM_V)
|
||||
COMBO(amps, &kp AMPS, RT3 RM3, DEF NUM, COMBO_TERM_V)
|
||||
|
||||
COMBO(caret, &kp CARET, RT0 RM0, DEF NUM, COMBO_TERM_V)
|
||||
COMBO(plus, &kp PLUS, RT1 RM1, DEF NUM, COMBO_TERM_V)
|
||||
COMBO(star, &kp STAR, RT2 RM2, DEF NUM, COMBO_TERM_V)
|
||||
COMBO(amps, &kp AMPS, RT3 RM3, DEF NUM, COMBO_TERM_V)
|
||||
COMBO(grave, &kp GRAVE, LM1 LB1, DEF NUM, COMBO_TERM_V)
|
||||
COMBO(bslh, &kp BSLH, LM2 LB2, DEF NUM, COMBO_TERM_V)
|
||||
COMBO(tilde, &kp TILDE, LM3 LB3, DEF NUM, COMBO_TERM_V)
|
||||
COMBO(equal, &kp EQUAL, LM4 LB4, DEF NUM, COMBO_TERM_V)
|
||||
|
||||
COMBO(grave, &kp GRAVE, LM1 LB1, DEF NUM, COMBO_TERM_V)
|
||||
COMBO(bslh, &kp BSLH, LM2 LB2, DEF NUM, COMBO_TERM_V)
|
||||
COMBO(tilde, &kp TILDE, LM3 LB3, DEF NUM, COMBO_TERM_V)
|
||||
COMBO(equal, &kp EQUAL, LM4 LB4, DEF NUM, COMBO_TERM_V)
|
||||
|
||||
COMBO(under, &kp UNDER, RM0 RB0, DEF NUM, COMBO_TERM_V)
|
||||
COMBO(minus, &kp MINUS, RM1 RB1, DEF NUM, COMBO_TERM_V)
|
||||
COMBO(fslh, &kp FSLH, RM2 RB2, DEF NUM, COMBO_TERM_V)
|
||||
COMBO(pipe, &kp PIPE, RM3 RB3, DEF NUM, COMBO_TERM_V)
|
||||
COMBO(under, &kp UNDER, RM0 RB0, DEF NUM, COMBO_TERM_V)
|
||||
COMBO(minus, &kp MINUS, RM1 RB1, DEF NUM, COMBO_TERM_V)
|
||||
COMBO(fslh, &kp FSLH, RM2 RB2, DEF NUM, COMBO_TERM_V)
|
||||
COMBO(pipe, &kp PIPE, RM3 RB3, DEF NUM, COMBO_TERM_V)
|
||||
|
||||
};
|
||||
};
|
||||
|
|
35
config/mouse.dtsi
Normal file
35
config/mouse.dtsi
Normal file
|
@ -0,0 +1,35 @@
|
|||
#include <dt-bindings/zmk/mouse.h>
|
||||
|
||||
&mmv {
|
||||
time-to-max-speed-ms = <1500>; // 300
|
||||
acceleration-exponent = <1>;
|
||||
delay-ms = <0>;
|
||||
};
|
||||
|
||||
&mwh {
|
||||
time-to-max-speed-ms = <5000>; // 300
|
||||
acceleration-exponent = <1>; // 0
|
||||
delay-ms = <0>;
|
||||
};
|
||||
|
||||
#define U_MOUSE_MOVE_MAX 1250
|
||||
#define U_MOUSE_SCROLL_MAX 100
|
||||
|
||||
#undef MOVE_UP
|
||||
#undef MOVE_DOWN
|
||||
#undef MOVE_LEFT
|
||||
#undef MOVE_RIGHT
|
||||
#define MOVE_UP MOVE_VERT(-U_MOUSE_MOVE_MAX)
|
||||
#define MOVE_DOWN MOVE_VERT(U_MOUSE_MOVE_MAX)
|
||||
#define MOVE_LEFT MOVE_HOR(-U_MOUSE_MOVE_MAX)
|
||||
#define MOVE_RIGHT MOVE_HOR(U_MOUSE_MOVE_MAX)
|
||||
|
||||
#undef SCROLL_UP
|
||||
#undef SCROLL_DOWN
|
||||
#undef SCROLL_LEFT
|
||||
#undef SCROLL_RIGHT
|
||||
#define SCROLL_UP SCROLL_VERT(U_MOUSE_SCROLL_MAX)
|
||||
#define SCROLL_DOWN SCROLL_VERT(-U_MOUSE_SCROLL_MAX)
|
||||
#define SCROLL_LEFT SCROLL_HOR(-U_MOUSE_SCROLL_MAX)
|
||||
#define SCROLL_RIGHT SCROLL_HOR(U_MOUSE_SCROLL_MAX)
|
||||
|
|
@ -38,32 +38,35 @@
|
|||
UC_MODMORPH(uc_ ## NAME, &uc_lower_ ## NAME, &uc_upper_ ## NAME)
|
||||
|
||||
/* User definitions */
|
||||
UNICODE_SINGLE( alpha, N0, N3, B, N1)
|
||||
UNICODE_SINGLE( beta, N0, N3, B, N2)
|
||||
UNICODE_PAIR( gamma, N0, N3, B, N3, N0, N3, N9, N3)
|
||||
UNICODE_PAIR( delta, N0, N3, B, N4, N0, N3, N9, N4)
|
||||
UNICODE_SINGLE( epsilon, N0, N3, F, N5) // varepsilon = 03B5
|
||||
UNICODE_SINGLE( zeta, N0, N3, B, N6)
|
||||
UNICODE_SINGLE( eta, N0, N3, B, N7)
|
||||
UNICODE_PAIR( theta, N0, N3, B, N8, N0, N3, N9, N8)
|
||||
UNICODE_SINGLE( iota, N0, N3, B, N9)
|
||||
UNICODE_SINGLE( kappa, N0, N3, B, A)
|
||||
UNICODE_PAIR( lambda, N0, N3, B, B, N0, N3, N9, B)
|
||||
UNICODE_SINGLE( mu, N0, N3, B, C)
|
||||
UNICODE_SINGLE( nu, N0, N3, B, D)
|
||||
UNICODE_PAIR( xi, N0, N3, B, E, N0, N3, N9, E)
|
||||
UNICODE_PAIR( pi, N0, N3, C, N0, N0, N3, A, N0)
|
||||
UNICODE_SINGLE( rho, N0, N3, C, N1)
|
||||
UNICODE_PAIR( sigma, N0, N3, C, N3, N0, N3, A, N3)
|
||||
UNICODE_SINGLE( tau, N0, N3, C, N4)
|
||||
UNICODE_PAIR( upsilon, N0, N3, C, N5, N0, N3, A, N5)
|
||||
UNICODE_PAIR( phi, N0, N3, C, N6, N0, N3, A, N6) // varphi = 03C6
|
||||
UNICODE_SINGLE( chi, N0, N3, C, N7)
|
||||
UNICODE_PAIR( psi, N0, N3, C, N8, N0, N3, A, N8)
|
||||
UNICODE_PAIR( omega, N0, N3, C, N9, N0, N3, A, N9)
|
||||
/ {
|
||||
|
||||
UNICODE_PAIR( ae, N0, N0, E, N4, N0, N0, C, N4)
|
||||
UNICODE_PAIR( oe, N0, N0, F, N6, N0, N0, D, N6)
|
||||
UNICODE_PAIR( ue, N0, N0, F, C, N0, N0, D, C)
|
||||
UNICODE_SINGLE( eszett, N0, N0, D, F)
|
||||
UNICODE_SINGLE( alpha, N0, N3, B, N1)
|
||||
UNICODE_SINGLE( beta, N0, N3, B, N2)
|
||||
UNICODE_PAIR( gamma, N0, N3, B, N3, N0, N3, N9, N3)
|
||||
UNICODE_PAIR( delta, N0, N3, B, N4, N0, N3, N9, N4)
|
||||
UNICODE_SINGLE( epsilon, N0, N3, F, N5) // varepsilon = 03B5
|
||||
UNICODE_SINGLE( zeta, N0, N3, B, N6)
|
||||
UNICODE_SINGLE( eta, N0, N3, B, N7)
|
||||
UNICODE_PAIR( theta, N0, N3, B, N8, N0, N3, N9, N8)
|
||||
UNICODE_SINGLE( iota, N0, N3, B, N9)
|
||||
UNICODE_SINGLE( kappa, N0, N3, B, A)
|
||||
UNICODE_PAIR( lambda, N0, N3, B, B, N0, N3, N9, B)
|
||||
UNICODE_SINGLE( mu, N0, N3, B, C)
|
||||
UNICODE_SINGLE( nu, N0, N3, B, D)
|
||||
UNICODE_PAIR( xi, N0, N3, B, E, N0, N3, N9, E)
|
||||
UNICODE_PAIR( pi, N0, N3, C, N0, N0, N3, A, N0)
|
||||
UNICODE_SINGLE( rho, N0, N3, C, N1)
|
||||
UNICODE_PAIR( sigma, N0, N3, C, N3, N0, N3, A, N3)
|
||||
UNICODE_SINGLE( tau, N0, N3, C, N4)
|
||||
UNICODE_PAIR( upsilon, N0, N3, C, N5, N0, N3, A, N5)
|
||||
UNICODE_PAIR( phi, N0, N3, C, N6, N0, N3, A, N6) // varphi = 03C6
|
||||
UNICODE_SINGLE( chi, N0, N3, C, N7)
|
||||
UNICODE_PAIR( psi, N0, N3, C, N8, N0, N3, A, N8)
|
||||
UNICODE_PAIR( omega, N0, N3, C, N9, N0, N3, A, N9)
|
||||
|
||||
UNICODE_PAIR( ae, N0, N0, E, N4, N0, N0, C, N4)
|
||||
UNICODE_PAIR( oe, N0, N0, F, N6, N0, N0, D, N6)
|
||||
UNICODE_PAIR( ue, N0, N0, F, C, N0, N0, D, C)
|
||||
UNICODE_SINGLE( eszett, N0, N0, D, F)
|
||||
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue