From 233d5b781dc2f7ffc156c68df5c6cce95e436af4 Mon Sep 17 00:00:00 2001 From: urob <978080+urob@users.noreply.github.com> Date: Fri, 15 Jul 2022 01:36:01 -0400 Subject: [PATCH] Update readme --- config/base.keymap | 18 +++++++++--------- readme.md | 28 +++------------------------- 2 files changed, 12 insertions(+), 34 deletions(-) diff --git a/config/base.keymap b/config/base.keymap index 2aebe9e..48dd678 100644 --- a/config/base.keymap +++ b/config/base.keymap @@ -63,28 +63,28 @@ ISSUES, WORKAROUNDS and a "ZMK-WISHLIST" /* homerow mods */ -#define LHM LM4 LM3 LM2 LM1 // left-hand HRMs -#define RHM RM1 RM2 RM3 RM4 // right-hand HRMs -#define LHK LT4 LT3 LT2 LT1 LT0 LHM LM0 LB4 LB3 LB2 LB1 LB0 // left-hand keys -#define RHK RT0 RT1 RT2 RT3 RT4 RM0 RHM RB0 RB1 RB2 RB3 RB4 // right-hand keys -#define THK LH2 LH1 LH0 RH0 RH1 RH2 // thumb keys +#define HRM_LT LM1 LM2 LM3 LM4 // left-hand HRMs +#define HRM_RT RM1 RM2 RM3 RM4 // right-hand HRMs +#define KEYS_LT LT0 LT1 LT2 LT3 LT4 LM0 HRM_LT LB0 LB1 LB2 LB3 LB4 // left-hand keys +#define KEYS_RT RT0 RT1 RT2 RT3 RT4 RM0 HRM_RT RB0 RB1 RB2 RB3 RB4 // right-hand keys +#define THUMBS LH2 LH1 LH0 RH0 RH1 RH2 // thumb keys -ZMK_BEHAVIOR(hml, hold_tap, +ZMK_BEHAVIOR(hml, hold_tap, // left-hand HRMs flavor = "balanced"; tapping-term-ms = <280>; quick-tap-ms = <125>; global-quick-tap; bindings = <&kp>, <&kp>; - hold-trigger-key-positions = ; // include left-hand HRMs for mod-chording + hold-trigger-key-positions = ; // include left-hand HRMs for chording ) -ZMK_BEHAVIOR(hmr, hold_tap, +ZMK_BEHAVIOR(hmr, hold_tap, // right-hand HRMs flavor = "balanced"; tapping-term-ms = <280>; quick-tap-ms = <125>; global-quick-tap; bindings = <&kp>, <&kp>; - hold-trigger-key-positions = ; // include right-hand HRMs for mod-chording + hold-trigger-key-positions = ; // include right-hand HRMs for chording ) /* custom keys and macros */ diff --git a/readme.md b/readme.md index 71f2fe3..a542949 100644 --- a/readme.md +++ b/readme.md @@ -6,10 +6,8 @@ It is ported from my QMK configuration, which in turn is heavily inspired by Man ## Key features -- clean keymap config using - [zmk-nodefree-config](https://github.com/urob/zmk-nodefree-config)[^1] -- simple macro-implementation of combos and keymap to fit different physical - keyboards[^2] +- clean keymap config + unicode support using + [zmk-nodefree-config](https://github.com/urob/zmk-nodefree-config) - home-row mods on base layer, sticky mods on `Nav` and `Num` layers - most symbols can be accessed from the base layer via combos - sticky shift on right thumb, double-tap activates caps-word @@ -17,7 +15,7 @@ It is ported from my QMK configuration, which in turn is heavily inspired by Man - full numpad-layer with arithmetic operators (`=` via combo) and `Esc`, `Enter`, `Tab` on left hand (can be numlocked via `W + P` combo, ideal for data entry and right-handed mouse) -- unicode-layer with Greek letters for mathematical typesetting (implemented via preprocessor macros[^3]) +- "Greek" layer for mathematical typesetting ![](img/keymap.png) @@ -38,23 +36,3 @@ and (2) make them easy to remember. Specifically: - shortcuts for cut (on `X + D`), copy, and paste on the left-hand side for right-handed mouse usage -[^1]: I am using git-subtree for the dependency management here as Github actions don't - recognize git-submodules. - -[^2]: I use a 36-key layout per default. Additional thumb keys can be configured with - the `EXTRA_BOT_L` and `EXTRA_BOT_R` macros. Additional "middle-keys" can be - configured with the `EXTRA_MID` macro (see `planck_rev6.keymap` for an example). - - In order to consitently configure combos and [positional - hold-taps](https://zmk.dev/docs/behaviors/hold-tap#positional-hold-tap-and-hold-trigger-key-positions) - across keyboards with different physical key specifications, I use a set of "virtual - location" macros which map key-positions in the layout to physical locations on the - shield. These macros follow a common naming convention, starting with `LT0` for the - first key on the **L**eft **T**op-row and ranging to `RB4` for the last key on the - **R**ight **B**ottom-row. They need to be defined in the shield-specific keymap-file - *before* sourcing the common `base.keymap`. - -[^3]: This is my attempt at a simple user-space solution until unicode is natively - supported. Check out `unicode.dtsi` for details and read - [my write up here](https://github.com/zmkfirmware/zmk/issues/232#issuecomment-1163833880) - for a few more pointers and some caveats.