* Update Layer functions to use layer_state_t in ZSA Boards * Update Music Mask for ZSA boards Fixes an issue with the board getting stuck on Adjust layer when activating music mode * Add Support for SMART LED Toggle to Planck EZ * Add support for SMART LED toggle in Ergodox EZ * Ifdef swiss cheeze for Oryx Configurator * Documentation and updates * Add Oryx Keymap * Add option to configure the layers for the Layer Indicator * Update keymap with better examples * Make sure eeprom is initialized before reading from it * Force flush of LED matrix when suspending board This fixes an issue where the LEDs don't fully clear sometimes when the host system goes to sleep * Enable RGB Sleeping by default * Add clarification about planck ez led layer config
		
			
				
	
	
		
			77 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* Copyright 2018 Jack Humbert <jack.humb@gmail.com>
 | 
						|
 *
 | 
						|
 * This program is free software: you can redistribute it and/or modify
 | 
						|
 * it under the terms of the GNU General Public License as published by
 | 
						|
 * the Free Software Foundation, either version 2 of the License, or
 | 
						|
 * (at your option) any later version.
 | 
						|
 *
 | 
						|
 * This program is distributed in the hope that it will be useful,
 | 
						|
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
						|
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
						|
 * GNU General Public License for more details.
 | 
						|
 *
 | 
						|
 * You should have received a copy of the GNU General Public License
 | 
						|
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
						|
 */
 | 
						|
#pragma once
 | 
						|
 | 
						|
#include "planck.h"
 | 
						|
 | 
						|
#define LAYOUT_planck_1x2uC( \
 | 
						|
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
 | 
						|
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
 | 
						|
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
 | 
						|
    k30, k31, k32, k33, k34,    k35,   k37, k38, k39, k3a, k3b \
 | 
						|
) \
 | 
						|
{ \
 | 
						|
    { k00, k01, k02, k03, k04, k05   }, \
 | 
						|
    { k10, k11, k12, k13, k14, k15   }, \
 | 
						|
    { k20, k21, k22, k23, k24, k25   }, \
 | 
						|
    { k30, k31, k32, k3a, k3b, KC_NO }, \
 | 
						|
    { k06, k07, k08, k09, k0a, k0b   }, \
 | 
						|
    { k16, k17, k18, k19, k1a, k1b   }, \
 | 
						|
    { k26, k27, k28, k29, k2a, k2b   }, \
 | 
						|
    { k37, k38, k39, k33, k34, k35   } \
 | 
						|
}
 | 
						|
 | 
						|
#define LAYOUT_ortho_4x12( \
 | 
						|
    k00, k01, k02, k03, k04, k05, k06,   k07, k08, k09, k0a, k0b, \
 | 
						|
    k10, k11, k12, k13, k14, k15, k16,   k17, k18, k19, k1a, k1b, \
 | 
						|
    k20, k21, k22, k23, k24, k25, k26,   k27, k28, k29, k2a, k2b, \
 | 
						|
    k30, k31, k32, k33, k34, k35, KC_NO, k37, k38, k39, k3a, k3b  \
 | 
						|
) \
 | 
						|
LAYOUT_planck_1x2uC( \
 | 
						|
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
 | 
						|
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
 | 
						|
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
 | 
						|
    k30, k31, k32, k33, k34,    k35,   k37, k38, k39, k3a, k3b  \
 | 
						|
)
 | 
						|
 | 
						|
#define KEYMAP LAYOUT_ortho_4x12
 | 
						|
#define LAYOUT_planck_mit LAYOUT_planck_1x2uC
 | 
						|
#define LAYOUT_planck_grid LAYOUT_ortho_4x12
 | 
						|
 | 
						|
void planck_ez_right_led_on(void);
 | 
						|
void planck_ez_right_led_off(void);
 | 
						|
void planck_ez_right_led_level(uint8_t level);
 | 
						|
void planck_ez_left_led_on(void);
 | 
						|
void planck_ez_left_led_off(void);
 | 
						|
void planck_ez_left_led_level(uint8_t level);
 | 
						|
 | 
						|
enum planck_ez_keycodes {
 | 
						|
    LED_LEVEL = SAFE_RANGE,
 | 
						|
    TOGGLE_LAYER_COLOR,
 | 
						|
    EZ_SAFE_RANGE,
 | 
						|
};
 | 
						|
 | 
						|
typedef union {
 | 
						|
  uint32_t raw;
 | 
						|
  struct {
 | 
						|
    uint8_t      led_level :3;
 | 
						|
    bool         disable_layer_led   :1;
 | 
						|
    bool         rgb_matrix_enable   :1;
 | 
						|
  };
 | 
						|
} keyboard_config_t;
 | 
						|
 | 
						|
extern keyboard_config_t keyboard_config;
 |