aboutsummaryrefslogtreecommitdiff
path: root/macros.h
diff options
context:
space:
mode:
Diffstat (limited to 'macros.h')
-rw-r--r--macros.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/macros.h b/macros.h
index 06df775..715d2bc 100644
--- a/macros.h
+++ b/macros.h
@@ -2,9 +2,11 @@
#pragma once
#include "kaleidoscope/plugin/Macros.h"
+#include "keymap-layers.h"
enum { MACRO_VERSION_INFO,
- MACRO_ANY
+ MACRO_ANY,
+ MACRO_NUMLOCK,
};
#ifndef BUILD_INFORMATION
@@ -30,6 +32,18 @@ static void anyKeyMacro(uint8_t keyState) {
kaleidoscope::hid::pressKey(lastKey, toggledOn);
}
+static void numLockMacro(uint8_t keyState) {
+ if (keyToggledOn(keyState)) {
+ kaleidoscope::hid::pressKey(Key_KeypadNumLock);
+ if (Layer.isActive(NUMPAD)) {
+ Layer.deactivate(NUMPAD);
+ }
+ else {
+ Layer.activate(NUMPAD);
+ }
+ }
+}
+
const macro_t *macroAction(uint8_t macroIndex, uint8_t keyState) {
switch (macroIndex) {
@@ -40,6 +54,10 @@ const macro_t *macroAction(uint8_t macroIndex, uint8_t keyState) {
case MACRO_ANY:
anyKeyMacro(keyState);
break;
+
+ case MACRO_NUMLOCK:
+ numLockMacro(keyState);
+ break;
}
return MACRO_NONE;
}