Revert "Remove the LayerBasedTheme plugin"

This reverts commit 48ceca0dd2ce91d973ee87b0c5590a0db44d1286.
Esse commit está contido em:
Gergely Polonkai 2022-06-29 12:18:24 +02:00
commit 5cf9205790
Nenhuma chave conhecida encontrada para esta assinatura no banco de dados
ID da chave GPG: 2D2885533B869ED4
3 arquivos alterados com 66 adições e 1 exclusões

32
LayerBasedTheme.cpp Arquivo normal
Ver arquivo

@ -0,0 +1,32 @@
#include "LayerBasedTheme.h"
#include "kaleidoscope/layers.h"
#include "kaleidoscope/plugin/LEDControl.h"
namespace kaleidoscope {
namespace plugin {
EventHandlerResult LayerBasedTheme::onLayerChange() {
uint8_t current_layer = Layer.mostRecent();
uint8_t current_mode = ::LEDControl.get_mode_index();
uint8_t new_mode;
if (current_layer <= 3) {
new_mode = 2;
} else {
new_mode = 3;
}
if (new_mode != current_mode) {
::LEDControl.set_mode(new_mode);
}
return EventHandlerResult::OK;
}
LayerBasedTheme::TransientLEDMode::TransientLEDMode(
const LayerBasedTheme *parent)
: parent_(parent){};
} // namespace plugin
} // namespace kaleidoscope
kaleidoscope::plugin::LayerBasedTheme LayerBasedTheme;

30
LayerBasedTheme.h Arquivo normal
Ver arquivo

@ -0,0 +1,30 @@
#pragma once
#include "kaleidoscope/event_handler_result.h"
#include "kaleidoscope/plugin.h"
#include "kaleidoscope/plugin/AccessTransientLEDMode.h"
#include "kaleidoscope/plugin/LEDMode.h"
#include "kaleidoscope/plugin/LEDModeInterface.h"
namespace kaleidoscope {
namespace plugin {
class LayerBasedTheme : public Plugin,
public LEDModeInterface,
public AccessTransientLEDMode {
public:
LayerBasedTheme(void) {}
EventHandlerResult onLayerChange();
class TransientLEDMode : public LEDMode {
public:
explicit TransientLEDMode(const LayerBasedTheme *parent);
private:
const LayerBasedTheme *parent_;
};
};
} // namespace plugin
} // namespace kaleidoscope
extern kaleidoscope::plugin::LayerBasedTheme LayerBasedTheme;

Ver arquivo

@ -48,6 +48,8 @@
#include "Kaleidoscope-Leader.h"
#include "LayerBasedTheme.h"
/** The Model 100's key layouts are defined as 'keymaps'.
*
* Each keymap is defined as a list using the 'KEYMAP_STACKED' macro, built
@ -320,7 +322,8 @@ KALEIDOSCOPE_INIT_PLUGINS(
EscapeOneShot,
EscapeOneShotConfig,
TapDance,
Leader
Leader,
LayerBasedTheme
);
void setup() {