Revert "Remove the LayerBasedTheme plugin"
This reverts commit 48ceca0dd2.
			
			
This commit is contained in:
		
							
								
								
									
										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 "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() {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user