diff options
| author | jonavin <71780717+Jonavin@users.noreply.github.com> | 2021-09-29 12:42:53 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-09-29 09:42:53 -0700 |
| commit | c89f74b929721d01bf8177aa10c3cd721247a857 (patch) | |
| tree | 9d74eaa575c4954c2db2b9128ebfd9a1b1bc4523 /keyboards/mechwild/murphpad | |
| parent | 0338481090f4c2330a7fd237416cf66ba2bd4d22 (diff) | |
| download | qmk_firmware-c89f74b929721d01bf8177aa10c3cd721247a857.tar.gz qmk_firmware-c89f74b929721d01bf8177aa10c3cd721247a857.zip | |
[Keymap] Jonavin murphpad keymap update (#14637)
Co-authored-by: Jonavin <=>
Diffstat (limited to 'keyboards/mechwild/murphpad')
| -rw-r--r-- | keyboards/mechwild/murphpad/keymaps/jonavin/config.h | 3 | ||||
| -rw-r--r-- | keyboards/mechwild/murphpad/keymaps/jonavin/keymap.c | 128 | ||||
| -rw-r--r-- | keyboards/mechwild/murphpad/keymaps/jonavin/readme.md | 43 |
3 files changed, 141 insertions, 33 deletions
diff --git a/keyboards/mechwild/murphpad/keymaps/jonavin/config.h b/keyboards/mechwild/murphpad/keymaps/jonavin/config.h index 7c1621515..2636ea405 100644 --- a/keyboards/mechwild/murphpad/keymaps/jonavin/config.h +++ b/keyboards/mechwild/murphpad/keymaps/jonavin/config.h | |||
| @@ -21,3 +21,6 @@ | |||
| 21 | 21 | ||
| 22 | // Increase layers to 6 for VIA | 22 | // Increase layers to 6 for VIA |
| 23 | #define DYNAMIC_KEYMAP_LAYER_COUNT 6 | 23 | #define DYNAMIC_KEYMAP_LAYER_COUNT 6 |
| 24 | |||
| 25 | // Remove line below for vertical layout | ||
| 26 | #define LANDSCAPE_MODE | ||
diff --git a/keyboards/mechwild/murphpad/keymaps/jonavin/keymap.c b/keyboards/mechwild/murphpad/keymaps/jonavin/keymap.c index 39e6ac87e..dc03e334b 100644 --- a/keyboards/mechwild/murphpad/keymaps/jonavin/keymap.c +++ b/keyboards/mechwild/murphpad/keymaps/jonavin/keymap.c | |||
| @@ -18,7 +18,6 @@ | |||
| 18 | #include "jonavin.h" | 18 | #include "jonavin.h" |
| 19 | #include "layout_landscape.h" | 19 | #include "layout_landscape.h" |
| 20 | 20 | ||
| 21 | #define LANDSCAPE_MODE | ||
| 22 | 21 | ||
| 23 | // Defines names for use in layer keycodes and the keymap | 22 | // Defines names for use in layer keycodes and the keymap |
| 24 | enum layer_names { | 23 | enum layer_names { |
| @@ -28,6 +27,7 @@ enum layer_names { | |||
| 28 | _RGB | 27 | _RGB |
| 29 | }; | 28 | }; |
| 30 | 29 | ||
| 30 | #ifdef LANDSCAPE_MODE | ||
| 31 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 31 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| 32 | 32 | ||
| 33 | [_BASE] = LAYOUT_landscape( | 33 | [_BASE] = LAYOUT_landscape( |
| @@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 53 | [_FN2] = LAYOUT_landscape( | 53 | [_FN2] = LAYOUT_landscape( |
| 54 | _______, _______, RESET, | 54 | _______, _______, RESET, |
| 55 | 55 | ||
| 56 | _______, _______, _______, _______, _______, _______, | 56 | _______, _______, KC_MPLY, KC_MPRV, KC_MNXT, _______, |
| 57 | _______, _______, _______, _______, _______, _______, | 57 | _______, _______, _______, _______, _______, _______, |
| 58 | _______, _______, _______, _______, _______, _______, | 58 | _______, _______, _______, _______, _______, _______, |
| 59 | _______, _______, _______, _______, _______, _______, | 59 | _______, _______, _______, _______, _______, _______, |
| @@ -91,6 +91,73 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 91 | _______, _______, _______ | 91 | _______, _______, _______ |
| 92 | ), | 92 | ), |
| 93 | }; | 93 | }; |
| 94 | #endif // LANDSCAPE_MODE | ||
| 95 | |||
| 96 | #ifndef LANDSCAPE_MODE | ||
| 97 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 98 | /* Base */ | ||
| 99 | [_BASE] = LAYOUT( | ||
| 100 | TT(_FN2),TT(_FN3),TT(_FN4),LT(_RGB,KC_PSCR), | ||
| 101 | KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, | ||
| 102 | KC_P7, KC_P8, KC_P9, KC_PPLS, | ||
| 103 | KC_MUTE, KC_P4, KC_P5, KC_P6, _______, | ||
| 104 | TT(_FN1), KC_P1, KC_P2, KC_P3, KC_PENT, | ||
| 105 | KC_RALT, KC_P0, _______, KC_PDOT, _______, | ||
| 106 | |||
| 107 | TT(_FN3), TT(_FN4), TT(_RGB) | ||
| 108 | ), | ||
| 109 | [_FN1] = LAYOUT( | ||
| 110 | _______, _______, _______, RESET, | ||
| 111 | KC_CALC, _______, _______, _______, | ||
| 112 | _______, _______, _______, _______, | ||
| 113 | ENCFUNC, KC_TAB, _______, _______, _______, | ||
| 114 | _______, _______, _______, _______, _______, | ||
| 115 | _______, KC_BSPC, _______, KC_DEL, _______, | ||
| 116 | |||
| 117 | _______, _______, _______ | ||
| 118 | ), | ||
| 119 | [_FN2] = LAYOUT( | ||
| 120 | _______, _______, _______, _______, | ||
| 121 | _______, _______, KC_MPLY, KC_MPRV, | ||
| 122 | _______, _______, _______, KC_MNXT, | ||
| 123 | RESET, _______, _______, _______, _______, | ||
| 124 | _______, _______, _______, _______, _______, | ||
| 125 | _______, _______, _______, _______, _______, | ||
| 126 | |||
| 127 | _______, _______, _______ | ||
| 128 | ), | ||
| 129 | [_FN3] = LAYOUT( | ||
| 130 | _______, _______, _______, _______, | ||
| 131 | _______, _______, _______, _______, | ||
| 132 | _______, _______, _______, _______, | ||
| 133 | _______, _______, _______, _______, _______, | ||
| 134 | _______, _______, _______, _______, _______, | ||
| 135 | _______, _______, _______, _______, _______, | ||
| 136 | |||
| 137 | _______, _______, _______ | ||
| 138 | ), | ||
| 139 | [_FN4] = LAYOUT( | ||
| 140 | _______, _______, _______, _______, | ||
| 141 | _______, _______, _______, _______, | ||
| 142 | _______, _______, _______, _______, | ||
| 143 | _______, _______, _______, _______, _______, | ||
| 144 | _______, _______, _______, _______, _______, | ||
| 145 | _______, _______, _______, _______, _______, | ||
| 146 | |||
| 147 | _______, _______, _______ | ||
| 148 | ), | ||
| 149 | [_RGB] = LAYOUT( | ||
| 150 | _______, _______, _______, _______, | ||
| 151 | _______, _______, _______, _______, | ||
| 152 | RGB_HUD, RGB_SPI, RGB_HUI, _______, | ||
| 153 | _______, RGB_RMOD, RGB_TOG, RGB_MOD, _______, | ||
| 154 | _______, RGB_VAD, RGB_SPD, RGB_VAI, _______, | ||
| 155 | _______, RGB_SAD, _______, RGB_SAI, _______, | ||
| 156 | |||
| 157 | _______, _______, _______ | ||
| 158 | ), | ||
| 159 | }; | ||
| 160 | #endif // !LANDSCAPE_MODE | ||
| 94 | 161 | ||
| 95 | typedef struct { | 162 | typedef struct { |
| 96 | char keydesc[6]; // this will be displayed on OLED | 163 | char keydesc[6]; // this will be displayed on OLED |
| @@ -99,15 +166,15 @@ typedef struct { | |||
| 99 | 166 | ||
| 100 | static const keycodedescType PROGMEM keyselection[] = { | 167 | static const keycodedescType PROGMEM keyselection[] = { |
| 101 | // list of key codes that will be scrolled through by encoder and description | 168 | // list of key codes that will be scrolled through by encoder and description |
| 102 | {"TASK", KC_TASK}, | 169 | {"TASK ", KC_TASK}, |
| 103 | {"INS", KC_INS}, | 170 | {"PREV ", KC_MEDIA_PREV_TRACK}, |
| 104 | {"DEL", KC_DEL}, | 171 | {"NEXT ", KC_MEDIA_NEXT_TRACK}, |
| 105 | {"PrtSc", KC_PSCR}, | 172 | {"PLAY ", KC_MEDIA_PLAY_PAUSE}, |
| 173 | {"PrtScm", KC_PSCR}, | ||
| 106 | {"ScrLk", KC_SCLN}, | 174 | {"ScrLk", KC_SCLN}, |
| 107 | {"Break", KC_PAUS}, | 175 | {"Break", KC_PAUS}, |
| 108 | {"C-A-D", KC_CAD}, // Ctrl-Alt-Del | 176 | {"C-A-D", KC_CAD}, // Ctrl-Alt-Del |
| 109 | {"AltF4", KC_AF4}, | 177 | {"AltF4", KC_AF4}, |
| 110 | {"PLAY", KC_MEDIA_PLAY_PAUSE}, | ||
| 111 | {"RESET", RESET}, // firmware flash mode | 178 | {"RESET", RESET}, // firmware flash mode |
| 112 | }; | 179 | }; |
| 113 | 180 | ||
| @@ -168,7 +235,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { | |||
| 168 | #endif | 235 | #endif |
| 169 | uint8_t mods_state = get_mods(); | 236 | uint8_t mods_state = get_mods(); |
| 170 | switch (index) { | 237 | switch (index) { |
| 171 | case 0: // This is the only encoder right now, keeping for consistency | 238 | case 0: // main primary encoder |
| 172 | switch(get_highest_layer(layer_state)){ // special handling per layer | 239 | switch(get_highest_layer(layer_state)){ // special handling per layer |
| 173 | case _FN1: // on Fn layer select what the encoder does when pressed | 240 | case _FN1: // on Fn layer select what the encoder does when pressed |
| 174 | if (!mods_state) { | 241 | if (!mods_state) { |
| @@ -177,6 +244,11 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { | |||
| 177 | } else { | 244 | } else { |
| 178 | // continue to default | 245 | // continue to default |
| 179 | } | 246 | } |
| 247 | case _RGB: | ||
| 248 | if (!mods_state) { | ||
| 249 | encoder_action_rgb_hue(clockwise); | ||
| 250 | break; | ||
| 251 | } | ||
| 180 | default: // all other layers | 252 | default: // all other layers |
| 181 | if (mods_state & MOD_BIT(KC_RSFT) ) { // If you are holding R shift, encoder changes layers | 253 | if (mods_state & MOD_BIT(KC_RSFT) ) { // If you are holding R shift, encoder changes layers |
| 182 | encoder_action_layerchange(clockwise); | 254 | encoder_action_layerchange(clockwise); |
| @@ -190,6 +262,17 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { | |||
| 190 | break; | 262 | break; |
| 191 | } | 263 | } |
| 192 | break; | 264 | break; |
| 265 | case 1: // optional secondary encoder | ||
| 266 | switch(get_highest_layer(layer_state)){ // special handling per layer | ||
| 267 | case _RGB: | ||
| 268 | if (!mods_state) { | ||
| 269 | encoder_action_rgb_mode(clockwise); | ||
| 270 | break; | ||
| 271 | } | ||
| 272 | default: // all other layers | ||
| 273 | encoder_action_mediatrack(clockwise); // Otherwise prev/next track | ||
| 274 | break; | ||
| 275 | } | ||
| 193 | } | 276 | } |
| 194 | return true; | 277 | return true; |
| 195 | } | 278 | } |
| @@ -287,16 +370,19 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { | |||
| 287 | 370 | ||
| 288 | void oled_task_user(void) { | 371 | void oled_task_user(void) { |
| 289 | render_logo(); | 372 | render_logo(); |
| 290 | oled_set_cursor(0,6); | 373 | oled_set_cursor(0,5); |
| 291 | 374 | ||
| 292 | oled_write_ln_P(PSTR("Layer"), false); | 375 | oled_write_ln_P(PSTR("-JV-"), false); |
| 376 | oled_write_ln_P(PSTR(" "), false); | ||
| 293 | 377 | ||
| 378 | bool showSelectedKey = false; | ||
| 294 | switch (get_highest_layer(layer_state)) { | 379 | switch (get_highest_layer(layer_state)) { |
| 295 | case _BASE: | 380 | case _BASE: |
| 296 | oled_write_ln_P(PSTR("Base"), false); | 381 | oled_write_ln_P(PSTR("BASE"), false); |
| 297 | break; | 382 | break; |
| 298 | case _FN1: | 383 | case _FN1: |
| 299 | oled_write_ln_P(PSTR("FN 1"), false); | 384 | oled_write_ln_P(PSTR("FN 1"), false); |
| 385 | showSelectedKey = true; | ||
| 300 | break; | 386 | break; |
| 301 | case _FN2: | 387 | case _FN2: |
| 302 | oled_write_ln_P(PSTR("FN 2"), false); | 388 | oled_write_ln_P(PSTR("FN 2"), false); |
| @@ -311,18 +397,26 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { | |||
| 311 | oled_write_ln_P(PSTR("RGB "), false); | 397 | oled_write_ln_P(PSTR("RGB "), false); |
| 312 | break; | 398 | break; |
| 313 | default: | 399 | default: |
| 314 | oled_write_ln_P(PSTR("Undef"), false); | 400 | oled_write_ln_P(PSTR(" ?? "), false); |
| 315 | } | 401 | } |
| 316 | oled_write_ln_P(PSTR(""), false); | 402 | if (showSelectedKey) oled_write_ln(selectedkey_rec.keydesc, false); |
| 403 | else oled_write_ln_P(PSTR(" "), false); | ||
| 404 | |||
| 317 | // Host Keyboard LED Status | 405 | // Host Keyboard LED Status |
| 318 | led_t led_state = host_keyboard_led_state(); | 406 | led_t led_state = host_keyboard_led_state(); |
| 319 | oled_write_ln_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false); | 407 | oled_set_cursor(0,11); |
| 320 | oled_write_ln_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false); | 408 | oled_write_ln_P(led_state.num_lock ? PSTR(" NUM") : PSTR(" "), false); |
| 321 | oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false); | 409 | oled_write_ln_P(led_state.caps_lock ? PSTR(" CAP") : PSTR(" "), false); |
| 410 | oled_write_ln_P(led_state.scroll_lock ? PSTR(" SCR") : PSTR(" "), false); | ||
| 322 | } | 411 | } |
| 323 | #endif // !LANDSCAPE_MODE | 412 | #endif // !LANDSCAPE_MODE |
| 324 | 413 | ||
| 325 | void suspend_power_down_user(void) { // shutdown oled when powered down to prevent OLED from showing Mercutio all the time | 414 | void suspend_power_down_user(void) { // shutdown oled when powered down to prevent OLED from showing Mercutio all the time |
| 326 | oled_off(); | 415 | oled_off(); |
| 416 | rgblight_disable_noeeprom(); | ||
| 417 | } | ||
| 418 | |||
| 419 | void suspend_wakeup_init_user(void) { | ||
| 420 | rgblight_enable_noeeprom(); | ||
| 327 | } | 421 | } |
| 328 | #endif | 422 | #endif |
diff --git a/keyboards/mechwild/murphpad/keymaps/jonavin/readme.md b/keyboards/mechwild/murphpad/keymaps/jonavin/readme.md index 933157063..0e389a5c3 100644 --- a/keyboards/mechwild/murphpad/keymaps/jonavin/readme.md +++ b/keyboards/mechwild/murphpad/keymaps/jonavin/readme.md | |||
| @@ -8,12 +8,12 @@ This allows you to use Murphpad in a horizontal/landscape orientation with extra | |||
| 8 | [_BASE] = LAYOUT_landscape( | 8 | [_BASE] = LAYOUT_landscape( |
| 9 | TT(_FN1), TT(_FN2), KC_MUTE, | 9 | TT(_FN1), TT(_FN2), KC_MUTE, |
| 10 | 10 | ||
| 11 | KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, KC_PPLS, KC_BSPC, | 11 | KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, KC_PPLS, KC_BSPC, |
| 12 | KC_TAB, KC_P7, KC_P8, KC_P9, KC_PDOT, KC_RGUI, | 12 | KC_TAB, KC_P7, KC_P8, KC_P9, KC_PDOT, KC_RGUI, |
| 13 | KC_RSFT, KC_P4, KC_P5, KC_P6, KC_COMMA, KC_RCTL, | 13 | KC_RSFT, KC_P4, KC_P5, KC_P6, KC_COMMA, KC_RCTL, |
| 14 | KC_P0, KC_P1, KC_P2, KC_P3, KC_PENT, KC_RALT, | 14 | KC_P0, KC_P1, KC_P2, KC_P3, KC_PENT, KC_RALT, |
| 15 | 15 | ||
| 16 | _______, _______, _______ | 16 | _______, _______, _______ |
| 17 | ), | 17 | ), |
| 18 | 18 | ||
| 19 | NOTE: VIA is enabled, but it will show it in the normal orientation until I build a landscape layout version | 19 | NOTE: VIA is enabled, but it will show it in the normal orientation until I build a landscape layout version |
| @@ -25,16 +25,16 @@ Special Features | |||
| 25 | 25 | ||
| 26 | static const keycodedescType PROGMEM keyselection[] = { | 26 | static const keycodedescType PROGMEM keyselection[] = { |
| 27 | // list of key codes that will be scrollled through by encoder and description | 27 | // list of key codes that will be scrollled through by encoder and description |
| 28 | {"TASK", KC_TASK}, | 28 | {"TASK ", KC_TASK}, |
| 29 | {"INS", KC_INS}, | 29 | {"PREV ", KC_MEDIA_PREV_TRACK}, |
| 30 | {"DEL", KC_DEL}, | 30 | {"NEXT ", KC_MEDIA_NEXT_TRACK}, |
| 31 | {"PrtSc", KC_PSCR}, | 31 | {"PLAY ", KC_MEDIA_PLAY_PAUSE}, |
| 32 | {"ScrLk", KC_SCLN}, | 32 | {"PrtScm", KC_PSCR}, |
| 33 | {"Break", KC_PAUS}, | 33 | {"ScrLk", KC_SCLN}, |
| 34 | {"C-A-D", KC_CAD}, // Ctrl-Alt-Del | 34 | {"Break", KC_PAUS}, |
| 35 | {"AltF4", KC_AF4}, | 35 | {"C-A-D", KC_CAD}, // Ctrl-Alt-Del |
| 36 | {"PLAY", KC_MEDIA_PLAY_PAUSE}, | 36 | {"AltF4", KC_AF4}, |
| 37 | {"RESET", RESET}, // firmware flash mode | 37 | {"RESET", RESET}, // firmware flash mode |
| 38 | }; | 38 | }; |
| 39 | 39 | ||
| 40 | - Additional encoder functionality | 40 | - Additional encoder functionality |
| @@ -49,7 +49,7 @@ rules.mk OPTIONS - Active features from userspace | |||
| 49 | - STARTUP_NUMLOCK_ON = yes | 49 | - STARTUP_NUMLOCK_ON = yes |
| 50 | - turns on NUMLOCK by default | 50 | - turns on NUMLOCK by default |
| 51 | 51 | ||
| 52 | DEFAULT MAPPING | 52 | DEFAULT LANDSCAPE MAPPING |
| 53 | 53 | ||
| 54 |  | 54 |  |
| 55 | 55 | ||
| @@ -59,7 +59,18 @@ FN1 Layer 1 | |||
| 59 |  | 59 |  |
| 60 | 60 | ||
| 61 | 61 | ||
| 62 | FN2 Layer 2 | ||
| 63 | |||
| 64 |  | ||
| 65 | |||
| 66 | |||
| 62 | RGB Layer 5 - Use Shift+Encoder to get to RGB layer 5 | 67 | RGB Layer 5 - Use Shift+Encoder to get to RGB layer 5 |
| 63 | 68 | ||
| 64 |  | 69 |  |
| 65 | 70 | ||
| 71 | -------------- | ||
| 72 | |||
| 73 | NORMAL / TRADITIONAL NON-LANDSCAPE NUMPAD LAYOUT | ||
| 74 | |||
| 75 |  | ||
| 76 | |||
