|
@@ -20,62 +20,85 @@ enum layers {
|
|
|
_LAYER0,
|
|
_LAYER0,
|
|
|
_LAYER1,
|
|
_LAYER1,
|
|
|
_LAYER2,
|
|
_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;
|
|
|
}
|
|
}
|