aboutsummaryrefslogtreecommitdiff
path: root/macros.h
diff options
context:
space:
mode:
Diffstat (limited to 'macros.h')
-rw-r--r--macros.h27
1 files changed, 11 insertions, 16 deletions
diff --git a/macros.h b/macros.h
index 81dfc7c..284a9f3 100644
--- a/macros.h
+++ b/macros.h
@@ -20,41 +20,36 @@ static void versionInfoMacro(uint8_t keyState) {
}
}
-static void anyKeyMacro(uint8_t keyState) {
- static Key lastKey;
- bool toggledOn = false;
- if (keyToggledOn(keyState)) {
- lastKey.keyCode = Key_A.keyCode + (uint8_t)(millis() % 36);
- toggledOn = true;
+static void anyKeyMacro(KeyEvent &event) {
+ if (keyToggledOn(event.state)) {
+ event.key.setKeyCode(Key_A.getKeyCode() + (uint8_t)(millis() % 36));
+ event.key.setFlags(0);
}
-
- if (keyIsPressed(keyState))
- kaleidoscope::hid::pressKey(lastKey, toggledOn);
}
-static const macro_t *fvwmMacro(uint8_t keyState) {
- if (keyIsPressed(keyState)) {
+static const macro_t *fvwmMacro(KeyEvent &event) {
+ if (keyToggledOn(event.state)) {
return MACRO(D(LeftAlt),Dr(ShiftToLayer(FVWM)));
}
- else if (keyWasPressed(keyState)) {
+ else if (keyToggledOff(event.state)) {
return MACRO(Ur(ShiftToLayer(FVWM)),U(LeftAlt));
}
return MACRO_NONE;
}
-const macro_t *macroAction(uint8_t macroIndex, uint8_t keyState) {
+const macro_t *macroAction(uint8_t macroIndex, KeyEvent &event) {
switch (macroIndex) {
case MACRO_VERSION_INFO:
- versionInfoMacro(keyState);
+ versionInfoMacro(event.state);
break;
case MACRO_ANY:
- anyKeyMacro(keyState);
+ anyKeyMacro(event);
break;
case MACRO_FVWM:
- return fvwmMacro(keyState);
+ return fvwmMacro(event);
break;
}
return MACRO_NONE;