=== modified file 'mixxx/res/midi/Hercules-DJ-Console-Mk2-scripts.js'
--- mixxx/res/midi/Hercules-DJ-Console-Mk2-scripts.js	2011-01-01 23:49:05 +0000
+++ mixxx/res/midi/Hercules-DJ-Console-Mk2-scripts.js	2012-04-02 02:08:35 +0000
@@ -255,7 +255,7 @@
 	break; // End fx mode
 
     case "cue": 
-	if (value){
+	if (value) { // onPress
 		switch (HerculesMk2.controls.inputs[control].name) {
 		    case "fx 1":
 			HerculesMk2.cueLastDate1[group] = new Date().getTime();
@@ -267,27 +267,35 @@
 			HerculesMk2.cueLastDate3[group] = new Date().getTime();
 			break;
 		}
-	}
-	if (!value){
+	} else { // onRelease
 		currentDate = new Date().getTime();
 		switch (HerculesMk2.controls.inputs[control].name) {
 		    case "fx 1":
-			if (currentDate - HerculesMk2.cueLastDate1[group] < HerculesMk2.cueLongTime)
-				engine.setValue(group,"hotcue_1_activate",1)
-			else
-				engine.setValue(group,"hotcue_1_clear",1)
+			if (currentDate - HerculesMk2.cueLastDate1[group] < HerculesMk2.cueLongTime) {
+				engine.setValue(group,"hotcue_1_activate",1);
+				engine.setValue(group,"hotcue_1_activate",0);
+			} else {
+				engine.setValue(group,"hotcue_1_clear",1);
+				engine.setValue(group,"hotcue_1_clear",0);
+			}
 			break;
 		    case "fx 2":
-			if (currentDate - HerculesMk2.cueLastDate2[group] < HerculesMk2.cueLongTime)
-				engine.setValue(group,"hotcue_2_activate",1)
-			else
-				engine.setValue(group,"hotcue_2_clear",1)
+			if (currentDate - HerculesMk2.cueLastDate2[group] < HerculesMk2.cueLongTime) {
+				engine.setValue(group,"hotcue_2_activate",1);
+				engine.setValue(group,"hotcue_2_activate",0);
+			} else {
+				engine.setValue(group,"hotcue_2_clear",1);
+				engine.setValue(group,"hotcue_2_clear",0);
+			}
 			break;
 		    case "fx 3":
-			if (currentDate - HerculesMk2.cueLastDate3[group] < HerculesMk2.cueLongTime)
-				engine.setValue(group,"hotcue_3_activate",1)
-			else
-				engine.setValue(group,"hotcue_3_clear",1)
+			if (currentDate - HerculesMk2.cueLastDate3[group] < HerculesMk2.cueLongTime) {
+				engine.setValue(group,"hotcue_3_activate",1);
+				engine.setValue(group,"hotcue_3_activate",0);
+			} else {
+				engine.setValue(group,"hotcue_3_clear",1);
+				engine.setValue(group,"hotcue_3_clear",0);
+			}
 			break;
 		}
 

