From fb443c8ca1c3d65225102bd8f522c0ba892eac63 Mon Sep 17 00:00:00 2001 From: scda Date: Tue, 14 Dec 2021 21:35:34 +0100 Subject: [PATCH] fix layout --- keyboards/splitkb/kyria/keymaps/scda/config.h | 22 ++++----- keyboards/splitkb/kyria/keymaps/scda/keymap.c | 46 +++++++++++-------- keyboards/splitkb/kyria/keymaps/scda/mykeys.h | 17 +++++++ keyboards/splitkb/kyria/keymaps/scda/rules.mk | 8 ++-- 4 files changed, 58 insertions(+), 35 deletions(-) diff --git a/keyboards/splitkb/kyria/keymaps/scda/config.h b/keyboards/splitkb/kyria/keymaps/scda/config.h index 2b5b59756c1..2328bc22445 100644 --- a/keyboards/splitkb/kyria/keymaps/scda/config.h +++ b/keyboards/splitkb/kyria/keymaps/scda/config.h @@ -2,23 +2,19 @@ /*** OLED ***/ -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE # define OLED_DISPLAY_128X64 #endif - /*** RGB LIGHTS ***/ #ifdef RGBLIGHT_ENABLE -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 +# define RGBLIGHT_HUE_STEP 8 +# define RGBLIGHT_SAT_STEP 8 +# define RGBLIGHT_VAL_STEP 8 # define RGBLIGHT_LIMIT_VAL 100 # define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_LIGHT -# define RGBLIGHT_DEFAULT_HUE 70 // 0-255 -# define RGBLIGHT_DEFAULT_SAT 255 // 0-255 -# define RGBLIGHT_DEFAULT_VAL RGBLIGHT_LIMIT_VAL // 0-255 - +# define RGBLIGHT_DEFAULT_VAL RGBLIGHT_LIMIT_VAL # define RGBLIGHT_SLEEP // # define RGBLIGHT_ANIMATIONS // animations are disabled #endif @@ -26,8 +22,9 @@ /*** CONTROLLERS ***/ // see https://docs.qmk.fm/#/feature_split_keyboard?id=hardware-configuration-options -#define SPLIT_USB_DETECT // side with usb-connection becomes master -#define NO_USB_STARTUP_CHECK // allows the slave to wake up the pc +#define SPLIT_USB_DETECT // side with usb-connection becomes master (required for dual elite-c rev 3) +// ❗️ NO_USB_STARTUP_CHECK currently breaks the build - no idea why +// #define NO_USB_STARTUP_CHECK // allows the slave to wake up the pc (required for dual elite-c rev 3) // #define RGBLIGHT_SPLIT // share rgb light mode // #define SPLIT_MODS_ENABLE // shares modifier state between both sides (adds communication!) // #define SPLIT_TRANSPORT_MIRROR // shares master matrix with slave (adds communication!) @@ -45,6 +42,7 @@ the minimum time you have to hold a key to activate the "hold" key /* do not activate the modifier when another key is being pressed and released while the tap_key is being held before tapping_term has been reached - prevent accidental mod usage +- lets you roll mod-tap keys */ #define IGNORE_MOD_TAP_INTERRUPT @@ -54,7 +52,7 @@ allow for hold-mod after tapping the same key for the letter itself - applies to modifier and layer taps */ -#define TAPPING_FORCE_HOLD +// #define TAPPING_FORCE_HOLD /* allow for mod-key activation, if any other key is pressed and released while the mod key is being hold diff --git a/keyboards/splitkb/kyria/keymaps/scda/keymap.c b/keyboards/splitkb/kyria/keymaps/scda/keymap.c index 40634e62ae3..158c79aa2bb 100644 --- a/keyboards/splitkb/kyria/keymaps/scda/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/scda/keymap.c @@ -1,35 +1,42 @@ #include QMK_KEYBOARD_H #include "mykeys.h" -enum layers { _LETTERS = 0, _SYMBOLS, _NUMBERS, _NAV, _MEDIA_CODE, _KBD_CTRL }; +enum layers { + _LETTERS = 0, + _SYMBOLS, + _NUMBERS, + _NAV, + _MEDIA_CODE, + _KBD_CTRL +}; // clang-format off const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LETTERS] = LAYOUT( - TO(_NAV), KC_X, KC_DOT, KC_O, KC_COMM, KC_Y, KC_V, KC_G, KC_C, KC_L, KC_J, TO(_MEDIA_CODE), - 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, - G(KC_Z), KC_K, KC_Q, DE_AE, DE_UE, DE_OE, KC_NO, KC_NO, KC_NO, KC_NO, KC_B, KC_P, KC_W, KC_M, KC_Z, DE_SS, - TO(_NAV), TO(_SYMBOLS), KC_TAB, MT(MOD_MEH, KC_SPACE), KC_ENT, KC_BSPC, KC_LSFT, KC_DEL, TO(_NUMBERS), TO(_MEDIA_CODE)), + KC_NO, KC_X, KC_DOT, KC_O, KC_COMM, KC_Y, KC_V, KC_G, KC_C, KC_L, KC_J, KC_NO, + 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, + G(KC_Z), KC_K, KC_Q, DE_AE, DE_UE, DE_OE, KC_NO, KC_NO, KC_NO, KC_NO, KC_B, KC_P, KC_W, KC_M, KC_Z, DE_SS, + NUM, SYM, KC_TAB, MT(MOD_MEH, KC_SPACE), KC_ENT, KC_LSFT, KC_BSPC, KC_DEL, NUM, SYM), [_SYMBOLS] = LAYOUT( KC_TRNS, KC_NO, KC_AT, KC_LT, KC_GT, KC_CIRC, KC_PERC, KC_LCBR, KC_RCBR, KC_PLUS, KC_DQT, KC_TRNS, TO(_LETTERS), KC_DLR, KC_EQL, KC_QUES, KC_EXLM, KC_HASH, KC_ASTR, KC_LPRN, KC_RPRN, KC_MINS, KC_QUOT, KC_NO, KC_TRNS, DE_EURO, KC_AMPR, KC_TILD, KC_SLASH, KC_PIPE, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LBRC, KC_RBRC, KC_UNDS, KC_GRV, KC_NO, - KC_NO, TO(_NAV), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + KC_TRNS, NAV, KC_LOPT, KC_LCMD, KC_LSFT, KC_LSFT, KC_LCMD, KC_LOPT, KC_TRNS, NAV), [_NUMBERS] = LAYOUT( - KC_TRNS, KC_NO, KC_F7, KC_F8, KC_F9, KC_F12, KC_NO, KC_7, KC_8, KC_9, KC_NO, KC_TRNS, - TO(_LETTERS), KC_NO, KC_F4, KC_F5, KC_F6, KC_F11, KC_0, KC_4, KC_5, KC_6, KC_NO, KC_NO, - KC_TRNS, KC_NO, KC_F1, KC_F2, KC_F3, KC_F10, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_1, KC_2, KC_3, KC_NO, KC_NO, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TO(_MEDIA_CODE), KC_TRNS), + KC_TRNS, KC_NO, KC_F7, KC_F8, KC_F9, KC_F12, KC_NO, KC_7, KC_8, KC_9, KC_NO, KC_TRNS, + TO(_LETTERS), KC_NO, KC_F4, KC_F5, KC_F6, KC_F11, KC_0, KC_4, KC_5, KC_6, KC_PLUS, KC_ASTR, + KC_TRNS, KC_NO, KC_F1, KC_F2, KC_F3, KC_F10, KC_NO, KC_NO, KC_NO, KC_NO, KC_COMM, KC_1, KC_2, KC_3, KC_MINS, KC_SLASH, + MCO, KC_TRNS, KC_LOPT, KC_LCMD, KC_LSFT, KC_LSFT, KC_LCMD, KC_LOPT, MCO, KC_TRNS), [_NAV] = LAYOUT( KC_TRNS, KC_ACL2, KC_WH_R, KC_NO, KC_WH_L, G(KC_PLUS), C(KC_LEFT), G(A(KC_LEFT)), G(A(KC_UP)), G(A(KC_RIGHT)), C(KC_RIGHT), KC_TRNS, TO(_LETTERS), KC_ACL1, KC_MS_L, KC_MS_UP, KC_MS_R, G(KC_0), KC_HOME, KC_LEFT, KC_UP, KC_RIGHT, KC_END, KC_PGUP, - KC_TRNS, KC_ACL0, KC_WH_D, KC_MS_DOWN, KC_WH_U, G(KC_MINS), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, C(S(KC_TAB)), KC_DOWN, C(KC_TAB), KC_NO, KC_PGDN, - KC_TRNS, KC_TRNS, KC_BTN3, KC_BTN1, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + KC_TRNS, KC_ACL0, KC_WH_D, KC_MS_DOWN, KC_WH_U, G(KC_MINS), KC_NO, KC_NO, KC_NO, KC_NO, KC_ENT, C(S(KC_TAB)), KC_DOWN, C(KC_TAB), KC_NO, KC_PGDN, + KC_TRNS, KC_TRNS, KC_BTN3, KC_BTN1, KC_BTN2, KC_LSFT, KC_LCMD, KC_LOPT, KC_TRNS, KC_TRNS), [_MEDIA_CODE] = LAYOUT( - KC_TRNS, KC_NO, KC_BRIU, KC_VOLU, KC_MNXT, KC_NO, KC_NO, G(KC_X), G(KC_C), G(KC_V), KC_NO, KC_TRNS, - TO(_LETTERS), KC_NO, KC_NO, KC_MUTE, KC_MPLY, G(C(KC_SPACE)), KC_NO, G(S(KC_D)), G(KC_UP), G(KC_Y), KC_NO, KC_NO, - KC_TRNS, KC_NO, KC_BRID, KC_VOLD, KC_MPRV, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, G(KC_F), G(KC_DOWN), G(KC_R), KC_NO, KC_NO, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + KC_TRNS, KC_NO, KC_BRIU, KC_VOLU, KC_MNXT, KC_NO, KC_NO, G(KC_X), G(KC_C), G(KC_V), KC_NO, KC_TRNS, + TO(_LETTERS), KC_NO, KC_NO, KC_MUTE, KC_MPLY, G(C(KC_SPACE)), KC_NO, G(S(KC_D)), G(KC_UP), G(KC_Y), KC_NO, KC_NO, + KC_TRNS, KC_NO, KC_BRID, KC_VOLD, KC_MPRV, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, G(KC_F), G(KC_DOWN), G(KC_R), KC_NO, KC_NO, + KC_TRNS, KC_TRNS, KC_LOPT, KC_LCMD, KC_LSFT, KC_LSFT, KC_LCMD, KC_LOPT, KC_TRNS, KC_TRNS), [_KBD_CTRL] = LAYOUT( KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, TO(_LETTERS), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_VAI, RGB_TOG, KC_NO, KC_NO, KC_NO, @@ -43,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; // clang-format on -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; } static void render_status(void) { @@ -79,10 +86,11 @@ static void render_status(void) { oled_write_P(IS_LED_ON(led_usb_state, USB_LED_SCROLL_LOCK) ? PSTR("SCRLCK ") : PSTR(" "), false); } -void oled_task_user(void) { - if (is_keyboard_left()) { +bool oled_task_user(void) { + if (is_keyboard_master()) { render_status(); } + return false; } #endif diff --git a/keyboards/splitkb/kyria/keymaps/scda/mykeys.h b/keyboards/splitkb/kyria/keymaps/scda/mykeys.h index 42b7041b22f..67d1b259faf 100644 --- a/keyboards/splitkb/kyria/keymaps/scda/mykeys.h +++ b/keyboards/splitkb/kyria/keymaps/scda/mykeys.h @@ -6,3 +6,20 @@ #define DE_OE A(KC_O) // Ö #define DE_SS A(KC_S) // ß #define DE_EURO A(S(KC_2)) // € + + +// aliases for readability + +#define LETTERS DF(_LETTERS) +// #define QWERTY DF(_QWERTY) // TBD + +#define SYM TO(_SYMBOLS) +#define NUM TO(_NUMBERS) +#define NAV TO(_NAV) +#define MCO TO(_MEDIA_CODE) +// #define CTL TO(_KBD_CTRL) // TBD + +#define CTL_ESC MT(MOD_LCTL, KC_ESC) +#define CTL_QUOT MT(MOD_RCTL, KC_QUOTE) +#define CTL_MINS MT(MOD_RCTL, KC_MINUS) +#define ALT_ENT MT(MOD_LALT, KC_ENT) diff --git a/keyboards/splitkb/kyria/keymaps/scda/rules.mk b/keyboards/splitkb/kyria/keymaps/scda/rules.mk index 9ffd26ac2b8..b082d2efd15 100644 --- a/keyboards/splitkb/kyria/keymaps/scda/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/scda/rules.mk @@ -1,4 +1,4 @@ -OLED_DRIVER_ENABLE = yes # Enables the use of OLED displays -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -ENCODER_ENABLE = no # Disable rotary encoders -# NKRO_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 # Enables the use of OLED displays +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +ENCODER_ENABLE = no # Enables the use of one or more encoders