Revert "Remove the LayerBasedTheme plugin"
This reverts commit 48ceca0dd2
.
This commit is contained in:
parent
c754ad4082
commit
5cf9205790
32
LayerBasedTheme.cpp
Normal file
32
LayerBasedTheme.cpp
Normal file
@ -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
Normal file
30
LayerBasedTheme.h
Normal file
@ -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;
|
@ -48,6 +48,8 @@
|
|||||||
|
|
||||||
#include "Kaleidoscope-Leader.h"
|
#include "Kaleidoscope-Leader.h"
|
||||||
|
|
||||||
|
#include "LayerBasedTheme.h"
|
||||||
|
|
||||||
/** The Model 100's key layouts are defined as 'keymaps'.
|
/** The Model 100's key layouts are defined as 'keymaps'.
|
||||||
*
|
*
|
||||||
* Each keymap is defined as a list using the 'KEYMAP_STACKED' macro, built
|
* Each keymap is defined as a list using the 'KEYMAP_STACKED' macro, built
|
||||||
@ -320,7 +322,8 @@ KALEIDOSCOPE_INIT_PLUGINS(
|
|||||||
EscapeOneShot,
|
EscapeOneShot,
|
||||||
EscapeOneShotConfig,
|
EscapeOneShotConfig,
|
||||||
TapDance,
|
TapDance,
|
||||||
Leader
|
Leader,
|
||||||
|
LayerBasedTheme
|
||||||
);
|
);
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
|
Loading…
Reference in New Issue
Block a user