]> git.donarmstrong.com Git - kiibohd-controller.git/blobdiff - Scan/matrix/scan_loop.h
Adding API changes introduced by the FACOM converter
[kiibohd-controller.git] / Scan / matrix / scan_loop.h
index a451d664ccb38eca572f8d6d16e3dff3ed32eb9b..c0f7aa31da6bb67a73e3515f823d5c23f88840ff 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011 by Jacob Alexander
+/* Copyright (C) 2011-2012 by Jacob Alexander
  * 
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
 
 // ----- Defines -----
 
+#define KEYBOARD_BUFFER 24 // Max number of key signals to buffer
+
 
 
 // ----- Variables -----
 
 // NOTE: Highest Bit: Valid keypress (0x80 is valid keypress)
 //        Other Bits: Pressed state sample counter
-extern              uint8_t KeyIndex_Array [KEYBOARD_SIZE + 1];
-       static const uint8_t KeyIndex_Size = KEYBOARD_SIZE;
+extern                       uint8_t KeyIndex_Array [KEYBOARD_SIZE + 1];
+                static const uint8_t KeyIndex_Size = KEYBOARD_SIZE;
+
+extern volatile              uint8_t KeyIndex_Buffer[KEYBOARD_BUFFER];
+extern volatile              uint8_t KeyIndex_BufferUsed;
+extern volatile     uint8_t KeyIndex_Add_InputSignal;
 
 
 
@@ -53,5 +59,16 @@ extern              uint8_t KeyIndex_Array [KEYBOARD_SIZE + 1];
 void scan_setup( void );
 uint8_t scan_loop( void );
 
+
+// Functions available to macro.c
+uint8_t scan_sendData( uint8_t dataPayload );
+
+void scan_finishedWithBuffer( uint8_t sentKeys );
+void scan_finishedWithUSBBuffer( uint8_t sentKeys );
+void scan_lockKeyboard( void );
+void scan_unlockKeyboard( void );
+void scan_resetKeyboard( void );
+
+
 #endif // __SCAN_LOOP_H