move comments for explanation of special behaviour into README

This commit is contained in:
scda 2021-07-03 17:39:52 +02:00
parent b924ef226f
commit ad5e2d246b
2 changed files with 14 additions and 3 deletions

View File

@ -1,2 +1,14 @@
# scda # scda
opinionated german OSX layout for the Kyria 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

View File

@ -3,6 +3,7 @@
enum layers { _LETTERS = 0, _SYMBOLS, _NUMBERS, _MEDIA, _KBD_CTRL }; enum layers { _LETTERS = 0, _SYMBOLS, _NUMBERS, _MEDIA, _KBD_CTRL };
// clang-format off // clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_LETTERS] = LAYOUT( [_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, 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_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), 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( [_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, 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, 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, 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, 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, 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_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( [_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_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, 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,