diff options
| author | Joel Challis <git@zvecr.com> | 2023-02-18 15:44:36 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-02-18 15:44:36 +0000 |
| commit | f587a0c548d966bd4381236ed726f5ba733b67e2 (patch) | |
| tree | 9409afc92e9f90b93243684a234472737d36b678 | |
| parent | c9cee5accabe5e9a52ed89b1f276d0b7798ef937 (diff) | |
Align sequencer keycodes (#19875)
| -rw-r--r-- | data/constants/keycodes/keycodes_0.0.2_sequencer.hjson | 69 | ||||
| -rw-r--r-- | docs/feature_sequencer.md | 28 | ||||
| -rw-r--r-- | quantum/keycodes.h | 29 | ||||
| -rw-r--r-- | quantum/process_keycode/process_sequencer.c | 24 | ||||
| -rw-r--r-- | quantum/quantum_keycodes_legacy.h | 1 | ||||
| -rw-r--r-- | tests/test_common/keycode_table.cpp | 18 |
6 files changed, 124 insertions, 45 deletions
diff --git a/data/constants/keycodes/keycodes_0.0.2_sequencer.hjson b/data/constants/keycodes/keycodes_0.0.2_sequencer.hjson new file mode 100644 index 0000000000..eedaed166c --- /dev/null +++ b/data/constants/keycodes/keycodes_0.0.2_sequencer.hjson | |||
| @@ -0,0 +1,69 @@ | |||
| 1 | { | ||
| 2 | "keycodes": { | ||
| 3 | "!reset!":0, | ||
| 4 | |||
| 5 | "0x7200": { | ||
| 6 | "group": "sequencer", | ||
| 7 | "key": "QK_SEQUENCER_ON", | ||
| 8 | "aliases": [ | ||
| 9 | "SQ_ON" | ||
| 10 | ] | ||
| 11 | }, | ||
| 12 | "0x7201": { | ||
| 13 | "group": "sequencer", | ||
| 14 | "key": "QK_SEQUENCER_OFF", | ||
| 15 | "aliases": [ | ||
| 16 | "SQ_OFF" | ||
| 17 | ] | ||
| 18 | }, | ||
| 19 | "0x7202": { | ||
| 20 | "group": "sequencer", | ||
| 21 | "key": "QK_SEQUENCER_TOGGLE", | ||
| 22 | "aliases": [ | ||
| 23 | "SQ_TOGG" | ||
| 24 | ] | ||
| 25 | }, | ||
| 26 | "0x7203": { | ||
| 27 | "group": "sequencer", | ||
| 28 | "key": "QK_SEQUENCER_TEMPO_DOWN", | ||
| 29 | "aliases": [ | ||
| 30 | "SQ_TMPD" | ||
| 31 | ] | ||
| 32 | }, | ||
| 33 | "0x7204": { | ||
| 34 | "group": "sequencer", | ||
| 35 | "key": "QK_SEQUENCER_TEMPO_UP", | ||
| 36 | "aliases": [ | ||
| 37 | "SQ_TMPU" | ||
| 38 | ] | ||
| 39 | }, | ||
| 40 | "0x7205": { | ||
| 41 | "group": "sequencer", | ||
| 42 | "key": "QK_SEQUENCER_RESOLUTION_DOWN", | ||
| 43 | "aliases": [ | ||
| 44 | "SQ_RESD" | ||
| 45 | ] | ||
| 46 | }, | ||
| 47 | "0x7206": { | ||
| 48 | "group": "sequencer", | ||
| 49 | "key": "QK_SEQUENCER_RESOLUTION_UP", | ||
| 50 | "aliases": [ | ||
| 51 | "SQ_RESU" | ||
| 52 | ] | ||
| 53 | }, | ||
| 54 | "0x7207": { | ||
| 55 | "group": "sequencer", | ||
| 56 | "key": "QK_SEQUENCER_STEPS_ALL", | ||
| 57 | "aliases": [ | ||
| 58 | "SQ_SALL" | ||
| 59 | ] | ||
| 60 | }, | ||
| 61 | "0x7208": { | ||
| 62 | "group": "sequencer", | ||
| 63 | "key": "QK_SEQUENCER_STEPS_CLEAR", | ||
| 64 | "aliases": [ | ||
| 65 | "SQ_SCLR" | ||
| 66 | ] | ||
| 67 | } | ||
| 68 | } | ||
| 69 | } \ No newline at end of file | ||
diff --git a/docs/feature_sequencer.md b/docs/feature_sequencer.md index 76b4db5cf6..87a277400a 100644 --- a/docs/feature_sequencer.md +++ b/docs/feature_sequencer.md | |||
| @@ -40,20 +40,20 @@ While the tempo defines the absolute speed at which the sequencer goes through t | |||
| 40 | 40 | ||
| 41 | ## Keycodes | 41 | ## Keycodes |
| 42 | 42 | ||
| 43 | |Keycode |Description | | 43 | |Key |Aliases |Description | |
| 44 | |------- |----------- | | 44 | |-------------------------------|---------|---------------------------------------------------| |
| 45 | |`SQ_ON` |Start the step sequencer | | 45 | |`QK_SEQUENCER_ON` |`SQ_ON` |Start the step sequencer | |
| 46 | |`SQ_OFF` |Stop the step sequencer | | 46 | |`QK_SEQUENCER_OFF` |`SQ_OFF` |Stop the step sequencer | |
| 47 | |`SQ_TOG` |Toggle the step sequencer playback | | 47 | |`QK_SEQUENCER_TOGGLE` |`SQ_TOG` |Toggle the step sequencer playback | |
| 48 | |`SQ_SALL`|Enable all the steps | | 48 | |`QK_SEQUENCER_STEPS_ALL` |`SQ_SALL`|Enable all the steps | |
| 49 | |`SQ_SCLR`|Disable all the steps | | 49 | |`QK_SEQUENCER_STEPS_CLEAR` |`SQ_SCLR`|Disable all the steps | |
| 50 | |`SQ_S(n)`|Toggle the step `n` | | 50 | |`QK_SEQUENCER_TEMPO_DOWN` |`SQ_TMPD`|Decrease the tempo | |
| 51 | |`SQ_TMPD`|Decrease the tempo | | 51 | |`QK_SEQUENCER_TEMPO_UP` |`SQ_TMPU`|Increase the tempo | |
| 52 | |`SQ_TMPU`|Increase the tempo | | 52 | |`QK_SEQUENCER_RESOLUTION_DOWN` |`SQ_RESD`|Change to the slower resolution | |
| 53 | |`SQ_R(n)`|Set the resolution to n | | 53 | |`QK_SEQUENCER_RESOLUTION_UP` |`SQ_RESU`|Change to the faster resolution | |
| 54 | |`SQ_RESD`|Change to the slower resolution | | 54 | |`SQ_S(n)` | |Toggle the step `n` | |
| 55 | |`SQ_RESU`|Change to the faster resolution | | 55 | |`SQ_R(n)` | |Set the resolution to n | |
| 56 | |`SQ_T(n)`|Set `n` as the only active track or deactivate all | | 56 | |`SQ_T(n)` | |Set `n` as the only active track or deactivate all | |
| 57 | 57 | ||
| 58 | ## Functions | 58 | ## Functions |
| 59 | 59 | ||
diff --git a/quantum/keycodes.h b/quantum/keycodes.h index 73b86ce9b9..36cec4eab8 100644 --- a/quantum/keycodes.h +++ b/quantum/keycodes.h | |||
| @@ -494,15 +494,15 @@ enum qk_keycode_defines { | |||
| 494 | QK_MIDI_MODULATION_SPEED_UP = 0x718D, | 494 | QK_MIDI_MODULATION_SPEED_UP = 0x718D, |
| 495 | QK_MIDI_PITCH_BEND_DOWN = 0x718E, | 495 | QK_MIDI_PITCH_BEND_DOWN = 0x718E, |
| 496 | QK_MIDI_PITCH_BEND_UP = 0x718F, | 496 | QK_MIDI_PITCH_BEND_UP = 0x718F, |
| 497 | SQ_ON = 0x7200, | 497 | QK_SEQUENCER_ON = 0x7200, |
| 498 | SQ_OFF = 0x7201, | 498 | QK_SEQUENCER_OFF = 0x7201, |
| 499 | SQ_TOG = 0x7202, | 499 | QK_SEQUENCER_TOGGLE = 0x7202, |
| 500 | SQ_TMPD = 0x7203, | 500 | QK_SEQUENCER_TEMPO_DOWN = 0x7203, |
| 501 | SQ_TMPU = 0x7204, | 501 | QK_SEQUENCER_TEMPO_UP = 0x7204, |
| 502 | SQ_RESD = 0x7205, | 502 | QK_SEQUENCER_RESOLUTION_DOWN = 0x7205, |
| 503 | SQ_RESU = 0x7206, | 503 | QK_SEQUENCER_RESOLUTION_UP = 0x7206, |
| 504 | SQ_SALL = 0x7207, | 504 | QK_SEQUENCER_STEPS_ALL = 0x7207, |
| 505 | SQ_SCLR = 0x7208, | 505 | QK_SEQUENCER_STEPS_CLEAR = 0x7208, |
| 506 | QK_JOYSTICK_BUTTON_0 = 0x7400, | 506 | QK_JOYSTICK_BUTTON_0 = 0x7400, |
| 507 | QK_JOYSTICK_BUTTON_1 = 0x7401, | 507 | QK_JOYSTICK_BUTTON_1 = 0x7401, |
| 508 | QK_JOYSTICK_BUTTON_2 = 0x7402, | 508 | QK_JOYSTICK_BUTTON_2 = 0x7402, |
| @@ -1085,6 +1085,15 @@ enum qk_keycode_defines { | |||
| 1085 | MI_MODU = QK_MIDI_MODULATION_SPEED_UP, | 1085 | MI_MODU = QK_MIDI_MODULATION_SPEED_UP, |
| 1086 | MI_BNDD = QK_MIDI_PITCH_BEND_DOWN, | 1086 | MI_BNDD = QK_MIDI_PITCH_BEND_DOWN, |
| 1087 | MI_BNDU = QK_MIDI_PITCH_BEND_UP, | 1087 | MI_BNDU = QK_MIDI_PITCH_BEND_UP, |
| 1088 | SQ_ON = QK_SEQUENCER_ON, | ||
| 1089 | SQ_OFF = QK_SEQUENCER_OFF, | ||
| 1090 | SQ_TOGG = QK_SEQUENCER_TOGGLE, | ||
| 1091 | SQ_TMPD = QK_SEQUENCER_TEMPO_DOWN, | ||
| 1092 | SQ_TMPU = QK_SEQUENCER_TEMPO_UP, | ||
| 1093 | SQ_RESD = QK_SEQUENCER_RESOLUTION_DOWN, | ||
| 1094 | SQ_RESU = QK_SEQUENCER_RESOLUTION_UP, | ||
| 1095 | SQ_SALL = QK_SEQUENCER_STEPS_ALL, | ||
| 1096 | SQ_SCLR = QK_SEQUENCER_STEPS_CLEAR, | ||
| 1088 | JS_0 = QK_JOYSTICK_BUTTON_0, | 1097 | JS_0 = QK_JOYSTICK_BUTTON_0, |
| 1089 | JS_1 = QK_JOYSTICK_BUTTON_1, | 1098 | JS_1 = QK_JOYSTICK_BUTTON_1, |
| 1090 | JS_2 = QK_JOYSTICK_BUTTON_2, | 1099 | JS_2 = QK_JOYSTICK_BUTTON_2, |
| @@ -1329,7 +1338,7 @@ enum qk_keycode_defines { | |||
| 1329 | #define IS_SWAP_HANDS_KEYCODE(code) ((code) >= QK_SWAP_HANDS_TOGGLE && (code) <= QK_SWAP_HANDS_ONE_SHOT) | 1338 | #define IS_SWAP_HANDS_KEYCODE(code) ((code) >= QK_SWAP_HANDS_TOGGLE && (code) <= QK_SWAP_HANDS_ONE_SHOT) |
| 1330 | #define IS_MAGIC_KEYCODE(code) ((code) >= MAGIC_SWAP_CONTROL_CAPSLOCK && (code) <= MAGIC_TOGGLE_ESCAPE_CAPSLOCK) | 1339 | #define IS_MAGIC_KEYCODE(code) ((code) >= MAGIC_SWAP_CONTROL_CAPSLOCK && (code) <= MAGIC_TOGGLE_ESCAPE_CAPSLOCK) |
| 1331 | #define IS_MIDI_KEYCODE(code) ((code) >= QK_MIDI_ON && (code) <= QK_MIDI_PITCH_BEND_UP) | 1340 | #define IS_MIDI_KEYCODE(code) ((code) >= QK_MIDI_ON && (code) <= QK_MIDI_PITCH_BEND_UP) |
| 1332 | #define IS_SEQUENCER_KEYCODE(code) ((code) >= SQ_ON && (code) <= SQ_SCLR) | 1341 | #define IS_SEQUENCER_KEYCODE(code) ((code) >= QK_SEQUENCER_ON && (code) <= QK_SEQUENCER_STEPS_CLEAR) |
| 1333 | #define IS_JOYSTICK_KEYCODE(code) ((code) >= QK_JOYSTICK_BUTTON_0 && (code) <= QK_JOYSTICK_BUTTON_31) | 1342 | #define IS_JOYSTICK_KEYCODE(code) ((code) >= QK_JOYSTICK_BUTTON_0 && (code) <= QK_JOYSTICK_BUTTON_31) |
| 1334 | #define IS_PROGRAMMABLE_BUTTON_KEYCODE(code) ((code) >= QK_PROGRAMMABLE_BUTTON_1 && (code) <= QK_PROGRAMMABLE_BUTTON_32) | 1343 | #define IS_PROGRAMMABLE_BUTTON_KEYCODE(code) ((code) >= QK_PROGRAMMABLE_BUTTON_1 && (code) <= QK_PROGRAMMABLE_BUTTON_32) |
| 1335 | #define IS_AUDIO_KEYCODE(code) ((code) >= QK_AUDIO_ON && (code) <= QK_AUDIO_VOICE_PREVIOUS) | 1344 | #define IS_AUDIO_KEYCODE(code) ((code) >= QK_AUDIO_ON && (code) <= QK_AUDIO_VOICE_PREVIOUS) |
diff --git a/quantum/process_keycode/process_sequencer.c b/quantum/process_keycode/process_sequencer.c index 334b4c0092..6391d1ba9d 100644 --- a/quantum/process_keycode/process_sequencer.c +++ b/quantum/process_keycode/process_sequencer.c | |||
| @@ -19,39 +19,39 @@ | |||
| 19 | bool process_sequencer(uint16_t keycode, keyrecord_t *record) { | 19 | bool process_sequencer(uint16_t keycode, keyrecord_t *record) { |
| 20 | if (record->event.pressed) { | 20 | if (record->event.pressed) { |
| 21 | switch (keycode) { | 21 | switch (keycode) { |
| 22 | case SQ_ON: | 22 | case QK_SEQUENCER_ON: |
| 23 | sequencer_on(); | 23 | sequencer_on(); |
| 24 | return false; | 24 | return false; |
| 25 | case SQ_OFF: | 25 | case QK_SEQUENCER_OFF: |
| 26 | sequencer_off(); | 26 | sequencer_off(); |
| 27 | return false; | 27 | return false; |
| 28 | case SQ_TOG: | 28 | case QK_SEQUENCER_TOGGLE: |
| 29 | sequencer_toggle(); | 29 | sequencer_toggle(); |
| 30 | return false; | 30 | return false; |
| 31 | case SQ_TMPD: | 31 | case QK_SEQUENCER_TEMPO_DOWN: |
| 32 | sequencer_decrease_tempo(); | 32 | sequencer_decrease_tempo(); |
| 33 | return false; | 33 | return false; |
| 34 | case SQ_TMPU: | 34 | case QK_SEQUENCER_TEMPO_UP: |
| 35 | sequencer_increase_tempo(); | 35 | sequencer_increase_tempo(); |
| 36 | return false; | 36 | return false; |
| 37 | case SEQUENCER_RESOLUTION_MIN ... SEQUENCER_RESOLUTION_MAX: | 37 | case QK_SEQUENCER_RESOLUTION_DOWN: |
| 38 | sequencer_set_resolution(keycode - SEQUENCER_RESOLUTION_MIN); | ||
| 39 | return false; | ||
| 40 | case SQ_RESD: | ||
| 41 | sequencer_decrease_resolution(); | 38 | sequencer_decrease_resolution(); |
| 42 | return false; | 39 | return false; |
| 43 | case SQ_RESU: | 40 | case QK_SEQUENCER_RESOLUTION_UP: |
| 44 | sequencer_increase_resolution(); | 41 | sequencer_increase_resolution(); |
| 45 | return false; | 42 | return false; |
| 46 | case SQ_SALL: | 43 | case QK_SEQUENCER_STEPS_ALL: |
| 47 | sequencer_set_all_steps_on(); | 44 | sequencer_set_all_steps_on(); |
| 48 | return false; | 45 | return false; |
| 49 | case SQ_SCLR: | 46 | case QK_SEQUENCER_STEPS_CLEAR: |
| 50 | sequencer_set_all_steps_off(); | 47 | sequencer_set_all_steps_off(); |
| 51 | return false; | 48 | return false; |
| 52 | case SEQUENCER_STEP_MIN ... SEQUENCER_STEP_MAX: | 49 | case SEQUENCER_STEP_MIN ... SEQUENCER_STEP_MAX: |
| 53 | sequencer_toggle_step(keycode - SEQUENCER_STEP_MIN); | 50 | sequencer_toggle_step(keycode - SEQUENCER_STEP_MIN); |
| 54 | return false; | 51 | return false; |
| 52 | case SEQUENCER_RESOLUTION_MIN ... SEQUENCER_RESOLUTION_MAX: | ||
| 53 | sequencer_set_resolution(keycode - SEQUENCER_RESOLUTION_MIN); | ||
| 54 | return false; | ||
| 55 | case SEQUENCER_TRACK_MIN ... SEQUENCER_TRACK_MAX: | 55 | case SEQUENCER_TRACK_MIN ... SEQUENCER_TRACK_MAX: |
| 56 | sequencer_toggle_single_active_track(keycode - SEQUENCER_TRACK_MIN); | 56 | sequencer_toggle_single_active_track(keycode - SEQUENCER_TRACK_MIN); |
| 57 | return false; | 57 | return false; |
diff --git a/quantum/quantum_keycodes_legacy.h b/quantum/quantum_keycodes_legacy.h index 28634d00f7..b23ed00e98 100644 --- a/quantum/quantum_keycodes_legacy.h +++ b/quantum/quantum_keycodes_legacy.h | |||
| @@ -4,3 +4,4 @@ | |||
| 4 | 4 | ||
| 5 | // Deprecated Quantum keycodes | 5 | // Deprecated Quantum keycodes |
| 6 | #define SH_TG QK_SWAP_HANDS_TOGGLE | 6 | #define SH_TG QK_SWAP_HANDS_TOGGLE |
| 7 | #define SQ_TOG QK_SEQUENCER_TOGGLE | ||
diff --git a/tests/test_common/keycode_table.cpp b/tests/test_common/keycode_table.cpp index 337bc8fb5f..8947659411 100644 --- a/tests/test_common/keycode_table.cpp +++ b/tests/test_common/keycode_table.cpp | |||
| @@ -436,15 +436,15 @@ std::map<uint16_t, std::string> KEYCODE_ID_TABLE = { | |||
| 436 | {QK_MIDI_MODULATION_SPEED_UP, "QK_MIDI_MODULATION_SPEED_UP"}, | 436 | {QK_MIDI_MODULATION_SPEED_UP, "QK_MIDI_MODULATION_SPEED_UP"}, |
| 437 | {QK_MIDI_PITCH_BEND_DOWN, "QK_MIDI_PITCH_BEND_DOWN"}, | 437 | {QK_MIDI_PITCH_BEND_DOWN, "QK_MIDI_PITCH_BEND_DOWN"}, |
| 438 | {QK_MIDI_PITCH_BEND_UP, "QK_MIDI_PITCH_BEND_UP"}, | 438 | {QK_MIDI_PITCH_BEND_UP, "QK_MIDI_PITCH_BEND_UP"}, |
| 439 | {SQ_ON, "SQ_ON"}, | 439 | {QK_SEQUENCER_ON, "QK_SEQUENCER_ON"}, |
| 440 | {SQ_OFF, "SQ_OFF"}, | 440 | {QK_SEQUENCER_OFF, "QK_SEQUENCER_OFF"}, |
| 441 | {SQ_TOG, "SQ_TOG"}, | 441 | {QK_SEQUENCER_TOGGLE, "QK_SEQUENCER_TOGGLE"}, |
| 442 | {SQ_TMPD, "SQ_TMPD"}, | 442 | {QK_SEQUENCER_TEMPO_DOWN, "QK_SEQUENCER_TEMPO_DOWN"}, |
| 443 | {SQ_TMPU, "SQ_TMPU"}, | 443 | {QK_SEQUENCER_TEMPO_UP, "QK_SEQUENCER_TEMPO_UP"}, |
| 444 | {SQ_RESD, "SQ_RESD"}, | 444 | {QK_SEQUENCER_RESOLUTION_DOWN, "QK_SEQUENCER_RESOLUTION_DOWN"}, |
| 445 | {SQ_RESU, "SQ_RESU"}, | 445 | {QK_SEQUENCER_RESOLUTION_UP, "QK_SEQUENCER_RESOLUTION_UP"}, |
| 446 | {SQ_SALL, "SQ_SALL"}, | 446 | {QK_SEQUENCER_STEPS_ALL, "QK_SEQUENCER_STEPS_ALL"}, |
| 447 | {SQ_SCLR, "SQ_SCLR"}, | 447 | {QK_SEQUENCER_STEPS_CLEAR, "QK_SEQUENCER_STEPS_CLEAR"}, |
| 448 | {QK_JOYSTICK_BUTTON_0, "QK_JOYSTICK_BUTTON_0"}, | 448 | {QK_JOYSTICK_BUTTON_0, "QK_JOYSTICK_BUTTON_0"}, |
| 449 | {QK_JOYSTICK_BUTTON_1, "QK_JOYSTICK_BUTTON_1"}, | 449 | {QK_JOYSTICK_BUTTON_1, "QK_JOYSTICK_BUTTON_1"}, |
| 450 | {QK_JOYSTICK_BUTTON_2, "QK_JOYSTICK_BUTTON_2"}, | 450 | {QK_JOYSTICK_BUTTON_2, "QK_JOYSTICK_BUTTON_2"}, |
