diff options
author | MakotoKurauchi <pluis@me.com> | 2019-12-04 00:51:18 +0900 |
---|---|---|
committer | MechMerlin <30334081+mechmerlin@users.noreply.github.com> | 2019-12-03 07:51:18 -0800 |
commit | 583be4a5f386c11c02a88f8e0869ec6a773cba7f (patch) | |
tree | d23e82063972bcb05eb25efed516aebfc17effd1 /keyboards/helix/rev2/keymaps/default/keymap.c | |
parent | 24507ddca86069e1b1e87148a0c052bd47731476 (diff) |
Helix default keymap update (#7465)
* add RGBRST key into helix/pico:default keymap ADJUST layer
* update helix/rev2:default keymap's OLED display contents
* add RGBRST key to HELIX_ROWS == 4 ADJUST layer
* add CAPS key to RAISE, LOWER layer
* add layer status display on slave side oled
* add RGB LED status display on both side oled
* save stack memory size
Diffstat (limited to 'keyboards/helix/rev2/keymaps/default/keymap.c')
-rw-r--r-- | keyboards/helix/rev2/keymaps/default/keymap.c | 89 |
1 files changed, 58 insertions, 31 deletions
diff --git a/keyboards/helix/rev2/keymaps/default/keymap.c b/keyboards/helix/rev2/keymaps/default/keymap.c index 4b8b26ecd8..78e3424fd5 100644 --- a/keyboards/helix/rev2/keymaps/default/keymap.c +++ b/keyboards/helix/rev2/keymaps/default/keymap.c @@ -126,7 +126,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------| |------+------+------+------+------+------| * | | F1 | F2 | F3 | F4 | F5 | | F6 | _ | + | { | } | | | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | ( | ) | F12 | | | Home | End | | + * | CAPS | F7 | F8 | F9 | F10 | F11 | ( | ) | F12 | | | Home | End | | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | Next | Vol- | Vol+ | Play | * `-------------------------------------------------------------------------------------------------' @@ -135,7 +135,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, \ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, \ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \ - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_LPRN, KC_RPRN, KC_F12, _______, _______, KC_HOME, KC_END, _______, \ + KC_CAPS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_LPRN, KC_RPRN, KC_F12, _______, _______, KC_HOME, KC_END, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \ ), @@ -147,7 +147,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------| |------+------+------+------+------+------| * | | F1 | F2 | F3 | F4 | F5 | | F6 | - | = | [ | ] | \ | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | | | F12 | | |PageDn|PageUp| | + * | CAPS | F7 | F8 | F9 | F10 | F11 | | | F12 | | |PageDn|PageUp| | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | Next | Vol- | Vol+ | Play | * `-------------------------------------------------------------------------------------------------' @@ -156,7 +156,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, \ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \ - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, _______, KC_F12, _______, _______, KC_PGDN, KC_PGUP, _______, \ + KC_CAPS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, _______, KC_F12, _______, _______, KC_PGDN, KC_PGUP, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \ ), @@ -278,7 +278,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Adjust (Lower + Raise) * ,-----------------------------------------. ,-----------------------------------------. - * | | Reset| | | | | | | | | | | Del | + * | | Reset|RGBRST| | | | | | | | | | Del | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | | | |Aud on|Audoff| Mac | | Win |Qwerty|Colemk|Dvorak| | | * |------+------+------+------+------+------| |------+------+------+------+------+------| @@ -288,7 +288,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-------------------------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT( \ - _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \ + _______, RESET, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \ _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD \ @@ -526,35 +526,37 @@ void matrix_update(struct CharacterMatrix *dest, static void render_logo(struct CharacterMatrix *matrix) { - static char logo[]={ + static const char helix_logo[] PROGMEM ={ 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4, 0}; - matrix_write(matrix, logo); + matrix_write_P(matrix, helix_logo); //matrix_write_P(&matrix, PSTR(" Split keyboard kit")); } - - -void render_status(struct CharacterMatrix *matrix) { - - // Render to mode icon - static char logo[][2][3]={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}}; - if(keymap_config.swap_lalt_lgui==false){ - matrix_write(matrix, logo[0][0]); - matrix_write_P(matrix, PSTR("\n")); - matrix_write(matrix, logo[0][1]); - }else{ - matrix_write(matrix, logo[1][0]); - matrix_write_P(matrix, PSTR("\n")); - matrix_write(matrix, logo[1][1]); +static void render_rgbled_status(bool full, struct CharacterMatrix *matrix) { +#if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_ANIMATIONS) + char buf[30]; + if(rgblight_config.enable) { + if (full) { + snprintf(buf, sizeof(buf), " LED %2d: %d,%d,%d ", + rgblight_config.mode, + rgblight_config.hue/RGBLIGHT_HUE_STEP, + rgblight_config.sat/RGBLIGHT_SAT_STEP, + rgblight_config.val/RGBLIGHT_VAL_STEP); + } else { + snprintf(buf, sizeof(buf), "[%2d] ",rgblight_config.mode); + } + matrix_write(matrix, buf); } +#endif +} +static void render_layer_status(struct CharacterMatrix *matrix) { // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below - char buf[40]; - snprintf(buf,sizeof(buf), "Undef-%ld", layer_state); - matrix_write_P(matrix, PSTR("\nLayer: ")); + char buf[10]; + matrix_write_P(matrix, PSTR("Layer: ")); switch (layer_state) { case L_BASE: matrix_write_P(matrix, PSTR("Default")); @@ -570,16 +572,39 @@ void render_status(struct CharacterMatrix *matrix) { matrix_write_P(matrix, PSTR("Adjust")); break; default: + matrix_write_P(matrix, PSTR("Undef-")); + snprintf(buf,sizeof(buf), "%ld", layer_state); matrix_write(matrix, buf); } +} + +void render_status(struct CharacterMatrix *matrix) { + + // Render to mode icon + static const char os_logo[][2][3] PROGMEM ={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}}; + if(keymap_config.swap_lalt_lgui==false){ + matrix_write_P(matrix, os_logo[0][0]); + matrix_write_P(matrix, PSTR("\n")); + matrix_write_P(matrix, os_logo[0][1]); + }else{ + matrix_write_P(matrix, os_logo[1][0]); + matrix_write_P(matrix, PSTR("\n")); + matrix_write_P(matrix, os_logo[1][1]); + } + + matrix_write_P(matrix, PSTR(" ")); + render_layer_status(matrix); + matrix_write_P(matrix, PSTR("\n")); // Host Keyboard LED Status - char led[40]; - snprintf(led, sizeof(led), "\n%s %s %s", - (host_keyboard_leds() & (1<<USB_LED_NUM_LOCK)) ? "NUMLOCK" : " ", - (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) ? "CAPS" : " ", - (host_keyboard_leds() & (1<<USB_LED_SCROLL_LOCK)) ? "SCLK" : " "); - matrix_write(matrix, led); + matrix_write_P(matrix, (host_keyboard_leds() & (1<<USB_LED_NUM_LOCK)) ? + PSTR("NUMLOCK") : PSTR(" ")); + matrix_write_P(matrix, (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) ? + PSTR("CAPS") : PSTR(" ")); + matrix_write_P(matrix, (host_keyboard_leds() & (1<<USB_LED_SCROLL_LOCK)) ? + PSTR("SCLK") : PSTR(" ")); + matrix_write_P(matrix, PSTR("\n")); + render_rgbled_status(true, matrix); } @@ -597,6 +622,8 @@ void iota_gfx_task_user(void) { render_status(&matrix); }else{ render_logo(&matrix); + render_rgbled_status(false, &matrix); + render_layer_status(&matrix); } matrix_update(&display, &matrix); } |