From ea284c03f01631b14086bced7ec72daf586fcc49 Mon Sep 17 00:00:00 2001
From: Jacob Alexander <triplehaata@gmail.com>
Date: Mon, 13 Feb 2012 14:04:53 -0500
Subject: [PATCH] Fixing the macro section for the Bud Keypad

---
 Macro/buffer/macro.c          | 21 ++++++++++++++++-----
 USB/pjrc/usb_keyboard_debug.c |  4 ++--
 setup.cmake                   |  2 +-
 3 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/Macro/buffer/macro.c b/Macro/buffer/macro.c
index 2d03154..23e5138 100644
--- a/Macro/buffer/macro.c
+++ b/Macro/buffer/macro.c
@@ -215,7 +215,7 @@ int scancodeMacro( uint8_t scanCode )
 	}
 	return 1;
 	*/
-	/* BudKeypad
+	// BudKeypad
 	// Is this a bootloader sequence key?
 	if ( !Bootloader_KeyDetected
 	   && Bootloader_NextPositionReady
@@ -224,12 +224,23 @@ int scancodeMacro( uint8_t scanCode )
 		Bootloader_KeyDetected = 1;
 		Bootloader_NextPositionReady = 0;
 		Bootloader_ConditionState++;
+		erro_dPrint("detect");
 	}
 	else if ( Bootloader_ConditionState > 0 && scanCode == Bootloader_ConditionSequence[Bootloader_ConditionState - 1] )
 	{
-		Bootloader_KeyDetected = 1;
+		Bootloader_KeyDetected = 0;
+		Bootloader_NextPositionReady = 1;
+		erro_dPrint("detect-again!");
 	}
-	*/
+	// Cancel sequence
+	else
+	{
+		Bootloader_KeyDetected = 0;
+		Bootloader_NextPositionReady = 1;
+		Bootloader_ConditionState = 0;
+		erro_dPrint("Arg");
+	}
+
 	return 0;
 }
 
@@ -349,7 +360,7 @@ inline void process_macros(void)
 	keyPressBufferRead( MODIFIER_MASK, sizeof(MODIFIER_MASK), KEYINDEX_MASK );
 
 	// Check for bootloader condition
-	//if ( Bootloader_ConditionState == sizeof( Bootloader_ConditionSequence ) )
-	//	jumpToBootloader();
+	if ( Bootloader_ConditionState == sizeof( Bootloader_ConditionSequence ) )
+		jumpToBootloader();
 }
 
diff --git a/USB/pjrc/usb_keyboard_debug.c b/USB/pjrc/usb_keyboard_debug.c
index 6aec93f..1043e6a 100644
--- a/USB/pjrc/usb_keyboard_debug.c
+++ b/USB/pjrc/usb_keyboard_debug.c
@@ -135,8 +135,8 @@ static const uint8_t PROGMEM keyboard_hid_report_desc[] = {
 };
 
 static const uint8_t PROGMEM debug_hid_report_desc[] = {
-	0x06, 0x30, 0xFF,			// Usage Page 0xFF31 (vendor defined)
-	//0x06, 0x31, 0xFF,			// Usage Page 0xFF31 (vendor defined)
+	//0x06, 0x30, 0xFF,			// Usage Page 0xFF31 (vendor defined)
+	0x06, 0x31, 0xFF,			// Usage Page 0xFF31 (vendor defined)
 	0x09, 0x74,				// Usage 0x74
 	0xA1, 0x53,				// Collection 0x53
 	0x75, 0x08,				// report size = 8 bits
diff --git a/setup.cmake b/setup.cmake
index 39a50bf..c3eb2a2 100644
--- a/setup.cmake
+++ b/setup.cmake
@@ -20,7 +20,7 @@
 #| Please the {Scan,Macro,USB,Debug}/module.txt for information on the modules and how to create new ones
 
 ##| Deals with acquiring the keypress information and turning it into a key index
-set(  ScanModule  "SonyNEWS" )
+set(  ScanModule  "BudKeypad" )
 
 ##| Uses the key index and potentially applies special conditions to it, mapping it to a usb key code
 set( MacroModule  "buffer"  )
-- 
2.39.5