summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 @@
+{
+ "keycodes": {
+ "!reset!":0,
+
+ "0x7200": {
+ "group": "sequencer",
+ "key": "QK_SEQUENCER_ON",
+ "aliases": [
+ "SQ_ON"
+ ]
+ },
+ "0x7201": {
+ "group": "sequencer",
+ "key": "QK_SEQUENCER_OFF",
+ "aliases": [
+ "SQ_OFF"
+ ]
+ },
+ "0x7202": {
+ "group": "sequencer",
+ "key": "QK_SEQUENCER_TOGGLE",
+ "aliases": [
+ "SQ_TOGG"
+ ]
+ },
+ "0x7203": {
+ "group": "sequencer",
+ "key": "QK_SEQUENCER_TEMPO_DOWN",
+ "aliases": [
+ "SQ_TMPD"
+ ]
+ },
+ "0x7204": {
+ "group": "sequencer",
+ "key": "QK_SEQUENCER_TEMPO_UP",
+ "aliases": [
+ "SQ_TMPU"
+ ]
+ },
+ "0x7205": {
+ "group": "sequencer",
+ "key": "QK_SEQUENCER_RESOLUTION_DOWN",
+ "aliases": [
+ "SQ_RESD"
+ ]
+ },
+ "0x7206": {
+ "group": "sequencer",
+ "key": "QK_SEQUENCER_RESOLUTION_UP",
+ "aliases": [
+ "SQ_RESU"
+ ]
+ },
+ "0x7207": {
+ "group": "sequencer",
+ "key": "QK_SEQUENCER_STEPS_ALL",
+ "aliases": [
+ "SQ_SALL"
+ ]
+ },
+ "0x7208": {
+ "group": "sequencer",
+ "key": "QK_SEQUENCER_STEPS_CLEAR",
+ "aliases": [
+ "SQ_SCLR"
+ ]
+ }
+ }
+} \ 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
## Keycodes
-|Keycode |Description |
-|------- |----------- |
-|`SQ_ON` |Start the step sequencer |
-|`SQ_OFF` |Stop the step sequencer |
-|`SQ_TOG` |Toggle the step sequencer playback |
-|`SQ_SALL`|Enable all the steps |
-|`SQ_SCLR`|Disable all the steps |
-|`SQ_S(n)`|Toggle the step `n` |
-|`SQ_TMPD`|Decrease the tempo |
-|`SQ_TMPU`|Increase the tempo |
-|`SQ_R(n)`|Set the resolution to n |
-|`SQ_RESD`|Change to the slower resolution |
-|`SQ_RESU`|Change to the faster resolution |
-|`SQ_T(n)`|Set `n` as the only active track or deactivate all |
+|Key |Aliases |Description |
+|-------------------------------|---------|---------------------------------------------------|
+|`QK_SEQUENCER_ON` |`SQ_ON` |Start the step sequencer |
+|`QK_SEQUENCER_OFF` |`SQ_OFF` |Stop the step sequencer |
+|`QK_SEQUENCER_TOGGLE` |`SQ_TOG` |Toggle the step sequencer playback |
+|`QK_SEQUENCER_STEPS_ALL` |`SQ_SALL`|Enable all the steps |
+|`QK_SEQUENCER_STEPS_CLEAR` |`SQ_SCLR`|Disable all the steps |
+|`QK_SEQUENCER_TEMPO_DOWN` |`SQ_TMPD`|Decrease the tempo |
+|`QK_SEQUENCER_TEMPO_UP` |`SQ_TMPU`|Increase the tempo |
+|`QK_SEQUENCER_RESOLUTION_DOWN` |`SQ_RESD`|Change to the slower resolution |
+|`QK_SEQUENCER_RESOLUTION_UP` |`SQ_RESU`|Change to the faster resolution |
+|`SQ_S(n)` | |Toggle the step `n` |
+|`SQ_R(n)` | |Set the resolution to n |
+|`SQ_T(n)` | |Set `n` as the only active track or deactivate all |
## Functions
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 {
QK_MIDI_MODULATION_SPEED_UP = 0x718D,
QK_MIDI_PITCH_BEND_DOWN = 0x718E,
QK_MIDI_PITCH_BEND_UP = 0x718F,
- SQ_ON = 0x7200,
- SQ_OFF = 0x7201,
- SQ_TOG = 0x7202,
- SQ_TMPD = 0x7203,
- SQ_TMPU = 0x7204,
- SQ_RESD = 0x7205,
- SQ_RESU = 0x7206,
- SQ_SALL = 0x7207,
- SQ_SCLR = 0x7208,
+ QK_SEQUENCER_ON = 0x7200,
+ QK_SEQUENCER_OFF = 0x7201,
+ QK_SEQUENCER_TOGGLE = 0x7202,
+ QK_SEQUENCER_TEMPO_DOWN = 0x7203,
+ QK_SEQUENCER_TEMPO_UP = 0x7204,
+ QK_SEQUENCER_RESOLUTION_DOWN = 0x7205,
+ QK_SEQUENCER_RESOLUTION_UP = 0x7206,
+ QK_SEQUENCER_STEPS_ALL = 0x7207,
+ QK_SEQUENCER_STEPS_CLEAR = 0x7208,
QK_JOYSTICK_BUTTON_0 = 0x7400,
QK_JOYSTICK_BUTTON_1 = 0x7401,
QK_JOYSTICK_BUTTON_2 = 0x7402,
@@ -1085,6 +1085,15 @@ enum qk_keycode_defines {
MI_MODU = QK_MIDI_MODULATION_SPEED_UP,
MI_BNDD = QK_MIDI_PITCH_BEND_DOWN,
MI_BNDU = QK_MIDI_PITCH_BEND_UP,
+ SQ_ON = QK_SEQUENCER_ON,
+ SQ_OFF = QK_SEQUENCER_OFF,
+ SQ_TOGG = QK_SEQUENCER_TOGGLE,
+ SQ_TMPD = QK_SEQUENCER_TEMPO_DOWN,
+ SQ_TMPU = QK_SEQUENCER_TEMPO_UP,
+ SQ_RESD = QK_SEQUENCER_RESOLUTION_DOWN,
+ SQ_RESU = QK_SEQUENCER_RESOLUTION_UP,
+ SQ_SALL = QK_SEQUENCER_STEPS_ALL,
+ SQ_SCLR = QK_SEQUENCER_STEPS_CLEAR,
JS_0 = QK_JOYSTICK_BUTTON_0,
JS_1 = QK_JOYSTICK_BUTTON_1,
JS_2 = QK_JOYSTICK_BUTTON_2,
@@ -1329,7 +1338,7 @@ enum qk_keycode_defines {
#define IS_SWAP_HANDS_KEYCODE(code) ((code) >= QK_SWAP_HANDS_TOGGLE && (code) <= QK_SWAP_HANDS_ONE_SHOT)
#define IS_MAGIC_KEYCODE(code) ((code) >= MAGIC_SWAP_CONTROL_CAPSLOCK && (code) <= MAGIC_TOGGLE_ESCAPE_CAPSLOCK)
#define IS_MIDI_KEYCODE(code) ((code) >= QK_MIDI_ON && (code) <= QK_MIDI_PITCH_BEND_UP)
-#define IS_SEQUENCER_KEYCODE(code) ((code) >= SQ_ON && (code) <= SQ_SCLR)
+#define IS_SEQUENCER_KEYCODE(code) ((code) >= QK_SEQUENCER_ON && (code) <= QK_SEQUENCER_STEPS_CLEAR)
#define IS_JOYSTICK_KEYCODE(code) ((code) >= QK_JOYSTICK_BUTTON_0 && (code) <= QK_JOYSTICK_BUTTON_31)
#define IS_PROGRAMMABLE_BUTTON_KEYCODE(code) ((code) >= QK_PROGRAMMABLE_BUTTON_1 && (code) <= QK_PROGRAMMABLE_BUTTON_32)
#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 @@
bool process_sequencer(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
switch (keycode) {
- case SQ_ON:
+ case QK_SEQUENCER_ON:
sequencer_on();
return false;
- case SQ_OFF:
+ case QK_SEQUENCER_OFF:
sequencer_off();
return false;
- case SQ_TOG:
+ case QK_SEQUENCER_TOGGLE:
sequencer_toggle();
return false;
- case SQ_TMPD:
+ case QK_SEQUENCER_TEMPO_DOWN:
sequencer_decrease_tempo();
return false;
- case SQ_TMPU:
+ case QK_SEQUENCER_TEMPO_UP:
sequencer_increase_tempo();
return false;
- case SEQUENCER_RESOLUTION_MIN ... SEQUENCER_RESOLUTION_MAX:
- sequencer_set_resolution(keycode - SEQUENCER_RESOLUTION_MIN);
- return false;
- case SQ_RESD:
+ case QK_SEQUENCER_RESOLUTION_DOWN:
sequencer_decrease_resolution();
return false;
- case SQ_RESU:
+ case QK_SEQUENCER_RESOLUTION_UP:
sequencer_increase_resolution();
return false;
- case SQ_SALL:
+ case QK_SEQUENCER_STEPS_ALL:
sequencer_set_all_steps_on();
return false;
- case SQ_SCLR:
+ case QK_SEQUENCER_STEPS_CLEAR:
sequencer_set_all_steps_off();
return false;
case SEQUENCER_STEP_MIN ... SEQUENCER_STEP_MAX:
sequencer_toggle_step(keycode - SEQUENCER_STEP_MIN);
return false;
+ case SEQUENCER_RESOLUTION_MIN ... SEQUENCER_RESOLUTION_MAX:
+ sequencer_set_resolution(keycode - SEQUENCER_RESOLUTION_MIN);
+ return false;
case SEQUENCER_TRACK_MIN ... SEQUENCER_TRACK_MAX:
sequencer_toggle_single_active_track(keycode - SEQUENCER_TRACK_MIN);
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 @@
// Deprecated Quantum keycodes
#define SH_TG QK_SWAP_HANDS_TOGGLE
+#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 = {
{QK_MIDI_MODULATION_SPEED_UP, "QK_MIDI_MODULATION_SPEED_UP"},
{QK_MIDI_PITCH_BEND_DOWN, "QK_MIDI_PITCH_BEND_DOWN"},
{QK_MIDI_PITCH_BEND_UP, "QK_MIDI_PITCH_BEND_UP"},
- {SQ_ON, "SQ_ON"},
- {SQ_OFF, "SQ_OFF"},
- {SQ_TOG, "SQ_TOG"},
- {SQ_TMPD, "SQ_TMPD"},
- {SQ_TMPU, "SQ_TMPU"},
- {SQ_RESD, "SQ_RESD"},
- {SQ_RESU, "SQ_RESU"},
- {SQ_SALL, "SQ_SALL"},
- {SQ_SCLR, "SQ_SCLR"},
+ {QK_SEQUENCER_ON, "QK_SEQUENCER_ON"},
+ {QK_SEQUENCER_OFF, "QK_SEQUENCER_OFF"},
+ {QK_SEQUENCER_TOGGLE, "QK_SEQUENCER_TOGGLE"},
+ {QK_SEQUENCER_TEMPO_DOWN, "QK_SEQUENCER_TEMPO_DOWN"},
+ {QK_SEQUENCER_TEMPO_UP, "QK_SEQUENCER_TEMPO_UP"},
+ {QK_SEQUENCER_RESOLUTION_DOWN, "QK_SEQUENCER_RESOLUTION_DOWN"},
+ {QK_SEQUENCER_RESOLUTION_UP, "QK_SEQUENCER_RESOLUTION_UP"},
+ {QK_SEQUENCER_STEPS_ALL, "QK_SEQUENCER_STEPS_ALL"},
+ {QK_SEQUENCER_STEPS_CLEAR, "QK_SEQUENCER_STEPS_CLEAR"},
{QK_JOYSTICK_BUTTON_0, "QK_JOYSTICK_BUTTON_0"},
{QK_JOYSTICK_BUTTON_1, "QK_JOYSTICK_BUTTON_1"},
{QK_JOYSTICK_BUTTON_2, "QK_JOYSTICK_BUTTON_2"},