|
|
|
@ -20,34 +20,34 @@
|
|
|
|
|
|
|
|
|
|
namespace KaleidoscopePlugins {
|
|
|
|
|
|
|
|
|
|
const ShapeShifter::dictionary_t *ShapeShifter::dictionary = NULL;
|
|
|
|
|
bool ShapeShifter::modActive;
|
|
|
|
|
const ShapeShifter::dictionary_t *ShapeShifter::dictionary = NULL;
|
|
|
|
|
bool ShapeShifter::modActive;
|
|
|
|
|
|
|
|
|
|
ShapeShifter::ShapeShifter (void) {
|
|
|
|
|
}
|
|
|
|
|
ShapeShifter::ShapeShifter (void) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
|
ShapeShifter::begin (void) {
|
|
|
|
|
void
|
|
|
|
|
ShapeShifter::begin (void) {
|
|
|
|
|
event_handler_hook_use (this->eventHandlerHook);
|
|
|
|
|
loop_hook_use (this->loopHook);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
|
ShapeShifter::configure (const dictionary_t dictionary_[]) {
|
|
|
|
|
void
|
|
|
|
|
ShapeShifter::configure (const dictionary_t dictionary_[]) {
|
|
|
|
|
dictionary = (const dictionary_t *)dictionary_;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
|
ShapeShifter::loopHook (bool postClear) {
|
|
|
|
|
void
|
|
|
|
|
ShapeShifter::loopHook (bool postClear) {
|
|
|
|
|
if (postClear)
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
modActive = Keyboard.isModifierActive (Key_LeftShift.keyCode) ||
|
|
|
|
|
Keyboard.isModifierActive (Key_RightShift.keyCode);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Key
|
|
|
|
|
ShapeShifter::eventHandlerHook (Key mappedKey, byte row, byte col, uint8_t keyState) {
|
|
|
|
|
Key
|
|
|
|
|
ShapeShifter::eventHandlerHook (Key mappedKey, byte row, byte col, uint8_t keyState) {
|
|
|
|
|
if (!dictionary)
|
|
|
|
|
return mappedKey;
|
|
|
|
|
|
|
|
|
@ -74,7 +74,7 @@ namespace KaleidoscopePlugins {
|
|
|
|
|
|
|
|
|
|
// If found, handle the alternate key instead
|
|
|
|
|
return repl;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|