From ad5e2d246ba0a79092bc4be39388f13baf484157 Mon Sep 17 00:00:00 2001 From: scda Date: Sat, 3 Jul 2021 17:39:52 +0200 Subject: [PATCH] move comments for explanation of special behaviour into README --- keyboards/kyria/keymaps/scda/README.md | 12 ++++++++++++ keyboards/kyria/keymaps/scda/keymap.c | 5 ++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/keyboards/kyria/keymaps/scda/README.md b/keyboards/kyria/keymaps/scda/README.md index 0272ecc813a..8beb6980bf5 100644 --- a/keyboards/kyria/keymaps/scda/README.md +++ b/keyboards/kyria/keymaps/scda/README.md @@ -1,2 +1,14 @@ # scda + opinionated german OSX layout for the Kyria + +## special behaviour + +These are some reminders or rules that are the result of interesting behaviour I observed along the way of developing this layout: + +- `LT(_LAYER_NAME, KC_XY)` will break the json import in the configurator after `c2json` export +- do not use home-row mods on the symbols layer as this will destroy some shifted keycodes (like `~` or `/` that are on the mod-tap keys). + - reason: shifted keys cannot be sent by mod-tap or layer-tap keys + - [article](https://thomasbaart.nl/2018/12/09/qmk-basics-tap-and-hold-actions/) + - [docs](https://docs.qmk.fm/#/keycodes_us_ansi_shifted) +- scrolling keys are reversed from their intended usage - seems like macOS applies natural scrolling here as well diff --git a/keyboards/kyria/keymaps/scda/keymap.c b/keyboards/kyria/keymaps/scda/keymap.c index 5025faea735..9aa80a3a218 100644 --- a/keyboards/kyria/keymaps/scda/keymap.c +++ b/keyboards/kyria/keymaps/scda/keymap.c @@ -3,6 +3,7 @@ enum layers { _LETTERS = 0, _SYMBOLS, _NUMBERS, _MEDIA, _KBD_CTRL }; + // clang-format off const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LETTERS] = LAYOUT( @@ -10,9 +11,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LT(4,KC_ESC), CTL_T(KC_H), ALT_T(KC_A), GUI_T(KC_E), SFT_T(KC_I), KC_U, KC_D, SFT_T(KC_T), GUI_T(KC_R), ALT_T(KC_N), CTL_T(KC_S), KC_F, KC_NO, KC_K, KC_Q, DE_ADIA, DE_UDIA, DE_ODIA, KC_NO, KC_NO, KC_NO, KC_NO, KC_B, KC_P, KC_W, KC_M, DE_Z, DE_SS, KC_HOME, KC_BSPC, LT(1,KC_TAB), LT(2,KC_SPC), LT(3,KC_ENT), LT(3,KC_ENT), LT(2,KC_SPC), LT(1,KC_TAB), KC_DEL, KC_END), - // LT(_LAYER_NAME, KC_XY) will break the json import in the configurator, so use numbers [_SYMBOLS] = LAYOUT( - // no home-row mods on this layer, will destroy some shifted keycodes KC_TRNS, DE_AT, DE_PERC, DE_LCBR, DE_RCBR, DE_PIPE, DE_EXLM, KC_GRV, S(KC_GRV), DE_EQL, DE_AMPR, KC_TRNS, KC_TRNS, KC_NUBS, DE_TILD, DE_LPRN, DE_RPRN, DE_ASTR, DE_QUES, DE_SLSH, DE_COLN, DE_MINS, DE_UNDS, KC_NO, KC_TRNS, DE_EURO, DE_DLR, DE_LBRC, DE_RBRC, DE_HASH, KC_NO, KC_NO, KC_NO, KC_NO, DE_GRV, DE_BSLS, DE_SCLN, DE_PLUS, DE_DQUO, DE_QUOT, @@ -21,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_TRNS, CTL_T(DE_1), ALT_T(DE_2), GUI_T(DE_3), SFT_T(DE_4), DE_5, DE_6, SFT_T(DE_7), GUI_T(DE_8), ALT_T(DE_9), CTL_T(DE_0), KC_F12, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_NO, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, KC_WH_D, KC_WH_U, KC_TRNS), // scrolling reversed (due to natural scrolling?) + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, KC_WH_D, KC_WH_U, KC_TRNS), [_MEDIA] = LAYOUT( KC_TRNS, KC_NO, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, G(KC_X), G(KC_R), KC_NO, C(KC_LEFT), KC_TRNS, KC_TRNS, KC_BRIU, KC_MUTE, KC_MPLY, KC_MNXT, KC_NO, G(C(KC_SPACE)), G(KC_C), G(DE_Z), G(KC_F), C(KC_UP), KC_NO,