#ifndef BUILD_INFORMATION
#define BUILD_INFORMATION "locally built"
#endif
#include "Kaleidoscope.h"
#include "Kaleidoscope-MouseKeys.h"
#include "Kaleidoscope-Macros.h"
#include "Kaleidoscope-LEDControl.h"
#include "Kaleidoscope-Numlock.h"
#include "LED-Off.h"
#include "Kaleidoscope-LEDEffect-BootGreeting.h"
#include "Kaleidoscope-LEDEffect-SolidColor.h"
#include "Kaleidoscope-LEDEffect-Breathe.h"
#include "Kaleidoscope-LEDEffect-Chase.h"
#include "Kaleidoscope-LEDEffect-Rainbow.h"
#include "Kaleidoscope-LED-Stalker.h"
#include "Kaleidoscope-LED-AlphaSquare.h"
#include "Kaleidoscope-Model01-TestMode.h"
enum { MACRO_VERSION_INFO,
MACRO_ANY
};
static void versionInfoMacro(uint8_t keyState) {
if (keyToggledOn(keyState)) {
Macros.type(PSTR("Keyboardio Model 01 - Kaleidoscope "));
Macros.type(PSTR(BUILD_INFORMATION));
}
}
static void anyKeyMacro(uint8_t keyState) {
static Key lastKey;
if (keyToggledOn(keyState))
lastKey.keyCode = Key_A.keyCode + (uint8_t)(millis() % 36);
if (keyIsPressed(keyState))
kaleidoscope::hid::pressKey(lastKey);
}
const macro_t *macroAction(uint8_t macroIndex, uint8_t keyState) {
switch (macroIndex) {
case MACRO_VERSION_INFO:
versionInfoMacro(keyState);
break;
case MACRO_ANY:
anyKeyMacro(keyState);
break;
}
return MACRO_NONE;
}
static kaleidoscope::LEDSolidColor solidRed(160, 0, 0);
static kaleidoscope::LEDSolidColor solidOrange(140, 70, 0);
static kaleidoscope::LEDSolidColor solidYellow(130, 100, 0);
static kaleidoscope::LEDSolidColor solidGreen(0, 160, 0);
static kaleidoscope::LEDSolidColor solidBlue(0, 70, 130);
static kaleidoscope::LEDSolidColor solidIndigo(0, 0, 170);
static kaleidoscope::LEDSolidColor solidViolet(130, 0, 120);
void setup() {
Kaleidoscope.setup();
Kaleidoscope.use(
&BootGreetingEffect,
&TestMode,
&LEDControl,
&LEDOff,
&LEDRainbowEffect,
&LEDRainbowWaveEffect,
&LEDChaseEffect,
&solidRed, &solidOrange, &solidYellow, &solidGreen, &solidBlue, &solidIndigo, &solidViolet,
&LEDBreatheEffect,
&AlphaSquareEffect,
&StalkerEffect,
&NumLock,
&Macros,
&MouseKeys,
NULL);
NumLock.numPadLayer = NUMPAD_KEYMAP_ID;
AlphaSquare.color = { 255, 0, 0 };
LEDRainbowEffect.brightness(150);
LEDRainbowWaveEffect.brightness(150);
StalkerEffect.variant = STALKER(BlazingTrail);
LEDOff.activate();
}
void loop() {
Kaleidoscope.loop();
}