Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>pull/58/head
parent
8b3b321c0e
commit
d2ba853594
@ -0,0 +1,21 @@
|
|||||||
|
#include "Macros.h"
|
||||||
|
#include "hooks.h"
|
||||||
|
|
||||||
|
__attribute__((weak))
|
||||||
|
void
|
||||||
|
macroAction(uint8_t macroIndex, uint8_t keyState) {
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool handleMacroEvent(Key mappedKey, byte row, byte col, uint8_t keyState) {
|
||||||
|
if (!(mappedKey.flags & (SYNTHETIC|IS_MACRO)))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
macroAction(mappedKey.rawKey, keyState);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
Macros_::Macros_ (void) {
|
||||||
|
event_handler_hook_add (handleMacroEvent);
|
||||||
|
}
|
||||||
|
|
||||||
|
Macros_ Macros;
|
@ -0,0 +1,27 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <Arduino.h>
|
||||||
|
#include "key_defs.h"
|
||||||
|
|
||||||
|
#define IS_MACRO B00000001
|
||||||
|
|
||||||
|
#define M(n) (Key){ KEY_FLAGS|SYNTHETIC|IS_MACRO, n}
|
||||||
|
#define Key_macroKey1 M(1)
|
||||||
|
#define Key_macroKey2 M(2)
|
||||||
|
#define Key_macroKey3 M(3)
|
||||||
|
#define Key_macroKey4 M(4)
|
||||||
|
#define Key_macroKey5 M(5)
|
||||||
|
#define Key_macroKey6 M(6)
|
||||||
|
#define Key_macroKey7 M(7)
|
||||||
|
#define Key_macroKey8 M(8)
|
||||||
|
#define Key_macroKey9 M(9)
|
||||||
|
#define Key_macroKey10 M(10)
|
||||||
|
|
||||||
|
void macroAction(uint8_t macroIndex, uint8_t keyState);
|
||||||
|
|
||||||
|
class Macros_ {
|
||||||
|
public:
|
||||||
|
Macros_(void);
|
||||||
|
};
|
||||||
|
|
||||||
|
extern Macros_ Macros;
|
Loading…
Reference in new issue