diff --git a/res/controllers/Korg-KAOSS-DJ-scripts.js b/res/controllers/Korg-KAOSS-DJ-scripts.js
index eca844553fa..0430127cfd5 100644
--- a/res/controllers/Korg-KAOSS-DJ-scripts.js
+++ b/res/controllers/Korg-KAOSS-DJ-scripts.js
@@ -181,11 +181,34 @@ KAOSSDJ.scratchMode = function(channel, _control, value, _status, _group) {
};
KAOSSDJ.fxToggleButton = function(channel, _control, value, _status, _group) {
- KAOSSDJ.updateDeckByChannel(channel, "fx", value === MIDI_ON);
+ KAOSSDJ.updateDeckByChannel(channel, "isFx", value === MIDI_ON);
};
-KAOSSDJ.fxKnob = function(_channel, _control, _value, _status) {
- // TODO
+KAOSSDJ.fxKnob = function(_channel, _control, value, _status, _group) {
+ if (KAOSSDJ.shiftLeftPressed) {
+ // If Left Shift is pressed, cycle the effects chains on EffectUnit1
+ if (value === MIDI_UP) {
+ engine.setValue("[EffectRack1_EffectUnit1]", "next_chain", 1);
+ } else if (value === MIDI_DOWN) {
+ engine.setValue("[EffectRack1_EffectUnit1]", "prev_chain", 1);
+ }
+ } else if (KAOSSDJ.shiftRightPressed) {
+ // If Right Shift is not pressed, cycle the effects chains on EffectUnit2
+ if (value === MIDI_UP) {
+ engine.setValue("[EffectRack1_EffectUnit2]", "next_chain", 1);
+ } else if (value === MIDI_DOWN) {
+ engine.setValue("[EffectRack1_EffectUnit2]", "prev_chain", 1);
+ }
+ } else {
+ // If no shift is pressed, cycle through both QuickEffectRack filters
+ if (value === MIDI_UP) {
+ engine.setValue("[QuickEffectRack1_[Channel1]]", "next_chain", 1);
+ engine.setValue("[QuickEffectRack1_[Channel2]]", "next_chain", 1);
+ } else if (value === MIDI_DOWN) {
+ engine.setValue("[QuickEffectRack1_[Channel1]]", "prev_chain", 1);
+ engine.setValue("[QuickEffectRack1_[Channel2]]", "prev_chain", 1);
+ }
+ }
};
KAOSSDJ.fxTouchMoveVertical = function(_channel, _control, value, _status, _group) {
diff --git a/res/controllers/Korg-KAOSS-DJ.midi.xml b/res/controllers/Korg-KAOSS-DJ.midi.xml
index eaab8360f8b..2d7d9133ad2 100644
--- a/res/controllers/Korg-KAOSS-DJ.midi.xml
+++ b/res/controllers/Korg-KAOSS-DJ.midi.xml
@@ -625,7 +625,7 @@
0xB6
0x1F
-
+