summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Challis <git@zvecr.com>2023-02-18 15:44:36 +0000
committerGitHub <noreply@github.com>2023-02-18 15:44:36 +0000
commitf587a0c548d966bd4381236ed726f5ba733b67e2 (patch)
tree9409afc92e9f90b93243684a234472737d36b678
parentc9cee5accabe5e9a52ed89b1f276d0b7798ef937 (diff)
Align sequencer keycodes (#19875)
-rw-r--r--data/constants/keycodes/keycodes_0.0.2_sequencer.hjson69
-rw-r--r--docs/feature_sequencer.md28
-rw-r--r--quantum/keycodes.h29
-rw-r--r--quantum/process_keycode/process_sequencer.c24
-rw-r--r--quantum/quantum_keycodes_legacy.h1
-rw-r--r--tests/test_common/keycode_table.cpp18
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 @@
19bool process_sequencer(uint16_t keycode, keyrecord_t *record) { 19bool 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"},