diff options
| -rw-r--r-- | keyboards/anavi/macropad8/keymaps/vscode/keymap.c | 142 | 
1 files changed, 133 insertions, 9 deletions
| diff --git a/keyboards/anavi/macropad8/keymaps/vscode/keymap.c b/keyboards/anavi/macropad8/keymaps/vscode/keymap.c index be6ac07f58..46d4a7d8b3 100644 --- a/keyboards/anavi/macropad8/keymaps/vscode/keymap.c +++ b/keyboards/anavi/macropad8/keymaps/vscode/keymap.c @@ -18,39 +18,72 @@  enum layers {      _BASIC, +    _BRACKETS, +    _SELECTORS,      _FN,  };  #define KC_X0 LT(_FN, KC_ESC) +static char current_alpha_oled [12] = "None";  const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {  /* _BASIC Layer   * ,-------------------------------------.   * | Toggle  | Toggle  |        |         | - * | Block   | Line    |  Undo  |   Redo  | + * | Block   | Line    |  Undo  | Search  |   * | Comment | Comment |        |         |   * |---------+---------+--------+---------+   * |         |         |        |   TO    | - * |  Cut    |   Copy  |  Paste |   _FN   |    + * |  Cut    |   Copy  |  Paste | _BASIC  |   * |         |         |        |         | - *  `-------------------------------------'  + *  `-------------------------------------'   */     [_BASIC] = LAYOUT_ortho_2x4( -     RCS(KC_A), C(KC_SLASH), C(KC_Z),  C(KC_Y), -     C(KC_X),   C(KC_C),     C(KC_V),  TO(_FN) +     RCS(KC_A),  LCTL(KC_SLASH), LCTL(KC_Z),  LCTL(KC_F), +     LCTL(KC_X), LCTL(KC_C),     LCTL(KC_V),  TO(_BRACKETS) +  ), +/* _BRACKETS Layer + * ,-----------------------------------------. + * |         |         |        |            | + * |  (      |   [     |   {    |   Bksp     | + * |         |         |        |            | + * |---------+---------+--------+------------+ + * |         |         |        |   TO       | + * |  Del    |   Copy  |  Paste | _SELECTORS | + * |         |         |        |            | + *  `----------------------------------------' + */  +  [_BRACKETS] = LAYOUT_ortho_2x4( +     S(KC_9), KC_LBRC, S(KC_LBRC), KC_BACKSPACE, +     KC_DEL, C(KC_C), C(KC_V),    TO(_SELECTORS) +  ), +/* _SELECTORS Layer +* ,-------------------------------------. +* |         |         |        |         | +* | Select  |  Save   |  Undo  |   Bksp  | +* |   All   |         |        |         | +* |---------+---------+--------+---------+ +* |         |         |        |   TO    | +* |  Cut    |   Copy  |  Paste |   _FN   | +* |         |         |        |         | +*  `-------------------------------------' +*/  + [_SELECTORS] = LAYOUT_ortho_2x4( +   C(KC_A), C(KC_S),  C(KC_Z), KC_BACKSPACE, +   C(KC_X), C(KC_C), C(KC_V),  TO(_FN)    ),  /* _FN Layer   * ,--------------------------------------------.   * | RGB       |  RGB      |  RGB      | RGB     |   * | Toggle    |  Mode     |  Mode     | Snake   | - * |           |  Forward  | Reverse   | Mode    |          + * |           |  Forward  | Reverse   | Mode    |   * |-----------+-----------+-----------+---------+   * |           |  Cycle    |  Toggle   |  TO     | - * | BackLight | BackLight | BackLight |  _BASIC |   - * |  Toggle   |   Levels  |           |         | - *  `--------------------------------------------'  + * | BackLight | BackLight | BackLight |  _BASIC | + * |  Toggle   |   Levels  | Breathing |         | + *  `--------------------------------------------'   */     [_FN] = LAYOUT_ortho_2x4(       RGB_TOG, RGB_MOD, RGB_M_R, RGB_M_SN, @@ -63,6 +96,89 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) {      return OLED_ROTATION_180;  // flips the display 180 degrees if offhand  } +bool process_record_user(uint16_t keycode, keyrecord_t *record) { +    if (record->event.pressed) { +        char string [33]; +        switch(keycode) +        { +            //First Layer with Basic Keys +            case LCTL(KC_X): +                strncpy(current_alpha_oled, "Cut", sizeof(current_alpha_oled)); +                break; +            case LCTL(KC_F): +                strncpy(current_alpha_oled, "Search", sizeof(current_alpha_oled)); +                break; +            case LCTL(KC_Z): +                strncpy(current_alpha_oled, "Undo", sizeof(current_alpha_oled)); +                break; +            case LCTL(KC_C): +                strncpy(current_alpha_oled, "Copy", sizeof(current_alpha_oled)); +                break; +            case LCTL(KC_V): +                strncpy(current_alpha_oled, "Paste", sizeof(current_alpha_oled)); +                break; +            case RCS(KC_A): +                strncpy(current_alpha_oled, "Block cmt.", sizeof(current_alpha_oled)); +                break; +            case LCTL(KC_SLASH): +                strncpy(current_alpha_oled, "Line cmt.", sizeof(current_alpha_oled)); +                break; +            //Second Layer with Brackets +            case S(KC_9): +                strncpy(current_alpha_oled, "()", sizeof(current_alpha_oled)); +                break; +            case KC_LBRC: +                strncpy(current_alpha_oled, "[]", sizeof(current_alpha_oled)); +                break; +            case S(KC_LBRC): +                strncpy(current_alpha_oled, "{}", sizeof(current_alpha_oled)); +                break; +            case KC_BACKSPACE: +                strncpy(current_alpha_oled, "Backspace", sizeof(current_alpha_oled)); +                break; +            case KC_DEL: +                strncpy(current_alpha_oled, "Del", sizeof(current_alpha_oled)); +                break; +            // Selector Layer keys +            case C(KC_A): +                strncpy(current_alpha_oled, "Select All", sizeof(current_alpha_oled)); +                break; +            case C(KC_S): +                strncpy(current_alpha_oled, "Save", sizeof(current_alpha_oled)); +                break; +            // FN Layer keys +            case RGB_TOG: +                strncpy(current_alpha_oled, "RGB Toggle", sizeof(current_alpha_oled)); +                break; +            case RGB_MOD: +                strncpy(current_alpha_oled, "RGB Fwd", sizeof(current_alpha_oled)); +                break; +            case RGB_M_R: +                strncpy(current_alpha_oled, "RGB Rev", sizeof(current_alpha_oled)); +                break; +            case RGB_MODE_SNAKE: +                strncpy(current_alpha_oled, "RGB Snk", sizeof(current_alpha_oled)); +                break; +            case BL_TOGG: +                strncpy(current_alpha_oled, "BkLgt Tog", sizeof(current_alpha_oled)); +                break; +            case BL_STEP: +                strncpy(current_alpha_oled, "BkLgt Lvl", sizeof(current_alpha_oled)); +                break; +            case BL_BRTG: +                strncpy(current_alpha_oled, "BkLgt Brth", sizeof(current_alpha_oled)); +                break; +            //FN Key keycodes +            case TO(_BASIC) ... TO(_FN): +               strncpy(current_alpha_oled, "Switcher", sizeof(current_alpha_oled)); +               break; +            default: +               strncpy(current_alpha_oled, itoa(keycode, string, 10), sizeof(current_alpha_oled)); +               break; +        } +    } +    return true; +}  bool oled_task_user(void) {    // Host Keyboard Layer Status @@ -73,6 +189,12 @@ bool oled_task_user(void) {      case _BASIC:        oled_write_ln_P(PSTR("Basic"), false);        break; +    case _BRACKETS: +      oled_write_ln_P(PSTR("Brkts"), false); +      break; +    case _SELECTORS: +      oled_write_ln_P(PSTR("Selct"), false); +      break;      case _FN:        oled_write_ln_P(PSTR("FN"), false);        break; @@ -90,6 +212,8 @@ bool oled_task_user(void) {    oled_write_ln_P(led_state.caps_lock ? PSTR("On") : PSTR("Off"), false);    oled_write_P(PSTR("Backlit: "), false);    oled_write_ln_P(is_backlight_enabled() ? PSTR("On") : PSTR("Off"), false); +  oled_write_P(PSTR("Last Key: "), false); +  oled_write_ln(current_alpha_oled, false);  #ifdef RGBLIGHT_ENABLE    static char rgbStatusLine1[26] = {0};    snprintf(rgbStatusLine1, sizeof(rgbStatusLine1), "RGB Mode: %d", rgblight_get_mode()); | 
