From 9ef21d2e1c26b4153368fb3fe887ea7117c5b49b Mon Sep 17 00:00:00 2001 From: zvecr Date: Wed, 27 Mar 2019 01:39:09 +0000 Subject: Refactor staryu to current standards and enable support for backlight keycodes (#5487) --- keyboards/staryu/keymaps/default/keymap.c | 119 ++++++++++++++++++------------ 1 file changed, 71 insertions(+), 48 deletions(-) (limited to 'keyboards/staryu/keymaps') diff --git a/keyboards/staryu/keymaps/default/keymap.c b/keyboards/staryu/keymaps/default/keymap.c index d68eb4287..8c47ff44a 100755 --- a/keyboards/staryu/keymaps/default/keymap.c +++ b/keyboards/staryu/keymaps/default/keymap.c @@ -20,62 +20,85 @@ enum layers { _LAYER0, _LAYER1, _LAYER2, - _LAYER3 + _LAYER3, + _LAYER4 }; +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_LAYER0] = LAYOUT( +/* ┌─────────┬─────────┬─────────┐ */ + KC_UP, TO(_LAYER1), +/* ├─────────┼─────────┼─────────┤ */ + KC_LEFT, KC_DOWN, KC_RIGHT +/* └─────────┴─────────┴─────────┘ */ + ), + + [_LAYER1] = LAYOUT( +/* ┌─────────┬─────────┬─────────┐ */ + KC_PGUP, TO(_LAYER2), +/* ├─────────┼─────────┼─────────┤ */ + KC_HOME, KC_PGDN, KC_END +/* └─────────┴─────────┴─────────┘ */ + ), + + [_LAYER2] = LAYOUT( +/* ┌─────────┬─────────┬─────────┐ */ + KC_MSEL, TO(_LAYER3), +/* ├─────────┼─────────┼─────────┤ */ + KC_MPRV, KC_MPLY, KC_MNXT +/* └─────────┴─────────┴─────────┘ */ + ), + + [_LAYER3] = LAYOUT( +/* ┌─────────┬─────────┬─────────┐ */ + KC_MS_U, TO(_LAYER4), +/* ├─────────┼─────────┼─────────┤ */ + KC_MS_L, KC_MS_D, KC_MS_R +/* └─────────┴─────────┴─────────┘ */ + ), + + [_LAYER4] = LAYOUT( +/* ┌─────────┬─────────┬─────────┐ */ + XXXXXXX, TO(_LAYER0), +/* ├─────────┼─────────┼─────────┤ */ + RGB_TOG, BL_TOGG, BL_STEP +/* └─────────┴─────────┴─────────┘ */ + ), -const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] PROGMEM = { - /* Keymap 0 - * ,-----------. - * | |Up |Fn0| - * |---+---+---| - * |Lef|Dow|Rig| - * `-----------' - */ - LAYOUT( KC_UP, TO(_LAYER1), KC_LEFT,KC_DOWN,KC_RIGHT ), - /* Keymap 1 - * ,-----------. - * | |PgU|Fn1| - * |---+---+---| - * |Hom|PgD|End| - * `-----------' - */ - LAYOUT( KC_PGUP,TO(_LAYER2), KC_HOME,KC_PGDN,KC_END ), - /* Keymap 2 - * ,-----------. - * | |Sel|Fn2| - * |---+---+---| - * |Pre|Pla|Nex| - * `-----------' - */ - LAYOUT( KC_MSEL,TO(_LAYER3), KC_MPRV,KC_MPLY,KC_MNXT ), - /* Keymap 3 - * ,-----------. - * | |MsU|Fn3| - * |---+---+---| - * |MsL|MsD|MsR| - * `-----------' - */ - LAYOUT( KC_MS_U,TO(_LAYER0), KC_MS_L,KC_MS_D,KC_MS_R ), - // /* Keymap 4 - // * ,-----------. - // * | |Fn6|Fn4| - // * |---+---+---| - // * |Fn7|Fn5|Fn8| - // * `-----------' - // */ - // LAYOUT( FN6, FN4, FN7, FN5, FN8 ), }; -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { - return MACRO_NONE ; -} +void eeconfig_init_user(void) { + // use the non noeeprom versions, to write these values to EEPROM too + rgblight_enable(); + rgblight_mode(RGBLIGHT_MODE_BREATHING+1); -void matrix_init_user(void) { + backlight_enable(); } -void matrix_scan_user(void) { +void keyboard_post_init_user(void) { + //layer_state_set_user is not called for inital state - set it here + rgblight_sethsv_noeeprom_white(); } -void led_set_user(uint8_t usb_led) { +uint32_t layer_state_set_user(uint32_t state) { + switch (biton32(state)) { + case _LAYER1: + rgblight_sethsv_noeeprom_cyan(); + break; + case _LAYER2: + rgblight_sethsv_noeeprom_magenta(); + break; + case _LAYER3: + rgblight_sethsv_noeeprom_red(); + break; + case _LAYER4: + rgblight_sethsv_noeeprom_orange(); + break; + case _LAYER0: + default: // for any other layers, or the default layer + rgblight_sethsv_noeeprom_white(); + break; + } + return state; } -- cgit v1.2.3-24-g4f1b