diff options
| author | Love Lagerkvist <30436214+motform@users.noreply.github.com> | 2021-05-22 08:11:58 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-21 23:11:58 -0700 |
| commit | 3328aefd8ebfd06217447ab8f2de2560193a38c1 (patch) | |
| tree | 11f735e27e9030004237643dc6c554fd83f6538b | |
| parent | f173963d953be15dc192256a2626f420b760d933 (diff) | |
| download | qmk_firmware-3328aefd8ebfd06217447ab8f2de2560193a38c1.tar.gz qmk_firmware-3328aefd8ebfd06217447ab8f2de2560193a38c1.zip | |
[Keymap] simplify layout in motform keymap (#12927)
| -rw-r--r-- | keyboards/planck/keymaps/motform/config.h | 35 | ||||
| -rw-r--r-- | keyboards/planck/keymaps/motform/keymap.c | 110 | ||||
| -rw-r--r-- | keyboards/planck/keymaps/motform/readme.md | 5 | ||||
| -rw-r--r-- | keyboards/planck/keymaps/motform/rules.mk | 1 |
4 files changed, 12 insertions, 139 deletions
diff --git a/keyboards/planck/keymaps/motform/config.h b/keyboards/planck/keymaps/motform/config.h index 9020d2b9f..6f70f09be 100644 --- a/keyboards/planck/keymaps/motform/config.h +++ b/keyboards/planck/keymaps/motform/config.h | |||
| @@ -1,36 +1 @@ | |||
| 1 | #pragma once | #pragma once | |
| 2 | |||
| 3 | #ifdef AUDIO_ENABLE | ||
| 4 | #define STARTUP_SONG SONG(PLANCK_SOUND) | ||
| 5 | // #define STARTUP_SONG SONG(NO_SOUND) | ||
| 6 | |||
| 7 | #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \ | ||
| 8 | SONG(COLEMAK_SOUND), \ | ||
| 9 | SONG(DVORAK_SOUND) \ | ||
| 10 | } | ||
| 11 | #endif | ||
| 12 | |||
| 13 | /* | ||
| 14 | * MIDI options | ||
| 15 | */ | ||
| 16 | |||
| 17 | /* enable basic MIDI features: | ||
| 18 | - MIDI notes can be sent when in Music mode is on | ||
| 19 | */ | ||
| 20 | |||
| 21 | #define MIDI_BASIC | ||
| 22 | |||
| 23 | /* enable advanced MIDI features: | ||
| 24 | - MIDI notes can be added to the keymap | ||
| 25 | - Octave shift and transpose | ||
| 26 | - Virtual sustain, portamento, and modulation wheel | ||
| 27 | - etc. | ||
| 28 | */ | ||
| 29 | //#define MIDI_ADVANCED | ||
| 30 | |||
| 31 | /* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ | ||
| 32 | //#define MIDI_TONE_KEYCODE_OCTAVES 2 | ||
| 33 | |||
| 34 | // Most tactile encoders have detents every 4 stages | ||
| 35 | #define ENCODER_RESOLUTION 4 | ||
| 36 | |||
diff --git a/keyboards/planck/keymaps/motform/keymap.c b/keyboards/planck/keymaps/motform/keymap.c index caa9a1899..6414b5db7 100644 --- a/keyboards/planck/keymaps/motform/keymap.c +++ b/keyboards/planck/keymaps/motform/keymap.c | |||
| @@ -15,7 +15,6 @@ | |||
| 15 | */ | 15 | */ |
| 16 | 16 | ||
| 17 | #include QMK_KEYBOARD_H | 17 | #include QMK_KEYBOARD_H |
| 18 | #include "muse.h" | ||
| 19 | #include "keymap_swedish.h" | 18 | #include "keymap_swedish.h" |
| 20 | 19 | ||
| 21 | extern keymap_config_t keymap_config; | 20 | extern keymap_config_t keymap_config; |
| @@ -64,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 64 | * |------+------+------+------+------+-------------+------+------+------+------+------| | 63 | * |------+------+------+------+------+-------------+------+------+------+------+------| |
| 65 | * | | ! | " | # | ? | % | LEFT | / | \ | = | + | * | | 64 | * | | ! | " | # | ? | % | LEFT | / | \ | = | + | * | |
| 66 | * |------+------+------+------+------+------|------+------+------+------+------+------| | 65 | * |------+------+------+------+------+------|------+------+------+------+------+------| |
| 67 | * | | | | [ | { | | UP | } | ] | | | | | 66 | * | | | | [ | ] | | UP | { | } | | | | |
| 68 | * |------+------+------+------+------+------+------+------+------+------+------+------| | 67 | * |------+------+------+------+------+------+------+------+------+------+------+------| |
| 69 | * | | | | | | | DEL | | Next | Vol- | Vol+ | Play | | 68 | * | | | | | | | DEL | | Next | Vol- | Vol+ | Play | |
| 70 | * `-----------------------------------------------------------------------------------' | 69 | * `-----------------------------------------------------------------------------------' |
| @@ -73,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 73 | ( | 72 | ( |
| 74 | _______, SE_PIPE_MAC, SE_APOS, SE_AT_MAC_V, SE_AMPR, _______, KC_DOWN, KC_NO, KC_RGHT, SE_GRV, SE_GRV, SE_TILD, | 73 | _______, SE_PIPE_MAC, SE_APOS, SE_AT_MAC_V, SE_AMPR, _______, KC_DOWN, KC_NO, KC_RGHT, SE_GRV, SE_GRV, SE_TILD, |
| 75 | _______, KC_EXLM, SE_QUO2, KC_HASH, SE_QUES, KC_PERC, KC_LEFT, SE_SLSH, SE_BSLS_MAC, SE_EQL, KC_PPLS, KC_PAST, | 74 | _______, KC_EXLM, SE_QUO2, KC_HASH, SE_QUES, KC_PERC, KC_LEFT, SE_SLSH, SE_BSLS_MAC, SE_EQL, KC_PPLS, KC_PAST, |
| 76 | _______, KC_NO, KC_NO, SE_LBRC, SE_LCBR_MAC, KC_NO, KC_UP, SE_RCBR_MAC, SE_RBRC, KC_NO, KC_NO, _______, | 75 | _______, KC_NO, KC_NO, SE_LBRC, SE_RBRC, KC_NO, KC_UP, SE_LCBR_MAC, SE_RCBR_MAC, KC_NO, KC_NO, _______, |
| 77 | _______, _______, _______, _______, _______, _______, KC_DEL, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY | 76 | _______, _______, _______, _______, _______, _______, KC_DEL, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY |
| 78 | ), | 77 | ), |
| 79 | 78 | ||
| @@ -83,16 +82,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 83 | * |------+------+------+------+------+-------------+------+------+------+------+------| | 82 | * |------+------+------+------+------+-------------+------+------+------+------+------| |
| 84 | * | ^ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | $ | | 83 | * | ^ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | $ | |
| 85 | * |------+------+------+------+------+------|------+------+------+------+------+------| | 84 | * |------+------+------+------+------+------|------+------+------+------+------+------| |
| 86 | * | | | | < | ( | | | ) | > |Pg Up |Pg Dn | | | 85 | * | | | | < | > | | | ( | ) |Pg Up |Pg Dn | | |
| 87 | * |------+------+------+------+------+------+------+------+------+------+------+------| | 86 | * |------+------+------+------+------+------+------+------+------+------+------+------| |
| 88 | * | | | | | | | | Next | Vol- | Vol+ | Play | | 87 | * | | | | | | | | Next | Vol- | Vol+ | Play | |
| 89 | * `-----------------------------------------------------------------------------------' | 88 | * `-----------------------------------------------------------------------------------' |
| 90 | */ | 89 | */ |
| 91 | [_RAISE] = LAYOUT_planck_grid | 90 | [_RAISE] = LAYOUT_planck_grid |
| 92 | ( | 91 | ( |
| 93 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, | 92 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, |
| 94 | SE_CIRC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, SE_DLR_MAC_V, | 93 | SE_CIRC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, SE_DLR_MAC_V, |
| 95 | _______, KC_NO, KC_NO, SE_LESS_MAC, SE_LPRN, KC_NO, KC_NO, SE_RPRN, SE_GRTR_MAC, KC_PGUP, KC_PGDN, KC_NO, | 94 | _______, KC_NO, KC_NO, SE_LESS_MAC, SE_GRTR_MAC, KC_NO, KC_NO, SE_LPRN, SE_RPRN, KC_PGUP, KC_PGDN, KC_NO, |
| 96 | _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY | 95 | _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY |
| 97 | ), | 96 | ), |
| 98 | 97 | ||
| @@ -100,9 +99,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 100 | * ,-----------------------------------------------------------------------------------. | 99 | * ,-----------------------------------------------------------------------------------. |
| 101 | * | | Reset| Debug| | | | | | | | | | | 100 | * | | Reset| Debug| | | | | | | | | | |
| 102 | * |------+------+------+------+------+-------------+------+------+------+------+------| | 101 | * |------+------+------+------+------+-------------+------+------+------+------+------| |
| 103 | * | | | |Aud on|Audoff|AGnorm|AGswap| | | | | | | 102 | * | | | | | | | | | | | | | |
| 104 | * |------+------+------+------+------+------|------+------+------+------+------+------| | 103 | * |------+------+------+------+------+------|------+------+------+------+------+------| |
| 105 | * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|TRMon |TRMoff| | | | | 104 | * | | | | | | | | | | | | | |
| 106 | * |------+------+------+------+------+------+------+------+------+------+------+------| | 105 | * |------+------+------+------+------+------+------+------+------+------+------+------| |
| 107 | * | | | | | | | | | | | | | 106 | * | | | | | | | | | | | | |
| 108 | * `-----------------------------------------------------------------------------------' | 107 | * `-----------------------------------------------------------------------------------' |
| @@ -110,8 +109,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 110 | [_ADJUST] = LAYOUT_planck_grid | 109 | [_ADJUST] = LAYOUT_planck_grid |
| 111 | ( | 110 | ( |
| 112 | _______, RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______, | 111 | _______, RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______, |
| 113 | _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, | 112 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, |
| 114 | _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, | 113 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, |
| 115 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | 114 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ |
| 116 | ) | 115 | ) |
| 117 | 116 | ||
| @@ -120,92 +119,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 120 | uint32_t layer_state_set_user(uint32_t state) { | 119 | uint32_t layer_state_set_user(uint32_t state) { |
| 121 | return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); | 120 | return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); |
| 122 | } | 121 | } |
| 123 | |||
| 124 | bool muse_mode = false; | ||
| 125 | uint8_t last_muse_note = 0; | ||
| 126 | uint16_t muse_counter = 0; | ||
| 127 | uint8_t muse_offset = 70; | ||
| 128 | uint16_t muse_tempo = 50; | ||
| 129 | |||
| 130 | void encoder_update(bool clockwise) { | ||
| 131 | if (muse_mode) { | ||
| 132 | if (IS_LAYER_ON(_RAISE)) { | ||
| 133 | if (clockwise) { | ||
| 134 | muse_offset++; | ||
| 135 | } else { | ||
| 136 | muse_offset--; | ||
| 137 | } | ||
| 138 | } else { | ||
| 139 | if (clockwise) { | ||
| 140 | muse_tempo+=1; | ||
| 141 | } else { | ||
| 142 | muse_tempo-=1; | ||
| 143 | } | ||
| 144 | } | ||
| 145 | } else { | ||
| 146 | if (clockwise) { | ||
| 147 | #ifdef MOUSEKEY_ENABLE | ||
| 148 | register_code(KC_MS_WH_DOWN); | ||
| 149 | unregister_code(KC_MS_WH_DOWN); | ||
| 150 | #else | ||
| 151 | register_code(KC_PGDN); | ||
| 152 | unregister_code(KC_PGDN); | ||
| 153 | #endif | ||
| 154 | } else { | ||
| 155 | #ifdef MOUSEKEY_ENABLE | ||
| 156 | register_code(KC_MS_WH_UP); | ||
| 157 | unregister_code(KC_MS_WH_UP); | ||
| 158 | #else | ||
| 159 | register_code(KC_PGUP); | ||
| 160 | unregister_code(KC_PGUP); | ||
| 161 | #endif | ||
| 162 | } | ||
| 163 | } | ||
| 164 | } | ||
| 165 | |||
| 166 | void dip_update(uint8_t index, bool active) { | ||
| 167 | switch (index) { | ||
| 168 | case 0: | ||
| 169 | if (active) { | ||
| 170 | layer_on(_ADJUST); | ||
| 171 | } else { | ||
| 172 | layer_off(_ADJUST); | ||
| 173 | } | ||
| 174 | break; | ||
| 175 | case 1: | ||
| 176 | if (active) { | ||
| 177 | muse_mode = true; | ||
| 178 | } else { | ||
| 179 | muse_mode = false; | ||
| 180 | #ifdef AUDIO_ENABLE | ||
| 181 | stop_all_notes(); | ||
| 182 | #endif | ||
| 183 | } | ||
| 184 | } | ||
| 185 | } | ||
| 186 | |||
| 187 | void matrix_scan_user(void) { | ||
| 188 | #ifdef AUDIO_ENABLE | ||
| 189 | if (muse_mode) { | ||
| 190 | if (muse_counter == 0) { | ||
| 191 | uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()]; | ||
| 192 | if (muse_note != last_muse_note) { | ||
| 193 | stop_note(compute_freq_for_midi_note(last_muse_note)); | ||
| 194 | play_note(compute_freq_for_midi_note(muse_note), 0xF); | ||
| 195 | last_muse_note = muse_note; | ||
| 196 | } | ||
| 197 | } | ||
| 198 | muse_counter = (muse_counter + 1) % muse_tempo; | ||
| 199 | } | ||
| 200 | #endif | ||
| 201 | } | ||
| 202 | |||
| 203 | bool music_mask_user(uint16_t keycode) { | ||
| 204 | switch (keycode) { | ||
| 205 | case RAISE: | ||
| 206 | case LOWER: | ||
| 207 | return false; | ||
| 208 | default: | ||
| 209 | return true; | ||
| 210 | } | ||
| 211 | } | ||
diff --git a/keyboards/planck/keymaps/motform/readme.md b/keyboards/planck/keymaps/motform/readme.md index 47091c0aa..d9bda6121 100644 --- a/keyboards/planck/keymaps/motform/readme.md +++ b/keyboards/planck/keymaps/motform/readme.md | |||
| @@ -2,10 +2,9 @@ | |||
| 2 | 2 | ||
| 3 | This layout is based off the [colemak-se](github.com/motform/colemak-se) | 3 | This layout is based off the [colemak-se](github.com/motform/colemak-se) |
| 4 | layout and features many tweaks to make working with Emacs and | 4 | layout and features many tweaks to make working with Emacs and |
| 5 | evil-mode more ergonomi. As with the colemak layout itself, the idea | 5 | evil-mode more ergonomic. As with the colemak layout itself, the idea |
| 6 | is to concentrate as much movement as possible to the home row. | 6 | is to concentrate as much movement as possible to the home row. |
| 7 | 7 | ||
| 8 | To properly use the layout in Emacs, set Super to LGUI and Meta to RGUI. | 8 | To properly use the layout in Emacs, set Super to LGUI and Meta to RGUI. |
| 9 | Unless you are running a permutation of the MacOS Swedish QWERTY-layout, | 9 | Unless you are running a permutation of the MacOS Swedish QWERTY-layout, |
| 10 | modifiers will probably not work. For future develoment, I’m planning | 10 | modifiers will probably not work. |
| 11 | to add support for MS Windows SE-QWERTY in the form of a secondary layer. | ||
diff --git a/keyboards/planck/keymaps/motform/rules.mk b/keyboards/planck/keymaps/motform/rules.mk index dcf16bef3..e69de29bb 100644 --- a/keyboards/planck/keymaps/motform/rules.mk +++ b/keyboards/planck/keymaps/motform/rules.mk | |||
| @@ -1 +0,0 @@ | |||
| 1 | SRC += muse.c | ||
