mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-11-04 07:12:33 +01:00 
			
		
		
		
	Updating Vision to beta layout.
This commit is contained in:
		
							parent
							
								
									24a953ae64
								
							
						
					
					
						commit
						3d45860dc2
					
				@ -26,10 +26,9 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||||||
/* COL2ROW or ROW2COL */
 | 
					/* COL2ROW or ROW2COL */
 | 
				
			||||||
#define DIODE_DIRECTION ROW2COL
 | 
					#define DIODE_DIRECTION ROW2COL
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// #define BACKLIGHT_PIN B7
 | 
					#define BACKLIGHT_PIN B7
 | 
				
			||||||
// #define BACKLIGHT_BREATHING
 | 
					#define BACKLIGHT_BREATHING
 | 
				
			||||||
// #define BACKLIGHT_LEVELS 3
 | 
					#define BACKLIGHT_LEVELS 3
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
 | 
					/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
 | 
				
			||||||
#define DEBOUNCING_DELAY 5
 | 
					#define DEBOUNCING_DELAY 5
 | 
				
			||||||
@ -124,10 +123,18 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* disable debug print */
 | 
					/* disable debug print */
 | 
				
			||||||
 | 
					// #ifndef NO_DEBUG
 | 
				
			||||||
// #  define NO_DEBUG
 | 
					// #  define NO_DEBUG
 | 
				
			||||||
 | 
					// #endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* disable print */
 | 
					/* disable print */
 | 
				
			||||||
 | 
					// #ifndef NO_PRINT
 | 
				
			||||||
// #  define NO_PRINT
 | 
					// #  define NO_PRINT
 | 
				
			||||||
 | 
					// #endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Only print user print statements */
 | 
				
			||||||
 | 
					// #define USER_PRINT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* disable action features */
 | 
					/* disable action features */
 | 
				
			||||||
//#define NO_ACTION_LAYER
 | 
					//#define NO_ACTION_LAYER
 | 
				
			||||||
 | 
				
			|||||||
@ -8,7 +8,7 @@ EXTRAKEY_ENABLE = yes       # Audio control and System control(+450)
 | 
				
			|||||||
CONSOLE_ENABLE     = yes  # Console for debug(+400)
 | 
					CONSOLE_ENABLE     = yes  # Console for debug(+400)
 | 
				
			||||||
COMMAND_ENABLE     = yes  # Commands for debug and configuration
 | 
					COMMAND_ENABLE     = yes  # Commands for debug and configuration
 | 
				
			||||||
NKRO_ENABLE        = yes  # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
 | 
					NKRO_ENABLE        = yes  # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
 | 
				
			||||||
BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 | 
					BACKLIGHT_ENABLE   = yes  # Enable keyboard backlight functionality
 | 
				
			||||||
MIDI_ENABLE        = no   # MIDI controls
 | 
					MIDI_ENABLE        = no   # MIDI controls
 | 
				
			||||||
AUDIO_ENABLE       = yes  # Audio output on port C6
 | 
					AUDIO_ENABLE       = yes  # Audio output on port C6
 | 
				
			||||||
UNICODE_ENABLE     = no   # Unicode
 | 
					UNICODE_ENABLE     = no   # Unicode
 | 
				
			||||||
 | 
				
			|||||||
@ -4,25 +4,44 @@
 | 
				
			|||||||
#include "../../config.h"
 | 
					#include "../../config.h"
 | 
				
			||||||
#include "matrix_types.h"
 | 
					#include "matrix_types.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
/* USB Device descriptor parameter */
 | 
					/* USB Device descriptor parameter */
 | 
				
			||||||
#define VENDOR_ID       0xFEED
 | 
					#define VENDOR_ID       0xFEED
 | 
				
			||||||
#define PRODUCT_ID      GET_PID(NUMERIC_NORMAL, HOMING_MAX_TEENSY)
 | 
					 | 
				
			||||||
#define DEVICE_VER      0x0001
 | 
					#define DEVICE_VER      0x0001
 | 
				
			||||||
#define MANUFACTURER    IBNobody
 | 
					#define MANUFACTURER    IBNobody
 | 
				
			||||||
#define PRODUCT         Vision Division
 | 
					#define PRODUCT         Vision Division
 | 
				
			||||||
#define DESCRIPTION     Full / Split Keyboard
 | 
					#define DESCRIPTION     Full / Split Keyboard
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
#define MATRIX_ROWS     6
 | 
					#define MATRIX_ROWS     6
 | 
				
			||||||
#define MATRIX_ROW_PINS { C2, C3, F4, F5, F6, F7 }
 | 
					#define MATRIX_ROW_PINS { C2, C3, F4, F5, F6, F7 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define MATRIX_COLS GET_MATRIX_COLS(NUMERIC_NORMAL, HOMING_MAX_TEENSY)
 | 
					// !!! MAKE SURE THAT THE LEFT/RIGHT PCB DEFINES MATCH ON ALL OF THESE COLUMNS
 | 
				
			||||||
#define MATRIX_COL_PINS GET_MATRIX_COL_PINS(NUMERIC_NORMAL, HOMING_MAX_TEENSY)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define UNUSED_PINS
 | 
					//                                               **LEFT**                 **RIGHT**
 | 
				
			||||||
 | 
					#define PRODUCT_ID      GET_PID(                 NUMERIC_NORMAL,          NUMERIC_MAX_TEENSY)
 | 
				
			||||||
 | 
					#define MATRIX_COLS     GET_MATRIX_COLS(         NUMERIC_NORMAL,          NUMERIC_MAX_TEENSY)
 | 
				
			||||||
 | 
					#define MATRIX_COL_PINS GET_MATRIX_COL_PINS(     NUMERIC_NORMAL,          NUMERIC_MAX_TEENSY)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*#define KEYMAP( \
 | 
					#define KEYMAP(MATRIX_LAYER, \
 | 
				
			||||||
 | 
					      k101, k102, k103, k104,       k105, k106, k107, k108, k109, k10A,               k111, k112, k113, k114, k115, k116, k117, k118,       k119, k11A, k11B, k11C, \
 | 
				
			||||||
 | 
					      k201, k202, k203, k204,       k205, k206, k207, k208, k209, k20A,               k211, k212, k213, k214, k215, k216, k217, k218,       k219, k21A, k21B, k21C, \
 | 
				
			||||||
 | 
					      k301, k302, k303, k304,       k305, k306, k307, k308, k309, k30A,               k311, k312, k313, k314, k315, k316, k317, k318,       k319, k31A, k31B, k31C, \
 | 
				
			||||||
 | 
					      k401, k402, k403, k404,       k405, k406, k407, k408, k409, k40A,               k411, k412, k413, k414, k415, k416, k417, k418,       k419, k41A, k41B, k41C, \
 | 
				
			||||||
 | 
					      k501, k502, k503, k504,       k505, k506, k507, k508, k509, k50A,               k511, k512, k513, k514, k515, k516, k517, k518,       k519, k51A, k51B, k51C, \
 | 
				
			||||||
 | 
					      k601, k602, k603, k604,       k605, k606, k607, k608, k609, k60A,               k611, k612, k613, k614, k615, k616, k617, k618,       k619, k61A, k61B, k61C  \
 | 
				
			||||||
 | 
					) \
 | 
				
			||||||
 | 
					KEYMAP_MASTER(MATRIX_LAYER,                      NUMERIC_NORMAL,          NUMERIC_MAX_TEENSY, \
 | 
				
			||||||
 | 
					      k101, k102, k103, k104,       k105, k106, k107, k108, k109, k10A, KC_NO, KC_NO, k111, k112, k113, k114, k115, k116, k117, k118,       k119, k11A, k11B, k11C, \
 | 
				
			||||||
 | 
					      k201, k202, k203, k204,       k205, k206, k207, k208, k209, k20A, KC_NO, KC_NO, k211, k212, k213, k214, k215, k216, k217, k218,       k219, k21A, k21B, k21C, \
 | 
				
			||||||
 | 
					      k301, k302, k303, k304,       k305, k306, k307, k308, k309, k30A, KC_NO, KC_NO, k311, k312, k313, k314, k315, k316, k317, k318,       k319, k31A, k31B, k31C, \
 | 
				
			||||||
 | 
					      k401, k402, k403, k404,       k405, k406, k407, k408, k409, k40A, KC_NO, KC_NO, k411, k412, k413, k414, k415, k416, k417, k418,       k419, k41A, k41B, k41C, \
 | 
				
			||||||
 | 
					      k501, k502, k503, k504,       k505, k506, k507, k508, k509, k50A, KC_NO, KC_NO, k511, k512, k513, k514, k515, k516, k517, k518,       k519, k51A, k51B, k51C, \
 | 
				
			||||||
 | 
					      k601, k602, k603, k604,       k605, k606, k607, k608, k609, k60A, KC_NO, KC_NO, k611, k612, k613, k614, k615, k616, k617, k618,       k619, k61A, k61B, k61C  \
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Example Keymap Macros
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					#define KEYMAP(MATRIX_LAYER, \
 | 
				
			||||||
      k101, k102, k103, k104,       k105, k106, k107, k108, k109, k10A, k10B, k10C, k111, k112, k113, k114, k115, k116, k117, k118,       k119, k11A, k11B, k11C, \
 | 
					      k101, k102, k103, k104,       k105, k106, k107, k108, k109, k10A, k10B, k10C, k111, k112, k113, k114, k115, k116, k117, k118,       k119, k11A, k11B, k11C, \
 | 
				
			||||||
      k201, k202, k203, k204,       k205, k206, k207, k208, k209, k20A, k20B, k20C, k211, k212, k213, k214, k215, k216, k217, k218,       k219, k21A, k21B, k21C, \
 | 
					      k201, k202, k203, k204,       k205, k206, k207, k208, k209, k20A, k20B, k20C, k211, k212, k213, k214, k215, k216, k217, k218,       k219, k21A, k21B, k21C, \
 | 
				
			||||||
      k301, k302, k303, k304,       k305, k306, k307, k308, k309, k30A, k30B, k30C, k311, k312, k313, k314, k315, k316, k317, k318,       k319, k31A, k31B, k31C, \
 | 
					      k301, k302, k303, k304,       k305, k306, k307, k308, k309, k30A, k30B, k30C, k311, k312, k313, k314, k315, k316, k317, k318,       k319, k31A, k31B, k31C, \
 | 
				
			||||||
@ -30,16 +49,18 @@
 | 
				
			|||||||
      k501, k502, k503, k504,       k505, k506, k507, k508, k509, k50A, k50B, k50C, k511, k512, k513, k514, k515, k516, k517, k518,       k519, k51A, k51B, k51C, \
 | 
					      k501, k502, k503, k504,       k505, k506, k507, k508, k509, k50A, k50B, k50C, k511, k512, k513, k514, k515, k516, k517, k518,       k519, k51A, k51B, k51C, \
 | 
				
			||||||
      k601, k602, k603, k604,       k605, k606, k607, k608, k609, k60A, k60B, k60C, k611, k612, k613, k614, k615, k616, k617, k618,       k619, k61A, k61B, k61C  \
 | 
					      k601, k602, k603, k604,       k605, k606, k607, k608, k609, k60A, k60B, k60C, k611, k612, k613, k614, k615, k616, k617, k618,       k619, k61A, k61B, k61C  \
 | 
				
			||||||
) \
 | 
					) \
 | 
				
			||||||
KEYMAP_MASTER(NUMERIC_MAX_TEENSY, NUMERIC_MAX, \
 | 
					KEYMAP_MASTER(MATRIX_LAYER,                      NUMERIC_MAX_TEENSY,      NUMERIC_MAX, \
 | 
				
			||||||
      k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k10B, k10C, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, k11C, \
 | 
					      k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k10B, k10C, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, k11C, \
 | 
				
			||||||
      k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k20B, k20C, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, k21C, \
 | 
					      k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k20B, k20C, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, k21C, \
 | 
				
			||||||
      k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k30B, k30C, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, k31C, \
 | 
					      k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k30B, k30C, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, k31C, \
 | 
				
			||||||
      k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, k40B, k40C, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, k41C, \
 | 
					      k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, k40B, k40C, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, k41C, \
 | 
				
			||||||
      k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k50B, k50C, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, k51C, \
 | 
					      k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k50B, k50C, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, k51C, \
 | 
				
			||||||
      k601, k602, k603, k604, k605, k606, k607, k608, k609, k60A, k60B, k60C, k611, k612, k613, k614, k615, k616, k617, k618, k619, k61A, k61B, k61C  \
 | 
					      k601, k602, k603, k604, k605, k606, k607, k608, k609, k60A, k60B, k60C, k611, k612, k613, k614, k615, k616, k617, k618, k619, k61A, k61B, k61C  \
 | 
				
			||||||
)*/
 | 
					)
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define KEYMAP( \
 | 
					/*
 | 
				
			||||||
 | 
					#define KEYMAP(MATRIX_LAYER, \
 | 
				
			||||||
      k101, k102, k103, k104,       k105, k106, k107, k108, k109, k10A, k111, k112, k113, k114, k115, k116, k117, k118,       k119, k11A, k11B, \
 | 
					      k101, k102, k103, k104,       k105, k106, k107, k108, k109, k10A, k111, k112, k113, k114, k115, k116, k117, k118,       k119, k11A, k11B, \
 | 
				
			||||||
      k201, k202, k203, k204,       k205, k206, k207, k208, k209, k20A, k211, k212, k213, k214, k215, k216, k217, k218,       k219, k21A, k21B, \
 | 
					      k201, k202, k203, k204,       k205, k206, k207, k208, k209, k20A, k211, k212, k213, k214, k215, k216, k217, k218,       k219, k21A, k21B, \
 | 
				
			||||||
      k301, k302, k303, k304,       k305, k306, k307, k308, k309, k30A, k311, k312, k313, k314, k315, k316, k317, k318,       k319, k31A, k31B, \
 | 
					      k301, k302, k303, k304,       k305, k306, k307, k308, k309, k30A, k311, k312, k313, k314, k315, k316, k317, k318,       k319, k31A, k31B, \
 | 
				
			||||||
@ -47,7 +68,7 @@ KEYMAP_MASTER(NUMERIC_MAX_TEENSY, NUMERIC_MAX, \
 | 
				
			|||||||
      k501, k502, k503, k504,       k505, k506, k507, k508, k509, k50A, k511, k512, k513, k514, k515, k516, k517, k518,       k519, k51A, k51B, \
 | 
					      k501, k502, k503, k504,       k505, k506, k507, k508, k509, k50A, k511, k512, k513, k514, k515, k516, k517, k518,       k519, k51A, k51B, \
 | 
				
			||||||
      k601, k602, k603, k604,       k605, k606, k607, k608, k609, k60A, k611, k612, k613, k614, k615, k616, k617, k618,       k619, k61A, k61B  \
 | 
					      k601, k602, k603, k604,       k605, k606, k607, k608, k609, k60A, k611, k612, k613, k614, k615, k616, k617, k618,       k619, k61A, k61B  \
 | 
				
			||||||
) \
 | 
					) \
 | 
				
			||||||
KEYMAP_MASTER(NUMERIC_NORMAL, HOMING_MAX_TEENSY, \
 | 
					KEYMAP_MASTER(MATRIX_LAYER,                      NUMERIC_NORMAL,          HOMING_MAX_TEENSY, \
 | 
				
			||||||
      k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, KC_NO, KC_NO, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, KC_NO, \
 | 
					      k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, KC_NO, KC_NO, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, KC_NO, \
 | 
				
			||||||
      k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, KC_NO, KC_NO, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, KC_NO, \
 | 
					      k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, KC_NO, KC_NO, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, KC_NO, \
 | 
				
			||||||
      k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, KC_NO, KC_NO, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, KC_NO, \
 | 
					      k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, KC_NO, KC_NO, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, KC_NO, \
 | 
				
			||||||
@ -55,5 +76,6 @@ KEYMAP_MASTER(NUMERIC_NORMAL, HOMING_MAX_TEENSY, \
 | 
				
			|||||||
      k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, KC_NO, KC_NO, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, KC_NO, \
 | 
					      k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, KC_NO, KC_NO, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, KC_NO, \
 | 
				
			||||||
      k601, k602, k603, k604, k605, k606, k607, k608, k609, k60A, KC_NO, KC_NO, k611, k612, k613, k614, k615, k616, k617, k618, k619, k61A, k61B, KC_NO  \
 | 
					      k601, k602, k603, k604, k605, k606, k607, k608, k609, k60A, KC_NO, KC_NO, k611, k612, k613, k614, k615, k616, k617, k618, k619, k61A, k61B, KC_NO  \
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
@ -8,46 +8,70 @@
 | 
				
			|||||||
    #include "song_list.h"
 | 
					    #include "song_list.h"
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define LAYER_QWERTY                     0
 | 
					enum keyboard_layers {
 | 
				
			||||||
#define LAYER_COLEMAK                    1
 | 
					  LAYER_QWERTY = 0,
 | 
				
			||||||
#define LAYER_DVORAK                     2
 | 
					  LAYER_UPPER,
 | 
				
			||||||
#define LAYER_UPPER                      3
 | 
					  LAYER_LOWER,
 | 
				
			||||||
#define LAYER_LOWER                      4
 | 
					  LAYER_FUNCTION,
 | 
				
			||||||
#define LAYER_FUNCTION                   5
 | 
					  LAYER_MOUSE,
 | 
				
			||||||
#define LAYER_MOUSE                      6
 | 
					  LAYER_ADJUST,
 | 
				
			||||||
#define LAYER_ADJUST                     7
 | 
					};
 | 
				
			||||||
 | 
					enum keyboard_macros {
 | 
				
			||||||
#define MACRO_QWERTY                     0
 | 
					  MACRO_QWERTY = 0,
 | 
				
			||||||
#define MACRO_COLEMAK                    1
 | 
					  MACRO_UPPER,
 | 
				
			||||||
#define MACRO_DVORAK                     2
 | 
					  MACRO_LOWER,
 | 
				
			||||||
#define MACRO_UPPER                      3
 | 
					  MACRO_FUNCTION,
 | 
				
			||||||
#define MACRO_LOWER                      4
 | 
					  MACRO_MOUSE,
 | 
				
			||||||
#define MACRO_FUNCTION                   5
 | 
					  MACRO_TIMBRE_1,
 | 
				
			||||||
#define MACRO_MOUSE                      6
 | 
					  MACRO_TIMBRE_2,
 | 
				
			||||||
#define MACRO_TIMBRE_1                   7
 | 
					  MACRO_TIMBRE_3,
 | 
				
			||||||
#define MACRO_TIMBRE_2                   8
 | 
					  MACRO_TIMBRE_4,
 | 
				
			||||||
#define MACRO_TIMBRE_3                   9
 | 
					  MACRO_TEMPO_U,
 | 
				
			||||||
#define MACRO_TIMBRE_4                  10
 | 
					  MACRO_TEMPO_D,
 | 
				
			||||||
#define MACRO_TEMPO_U                   11
 | 
					  MACRO_TONE_DEFAULT,
 | 
				
			||||||
#define MACRO_TEMPO_D                   12
 | 
					  MACRO_MUSIC_TOGGLE,
 | 
				
			||||||
#define MACRO_TONE_DEFAULT              13
 | 
					  MACRO_AUDIO_TOGGLE,
 | 
				
			||||||
#define MACRO_MUSIC_TOGGLE              14
 | 
					  MACRO_INC_VOICE,
 | 
				
			||||||
#define MACRO_AUDIO_TOGGLE              16
 | 
					  MACRO_DEC_VOICE,
 | 
				
			||||||
#define MACRO_INC_VOICE                 18
 | 
					  MACRO_BACKLIGHT,
 | 
				
			||||||
#define MACRO_DEC_VOICE                 19
 | 
					  MACRO_BREATH_TOGGLE,
 | 
				
			||||||
#define MACRO_BACKLIGHT                 20
 | 
					  MACRO_BREATH_SPEED_INC,
 | 
				
			||||||
#define MACRO_BREATH_TOGGLE             21
 | 
					  MACRO_BREATH_SPEED_DEC,
 | 
				
			||||||
#define MACRO_BREATH_SPEED_INC          23
 | 
					  MACRO_BREATH_DEFAULT,
 | 
				
			||||||
#define MACRO_BREATH_SPEED_DEC          24
 | 
					  MACRO_MOUSE_MOVE_UL,
 | 
				
			||||||
#define MACRO_BREATH_DEFAULT            25
 | 
					  MACRO_MOUSE_MOVE_UR,
 | 
				
			||||||
 | 
					  MACRO_MOUSE_MOVE_DL,
 | 
				
			||||||
 | 
					  MACRO_MOUSE_MOVE_DR,
 | 
				
			||||||
 | 
					  MACRO_HELP,
 | 
				
			||||||
 | 
					  MACRO_HELP_1,
 | 
				
			||||||
 | 
					  MACRO_HELP_2,
 | 
				
			||||||
 | 
					  MACRO_HELP_3,
 | 
				
			||||||
 | 
					  MACRO_HELP_4,
 | 
				
			||||||
 | 
					  MACRO_HELP_5,
 | 
				
			||||||
 | 
					  MACRO_HELP_6,
 | 
				
			||||||
 | 
					  MACRO_HELP_7,
 | 
				
			||||||
 | 
					  MACRO_HELP_8,
 | 
				
			||||||
 | 
					  MACRO_HELP_9,
 | 
				
			||||||
 | 
					  MACRO_HELP_0,
 | 
				
			||||||
 | 
					  MACRO_GENERAL_1,
 | 
				
			||||||
 | 
					  MACRO_GENERAL_2,
 | 
				
			||||||
 | 
					  MACRO_GENERAL_3,
 | 
				
			||||||
 | 
					  MACRO_GENERAL_4,
 | 
				
			||||||
 | 
					  MACRO_GENERAL_5,
 | 
				
			||||||
 | 
					  MACRO_CURSOR_UL,
 | 
				
			||||||
 | 
					  MACRO_CURSOR_UR,
 | 
				
			||||||
 | 
					  MACRO_CURSOR_DL,
 | 
				
			||||||
 | 
					  MACRO_CURSOR_DR,
 | 
				
			||||||
 | 
					  MACRO_MUTE_APP,
 | 
				
			||||||
 | 
					  MACRO_COPY_CUT,
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define M_QWRTY             M(MACRO_QWERTY)
 | 
					#define M_QWRTY             M(MACRO_QWERTY)
 | 
				
			||||||
#define M_COLMK             M(MACRO_COLEMAK)
 | 
					 | 
				
			||||||
#define M_DVORK             M(MACRO_DVORAK)
 | 
					 | 
				
			||||||
#define M_UPPER             M(MACRO_UPPER)
 | 
					#define M_UPPER             M(MACRO_UPPER)
 | 
				
			||||||
#define M_LOWER             M(MACRO_LOWER)
 | 
					#define M_LOWER             M(MACRO_LOWER)
 | 
				
			||||||
#define M_FUNCT             M(MACRO_FUNCTION)
 | 
					#define M_FUNCT             M(MACRO_FUNCTION)
 | 
				
			||||||
#define M_MOUSE             M(MACRO_MOUSE)
 | 
					#define M_MOUSE             M(MACRO_MOUSE)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define TIMBR_1             M(MACRO_TIMBRE_1)
 | 
					#define TIMBR_1             M(MACRO_TIMBRE_1)
 | 
				
			||||||
#define TIMBR_2             M(MACRO_TIMBRE_2)
 | 
					#define TIMBR_2             M(MACRO_TIMBRE_2)
 | 
				
			||||||
#define TIMBR_3             M(MACRO_TIMBRE_3)
 | 
					#define TIMBR_3             M(MACRO_TIMBRE_3)
 | 
				
			||||||
@ -55,15 +79,47 @@
 | 
				
			|||||||
#define TMPO_UP             M(MACRO_TEMPO_U)
 | 
					#define TMPO_UP             M(MACRO_TEMPO_U)
 | 
				
			||||||
#define TMPO_DN             M(MACRO_TEMPO_D)
 | 
					#define TMPO_DN             M(MACRO_TEMPO_D)
 | 
				
			||||||
#define TMPO_DF             M(MACRO_TONE_DEFAULT)
 | 
					#define TMPO_DF             M(MACRO_TONE_DEFAULT)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define VC_UP               M(MACRO_INC_VOICE)
 | 
				
			||||||
 | 
					#define VC_DOWN             M(MACRO_DEC_VOICE)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define M_BACKL             M(MACRO_BACKLIGHT)
 | 
					#define M_BACKL             M(MACRO_BACKLIGHT)
 | 
				
			||||||
#define M_BRTOG             M(MACRO_BREATH_TOGGLE)
 | 
					#define M_BRTOG             M(MACRO_BREATH_TOGGLE)
 | 
				
			||||||
#define M_BSPDU             M(MACRO_BREATH_SPEED_INC)
 | 
					#define M_BSPDU             M(MACRO_BREATH_SPEED_INC)
 | 
				
			||||||
#define M_BSPDD             M(MACRO_BREATH_SPEED_DEC)
 | 
					#define M_BSPDD             M(MACRO_BREATH_SPEED_DEC)
 | 
				
			||||||
#define M_BDFLT             M(MACRO_BREATH_DEFAULT)
 | 
					#define M_BDFLT             M(MACRO_BREATH_DEFAULT)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define M_MS_UL             M(MACRO_MOUSE_MOVE_UL)
 | 
				
			||||||
 | 
					#define M_MS_UR             M(MACRO_MOUSE_MOVE_UR)
 | 
				
			||||||
 | 
					#define M_MS_DL             M(MACRO_MOUSE_MOVE_DL)
 | 
				
			||||||
 | 
					#define M_MS_DR             M(MACRO_MOUSE_MOVE_DR)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define VC_UP               M(MACRO_INC_VOICE)
 | 
					#define M_HELP              M(MACRO_HELP)
 | 
				
			||||||
#define VC_DOWN             M(MACRO_DEC_VOICE)
 | 
					#define M_HELP1             M(MACRO_HELP_1)
 | 
				
			||||||
 | 
					#define M_HELP2             M(MACRO_HELP_2)
 | 
				
			||||||
 | 
					#define M_HELP3             M(MACRO_HELP_3)
 | 
				
			||||||
 | 
					#define M_HELP4             M(MACRO_HELP_4)
 | 
				
			||||||
 | 
					#define M_HELP5             M(MACRO_HELP_5)
 | 
				
			||||||
 | 
					#define M_HELP6             M(MACRO_HELP_6)
 | 
				
			||||||
 | 
					#define M_HELP7             M(MACRO_HELP_7)
 | 
				
			||||||
 | 
					#define M_HELP8             M(MACRO_HELP_8)
 | 
				
			||||||
 | 
					#define M_HELP9             M(MACRO_HELP_9)
 | 
				
			||||||
 | 
					#define M_HELP0             M(MACRO_HELP_0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define M_M1                M(MACRO_GENERAL_1)
 | 
				
			||||||
 | 
					#define M_M2                M(MACRO_GENERAL_2)
 | 
				
			||||||
 | 
					#define M_M3                M(MACRO_GENERAL_3)
 | 
				
			||||||
 | 
					#define M_M4                M(MACRO_GENERAL_4)
 | 
				
			||||||
 | 
					#define M_M5                M(MACRO_GENERAL_5)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define M_UL                M(MACRO_CURSOR_UL)
 | 
				
			||||||
 | 
					#define M_UR                M(MACRO_CURSOR_UR)
 | 
				
			||||||
 | 
					#define M_DL                M(MACRO_CURSOR_DL)
 | 
				
			||||||
 | 
					#define M_DR                M(MACRO_CURSOR_DR)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define M_MUTEA             M(MACRO_MUTE_APP)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define M_CP_CT             M(MACRO_COPY_CUT)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define SC_UNDO             LCTL(KC_Z)
 | 
					#define SC_UNDO             LCTL(KC_Z)
 | 
				
			||||||
@ -77,6 +133,7 @@
 | 
				
			|||||||
#define SC_ACLS             LALT(KC_F4)
 | 
					#define SC_ACLS             LALT(KC_F4)
 | 
				
			||||||
#define SC_CCLS             LCTL(KC_F4)
 | 
					#define SC_CCLS             LCTL(KC_F4)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define TG_NKRO             MAGIC_TOGGLE_NKRO
 | 
				
			||||||
#define OS_SHFT             KC_FN0
 | 
					#define OS_SHFT             KC_FN0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define _______             KC_TRNS
 | 
					#define _______             KC_TRNS
 | 
				
			||||||
@ -84,208 +141,128 @@
 | 
				
			|||||||
#define ________________    _______, _______
 | 
					#define ________________    _______, _______
 | 
				
			||||||
#define XXXXXXXXXXXXXXXX    XXXXXXX, XXXXXXX
 | 
					#define XXXXXXXXXXXXXXXX    XXXXXXX, XXXXXXX
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] =
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					/* LAYER = LAYER_QWERTY
 | 
				
			||||||
KEYMAP( \
 | 
					  .-----------------------------------.       .-----------------------------------------------------------------------------------------------------------------------------.       .-----------------------------------.
 | 
				
			||||||
      KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX,       KC_F1,   KC_F2,   KC_F3,   KC_F4,   XXXXXXX, KC_F5,   KC_F6,   KC_F7,   KC_F8,   XXXXXXX, KC_F9,   KC_F10,  KC_F11,  KC_F12,        KC_PSCR, KC_SLCK, KC_PAUS, \
 | 
					  | FN     | PRINT  | SCR LK | PAUSE  |       | F1     | F2     | F3     | F4     | XXXXXX | F5     | F6     | F7     | F8     | XXXXXX | F9     | F10    | F11    | F12    |       | VOL DN | MUTE   | VOL UP | BACKLT |
 | 
				
			||||||
      KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,       KC_ESC,  KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_EQL,  KC_BSPC,       KC_INS,  KC_HOME, KC_PGUP, \
 | 
					  '-----------------------------------'       '-----------------------------------------------------------------------------------------------------------------------------'       '-----------------------------------'
 | 
				
			||||||
      KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS,       KC_TAB,  KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_MINS, KC_BSLS,       KC_DEL,  KC_END,  KC_PGDN, \
 | 
					  .-----------------------------------.       .-----------------------------------------------------------------------------------------------------------------------------.       .-----------------------------------.
 | 
				
			||||||
      KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS,       KC_CAPS, KC_BSPC, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_ENT,        XXXXXXX, XXXXXXX, XXXXXXX, \
 | 
					  | M1     | INS    | HOME   | PG UP  |       | ESC    | `      | 1      | 2      | 3      | 4      | 5      | 6      | 7      | 8      | 9      | 0      | =      | BACKSP |       | NUM LK | KP /   | KP *   | KP -   |
 | 
				
			||||||
      KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT,       KC_LSFT, KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, KC_RSFT,       XXXXXXX, KC_UP,   XXXXXXX, \
 | 
					  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------|--------|--------+--------|
 | 
				
			||||||
      KC_KP_0, KC_KP_0, KC_PDOT, KC_PENT,       KC_LCTL, KC_LCTL, XXXXXXX, KC_LALT, KC_LGUI, XXXXXXX, KC_SPC,  KC_SPC,  XXXXXXX, OS_SHFT, KC_RALT, KC_APP,  KC_RCTL, KC_RCTL,       KC_LEFT, KC_DOWN, KC_RGHT  \
 | 
					  | M2     | DEL    | END    | PG DN  |       | TAB    | TAB    | Q      | W      | E      | R      | T      | Y      | U      | I      | O      | P      | -      | \      |       | KP 7   | KP 8   | KP 9   | KP +   |
 | 
				
			||||||
)
 | 
					  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|   o   |--------|--------|--------+--------|
 | 
				
			||||||
 | 
					  | M3     | UL     | UP     | UR     |       | CAP LK | BACKSP | A      | S      | D      | F      | G      | H      | J      | K      | L      | ;      | '      | ENTER  |   o   | KP 4   | KP 5   | KP 6   | KP +   |
 | 
				
			||||||
 | 
					  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|   o   |--------|--------|--------+--------|
 | 
				
			||||||
//  [LAYER_QWERTY]       = { // QWERTY
 | 
					  | M4     | LEFT   | CP/CT  | RIGHT  |       | LSHIFT | LSHIFT | Z      | X      | C      | V      | B      | N      | M      | ,      | .      | /      | RSHIFT | RSHIFT |       | KP 1   | KP 2   | KP 3   | KP Ent |
 | 
				
			||||||
//   { KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC, KC_BSPC  },
 | 
					  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------|--------|--------+--------|
 | 
				
			||||||
//   { KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL   },
 | 
					  | M5     | DL     | DOWN   | DR     |       | LCTRL  | XXXXXX | XXXXXX | LWIN   | LALT   | LOWER  | SPACE  . SPACE  | UPPER  | OSHIFT | RALT   | APP    | XXXXXX | RCTRL  |       | KP 0   | KP ,   | KP .   | KP Ent |
 | 
				
			||||||
//   { KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_ENT,  KC_ENT,  KC_PGUP  },
 | 
					  '-----------------------------------'       '-----------------------------------------------------------------------------------------------------------------------------'       '-----------------------------------'
 | 
				
			||||||
//   { KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,   KC_PGDN  },
 | 
					*/
 | 
				
			||||||
//   { KC_LCTL, KC_LGUI, M_FUNCT, KC_LALT, M_UPPER, KC_SPC,  KC_SPC,  M_LOWER, OS_SHFT, KC_RALT, KC_APP,  KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT  },
 | 
					KEYMAP(LAYER_QWERTY, \
 | 
				
			||||||
//  },
 | 
					    M_HELP , KC_PSCR, KC_SLCK, KC_PAUS,         KC_F1  , KC_F2  , KC_F3  , KC_F4  , XXXXXXX, KC_F5  , KC_F6  , KC_F7  , KC_F8  , XXXXXXX, KC_F9  , KC_F10 , KC_F11 , KC_F12 ,         KC_VOLD, KC_MUTE, KC_VOLU, M_BACKL, \
 | 
				
			||||||
 | 
					    M_M1   , KC_INS , KC_HOME, KC_PGUP,         KC_ESC , KC_GRV , KC_1   , KC_2   , KC_3   , KC_4   , KC_5   , KC_6   , KC_7   , KC_8   , KC_9   , KC_0   , KC_EQL , KC_BSPC,         KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \
 | 
				
			||||||
 | 
					    M_M2   , KC_DEL , KC_END , KC_PGDN,         KC_TAB , KC_TAB , KC_Q   , KC_W   , KC_E   , KC_R   , KC_T   , KC_Y   , KC_U   , KC_I   , KC_O   , KC_P   , KC_MINS, KC_BSLS,         KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS, \
 | 
				
			||||||
// /* Numeric Max / Homing Normal - Traditional
 | 
					    M_M3   , M_UL   , KC_UP  , M_UR   ,         KC_CAPS, KC_BSPC, KC_A   , KC_S   , KC_D   , KC_F   , KC_G   , KC_H   , KC_J   , KC_K   , KC_L   , KC_SCLN, KC_QUOT, KC_ENT ,         KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, \
 | 
				
			||||||
//  * .-----------------------------------.       .-----------------------------------.        .-----------------_-----------------.        .-----------------------------------.       .--------------------------.
 | 
					    M_M4   , KC_LEFT, M_CP_CT, KC_RGHT,         KC_LSFT, KC_LSFT, KC_Z   , KC_X   , KC_C   , KC_V   , KC_B   , KC_N   , KC_M   , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_RSFT,         KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, \
 | 
				
			||||||
//  * |        |        |        |        |       |        |        |        |        |        |        |        |        |        |        |        |        |        |        |       |        |        |        |
 | 
					    M_M5   , M_DL   , KC_DOWN, M_DR   ,         KC_LCTL, XXXXXXX, XXXXXXX, KC_LGUI, KC_LALT, M_LOWER, KC_SPC , KC_SPC , M_UPPER, OS_SHFT, KC_RALT, KC_APP , XXXXXXX, KC_RCTL,         KC_KP_0, KC_PCMM, KC_PDOT, KC_PENT  \
 | 
				
			||||||
//  * '-----------------------------------'       '-----------------------------------'        '-----------------------------------'        '-----------------------------------'       '--------------------------'
 | 
					),
 | 
				
			||||||
//  * .-----------------------------------.       .-----------------------------------------------------------------------------------------------------------------------------.       .--------------------------.
 | 
					/* LAYER = LAYER_LOWER
 | 
				
			||||||
//  * |        |        |        |        |       | ESC    | ESC    | 1      | 2      | 3      | 4      | 5      | 6      | 7      | 8      | 9      | 0      | -      |        |       |        |        |        |
 | 
					  .-----------------------------------.       .-----------------------------------------------------------------------------------------------------------------------------.       .-----------------------------------.
 | 
				
			||||||
//  * |--------+--------+--------+--------|       | -------+ -------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------+--------+--------|
 | 
					  | ______ | ______ | ______ | ______ |       | F13    | F14    | F15    | F16    | XXXXXX | F17    | F18    | F19    | F20    | XXXXXX | F21    | F22    | F23    | F24    |       | ______ | MUTE A | ______ | ______ |
 | 
				
			||||||
//  * |        |        |        |        |       | TAB    | TAB    | Q      | W      | E      | R      | T      | Y      | U      | I      | O      | P      | [      |        |       |        |        |        |
 | 
					  '-----------------------------------'       '-----------------------------------------------------------------------------------------------------------------------------'       '-----------------------------------'
 | 
				
			||||||
//  * |--------+--------+--------+        |   o   | -------+ -------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       '--------+--------+--------'
 | 
					  .-----------------------------------.       .-----------------------------------------------------------------------------------------------------------------------------.       .-----------------------------------.
 | 
				
			||||||
//  * |        |        |        |        |   o   | CAPS   | CAPS   | A      | S      | D      | F      | G      | H      | J      | K      | L      | ;      | '      |        |
 | 
					  | ______ | ______ | ______ | ______ |       | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ |       | ______ | ______ | ______ | ______ |
 | 
				
			||||||
//  * |--------+--------+--------+--------|   o   | -------+ -------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---+--------|                .--------.
 | 
					  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------|--------|--------+--------|
 | 
				
			||||||
//  * |        |        |        |        |       | LSHIFT | LSHIFT | Z      | X      | C      | V      | B      | N      | M      | ,      | .      | /      | XXXXXX |        |                |        |
 | 
					  | ______ | ______ | ______ | ______ |       | ______ | ______ | $      | {      | [      | (      | %      | #      | )      | ]      | }      | @      | ______ | ______ |       | ______ | ______ | ______ | ______ |
 | 
				
			||||||
//  * |--------+--------+--------+        |       | -------+ -------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+--------+--------|       .--------+--------+--------.
 | 
					  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|   o   |--------|--------|--------+--------|
 | 
				
			||||||
//  * |                 |        |        |       | LCTRL  | LCTRL  | LWIN   | FN     | LALT   | UPPER  | XXXXXX . SPACE  | LOWER  | SHIFT  | RALT   | APP    | RCTRL  |        |       |        |        |        |
 | 
					  | ______ | ______ | ______ | ______ |       | ______ | ______ | ^      | *      | +      | -      | /      | \      | _      | '      | "      | `      | ______ | ______ |   o   | ______ | ______ | ______ | ______ |
 | 
				
			||||||
//  * '-----------------------------------'       '-----------------------------------------------------------------------------------------------------------------------------'       '--------------------------'
 | 
					  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|   o   |--------|--------|--------+--------|
 | 
				
			||||||
//  */
 | 
					  | ______ | ______ | ______ | ______ |       | ______ | ______ | |      | &      | !      | ~      | ;      | :      | =      | <      | >      | ?      | ______ | ______ |       | ______ | ______ | ______ | ______ |
 | 
				
			||||||
 | 
					  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------|--------|--------+--------|
 | 
				
			||||||
 | 
					  | ______ | ______ | ______ | ______ |       | ______ | XXXXXX | XXXXXX | ______ | ______ | ______ | ______ . ______ | LOWER  | ______ | ______ | ______ | XXXXXX | ______ |       | ______ | ______ | ______ | ______ |
 | 
				
			||||||
// /* QWERTY
 | 
					  '-----------------------------------'       '-----------------------------------------------------------------------------------------------------------------------------'       '-----------------------------------'
 | 
				
			||||||
//  * .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
 | 
					*/
 | 
				
			||||||
//  * | ESC    | 1      | 2      | 3      | 4      | 5      | 6      | 7      | 8      | 9      | 0      | -      | =      | XXXXXX . BACKSP |
 | 
					KEYMAP(LAYER_LOWER, \
 | 
				
			||||||
//  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
 | 
					    _______, _______, _______, _______,         KC_F13 , KC_F14 , KC_F15 , KC_F16 , XXXXXXX, KC_F17 , KC_F18 , KC_F19 , KC_F20 , XXXXXXX, KC_F21 , KC_F22 , KC_F23 , KC_F24 ,         _______, M_MUTEA, _______, _______, \
 | 
				
			||||||
//  * | TAB    | Q      | W      | E      | R      | T      | Y      | U      | I      | O      | P      | [      | ]      | \      | DEL    |
 | 
					    _______, _______, _______, _______,         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,         _______, _______, _______, _______, \
 | 
				
			||||||
//  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
 | 
					    _______, _______, _______, _______,         _______, _______, KC_DLR , KC_LCBR, KC_LBRC, KC_LPRN, KC_PERC, KC_HASH, KC_RPRN, KC_RBRC, KC_RCBR, KC_AT  , _______, _______,         _______, _______, _______, _______, \
 | 
				
			||||||
//  * | CAPS   | A      | S      | D      | F      | G      | H      | J      | K      | L      | ;      | '      | XXXXXX . ENTER  | PG UP  |
 | 
					    _______, _______, _______, _______,         _______, _______, KC_CIRC, KC_ASTR, KC_PLUS, KC_MINS, KC_SLSH, KC_BSLS, KC_UNDS, KC_QUOT, KC_DQT , KC_GRV , _______, _______,         _______, _______, _______, _______, \
 | 
				
			||||||
//  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
 | 
					    _______, _______, _______, _______,         _______, _______, KC_PIPE, KC_AMPR, KC_EXLM, KC_TILD, KC_SCLN, KC_COLN, KC_EQL , KC_LT  , KC_GT  , KC_QUES, _______, _______,         _______, _______, _______, _______, \
 | 
				
			||||||
//  * | LSHIFT | Z      | X      | C      | V      | B      | N      | M      | ,      | .      | /      | XXXXXX . RSHIFT | UP     | PG DN  |
 | 
					    _______, _______, _______, _______,         _______, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, M_LOWER, _______, _______, _______, XXXXXXX, _______,         _______, _______, _______, _______  \
 | 
				
			||||||
//  * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
 | 
					),
 | 
				
			||||||
//  * | LCTRL  | LWIN   | FN     | LALT   | UPPER  | XXXXXX . SPACE  | LOWER  | SHIFT  | RALT   | APP    | RCTRL  | LEFT   | DOWN   | RIGHT  |
 | 
					/* LAYER = LAYER_UPPER
 | 
				
			||||||
//  * '--------------------------------------------------------------------------------------------------------------------------------------'
 | 
					  .-----------------------------------.       .-----------------------------------------------------------------------------------------------------------------------------.       .-----------------------------------.
 | 
				
			||||||
//  */
 | 
					  | ______ | ______ | ______ | ______ |       | F13    | F14    | F15    | F16    | XXXXXX | F17    | F18    | F19    | F20    | XXXXXX | F21    | F22    | F23    | F24    |       | ______ | MUTE A | ______ | ______ |
 | 
				
			||||||
 | 
					  '-----------------------------------'       '-----------------------------------------------------------------------------------------------------------------------------'       '-----------------------------------'
 | 
				
			||||||
//  [LAYER_QWERTY]       = { // QWERTY
 | 
					  .-----------------------------------.       .-----------------------------------------------------------------------------------------------------------------------------.       .-----------------------------------.
 | 
				
			||||||
//   { KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC, KC_BSPC  },
 | 
					  | ______ | ______ | ______ | ______ |       | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ |       | ______ | ______ | ______ | ______ |
 | 
				
			||||||
//   { KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL   },
 | 
					  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------|--------|--------+--------|
 | 
				
			||||||
//   { KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_ENT,  KC_ENT,  KC_PGUP  },
 | 
					  | ______ | ______ | ______ | ______ |       | ______ | ______ | F1     | F2     | F3     | F4     | NUM LK | KP /   | KP 7   | KP 8   | KP 9   | KP -   | ______ | ______ |       | ______ | ______ | ______ | ______ |
 | 
				
			||||||
//   { KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,   KC_PGDN  },
 | 
					  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|   o   |--------|--------|--------+--------|
 | 
				
			||||||
//   { KC_LCTL, KC_LGUI, M_FUNCT, KC_LALT, M_UPPER, KC_SPC,  KC_SPC,  M_LOWER, OS_SHFT, KC_RALT, KC_APP,  KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT  },
 | 
					  | ______ | ______ | ______ | ______ |       | ______ | ______ | F5     | F6     | F7     | F8     | CAP LK | KP *   | KP 4   | KP 5   | KP 6   | KP +   | ______ | ______ |   o   | ______ | ______ | ______ | ______ |
 | 
				
			||||||
//  },
 | 
					  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|   o   |--------|--------|--------+--------|
 | 
				
			||||||
 | 
					  | ______ | ______ | ______ | ______ |       | ______ | ______ | F9     | F10    | F11    | F12    | SCR LK | KP 0   | KP 1   | KP 2   | KP 3   | KP Ent | ______ | ______ |       | ______ | ______ | ______ | ______ |
 | 
				
			||||||
//  /* COLEMAK
 | 
					  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------|--------|--------+--------|
 | 
				
			||||||
//  * .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
 | 
					  | ______ | ______ | ______ | ______ |       | ______ | XXXXXX | XXXXXX | ______ | ______ | UPPER  | KP 0   . KP 0   | ______ | RALT   | KP .   | KP Ent | XXXXXX | ______ |       | ______ | ______ | ______ | ______ |
 | 
				
			||||||
//  * | ESC    | 1      | 2      | 3      | 4      | 5      | 6      | 7      | 8      | 9      | 0      | -      | =      | XXXXXX . BACKSP |
 | 
					  '-----------------------------------'       '-----------------------------------------------------------------------------------------------------------------------------'       '-----------------------------------'
 | 
				
			||||||
//  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
 | 
					*/
 | 
				
			||||||
//  * | TAB    | Q      | W      | F      | P      | G      | J      | L      | U      | Y      | ;      | [      | ]      | \      | DEL    |
 | 
					KEYMAP(LAYER_UPPER, \
 | 
				
			||||||
//  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
 | 
					    _______, _______, _______, _______,         KC_F13 , KC_F14 , KC_F15 , KC_F16 , XXXXXXX, KC_F17 , KC_F18 , KC_F19 , KC_F20 , XXXXXXX, KC_F21 , KC_F22 , KC_F23 , KC_F24 ,         _______, M_MUTEA, _______, _______, \
 | 
				
			||||||
//  * | BACKSP | A      | R      | S      | T      | D      | H      | N      | E      | I      | O      | '      | XXXXXX . ENTER  | PG UP  |
 | 
					    _______, _______, _______, _______,         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,         _______, _______, _______, _______, \
 | 
				
			||||||
//  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
 | 
					    _______, _______, _______, _______,         _______, _______, KC_F1  , KC_F2  , KC_F3  , KC_F4  , KC_NLCK, KC_PSLS, KC_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, _______, _______,         _______, _______, _______, _______, \
 | 
				
			||||||
//  * | LSHIFT | Z      | X      | C      | V      | B      | K      | M      | ,      | .      | /      | XXXXXX . RSHIFT | UP     | PG DN  |
 | 
					    _______, _______, _______, _______,         _______, _______, KC_F5  , KC_F6  , KC_F7  , KC_F8  , KC_CAPS, KC_PAST, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, _______, _______,         _______, _______, _______, _______, \
 | 
				
			||||||
//  * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
 | 
					    _______, _______, _______, _______,         _______, _______, KC_F9  , KC_F10 , KC_F11 , KC_F12 , KC_SLCK, KC_KP_0, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, _______, _______,         _______, _______, _______, _______, \
 | 
				
			||||||
//  * | LCTRL  | LWIN   | FN     | LALT   | UPPER  | XXXXXX . SPACE  | LOWER  | SHIFT  | RALT   | APP    | RCTRL  | LEFT   | DOWN   | RIGHT  |
 | 
					    _______, _______, _______, _______,         _______, XXXXXXX, XXXXXXX, _______, _______, M_UPPER, KC_KP_0, KC_KP_0, _______, KC_RALT, KC_PDOT, KC_PENT, XXXXXXX, _______,         _______, _______, _______, _______  \
 | 
				
			||||||
//  * '--------------------------------------------------------------------------------------------------------------------------------------'
 | 
					),
 | 
				
			||||||
//  */
 | 
					/* LAYER = LAYER_MOUSE
 | 
				
			||||||
 | 
					  .-----------------------------------.       .-----------------------------------------------------------------------------------------------------------------------------.       .-----------------------------------.
 | 
				
			||||||
//  [LAYER_COLEMAK]      = { // COLEMAK
 | 
					  | ______ | ______ | ______ | ______ |       | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ |       | ______ | ______ | ______ | ______ |
 | 
				
			||||||
//   { KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC, KC_BSPC  },
 | 
					  '-----------------------------------'       '-----------------------------------------------------------------------------------------------------------------------------'       '-----------------------------------'
 | 
				
			||||||
//   { KC_TAB,  KC_Q,    KC_W,    KC_F,    KC_P,    KC_G,    KC_J,    KC_L,    KC_U,    KC_Y,    KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL   },
 | 
					  .-----------------------------------.       .-----------------------------------------------------------------------------------------------------------------------------.       .-----------------------------------.
 | 
				
			||||||
//   { KC_BSPC, KC_A,    KC_R,    KC_S,    KC_T,    KC_D,    KC_H,    KC_N,    KC_E,    KC_I,    KC_O,    KC_QUOT, KC_ENT,  KC_ENT,  KC_PGUP  },
 | 
					  | MS BT1 | MS AC0 | MS WHU | MS AC2 |       | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ |       | ______ | ______ | ______ | ______ |
 | 
				
			||||||
//   { KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_K,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,   KC_PGDN  },
 | 
					  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------|--------|--------+--------|
 | 
				
			||||||
//   { KC_LCTL, KC_LGUI, M_FUNCT, KC_LALT, M_UPPER, KC_SPC,  KC_SPC,  M_LOWER, OS_SHFT, KC_RALT, KC_APP,  KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT  },
 | 
					  | MS BT2 | MS WHL | MS WHD | MS WHU |       | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ |       | ______ | ______ | ______ | ______ |
 | 
				
			||||||
// },
 | 
					  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|   o   |--------|--------|--------+--------|
 | 
				
			||||||
 | 
					  | MS BT3 | MS UL  | MS U   | MS UR  |       | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ |   o   | ______ | ______ | ______ | ______ |
 | 
				
			||||||
// /* DVORAK
 | 
					  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|   o   |--------|--------|--------+--------|
 | 
				
			||||||
//  * .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
 | 
					  | MS BT4 | MS L   | MS BT1 | MS R   |       | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ |       | ______ | ______ | ______ | ______ |
 | 
				
			||||||
//  * | ESC    | 1      | 2      | 3      | 4      | 5      | 6      | 7      | 8      | 9      | 0      | [      | ]      | XXXXXX . BACKSP |
 | 
					  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------|--------|--------+--------|
 | 
				
			||||||
//  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
 | 
					  | MS BT5 | MS DL  | MS D   | MS DR  |       | ______ | ______ | ______ | ______ | ______ | ______ | ______ . ______ | ______ | ______ | ______ | ______ | ______ | ______ |       | ______ | ______ | ______ | ______ |
 | 
				
			||||||
//  * | TAB    | '      | ,      | .      | P      | Y      | F      | G      | C      | R      | L      | /      | =      | \      | DEL    |
 | 
					  '-----------------------------------'       '-----------------------------------------------------------------------------------------------------------------------------'       '-----------------------------------'
 | 
				
			||||||
//  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
 | 
					*/
 | 
				
			||||||
//  * | CAPS   | A      | O      | E      | U      | I      | D      | H      | T      | N      | S      | -      | XXXXXX . ENTER  | PG UP  |
 | 
					KEYMAP(LAYER_MOUSE, \
 | 
				
			||||||
//  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
 | 
					    _______, _______, _______, _______,         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,         _______, _______, _______, _______, \
 | 
				
			||||||
//  * | LSHIFT | ;      | Q      | J      | K      | X      | B      | M      | W      | V      | Z      | XXXXXX . RSHIFT | UP     | PG DN  |
 | 
					    KC_BTN1, KC_ACL0, KC_WH_U, KC_ACL2,         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,         _______, _______, _______, _______, \
 | 
				
			||||||
//  * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
 | 
					    KC_BTN2, KC_WH_L, KC_WH_D, KC_WH_U,         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,         _______, _______, _______, _______, \
 | 
				
			||||||
//  * | LCTRL  | LWIN   | FN     | LALT   | UPPER  | XXXXXX . SPACE  | LOWER  | SHIFT  | RALT   | APP    | RCTRL  | LEFT   | DOWN   | RIGHT  |
 | 
					    KC_BTN3, M_MS_UL, KC_MS_U, M_MS_UR,         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,         _______, _______, _______, _______, \
 | 
				
			||||||
//  * '--------------------------------------------------------------------------------------------------------------------------------------'
 | 
					    KC_BTN4, KC_MS_L, KC_BTN1, KC_MS_R,         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,         _______, _______, _______, _______, \
 | 
				
			||||||
//  */
 | 
					    KC_BTN5, M_MS_DL, KC_MS_D, M_MS_DR,         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,         _______, _______, _______, _______  \
 | 
				
			||||||
 | 
					),
 | 
				
			||||||
//  [LAYER_DVORAK]       = { // DVORAK
 | 
					/* LAYER = LAYER_ADJUST
 | 
				
			||||||
//   { KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_LBRC, KC_RBRC, KC_BSPC, KC_BSPC  },
 | 
					  .-----------------------------------.       .-----------------------------------------------------------------------------------------------------------------------------.       .-----------------------------------.
 | 
				
			||||||
//   { KC_TAB,  KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,    KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_SLSH, KC_EQL,  KC_BSLS, KC_DEL   },
 | 
					  | XXXXXX | XXXXXX | XXXXXX | XXXXXX |       | HELP 1 | HELP 2 | HELP 3 | HELP 4 | XXXXXX | HELP 5 | HELP 6 | HELP 7 | HELP 8 | XXXXXX | HELP 9 | HELP 0 | XXXXXX | XXXXXX |       | VOICE- | AUDIO  | VOICE+ | MUSIC  |
 | 
				
			||||||
//   { KC_CAPS, KC_A,    KC_O,    KC_E,    KC_U,    KC_I,    KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_MINS, KC_ENT,  KC_ENT,  KC_PGUP  },
 | 
					  '-----------------------------------'       '-----------------------------------------------------------------------------------------------------------------------------'       '-----------------------------------'
 | 
				
			||||||
//   { KC_LSFT, KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,    KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,    KC_RSFT, KC_RSFT, KC_UP,   KC_PGDN  },
 | 
					  .-----------------------------------.       .-----------------------------------------------------------------------------------------------------------------------------.       .-----------------------------------.
 | 
				
			||||||
//   { KC_LCTL, KC_LGUI, M_FUNCT, KC_LALT, M_UPPER, KC_SPC,  KC_SPC,  M_LOWER, OS_SHFT, KC_RALT, KC_APP,  KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT  },
 | 
					  | XXXXXX | XXXXXX | XXXXXX | XXXXXX |       | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX |       | XXXXXX | XXXXXX | XXXXXX | XXXXXX |
 | 
				
			||||||
//  },
 | 
					  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------|--------|--------+--------|
 | 
				
			||||||
 | 
					  | XXXXXX | XXXXXX | XXXXXX | XXXXXX |       | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX |       | XXXXXX | XXXXXX | XXXXXX | XXXXXX |
 | 
				
			||||||
// /* UPPER
 | 
					  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|   o   |--------|--------|--------+--------|
 | 
				
			||||||
//  * .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
 | 
					  | XXXXXX | XXXXXX | XXXXXX | XXXXXX |       | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX |   o   | XXXXXX | XXXXXX | XXXXXX | XXXXXX |
 | 
				
			||||||
//  * | PRINT  | BR TOG | BR SP+ | BR SP- | BR RST | XXXXXX | XXXXXX | NUM LK | /      | *      |        | NUM LK | SCR LK | XXXXXX . PAUSE  |
 | 
					  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|   o   |--------|--------|--------+--------|
 | 
				
			||||||
//  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
 | 
					  | XXXXXX | XXXXXX | XXXXXX | XXXXXX |       | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | RESET  | XXXXXX | MOUSE  | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX |       | XXXXXX | XXXXXX | XXXXXX | XXXXXX |
 | 
				
			||||||
//  * |        | F1     | F2     | F3     | F4     |        |        | 7      | 8      | 9      | -      |        |        |        | INS    |
 | 
					  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------|--------|--------+--------|
 | 
				
			||||||
//  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
 | 
					  | XXXXXX | XXXXXX | XXXXXX | XXXXXX |       | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | UPPER  | XXXXXX . XXXXXX | LOWER  | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX |       | XXXXXX | XXXXXX | XXXXXX | XXXXXX |
 | 
				
			||||||
//  * | CAP LK | F5     | F6     | F7     | F8     |        |        | 4      | 5      | 6      | +      |        | XXXXXX .        | HOME   |
 | 
					  '-----------------------------------'       '-----------------------------------------------------------------------------------------------------------------------------'       '-----------------------------------'
 | 
				
			||||||
//  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
 | 
					*/
 | 
				
			||||||
//  * |        | F9     | F10    | F11    | F12    |        |        | 1      | 2      | 3      | ENTER  | XXXXXX .        |        | END    |
 | 
					KEYMAP(LAYER_ADJUST, \
 | 
				
			||||||
//  * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
 | 
					    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,         M_HELP1, M_HELP2, M_HELP3, M_HELP4, XXXXXXX, M_HELP5, M_HELP6, M_HELP7, M_HELP8, XXXXXXX, M_HELP9, M_HELP0, XXXXXXX, XXXXXXX,         MUV_DE , AU_TOG , MUV_IN , MU_TOG , \
 | 
				
			||||||
//  * |        |        |        |        |        | 0               |        | RALT   | .      | ENTER  |        |        |        |        |
 | 
					    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,         XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,         XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
 | 
				
			||||||
//  * '--------------------------------------------------------------------------------------------------------------------------------------'
 | 
					    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,         XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,         XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
 | 
				
			||||||
//  */
 | 
					    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,         XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,         XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
 | 
				
			||||||
 | 
					    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,         XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET  , XXXXXXX, M_MOUSE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,         XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
 | 
				
			||||||
//  [LAYER_UPPER]        = { // UPPER
 | 
					    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,         XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_UPPER, XXXXXXX, XXXXXXX, M_LOWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,         XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX  \
 | 
				
			||||||
//   { KC_PSCR, M_BRTOG, M_BSPDU, M_BSPDD, M_BDFLT, XXXXXXX, XXXXXXX, KC_NLCK, KC_PSLS, KC_PAST, XXXXXXX, XXXXXXX, KC_SLCK, KC_PAUS, KC_PAUS  },
 | 
					),
 | 
				
			||||||
//   { _______, KC_F1,   KC_F2,   KC_F3,   KC_F4,   XXXXXXX, XXXXXXX, KC_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, _______, _______, _______, KC_INS   },
 | 
					 | 
				
			||||||
//   { KC_CAPS, KC_F5,   KC_F6,   KC_F7,   KC_F8,   XXXXXXX, XXXXXXX, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, _______, ________________, KC_HOME  },
 | 
					 | 
				
			||||||
//   { _______, KC_F9,   KC_F10,  KC_F11,  KC_F12,  XXXXXXX, XXXXXXX, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, ________________, _______, KC_END   },
 | 
					 | 
				
			||||||
//   { _______, _______, _______, _______, _______, KC_KP_0, KC_KP_0, _______, KC_RALT, KC_PDOT, KC_PENT, _______, _______, _______, _______  },
 | 
					 | 
				
			||||||
//  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// /* LOWER
 | 
					 | 
				
			||||||
//  * .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
 | 
					 | 
				
			||||||
//  * |        | F1     | F2     | F3     | F4     | F5     | F6     | F7     | F8     | F9     | F10    | F11    | F12    | XXXXXX . BACKSP |
 | 
					 | 
				
			||||||
//  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
 | 
					 | 
				
			||||||
//  * |        | $      | {      | [      | (      | %      | #      | )      | ]      | }      | @      |        |        |        | INS    |
 | 
					 | 
				
			||||||
//  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
 | 
					 | 
				
			||||||
//  * |        | ^      | *      | +      | -      | /      | \      | _      | '      | "      | `      |        | XXXXXX .        | HOME   |
 | 
					 | 
				
			||||||
//  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
 | 
					 | 
				
			||||||
//  * |        | |      | &      | !      | ~      | ;      | :      | =      | <      | >      | ?      | XXXXXX .        |        | END    |
 | 
					 | 
				
			||||||
//  * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
 | 
					 | 
				
			||||||
//  * |        |        |        |        |        |                 |        |        |        |        |        |        |        |        |
 | 
					 | 
				
			||||||
//  * '--------------------------------------------------------------------------------------------------------------------------------------'
 | 
					 | 
				
			||||||
//  */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
//  [LAYER_LOWER]        = { // LOWER
 | 
					 | 
				
			||||||
//   { _______, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  ________________  },
 | 
					 | 
				
			||||||
//   { _______, KC_DLR,  KC_LCBR, KC_LBRC, KC_LPRN, KC_PERC, KC_HASH, KC_RPRN, KC_RBRC, KC_RCBR, KC_AT,   _______, _______, _______, KC_INS   },
 | 
					 | 
				
			||||||
//   { _______, KC_CIRC, KC_ASTR, KC_PPLS, KC_PMNS, KC_SLSH, KC_BSLS, KC_UNDS, KC_QUOT, KC_DQT,  KC_GRV,  _______, ________________, KC_HOME  },
 | 
					 | 
				
			||||||
//   { _______, KC_PIPE, KC_AMPR, KC_EXLM, KC_TILD, KC_SCLN, KC_COLN, KC_EQL,  KC_LT,   KC_GT,   KC_QUES, ________________, _______, KC_END   },
 | 
					 | 
				
			||||||
//   { _______, _______, _______, _______, _______, ________________, _______, _______, _______, _______, _______, _______, _______, _______  },
 | 
					 | 
				
			||||||
//  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// /* FUNCTION
 | 
					 | 
				
			||||||
//  * .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
 | 
					 | 
				
			||||||
//  * | NUM LK |        |        |        |        |        |        |        |        |        |        |        |        | XXXXXX .        |
 | 
					 | 
				
			||||||
//  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
 | 
					 | 
				
			||||||
//  * | SCR LK | F13    | F14    | F15    | F16    |        |        |        |        |        |        |        |        |        |        |
 | 
					 | 
				
			||||||
//  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
 | 
					 | 
				
			||||||
//  * | CAP LK | F17    | F18    | F19    | F20    |        |        |        |        |        |        |        | XXXXXX .        |        |
 | 
					 | 
				
			||||||
//  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
 | 
					 | 
				
			||||||
//  * |        | F21    | F22    | F23    | F24    |        |        |        |        |        |        | XXXXXX .        | VOL UP | MUTE   |
 | 
					 | 
				
			||||||
//  * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
 | 
					 | 
				
			||||||
//  * |        |        |        |        |        | PLAY/PAUSE      |        |        |        |        |        | PTRACK | VOL DN | NTRACK |
 | 
					 | 
				
			||||||
//  * '--------------------------------------------------------------------------------------------------------------------------------------'
 | 
					 | 
				
			||||||
//  */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
//  [LAYER_FUNCTION]     = { // FUNCTION
 | 
					 | 
				
			||||||
//   { KC_NLCK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXXXXXXXXXXX  },
 | 
					 | 
				
			||||||
//   { KC_SLCK, KC_F13,  KC_F14,  KC_F15,  KC_F16,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX  },
 | 
					 | 
				
			||||||
//   { KC_CAPS, KC_F17,  KC_F18,  KC_F19,  KC_F20,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXXXXXXXXXXX, XXXXXXX  },
 | 
					 | 
				
			||||||
//   { _______, KC_F21,  KC_F22,  KC_F23,  KC_F24,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, ________________, KC_VOLU, KC_MUTE  },
 | 
					 | 
				
			||||||
//   { _______, _______, _______, _______, _______, KC_MPLY, KC_MPLY, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT  },
 | 
					 | 
				
			||||||
//  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// #ifdef MOUSEKEY_ENABLE
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
//  [LAYER_MOUSE]        = { // MOUSE
 | 
					 | 
				
			||||||
//   { _______, KC_ACL0, KC_ACL1, KC_ACL2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXXXXXXXXXXX  },
 | 
					 | 
				
			||||||
//   { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX  },
 | 
					 | 
				
			||||||
//   { XXXXXXX, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXXXXXXXXXXX, KC_WH_U  },
 | 
					 | 
				
			||||||
//   { _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, ________________, KC_MS_U, KC_WH_D  },
 | 
					 | 
				
			||||||
//   { _______, _______, _______, _______, _______, KC_BTN1, KC_BTN1, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R  },
 | 
					 | 
				
			||||||
//  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// #endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
//  [LAYER_ADJUST]       = { // ADJUST
 | 
					 | 
				
			||||||
//   { _______, TIMBR_1, TIMBR_2, TIMBR_3, TIMBR_4, TMPO_UP, TMPO_DN, TMPO_DF, _______, _______, _______, MU_TOG,  AU_TOG,  ________________  },
 | 
					 | 
				
			||||||
//   { _______, M_QWRTY, M_COLMK, M_DVORK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______  },
 | 
					 | 
				
			||||||
//   { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ________________, _______  },
 | 
					 | 
				
			||||||
//   { _______, _______, _______, _______, M_BACKL, RESET,   _______, M_MOUSE, _______, _______, _______, ________________, MUV_IN,  _______  },
 | 
					 | 
				
			||||||
//   { _______, _______, _______, _______, _______, ________________, _______, _______, _______, _______, _______, _______, MUV_DE,  _______  },
 | 
					 | 
				
			||||||
//  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// /*
 | 
					 | 
				
			||||||
//  [LAYER_EMPTY]        = { // LAYER
 | 
					 | 
				
			||||||
//   { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ________________  },
 | 
					 | 
				
			||||||
//   { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______  },
 | 
					 | 
				
			||||||
//   { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ________________, _______  },
 | 
					 | 
				
			||||||
//   { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ________________, _______, _______  },
 | 
					 | 
				
			||||||
//   { _______, _______, _______, _______, _______, ________________, _______, _______, _______, _______, _______, _______, _______, _______  },
 | 
					 | 
				
			||||||
//  },
 | 
					 | 
				
			||||||
// */
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -328,61 +305,101 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 | 
				
			|||||||
  switch(id)
 | 
					  switch(id)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // case MACRO_BREATH_TOGGLE:
 | 
					    case MACRO_HELP_1:
 | 
				
			||||||
        //     if (record->event.pressed)
 | 
					      if (record->event.pressed)
 | 
				
			||||||
        //     {
 | 
					      {
 | 
				
			||||||
        //         breathing_toggle();
 | 
					        uprint("H1");
 | 
				
			||||||
        //     }
 | 
					      }
 | 
				
			||||||
        //     break;
 | 
					      break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // case MACRO_BREATH_SPEED_INC:
 | 
					    case MACRO_HELP_2:
 | 
				
			||||||
        //     if (record->event.pressed)
 | 
					      if (record->event.pressed)
 | 
				
			||||||
        //     {
 | 
					      {
 | 
				
			||||||
        //         breathing_speed_inc(1);
 | 
					        uprint("H2");
 | 
				
			||||||
        //     }
 | 
					      }
 | 
				
			||||||
        //     break;
 | 
					      break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // case MACRO_BREATH_SPEED_DEC:
 | 
					    case MACRO_HELP_3:
 | 
				
			||||||
        //     if (record->event.pressed)
 | 
					      if (record->event.pressed)
 | 
				
			||||||
        //     {
 | 
					      {
 | 
				
			||||||
        //         breathing_speed_dec(1);
 | 
					        uprint("H3");
 | 
				
			||||||
        //     }
 | 
					      }
 | 
				
			||||||
        //     break;
 | 
					      break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // case MACRO_BREATH_DEFAULT:
 | 
					    case MACRO_HELP_4:
 | 
				
			||||||
        //     if (record->event.pressed)
 | 
					      if (record->event.pressed)
 | 
				
			||||||
        //     {
 | 
					      {
 | 
				
			||||||
        //         breathing_defaults();
 | 
					        uprint("H4");
 | 
				
			||||||
        //     }
 | 
					      }
 | 
				
			||||||
        //     break;
 | 
					      break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   case MACRO_HELP_5:
 | 
				
			||||||
 | 
					     if (record->event.pressed)
 | 
				
			||||||
 | 
					     {
 | 
				
			||||||
 | 
					       uprint("H5");
 | 
				
			||||||
 | 
					     }
 | 
				
			||||||
 | 
					     break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   case MACRO_HELP_6:
 | 
				
			||||||
 | 
					     if (record->event.pressed)
 | 
				
			||||||
 | 
					     {
 | 
				
			||||||
 | 
					       uprint("H6");
 | 
				
			||||||
 | 
					     }
 | 
				
			||||||
 | 
					     break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   case MACRO_HELP_7:
 | 
				
			||||||
 | 
					      if (record->event.pressed)
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        uprint("H7");
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  case MACRO_HELP_8:
 | 
				
			||||||
 | 
					    if (record->event.pressed)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      uprint("H8");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  case MACRO_HELP_9:
 | 
				
			||||||
 | 
					    if (record->event.pressed)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      uprint("H9");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  case MACRO_BREATH_TOGGLE:
 | 
				
			||||||
 | 
					    if (record->event.pressed)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      breathing_toggle();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  case MACRO_BREATH_SPEED_INC:
 | 
				
			||||||
 | 
					    if (record->event.pressed)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      breathing_speed_inc(1);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  case MACRO_BREATH_SPEED_DEC:
 | 
				
			||||||
 | 
					    if (record->event.pressed)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      breathing_speed_dec(1);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  case MACRO_BREATH_DEFAULT:
 | 
				
			||||||
 | 
					    if (record->event.pressed)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      breathing_defaults();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  case MACRO_QWERTY:
 | 
					  case MACRO_QWERTY:
 | 
				
			||||||
    if (record->event.pressed)
 | 
					    if (record->event.pressed)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      persistant_default_layer_set(1UL<<LAYER_QWERTY);
 | 
					      persistant_default_layer_set(1UL<<LAYER_QWERTY);
 | 
				
			||||||
                #ifdef AUDIO_ENABLE
 | 
					 | 
				
			||||||
                    PLAY_NOTE_ARRAY(tone_qwerty, false, STACCATO);
 | 
					 | 
				
			||||||
                #endif /* AUDIO_ENABLE */
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        case MACRO_COLEMAK:
 | 
					 | 
				
			||||||
            if (record->event.pressed)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                persistant_default_layer_set(1UL<<LAYER_COLEMAK);
 | 
					 | 
				
			||||||
                #ifdef AUDIO_ENABLE
 | 
					 | 
				
			||||||
                    PLAY_NOTE_ARRAY(tone_colemak, false, STACCATO);
 | 
					 | 
				
			||||||
                #endif /* AUDIO_ENABLE */
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        case MACRO_DVORAK:
 | 
					 | 
				
			||||||
            if (record->event.pressed)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                persistant_default_layer_set(1UL<<LAYER_DVORAK);
 | 
					 | 
				
			||||||
                #ifdef AUDIO_ENABLE
 | 
					 | 
				
			||||||
                    PLAY_NOTE_ARRAY(tone_dvorak, false, STACCATO);
 | 
					 | 
				
			||||||
                #endif /* AUDIO_ENABLE */
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    break;
 | 
					    break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -390,8 +407,8 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 | 
				
			|||||||
    if (record->event.pressed)
 | 
					    if (record->event.pressed)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      layer_on(LAYER_UPPER);
 | 
					      layer_on(LAYER_UPPER);
 | 
				
			||||||
                // breathing_speed_set(2);
 | 
					      breathing_speed_set(2);
 | 
				
			||||||
                // breathing_pulse();
 | 
					      breathing_pulse();
 | 
				
			||||||
      update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
 | 
					      update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
@ -405,8 +422,8 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 | 
				
			|||||||
    if (record->event.pressed)
 | 
					    if (record->event.pressed)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      layer_on(LAYER_LOWER);
 | 
					      layer_on(LAYER_LOWER);
 | 
				
			||||||
                // breathing_speed_set(2);
 | 
					      breathing_speed_set(2);
 | 
				
			||||||
                // breathing_pulse();
 | 
					      breathing_pulse();
 | 
				
			||||||
      update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
 | 
					      update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
@ -419,14 +436,14 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 | 
				
			|||||||
  case MACRO_FUNCTION:
 | 
					  case MACRO_FUNCTION:
 | 
				
			||||||
    if (record->event.pressed)
 | 
					    if (record->event.pressed)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
                // breathing_speed_set(3);
 | 
					      breathing_speed_set(3);
 | 
				
			||||||
                // breathing_enable();
 | 
					      breathing_enable();
 | 
				
			||||||
      layer_on(LAYER_FUNCTION);
 | 
					      layer_on(LAYER_FUNCTION);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
                // breathing_speed_set(1);
 | 
					      breathing_speed_set(1);
 | 
				
			||||||
                // breathing_self_disable();
 | 
					      breathing_self_disable();
 | 
				
			||||||
      layer_off(LAYER_FUNCTION);
 | 
					      layer_off(LAYER_FUNCTION);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    break;
 | 
					    break;
 | 
				
			||||||
@ -476,58 +493,6 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
    break;
 | 
					    break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
        case MACRO_AUDIO_TOGGLE:
 | 
					 | 
				
			||||||
            if (record->event.pressed)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                    if (is_audio_on())
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        audio_off();
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                    else
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        audio_on();
 | 
					 | 
				
			||||||
                        PLAY_NOTE_ARRAY(tone_audio_on, false, STACCATO);
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        case MACRO_MUSIC_TOGGLE:
 | 
					 | 
				
			||||||
            if (record->event.pressed)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                    if (IS_LAYER_ON(LAYER_MUSIC))
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        layer_off(LAYER_MUSIC);
 | 
					 | 
				
			||||||
                        stop_all_notes();
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                    else
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                    PLAY_NOTE_ARRAY(tone_music_on, false, STACCATO);
 | 
					 | 
				
			||||||
                    layer_on(LAYER_MUSIC);
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
        case MACRO_INC_VOICE:
 | 
					 | 
				
			||||||
            if (record->event.pressed)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                #ifdef AUDIO_ENABLE
 | 
					 | 
				
			||||||
                    voice_iterate();
 | 
					 | 
				
			||||||
                    PLAY_NOTE_ARRAY(music_scale, false, STACCATO);
 | 
					 | 
				
			||||||
                #endif
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        case MACRO_DEC_VOICE:
 | 
					 | 
				
			||||||
            if (record->event.pressed)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                #ifdef AUDIO_ENABLE
 | 
					 | 
				
			||||||
                    voice_deiterate();
 | 
					 | 
				
			||||||
                    PLAY_NOTE_ARRAY(music_scale, false, STACCATO);
 | 
					 | 
				
			||||||
                #endif
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
*/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif /* AUDIO_ENABLE */
 | 
					#endif /* AUDIO_ENABLE */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef BACKLIGHT_ENABLE
 | 
					#ifdef BACKLIGHT_ENABLE
 | 
				
			||||||
@ -536,7 +501,8 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
      backlight_step();
 | 
					      backlight_step();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
#endif
 | 
					  break;
 | 
				
			||||||
 | 
					#endif /* BACKLIGHT_ENABLE */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  default:
 | 
					  default:
 | 
				
			||||||
    break;
 | 
					    break;
 | 
				
			||||||
@ -545,7 +511,6 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 | 
				
			|||||||
return MACRO_NONE;
 | 
					return MACRO_NONE;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifdef AUDIO_ENABLE
 | 
					#ifdef AUDIO_ENABLE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void matrix_init_user(void)
 | 
					void matrix_init_user(void)
 | 
				
			||||||
@ -598,7 +563,6 @@ void led_set_user(uint8_t usb_led)
 | 
				
			|||||||
  old_usb_led = usb_led;
 | 
					  old_usb_led = usb_led;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
void startup_user()
 | 
					void startup_user()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  _delay_ms(10); // gets rid of tick
 | 
					  _delay_ms(10); // gets rid of tick
 | 
				
			||||||
 | 
				
			|||||||
@ -139,14 +139,15 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// Changable Row Macro
 | 
					// Changable Row Macro
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define KEYMAP_ROW(LEFT_TYPE, RIGHT_TYPE, \
 | 
					#define _KEYMAP_ROW( _LEFT_TYPE, _RIGHT_TYPE, \
 | 
				
			||||||
  k001, k002, k003, k004, k005, k006, k007, k008, k009, k00A, k00B, k00C, k011, k012, k013, k014, k015, k016, k017, k018, k019, k01A, k01B, k01C \
 | 
					  k001, k002, k003, k004, k005, k006, k007, k008, k009, k00A, k00B, k00C, k011, k012, k013, k014, k015, k016, k017, k018, k019, k01A, k01B, k01C \
 | 
				
			||||||
) \
 | 
					) \
 | 
				
			||||||
KEYMAP_ROW_LEFT_ ## LEFT_TYPE(k001, k002, k003, k004, k005, k006, k007, k008, k009, k00A, k00B, k00C), KEYMAP_ROW_RIGHT_ ## RIGHT_TYPE(k011, k012, k013, k014, k015, k016, k017, k018, k019, k01A, k01B, k01C)
 | 
					KEYMAP_ROW_LEFT_ ## _LEFT_TYPE(   k001, k002, k003, k004, k005, k006, k007, k008, k009, k00A, k00B, k00C ), \
 | 
				
			||||||
 | 
					KEYMAP_ROW_RIGHT_ ## _RIGHT_TYPE( k011, k012, k013, k014, k015, k016, k017, k018, k019, k01A, k01B, k01C )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Changable Master Macro
 | 
					// Changable Master Macro
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define KEYMAP_MASTER(LEFT_TYPE, RIGHT_TYPE, \
 | 
					#define KEYMAP_MASTER(_MATRIX_LAYER, _LEFT_TYPE, _RIGHT_TYPE, \
 | 
				
			||||||
                                            k001, k002, k003, k004,       k005, k006, k007, k008, k009, k00A, k00B, k00C,       k011, k012, k013, k014, k015, k016, k017, k018,       k019, k01A, k01B, k01C, \
 | 
					                                            k001, k002, k003, k004,       k005, k006, k007, k008, k009, k00A, k00B, k00C,       k011, k012, k013, k014, k015, k016, k017, k018,       k019, k01A, k01B, k01C, \
 | 
				
			||||||
                                            k101, k102, k103, k104,       k105, k106, k107, k108, k109, k10A, k10B, k10C,       k111, k112, k113, k114, k115, k116, k117, k118,       k119, k11A, k11B, k11C, \
 | 
					                                            k101, k102, k103, k104,       k105, k106, k107, k108, k109, k10A, k10B, k10C,       k111, k112, k113, k114, k115, k116, k117, k118,       k119, k11A, k11B, k11C, \
 | 
				
			||||||
                                            k201, k202, k203, k204,       k205, k206, k207, k208, k209, k20A, k20B, k20C,       k211, k212, k213, k214, k215, k216, k217, k218,       k219, k21A, k21B, k21C, \
 | 
					                                            k201, k202, k203, k204,       k205, k206, k207, k208, k209, k20A, k20B, k20C,       k211, k212, k213, k214, k215, k216, k217, k218,       k219, k21A, k21B, k21C, \
 | 
				
			||||||
@ -154,13 +155,13 @@ KEYMAP_ROW_LEFT_ ## LEFT_TYPE(k001, k002, k003, k004, k005, k006, k007, k008, k0
 | 
				
			|||||||
                                            k401, k402, k403, k404,       k405, k406, k407, k408, k409, k40A, k40B, k40C,       k411, k412, k413, k414, k415, k416, k417, k418,       k419, k41A, k41B, k41C, \
 | 
					                                            k401, k402, k403, k404,       k405, k406, k407, k408, k409, k40A, k40B, k40C,       k411, k412, k413, k414, k415, k416, k417, k418,       k419, k41A, k41B, k41C, \
 | 
				
			||||||
                                            k501, k502, k503, k504,       k505, k506, k507, k508, k509, k50A, k50B, k50C,       k511, k512, k513, k514, k515, k516, k517, k518,       k519, k51A, k51B, k51C  \
 | 
					                                            k501, k502, k503, k504,       k505, k506, k507, k508, k509, k50A, k50B, k50C,       k511, k512, k513, k514, k515, k516, k517, k518,       k519, k51A, k51B, k51C  \
 | 
				
			||||||
) \
 | 
					) \
 | 
				
			||||||
{ \
 | 
					[_MATRIX_LAYER] = { \
 | 
				
			||||||
    { KEYMAP_ROW(LEFT_TYPE, RIGHT_TYPE, k001, k002, k003, k004, k005, k006, k007, k008, k009, k00A, k00B, k00C, k011, k012, k013, k014, k015, k016, k017, k018, k019, k01A, k01B, k01C ) },\
 | 
					    { _KEYMAP_ROW( _LEFT_TYPE, _RIGHT_TYPE, k001, k002, k003, k004,       k005, k006, k007, k008, k009, k00A, k00B, k00C,       k011, k012, k013, k014, k015, k016, k017, k018,       k019, k01A, k01B, k01C ) },\
 | 
				
			||||||
    { KEYMAP_ROW(LEFT_TYPE, RIGHT_TYPE, k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k10B, k10C, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, k11C ) },\
 | 
					    { _KEYMAP_ROW( _LEFT_TYPE, _RIGHT_TYPE, k101, k102, k103, k104,       k105, k106, k107, k108, k109, k10A, k10B, k10C,       k111, k112, k113, k114, k115, k116, k117, k118,       k119, k11A, k11B, k11C ) },\
 | 
				
			||||||
    { KEYMAP_ROW(LEFT_TYPE, RIGHT_TYPE, k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k20B, k20C, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, k21C ) },\
 | 
					    { _KEYMAP_ROW( _LEFT_TYPE, _RIGHT_TYPE, k201, k202, k203, k204,       k205, k206, k207, k208, k209, k20A, k20B, k20C,       k211, k212, k213, k214, k215, k216, k217, k218,       k219, k21A, k21B, k21C ) },\
 | 
				
			||||||
    { KEYMAP_ROW(LEFT_TYPE, RIGHT_TYPE, k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k30B, k30C, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, k31C ) },\
 | 
					    { _KEYMAP_ROW( _LEFT_TYPE, _RIGHT_TYPE, k301, k302, k303, k304,       k305, k306, k307, k308, k309, k30A, k30B, k30C,       k311, k312, k313, k314, k315, k316, k317, k318,       k319, k31A, k31B, k31C ) },\
 | 
				
			||||||
    { KEYMAP_ROW(LEFT_TYPE, RIGHT_TYPE, k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, k40B, k40C, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, k41C ) },\
 | 
					    { _KEYMAP_ROW( _LEFT_TYPE, _RIGHT_TYPE, k401, k402, k403, k404,       k405, k406, k407, k408, k409, k40A, k40B, k40C,       k411, k412, k413, k414, k415, k416, k417, k418,       k419, k41A, k41B, k41C ) },\
 | 
				
			||||||
    { KEYMAP_ROW(LEFT_TYPE, RIGHT_TYPE, k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k50B, k50C, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, k51C ) },\
 | 
					    { _KEYMAP_ROW( _LEFT_TYPE, _RIGHT_TYPE, k501, k502, k503, k504,       k505, k506, k507, k508, k509, k50A, k50B, k50C,       k511, k512, k513, k514, k515, k516, k517, k518,       k519, k51A, k51B, k51C ) },\
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -63,7 +63,7 @@ COMMAND_ENABLE ?= yes        # Commands for debug and configuration
 | 
				
			|||||||
SLEEP_LED_ENABLE ?= no       # Breathing sleep LED during USB suspend
 | 
					SLEEP_LED_ENABLE ?= no       # Breathing sleep LED during USB suspend
 | 
				
			||||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
 | 
					# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
 | 
				
			||||||
NKRO_ENABLE ?= yes           # USB Nkey Rollover
 | 
					NKRO_ENABLE ?= yes           # USB Nkey Rollover
 | 
				
			||||||
BACKLIGHT_ENABLE ?= no       # Enable keyboard backlight functionality on B7 by default
 | 
					BACKLIGHT_ENABLE ?= yes      # Enable keyboard backlight functionality on B7 by default
 | 
				
			||||||
MIDI_ENABLE ?= no            # MIDI controls
 | 
					MIDI_ENABLE ?= no            # MIDI controls
 | 
				
			||||||
UNICODE_ENABLE ?= no         # Unicode
 | 
					UNICODE_ENABLE ?= no         # Unicode
 | 
				
			||||||
BLUETOOTH_ENABLE ?= no       # Enable Bluetooth with the Adafruit EZ-Key HID
 | 
					BLUETOOTH_ENABLE ?= no       # Enable Bluetooth with the Adafruit EZ-Key HID
 | 
				
			||||||
 | 
				
			|||||||
@ -24,5 +24,45 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
 | 
				
			|||||||
void led_set_kb(uint8_t usb_led) {
 | 
					void led_set_kb(uint8_t usb_led) {
 | 
				
			||||||
	// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
 | 
						// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (usb_led & (1 << USB_LED_CAPS_LOCK))
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    // HI
 | 
				
			||||||
 | 
					    DDRD  |= (1<<4);
 | 
				
			||||||
 | 
					    PORTD |= (1<<4);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    // Hi-Z
 | 
				
			||||||
 | 
					    DDRD  &= ~(1<<4);
 | 
				
			||||||
 | 
					    PORTD &= ~(1<<4);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (usb_led & (1 << USB_LED_NUM_LOCK))
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    // HI
 | 
				
			||||||
 | 
					    DDRD  |= (1<<5);
 | 
				
			||||||
 | 
					    PORTD |= (1<<5);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    // Hi-Z
 | 
				
			||||||
 | 
					    DDRD  &= ~(1<<5);
 | 
				
			||||||
 | 
					    PORTD &= ~(1<<5);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (usb_led & (1 << USB_LED_SCROLL_LOCK))
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    // HI
 | 
				
			||||||
 | 
					    DDRD  |= (1<<6);
 | 
				
			||||||
 | 
					    PORTD |= (1<<6);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    // Hi-Z
 | 
				
			||||||
 | 
					    DDRD  &= ~(1<<6);
 | 
				
			||||||
 | 
					    PORTD &= ~(1<<6);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	led_set_user(usb_led);
 | 
						led_set_user(usb_led);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user