/* Copyright 2016-2017 Jack Humbert
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  This  program  is  free  software :  you  can  redistribute  it  and / or  modify 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  it  under  the  terms  of  the  GNU  General  Public  License  as  published  by 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  the  Free  Software  Foundation ,  either  version  2  of  the  License ,  or 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  ( at  your  option )  any  later  version . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  This  program  is  distributed  in  the  hope  that  it  will  be  useful , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  but  WITHOUT  ANY  WARRANTY ;  without  even  the  implied  warranty  of 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  MERCHANTABILITY  or  FITNESS  FOR  A  PARTICULAR  PURPOSE .   See  the 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  GNU  General  Public  License  for  more  details . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  You  should  have  received  a  copy  of  the  GNU  General  Public  License 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  along  with  this  program .   If  not ,  see  < http : //www.gnu.org/licenses/>.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# ifndef QUANTUM_KEYCODES_H 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define QUANTUM_KEYCODES_H 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# ifndef MIDI_ENABLE_STRICT 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define MIDI_ENABLE_STRICT 0 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if !MIDI_ENABLE_STRICT || (defined(MIDI_ENABLE) && defined(MIDI_ADVANCED)) 
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# ifndef MIDI_TONE_KEYCODE_OCTAVES 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define MIDI_TONE_KEYCODE_OCTAVES 3 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								// Fillers to make layering more clear
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define _______ KC_TRNS 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define XXXXXXX KC_NO 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								enum  quantum_keycodes  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // Ranges used in shortucuts - not to be used directly
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_TMK                 =  0x0000 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_TMK_MAX             =  0x00FF , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_MODS                =  0x0100 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_LCTL                =  0x0100 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_LSFT                =  0x0200 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_LALT                =  0x0400 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_LGUI                =  0x0800 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_RMODS_MIN           =  0x1000 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_RCTL                =  0x1100 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_RSFT                =  0x1200 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_RALT                =  0x1400 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_RGUI                =  0x1800 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_MODS_MAX            =  0x1FFF , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_FUNCTION            =  0x2000 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_FUNCTION_MAX        =  0x2FFF , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_MACRO               =  0x3000 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_MACRO_MAX           =  0x3FFF , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_LAYER_TAP           =  0x4000 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_LAYER_TAP_MAX       =  0x4FFF , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_TO                  =  0x5000 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_TO_MAX              =  0x50FF , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_MOMENTARY           =  0x5100 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_MOMENTARY_MAX       =  0x51FF , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_DEF_LAYER           =  0x5200 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_DEF_LAYER_MAX       =  0x52FF , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_TOGGLE_LAYER        =  0x5300 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_TOGGLE_LAYER_MAX    =  0x53FF , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_ONE_SHOT_LAYER      =  0x5400 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_ONE_SHOT_LAYER_MAX  =  0x54FF , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_ONE_SHOT_MOD        =  0x5500 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_ONE_SHOT_MOD_MAX    =  0x55FF , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# ifndef DISABLE_CHORDING 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_CHORDING            =  0x5600 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_CHORDING_MAX        =  0x56FF , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								    QK_TAP_DANCE           =  0x5700 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_TAP_DANCE_MAX       =  0x57FF , 
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								    QK_LAYER_TAP_TOGGLE    =  0x5800 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_LAYER_TAP_TOGGLE_MAX  =  0x58FF , 
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# ifdef STENO_ENABLE 
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								    QK_STENO               =  0x5A00 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_STENO_BOLT          =  0x5A30 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_STENO_GEMINI        =  0x5A31 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_STENO_MAX           =  0x5A3F , 
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								    QK_MOD_TAP             =  0x6000 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_MOD_TAP_MAX         =  0x7FFF , 
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# if defined(UNICODEMAP_ENABLE) && defined(UNICODE_ENABLE) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # error "Cannot enable both UNICODEMAP && UNICODE" 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# ifdef UNICODE_ENABLE 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_UNICODE             =  0x8000 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_UNICODE_MAX         =  0xFFFF , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# ifdef UNICODEMAP_ENABLE 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_UNICODE_MAP         =  0x8000 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    QK_UNICODE_MAP_MAX     =  0x83FF , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // Loose keycodes - to be used directly
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								    RESET  =  0x5C00 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    DEBUG , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MAGIC_SWAP_CONTROL_CAPSLOCK , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MAGIC_CAPSLOCK_TO_CONTROL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MAGIC_SWAP_LALT_LGUI , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MAGIC_SWAP_RALT_RGUI , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MAGIC_NO_GUI , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MAGIC_SWAP_GRAVE_ESC , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MAGIC_SWAP_BACKSLASH_BACKSPACE , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MAGIC_HOST_NKRO , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MAGIC_SWAP_ALT_GUI , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MAGIC_UNSWAP_CONTROL_CAPSLOCK , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MAGIC_UNCAPSLOCK_TO_CONTROL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MAGIC_UNSWAP_LALT_LGUI , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MAGIC_UNSWAP_RALT_RGUI , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MAGIC_UNNO_GUI , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MAGIC_UNSWAP_GRAVE_ESC , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MAGIC_UNSWAP_BACKSLASH_BACKSPACE , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MAGIC_UNHOST_NKRO , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MAGIC_UNSWAP_ALT_GUI , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MAGIC_TOGGLE_NKRO , 
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								    GRAVE_ESC , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // Leader key
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# ifndef DISABLE_LEADER 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    KC_LEAD , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // Audio on/off/toggle
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    AU_ON , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    AU_OFF , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    AU_TOG , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# ifdef FAUXCLICKY_ENABLE 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // Faux clicky
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    FC_ON , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    FC_OFF , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    FC_TOG , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // Music mode on/off/toggle
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MU_ON , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MU_OFF , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MU_TOG , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								    // Music mode cycle
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MU_MOD , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // Music voice iterate
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MUV_IN , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MUV_DE , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								    // Midi
 
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# if !MIDI_ENABLE_STRICT || (defined(MIDI_ENABLE) && defined(MIDI_BASIC)) 
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								    MI_ON ,   // send midi notes when music mode is enabled
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_OFF ,  // don't send midi notes when music mode is enabled
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# if !MIDI_ENABLE_STRICT || (defined(MIDI_ENABLE) && defined(MIDI_ADVANCED)) 
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								    MIDI_TONE_MIN , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# if !MIDI_ENABLE_STRICT || MIDI_TONE_KEYCODE_OCTAVES > 0 
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								    MI_C  =  MIDI_TONE_MIN , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Cs , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Db  =  MI_Cs , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_D , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Ds , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Eb  =  MI_Ds , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_E , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_F , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Fs , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Gb  =  MI_Fs , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_G , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Gs , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Ab  =  MI_Gs , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_A , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_As , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Bb  =  MI_As , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_B , 
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# if !MIDI_ENABLE_STRICT || MIDI_TONE_KEYCODE_OCTAVES > 1 
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								    MI_C_1 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Cs_1 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Db_1  =  MI_Cs_1 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_D_1 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Ds_1 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Eb_1  =  MI_Ds_1 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_E_1 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_F_1 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Fs_1 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Gb_1  =  MI_Fs_1 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_G_1 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Gs_1 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Ab_1  =  MI_Gs_1 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_A_1 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_As_1 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Bb_1  =  MI_As_1 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_B_1 , 
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# if !MIDI_ENABLE_STRICT || MIDI_TONE_KEYCODE_OCTAVES > 2 
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								    MI_C_2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Cs_2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Db_2  =  MI_Cs_2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_D_2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Ds_2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Eb_2  =  MI_Ds_2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_E_2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_F_2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Fs_2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Gb_2  =  MI_Fs_2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_G_2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Gs_2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Ab_2  =  MI_Gs_2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_A_2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_As_2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Bb_2  =  MI_As_2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_B_2 , 
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# if !MIDI_ENABLE_STRICT || MIDI_TONE_KEYCODE_OCTAVES > 3 
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								    MI_C_3 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Cs_3 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Db_3  =  MI_Cs_3 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_D_3 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Ds_3 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Eb_3  =  MI_Ds_3 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_E_3 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_F_3 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Fs_3 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Gb_3  =  MI_Fs_3 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_G_3 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Gs_3 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Ab_3  =  MI_Gs_3 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_A_3 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_As_3 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Bb_3  =  MI_As_3 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_B_3 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# if !MIDI_ENABLE_STRICT || MIDI_TONE_KEYCODE_OCTAVES > 4 
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								    MI_C_4 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Cs_4 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Db_4  =  MI_Cs_4 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_D_4 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Ds_4 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Eb_4  =  MI_Ds_4 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_E_4 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_F_4 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Fs_4 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Gb_4  =  MI_Fs_4 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_G_4 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Gs_4 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Ab_4  =  MI_Gs_4 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_A_4 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_As_4 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Bb_4  =  MI_As_4 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_B_4 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# if !MIDI_ENABLE_STRICT || MIDI_TONE_KEYCODE_OCTAVES > 5 
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								    MI_C_5 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Cs_5 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Db_5  =  MI_Cs_5 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_D_5 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Ds_5 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Eb_5  =  MI_Ds_5 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_E_5 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_F_5 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Fs_5 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Gb_5  =  MI_Fs_5 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_G_5 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Gs_5 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Ab_5  =  MI_Gs_5 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_A_5 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_As_5 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_Bb_5  =  MI_As_5 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_B_5 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# if !MIDI_ENABLE_STRICT || MIDI_TONE_KEYCODE_OCTAVES > 5 
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								    MIDI_TONE_MAX  =  MI_B_5 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# elif MIDI_TONE_KEYCODE_OCTAVES > 4 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MIDI_TONE_MAX  =  MI_B_4 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# elif MIDI_TONE_KEYCODE_OCTAVES > 3 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MIDI_TONE_MAX  =  MI_B_3 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# elif MIDI_TONE_KEYCODE_OCTAVES > 2 
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								    MIDI_TONE_MAX  =  MI_B_2 , 
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# elif MIDI_TONE_KEYCODE_OCTAVES > 1 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MIDI_TONE_MAX  =  MI_B_1 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# elif MIDI_TONE_KEYCODE_OCTAVES > 0 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MIDI_TONE_MAX  =  MI_B , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MIDI_OCTAVE_MIN , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_OCT_N2  =  MIDI_OCTAVE_MIN , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_OCT_N1 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_OCT_0 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_OCT_1 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_OCT_2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_OCT_3 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_OCT_4 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_OCT_5 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_OCT_6 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_OCT_7 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MIDI_OCTAVE_MAX  =  MI_OCT_7 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_OCTD ,  // octave down
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_OCTU ,  // octave up
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								    MIDI_TRANSPOSE_MIN , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_TRNS_N6  =  MIDI_TRANSPOSE_MIN , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_TRNS_N5 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_TRNS_N4 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_TRNS_N3 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_TRNS_N2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_TRNS_N1 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_TRNS_0 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_TRNS_1 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_TRNS_2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_TRNS_3 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_TRNS_4 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_TRNS_5 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_TRNS_6 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MIDI_TRANSPOSE_MAX  =  MI_TRNS_6 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_TRNSD ,  // transpose down
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_TRNSU ,  // transpose up
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								    MIDI_VELOCITY_MIN , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_VEL_1  =  MIDI_VELOCITY_MIN , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_VEL_2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_VEL_3 , 
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								    MI_VEL_4 , 
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								    MI_VEL_5 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_VEL_6 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_VEL_7 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_VEL_8 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_VEL_9 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_VEL_10 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MIDI_VELOCITY_MAX  =  MI_VEL_10 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_VELD ,  // velocity down
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_VELU ,  // velocity up
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MIDI_CHANNEL_MIN , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_CH1  =  MIDI_CHANNEL_MIN , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_CH2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_CH3 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_CH4 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_CH5 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_CH6 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_CH7 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_CH8 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_CH9 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_CH10 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_CH11 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_CH12 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_CH13 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_CH14 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_CH15 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_CH16 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MIDI_CHANNEL_MAX  =  MI_CH16 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_CHD ,  // previous channel
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_CHU ,  // next channel
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								    MI_ALLOFF ,  // all notes off
 
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								    MI_SUS ,  // sustain
 
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								    MI_PORT ,  // portamento
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_SOST ,  // sostenuto
 
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								    MI_SOFT ,  // soft pedal
 
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								    MI_LEG ,   // legato
 
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_MOD ,  // modulation
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_MODSD ,  // decrease modulation speed
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    MI_MODSU ,  // increase modulation speed
 
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# endif  // MIDI_ADVANCED
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // Backlight functionality
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    BL_0 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    BL_1 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    BL_2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    BL_3 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    BL_4 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    BL_5 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    BL_6 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    BL_7 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    BL_8 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    BL_9 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    BL_10 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    BL_11 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    BL_12 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    BL_13 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    BL_14 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    BL_15 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    BL_DEC , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    BL_INC , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    BL_TOGG , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    BL_STEP , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // RGB functionality
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    RGB_TOG , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    RGB_MOD , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    RGB_HUI , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    RGB_HUD , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    RGB_SAI , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    RGB_SAD , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    RGB_VAI , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    RGB_VAD , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // Left shift, open paren
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    KC_LSPO , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // Right shift, close paren
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    KC_RSPC , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // Printing
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PRINT_ON , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PRINT_OFF , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								    // output selection
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    OUT_AUTO , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    OUT_USB , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# ifdef BLUETOOTH_ENABLE 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    OUT_BT , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // always leave at the end
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    SAFE_RANGE 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Ability to use mods in layouts
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define LCTL(kc) (kc | QK_LCTL) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define LSFT(kc) (kc | QK_LSFT) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define LALT(kc) (kc | QK_LALT) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define LGUI(kc) (kc | QK_LGUI) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define RCTL(kc) (kc | QK_RCTL) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define RSFT(kc) (kc | QK_RSFT) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define RALT(kc) (kc | QK_RALT) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define RGUI(kc) (kc | QK_RGUI) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define HYPR(kc) (kc | QK_LCTL | QK_LSFT | QK_LALT | QK_LGUI) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define MEH(kc)  (kc | QK_LCTL | QK_LSFT | QK_LALT) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define LCAG(kc) (kc | QK_LCTL | QK_LALT | QK_LGUI) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define ALTG(kc) (kc | QK_RCTL | QK_RALT) 
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define SCMD(kc) (kc | QK_LGUI | QK_LSFT) 
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define SWIN(kc) SCMD(kc) 
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define LCA(kc) (kc | QK_LCTL | QK_LALT) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define MOD_HYPR 0xf 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define MOD_MEH 0x7 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Aliases for shifted symbols
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Each key has a 4-letter code, and some have longer aliases too.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// While the long aliases are descriptive, the 4-letter codes
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// make for nicer grid layouts (everything lines up), and are
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// the preferred style for Quantum.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_TILD LSFT(KC_GRV)     // ~
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_TILDE    KC_TILD 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_EXLM LSFT(KC_1)       // !
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_EXCLAIM  KC_EXLM 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_AT   LSFT(KC_2)       // @
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_HASH LSFT(KC_3)       // #
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_DLR  LSFT(KC_4)       // $
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_DOLLAR   KC_DLR 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_PERC LSFT(KC_5)       // %
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_PERCENT  KC_PERC 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_CIRC LSFT(KC_6)       // ^
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_CIRCUMFLEX   KC_CIRC 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_AMPR LSFT(KC_7)       // &
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_AMPERSAND    KC_AMPR 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_ASTR LSFT(KC_8)       // *
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_ASTERISK KC_ASTR 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_LPRN LSFT(KC_9)       // (
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_LEFT_PAREN   KC_LPRN 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_RPRN LSFT(KC_0)       // )
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_RIGHT_PAREN  KC_RPRN 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_UNDS LSFT(KC_MINS)    // _
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_UNDERSCORE   KC_UNDS 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_PLUS LSFT(KC_EQL)     // +
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_LCBR LSFT(KC_LBRC)    // {
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_LEFT_CURLY_BRACE KC_LCBR 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_RCBR LSFT(KC_RBRC)    // }
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_RIGHT_CURLY_BRACE    KC_RCBR 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_LABK LSFT(KC_COMM)    // <
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_LEFT_ANGLE_BRACKET   KC_LABK 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_RABK LSFT(KC_DOT)     // >
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_RIGHT_ANGLE_BRACKET  KC_RABK 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_COLN LSFT(KC_SCLN)    // :
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_COLON    KC_COLN 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_PIPE LSFT(KC_BSLS)    // |
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_LT LSFT(KC_COMM)      // <
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_GT LSFT(KC_DOT)       // >
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_QUES LSFT(KC_SLSH)    // ?
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_QUESTION KC_QUES 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_DQT LSFT(KC_QUOT)    // "
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_DOUBLE_QUOTE KC_DQT 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_DQUO KC_DQT 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_DELT KC_DELETE  // Del key (four letter code)
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Alias for function layers than expand past FN31
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define FUNC(kc) (kc | QK_FUNCTION) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Aliases
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define S(kc) LSFT(kc) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define F(kc) FUNC(kc) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define M(kc) (kc | QK_MACRO) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define MACROTAP(kc) (kc | QK_MACRO | FUNC_TAP<<8) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define MACRODOWN(...) (record->event.pressed ? MACRO(__VA_ARGS__) : MACRO_NONE) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define KC_GESC GRAVE_ESC 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// L-ayer, T-ap - 256 keycode max, 16 layer max
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define LT(layer, kc) (kc | QK_LAYER_TAP | ((layer & 0xF) << 8)) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define AG_SWAP MAGIC_SWAP_ALT_GUI 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define AG_NORM MAGIC_UNSWAP_ALT_GUI 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define BL_ON  BL_9 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define BL_OFF BL_0 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// GOTO layer - 16 layers max
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// when:
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// ON_PRESS    = 1
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// ON_RELEASE  = 2
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Unless you have a good reason not to do so, prefer  ON_PRESS (1) as your default.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// In fact, we changed it to assume ON_PRESS for sanity/simplicity. If needed, you can add your own
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// keycode modeled after the old version, kept below for this.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* #define TO(layer, when) (layer | QK_TO | (when << 0x4)) */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define TO(layer) (layer | QK_TO | (ON_PRESS << 0x4)) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Momentary switch layer - 256 layer max
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define MO(layer) (layer | QK_MOMENTARY) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Set default layer - 256 layer max
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define DF(layer) (layer | QK_DEF_LAYER) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Toggle to layer - 256 layer max
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define TG(layer) (layer | QK_TOGGLE_LAYER) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// One-shot layer - 256 layer max
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define OSL(layer) (layer | QK_ONE_SHOT_LAYER) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// One-shot mod
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define OSM(mod) ((mod) | QK_ONE_SHOT_MOD) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								// Layer tap-toggle
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define TT(layer) (layer | QK_LAYER_TAP_TOGGLE) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// M-od, T-ap - 256 keycode max
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define MT(mod, kc) (kc | QK_MOD_TAP | (((mod) & 0x1F) << 8)) 
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define CTL_T(kc) MT(MOD_LCTL, kc) 
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define LCTL_T(kc) MT(MOD_LCTL, kc) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define RCTL_T(kc) MT(MOD_RCTL, kc) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define SFT_T(kc) MT(MOD_LSFT, kc) 
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define LSFT_T(kc) MT(MOD_LSFT, kc) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define RSFT_T(kc) MT(MOD_RSFT, kc) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define ALT_T(kc) MT(MOD_LALT, kc) 
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define LALT_T(kc) MT(MOD_LALT, kc) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define RALT_T(kc) MT(MOD_RALT, kc) 
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define ALGR_T(kc) MT(MOD_RALT, kc)  // dual-function AltGR
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define GUI_T(kc) MT(MOD_LGUI, kc) 
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define LGUI_T(kc) MT(MOD_LGUI, kc) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define RGUI_T(kc) MT(MOD_RGUI, kc) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define C_S_T(kc) MT((MOD_LCTL | MOD_LSFT), kc)  // Control + Shift e.g. for gnome-terminal
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define MEH_T(kc) MT((MOD_LCTL | MOD_LSFT | MOD_LALT), kc)  // Meh is a less hyper version of the Hyper key -- doesn't include Win or Cmd, so just alt+shift+ctrl
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define LCAG_T(kc) MT((MOD_LCTL | MOD_LALT | MOD_LGUI), kc)  // Left control alt and gui
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define RCAG_T(kc) MT((MOD_RCTL | MOD_RALT | MOD_RGUI), kc)  // Right control alt and gui
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define ALL_T(kc) MT((MOD_LCTL | MOD_LSFT | MOD_LALT | MOD_LGUI), kc)  // see http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define SCMD_T(kc) MT((MOD_LGUI | MOD_LSFT), kc) 
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define SWIN_T(kc) SCMD_T(kc) 
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define LCA_T(kc) MT((MOD_LCTL | MOD_LALT), kc)  // Left control and left alt
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Dedicated keycode versions for Hyper and Meh, if you want to use them as standalone keys rather than mod-tap
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_HYPR HYPR(KC_NO) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define KC_MEH  MEH(KC_NO) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# ifdef UNICODE_ENABLE 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // For sending unicode codes.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // You may not send codes over 7FFF -- this supports most of UTF8.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // To have a key that sends out Œ, go UC(0x0152)
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # define UNICODE(n) (n | QK_UNICODE) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # define UC(n) UNICODE(n) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# ifdef UNICODEMAP_ENABLE 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # define X(n) (n | QK_UNICODE_MAP) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif  // QUANTUM_KEYCODES_H