diff options
| author | Jeremy Herve <jeremy@jeremy.hu> | 2021-05-13 18:29:04 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-14 02:29:04 +1000 |
| commit | 6e5e34662bb83964d3d580a22cd16828fd37cfd5 (patch) | |
| tree | f9cbb2fa4cc0d30ae82a5e7512ac2d060321fe03 /keyboards/redox | |
| parent | 3efd94014ff363f107c563da623259286dedad1c (diff) | |
| download | qmk_firmware-6e5e34662bb83964d3d580a22cd16828fd37cfd5.tar.gz qmk_firmware-6e5e34662bb83964d3d580a22cd16828fd37cfd5.zip | |
Redox custom keymap (jeherve): updates to deprecated code and bugfixes (#12738)
Co-authored-by: Drashna Jael're <drashna@live.com>
Diffstat (limited to 'keyboards/redox')
| -rw-r--r-- | keyboards/redox/keymaps/jeherve/config.h | 10 | ||||
| -rw-r--r-- | keyboards/redox/keymaps/jeherve/keymap.c | 295 | ||||
| -rw-r--r-- | keyboards/redox/keymaps/jeherve/readme.md | 5 |
3 files changed, 165 insertions, 145 deletions
diff --git a/keyboards/redox/keymaps/jeherve/config.h b/keyboards/redox/keymaps/jeherve/config.h index b9b67c999..e3ed839f4 100644 --- a/keyboards/redox/keymaps/jeherve/config.h +++ b/keyboards/redox/keymaps/jeherve/config.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | Copyright 2018 Jeremy Herve <jeremy@jeremy.hu> | 2 | Copyright 2021 Jeremy Herve <jeremy@jeremy.hu> |
| 3 | 3 | ||
| 4 | This program is free software: you can redistribute it and/or modify | 4 | This program is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
| @@ -36,3 +36,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 36 | #define RGBLIGHT_SAT_STEP 8 | 36 | #define RGBLIGHT_SAT_STEP 8 |
| 37 | #define RGBLIGHT_VAL_STEP 8 | 37 | #define RGBLIGHT_VAL_STEP 8 |
| 38 | #define RGBLIGHT_SLEEP | 38 | #define RGBLIGHT_SLEEP |
| 39 | |||
| 40 | /* Set Unicode mode by default */ | ||
| 41 | #define UNICODE_SELECTED_MODES UC_MAC | ||
| 42 | |||
| 43 | /* Custom startup sound */ | ||
| 44 | #ifdef AUDIO_ENABLE | ||
| 45 | # define STARTUP_SONG SONG(ZELDA_PUZZLE) | ||
| 46 | #endif | ||
diff --git a/keyboards/redox/keymaps/jeherve/keymap.c b/keyboards/redox/keymaps/jeherve/keymap.c index f39b5a438..226d14aae 100644 --- a/keyboards/redox/keymaps/jeherve/keymap.c +++ b/keyboards/redox/keymaps/jeherve/keymap.c | |||
| @@ -1,6 +1,21 @@ | |||
| 1 | #include QMK_KEYBOARD_H | 1 | /* |
| 2 | Copyright 2021 Jeremy Herve <jeremy@jeremy.hu> | ||
| 3 | |||
| 4 | This program is free software: you can redistribute it and/or modify | ||
| 5 | it under the terms of the GNU General Public License as published by | ||
| 6 | the Free Software Foundation, either version 2 of the License, or | ||
| 7 | (at your option) any later version. | ||
| 8 | |||
| 9 | This program is distributed in the hope that it will be useful, | ||
| 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 12 | GNU General Public License for more details. | ||
| 13 | |||
| 14 | You should have received a copy of the GNU General Public License | ||
| 15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 16 | */ | ||
| 2 | 17 | ||
| 3 | extern keymap_config_t keymap_config; | 18 | #include QMK_KEYBOARD_H |
| 4 | 19 | ||
| 5 | // Each layer gets a name for readability, which is then used in the keymap matrix below. | 20 | // Each layer gets a name for readability, which is then used in the keymap matrix below. |
| 6 | // The underscores don't mean anything - you can have a layer called STUFF or any other name. | 21 | // The underscores don't mean anything - you can have a layer called STUFF or any other name. |
| @@ -12,126 +27,127 @@ extern keymap_config_t keymap_config; | |||
| 12 | #define _INTER 3 | 27 | #define _INTER 3 |
| 13 | #define _ADJUST 4 | 28 | #define _ADJUST 4 |
| 14 | 29 | ||
| 30 | // Define song. | ||
| 31 | #ifdef AUDIO_ENABLE | ||
| 32 | float tone_zelda[][2] = SONG(ZELDA_TREASURE); | ||
| 33 | #endif | ||
| 34 | |||
| 15 | enum custom_keycodes { | 35 | enum custom_keycodes { |
| 16 | COLEMAK = SAFE_RANGE, | 36 | COLEMAK = SAFE_RANGE, |
| 17 | SYMB, | 37 | SYMB, |
| 18 | NAV, | 38 | NAV, |
| 19 | INTER, | 39 | INTER, |
| 20 | ADJUST, | 40 | ADJUST, |
| 21 | // These use process_record_user() | 41 | // These use process_record_user() |
| 22 | M_BRACKET_LEFT, | 42 | M_BRACKET_LEFT, |
| 23 | M_BRACKET_RIGHT, | 43 | M_BRACKET_RIGHT, |
| 24 | SHRUG, | 44 | SHRUG, |
| 25 | WAVE, | 45 | WAVE, |
| 26 | YOSHI, | 46 | YOSHI, |
| 27 | THUMB_UP, | 47 | THUMB_UP, |
| 28 | NBSP, | 48 | INV_1P, |
| 29 | INV_1P, | 49 | ALFRED |
| 30 | ALFRED | ||
| 31 | }; | 50 | }; |
| 32 | 51 | ||
| 33 | // Is shift being held? Let's store this in a bool. | 52 | // Is shift being held? Let's store this in a bool. |
| 34 | static bool shift_held = false; | 53 | static bool shift_held = false; |
| 35 | 54 | ||
| 36 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | 55 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
| 37 | switch(keycode) { | 56 | switch (keycode) { |
| 38 | case SHRUG: | 57 | case SHRUG: |
| 39 | if (record->event.pressed) { | 58 | if (record->event.pressed) { |
| 40 | send_unicode_hex_string("00AF 005C 005F 0028 30C4 0029 005F 002F 00AF"); | 59 | send_unicode_string("¯\\_(ツ)_/¯"); |
| 41 | } | 60 | } |
| 42 | return false; | 61 | return false; |
| 43 | break; | 62 | break; |
| 44 | case INV_1P: | 63 | case INV_1P: |
| 45 | if (record->event.pressed) { | 64 | if (record->event.pressed) { |
| 46 | SEND_STRING(SS_DOWN(X_LGUI)SS_DOWN(X_LALT)SS_TAP(X_BSLASH)SS_UP(X_LGUI)SS_UP(X_LALT)); | 65 | SEND_STRING(SS_DOWN(X_LGUI) SS_DOWN(X_LALT) SS_TAP(X_BSLASH) SS_UP(X_LGUI) SS_UP(X_LALT)); |
| 47 | } | 66 | } |
| 48 | return false; | 67 | return false; |
| 49 | break; | 68 | break; |
| 50 | case ALFRED: | 69 | case ALFRED: |
| 51 | if (record->event.pressed) { | 70 | if (record->event.pressed) { |
| 52 | SEND_STRING(SS_DOWN(X_LALT)SS_TAP(X_SPACE)SS_UP(X_LALT)); | 71 | SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_SPACE) SS_UP(X_LALT)); |
| 53 | } | 72 | } |
| 54 | return false; | 73 | return false; |
| 55 | break; | 74 | break; |
| 56 | case YOSHI: | 75 | case YOSHI: |
| 57 | if (record->event.pressed) { | 76 | if (record->event.pressed) { |
| 58 | SEND_STRING(":yellow_yoshi:"); | 77 | #ifdef AUDIO_ENABLE |
| 59 | } | 78 | PLAY_SONG(tone_zelda); |
| 60 | return false; | 79 | #endif |
| 61 | break; | 80 | SEND_STRING(":yellow_yoshi:"); |
| 62 | case THUMB_UP: | 81 | } |
| 63 | if (record->event.pressed) { | 82 | return false; |
| 64 | SEND_STRING(SS_LALT("D83D+DC4D")); | 83 | break; |
| 65 | } | 84 | case THUMB_UP: |
| 66 | return false; | 85 | if (record->event.pressed) { |
| 67 | break; | 86 | register_unicode(0x1F44D); |
| 68 | case WAVE: | 87 | } |
| 69 | if (record->event.pressed) { | 88 | return false; |
| 70 | SEND_STRING(SS_LALT("D83D+DC4B")); | 89 | break; |
| 71 | } | 90 | case WAVE: |
| 72 | return false; | 91 | if (record->event.pressed) { |
| 73 | break; | 92 | register_unicode(0x1F44B); |
| 74 | case NBSP: | 93 | } |
| 75 | if (record->event.pressed) { | 94 | return false; |
| 76 | SEND_STRING(" "); | 95 | break; |
| 77 | } | 96 | case KC_LSFT: |
| 78 | return false; | 97 | shift_held = record->event.pressed; |
| 79 | break; | 98 | return true; |
| 80 | case KC_LSFT: | 99 | break; |
| 81 | shift_held = record->event.pressed; | 100 | case KC_RSFT: |
| 82 | return true; | 101 | shift_held = record->event.pressed; |
| 83 | break; | 102 | return true; |
| 84 | case KC_RSFT: | 103 | break; |
| 85 | shift_held = record->event.pressed; | 104 | case M_BRACKET_LEFT: { |
| 86 | return true; | 105 | if (record->event.pressed) { |
| 87 | break; | 106 | if (shift_held) { |
| 88 | case M_BRACKET_LEFT: { | 107 | unregister_code(KC_LSFT); |
| 89 | if (record->event.pressed) { | 108 | unregister_code(KC_RSFT); |
| 90 | if (shift_held) { | 109 | register_code(KC_LBRC); |
| 91 | unregister_code(KC_LSFT); | 110 | } else { |
| 92 | unregister_code(KC_RSFT); | 111 | register_code(KC_LSFT); |
| 93 | register_code(KC_LBRC); | 112 | register_code(KC_9); |
| 94 | } else { | 113 | } |
| 95 | register_code(KC_LSFT); | 114 | } else { // Release the key |
| 96 | register_code(KC_9); | 115 | unregister_code(KC_LBRC); |
| 97 | } | 116 | unregister_code(KC_LSFT); |
| 98 | } else { // Release the key | 117 | unregister_code(KC_RSFT); |
| 99 | unregister_code(KC_LBRC); | 118 | unregister_code(KC_9); |
| 100 | unregister_code(KC_LSFT); | 119 | } |
| 101 | unregister_code(KC_RSFT); | 120 | return false; |
| 102 | unregister_code(KC_9); | 121 | break; |
| 103 | } | 122 | } |
| 104 | return false; | 123 | case M_BRACKET_RIGHT: { |
| 105 | break; | 124 | if (record->event.pressed) { |
| 106 | } | 125 | if (shift_held) { |
| 107 | case M_BRACKET_RIGHT: { | 126 | unregister_code(KC_LSFT); |
| 108 | if (record->event.pressed) { | 127 | unregister_code(KC_RSFT); |
| 109 | if (shift_held) { | 128 | register_code(KC_RBRC); |
| 110 | unregister_code(KC_LSFT); | 129 | } else { |
| 111 | unregister_code(KC_RSFT); | 130 | register_code(KC_LSFT); |
| 112 | register_code(KC_RBRC); | 131 | register_code(KC_0); |
| 113 | } else { | 132 | } |
| 114 | register_code(KC_LSFT); | 133 | } else { // Release the key |
| 115 | register_code(KC_0); | 134 | unregister_code(KC_RBRC); |
| 116 | } | 135 | unregister_code(KC_LSFT); |
| 117 | } else { // Release the key | 136 | unregister_code(KC_RSFT); |
| 118 | unregister_code(KC_RBRC); | 137 | unregister_code(KC_0); |
| 119 | unregister_code(KC_LSFT); | 138 | } |
| 120 | unregister_code(KC_RSFT); | 139 | return false; |
| 121 | unregister_code(KC_0); | 140 | break; |
| 122 | } | 141 | } |
| 123 | return false; | 142 | } |
| 124 | break; | 143 | return true; |
| 125 | } | ||
| 126 | } | ||
| 127 | return true; | ||
| 128 | }; | 144 | }; |
| 129 | 145 | ||
| 130 | // Shortcut to make keymap more readable | 146 | // Shortcut to make keymap more readable |
| 131 | #define KC_SYQT LT(_SYMB,KC_QUOT) | 147 | #define KC_SYQT LT(_SYMB, KC_QUOT) |
| 132 | #define SYM_L MO(_SYMB) | 148 | #define SYM_L MO(_SYMB) |
| 133 | #define MO_INTR MO(_INTER) | 149 | #define MO_INTR MO(_INTER) |
| 134 | #define TT_ADJ TT(_ADJUST) | 150 | #define TT_ADJ TT(_ADJUST) |
| 135 | 151 | ||
| 136 | #define UC_00E0 UC(0x00E0) | 152 | #define UC_00E0 UC(0x00E0) |
| 137 | #define UC_00FC UC(0x00FC) | 153 | #define UC_00FC UC(0x00FC) |
| @@ -147,6 +163,8 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 147 | #define UC_0171 UC(0x0171) | 163 | #define UC_0171 UC(0x0171) |
| 148 | #define UC_00EA UC(0x00EA) | 164 | #define UC_00EA UC(0x00EA) |
| 149 | #define UC_0151 UC(0x0151) | 165 | #define UC_0151 UC(0x0151) |
| 166 | // Non-breaking space. | ||
| 167 | #define UC_00A0 UC(0x00a0) | ||
| 150 | 168 | ||
| 151 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 169 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| 152 | 170 | ||
| @@ -202,7 +220,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 202 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | 220 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ |
| 203 | XXXXXXX ,UC_00E2 ,XXXXXXX ,UC_00E7 ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ , _______ ,XXXXXXX ,XXXXXXX ,UC_0171 ,UC_00EA ,XXXXXXX ,UC_0151 ,XXXXXXX , | 221 | XXXXXXX ,UC_00E2 ,XXXXXXX ,UC_00E7 ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ , _______ ,XXXXXXX ,XXXXXXX ,UC_0171 ,UC_00EA ,XXXXXXX ,UC_0151 ,XXXXXXX , |
| 204 | //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ | 222 | //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ |
| 205 | _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,_______ , _______ ,NBSP , XXXXXXX , _______ ,XXXXXXX ,XXXXXXX ,_______ | 223 | _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,_______ , _______ ,UC_00A0 , XXXXXXX , _______ ,XXXXXXX ,XXXXXXX ,_______ |
| 206 | //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ | 224 | //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ |
| 207 | ), | 225 | ), |
| 208 | 226 | ||
| @@ -222,38 +240,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 222 | 240 | ||
| 223 | }; | 241 | }; |
| 224 | 242 | ||
| 225 | #ifdef AUDIO_ENABLE | ||
| 226 | float tone_colemak[][2] = SONG(ZELDA_TREASURE); | ||
| 227 | #endif | ||
| 228 | |||
| 229 | void persistent_default_layer_set(uint16_t default_layer) { | 243 | void persistent_default_layer_set(uint16_t default_layer) { |
| 230 | eeconfig_update_default_layer(default_layer); | 244 | eeconfig_update_default_layer(default_layer); |
| 231 | default_layer_set(default_layer); | 245 | default_layer_set(default_layer); |
| 232 | } | 246 | } |
| 233 | 247 | ||
| 234 | // Set unicode in Mac OS. | ||
| 235 | void eeconfig_init_user(void) { | ||
| 236 | set_unicode_input_mode(UC_OSX); | ||
| 237 | }; | ||
| 238 | |||
| 239 | // Change LED colors depending on the layer. | 248 | // Change LED colors depending on the layer. |
| 240 | uint32_t layer_state_set_user(uint32_t state) { | 249 | layer_state_t layer_state_set_user(layer_state_t state) { |
| 241 | switch (biton32(state)) { | 250 | switch (get_highest_layer(state)) { |
| 242 | case _SYMB: | 251 | case _SYMB: |
| 243 | rgblight_setrgb_orange(); | 252 | rgblight_setrgb_orange(); |
| 244 | break; | 253 | break; |
| 245 | case _NAV: | 254 | case _NAV: |
| 246 | rgblight_setrgb_springgreen(); | 255 | rgblight_setrgb_springgreen(); |
| 247 | break; | 256 | break; |
| 248 | case _INTER: | 257 | case _INTER: |
| 249 | rgblight_setrgb_teal(); | 258 | rgblight_setrgb_teal(); |
| 250 | break; | 259 | break; |
| 251 | case _ADJUST: | 260 | case _ADJUST: |
| 252 | rgblight_setrgb_red(); | 261 | rgblight_setrgb_red(); |
| 253 | break; | 262 | break; |
| 254 | default: // for any other layers, or the default layer | 263 | default: // for any other layers, or the default layer |
| 255 | rgblight_setrgb_yellow(); | 264 | rgblight_setrgb_yellow(); |
| 256 | break; | 265 | break; |
| 257 | } | 266 | } |
| 258 | return state; | 267 | return state; |
| 259 | }; | 268 | }; |
diff --git a/keyboards/redox/keymaps/jeherve/readme.md b/keyboards/redox/keymaps/jeherve/readme.md index 515dcbd62..72ed31919 100644 --- a/keyboards/redox/keymaps/jeherve/readme.md +++ b/keyboards/redox/keymaps/jeherve/readme.md | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | # A Colemak keymap for the Redox keyboard | 1 | # A Colemak keymap for the Redox keyboard |
| 2 | 2 | ||
| 3 | ---- | 3 | ---- |
| 4 |  | 4 |  |
| 5 | 5 | ||
| 6 | ---- | 6 | ---- |
| 7 | 7 | ||
| @@ -25,6 +25,9 @@ My keymap uses 5 layers: | |||
| 25 | 25 | ||
| 26 | ## Changelog | 26 | ## Changelog |
| 27 | 27 | ||
| 28 | - 2021.04.29 | ||
| 29 | - Update code to replace deprecated code. | ||
| 30 | - Fix non-breaking space key. | ||
| 28 | - 2018.12.20 | 31 | - 2018.12.20 |
| 29 | - 2 new Macro keys, to invoke [Alfred](https://www.alfredapp.com/) and [1Password](https://1password.com/). | 32 | - 2 new Macro keys, to invoke [Alfred](https://www.alfredapp.com/) and [1Password](https://1password.com/). |
| 30 | - No more Right Command key or Expose key, I didn't use those much. | 33 | - No more Right Command key or Expose key, I didn't use those much. |
