[Keymap] laurentlaurent's preonic keymap (#6977)
* Removed ugfx binary because of antivirus * Created laurent's keymap * Made QWERTY Mac and QWERTY Windows * Rev 1.0, added _PUNC, _NAV, _EXTRA * REV 1.1, Dynamic macros start/stop now plays a sound, Lower acts like backspace on tap * Formatting fixes * Added Intellisense macro, fixed formatting * Improved ergonomics/muscle mem on punctuation lay * Added Raise Tap to Backspace * Mirrored Ergodox, added One-Handed * Added layers in README.md, added Caps lock, Scroll lock * Moved Caps to better location * Added ErgoDox link * Edit Readme.md with more layer switching information * Modified _PUNC for muscle memory * Reverted .gitignore and .vscode settings.json to reflect master * Improved formatting according to PR review * QMK_KEYBOARD_H def for Intellisense fixed->rev3.h * .gitignore diff fix * Fixing settings.json diff * Update settings.json * Update keyboards/preonic/keymaps/laurentlaurent/keymap.c Co-Authored-By: fauxpark <fauxpark@gmail.com>
This commit is contained in:
		
							parent
							
								
									76378d74f5
								
							
						
					
					
						commit
						22aa2ce6b2
					
				
					 5 changed files with 987 additions and 0 deletions
				
			
		
							
								
								
									
										41
									
								
								keyboards/preonic/keymaps/laurentlaurent/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								keyboards/preonic/keymaps/laurentlaurent/config.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,41 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
#ifdef AUDIO_ENABLE
 | 
			
		||||
    #define STARTUP_SONG SONG(PREONIC_SOUND)
 | 
			
		||||
    // #define STARTUP_SONG SONG(NO_SOUND)
 | 
			
		||||
 | 
			
		||||
    #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
 | 
			
		||||
                                  SONG(COLEMAK_SOUND), \
 | 
			
		||||
                                  SONG(DVORAK_SOUND) \
 | 
			
		||||
                                }
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define MUSIC_MASK (keycode != KC_NO)
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * MIDI options
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/* Prevent use of disabled MIDI features in the keymap */
 | 
			
		||||
//#define MIDI_ENABLE_STRICT 1
 | 
			
		||||
 | 
			
		||||
/* enable basic MIDI features:
 | 
			
		||||
   - MIDI notes can be sent when in Music mode is on
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#define MIDI_BASIC
 | 
			
		||||
 | 
			
		||||
/* enable advanced MIDI features:
 | 
			
		||||
   - MIDI notes can be added to the keymap
 | 
			
		||||
   - Octave shift and transpose
 | 
			
		||||
   - Virtual sustain, portamento, and modulation wheel
 | 
			
		||||
   - etc.
 | 
			
		||||
*/
 | 
			
		||||
//#define MIDI_ADVANCED
 | 
			
		||||
 | 
			
		||||
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
 | 
			
		||||
//#define MIDI_TONE_KEYCODE_OCTAVES 2
 | 
			
		||||
 | 
			
		||||
// Fix Home Row mod keys
 | 
			
		||||
#define IGNORE_MOD_TAP_INTERRUPT
 | 
			
		||||
//#define RETRO_TAPPING
 | 
			
		||||
							
								
								
									
										603
									
								
								keyboards/preonic/keymaps/laurentlaurent/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										603
									
								
								keyboards/preonic/keymaps/laurentlaurent/keymap.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,603 @@
 | 
			
		|||
/* Laurent's Preonic Layout
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
// For IntelliSense
 | 
			
		||||
    #ifdef __INTELLISENSE__
 | 
			
		||||
        #include "../../rev3/config.h"
 | 
			
		||||
        #include "../../rev3/rev3.h"
 | 
			
		||||
        enum dynamic_macro_keycodes {
 | 
			
		||||
            DYN_REC_START1 = DYNAMIC_MACRO_RANGE,
 | 
			
		||||
            DYN_REC_START2,
 | 
			
		||||
            DYN_REC_STOP,
 | 
			
		||||
            DYN_MACRO_PLAY1,
 | 
			
		||||
            DYN_MACRO_PLAY2,
 | 
			
		||||
        };
 | 
			
		||||
        #define QMK_KEYBOARD_H "rev3.h"
 | 
			
		||||
    #endif
 | 
			
		||||
 | 
			
		||||
    #include QMK_KEYBOARD_H
 | 
			
		||||
    #include "muse.h"
 | 
			
		||||
 | 
			
		||||
// ==== These keys allows usage of the home row as modifiers (when held) ====
 | 
			
		||||
// Very bad for gaming, switch to gaming layout
 | 
			
		||||
 | 
			
		||||
    // For _QWERTY_MAC
 | 
			
		||||
        // S and L into Ctrl
 | 
			
		||||
    #define LCT_S LCTL_T(KC_S)
 | 
			
		||||
    #define LCT_L LCTL_T(KC_L)
 | 
			
		||||
        // F, J and Z into CMD
 | 
			
		||||
    #define LWN_F LGUI_T(KC_F)
 | 
			
		||||
    #define LWN_Z LGUI_T(KC_Z)
 | 
			
		||||
    #define LWN_J LGUI_T(KC_J)
 | 
			
		||||
 | 
			
		||||
    // For _QWERTY_WIN
 | 
			
		||||
        // S and L into WIN
 | 
			
		||||
    #define LWN_S LGUI_T(KC_S)
 | 
			
		||||
    #define LWN_L LGUI_T(KC_L)
 | 
			
		||||
        // F, J and Z into Ctrl
 | 
			
		||||
    #define LCT_F LCTL_T(KC_F)
 | 
			
		||||
    #define LCT_Z LCTL_T(KC_Z)
 | 
			
		||||
    #define LCT_J LCTL_T(KC_J)
 | 
			
		||||
 | 
			
		||||
// ============================================================================
 | 
			
		||||
 | 
			
		||||
// ==== For All ====
 | 
			
		||||
 | 
			
		||||
    // Layout helper
 | 
			
		||||
        #define __LYB__ KC_TRANSPARENT
 | 
			
		||||
 | 
			
		||||
    // Mod Tap
 | 
			
		||||
            // Changing K and D into Alt
 | 
			
		||||
        #define LAT_D LALT_T(KC_D)
 | 
			
		||||
        #define LAT_K LALT_T(KC_K)
 | 
			
		||||
            // Equal into Ctrl+Alt+Cmd
 | 
			
		||||
        #define LCAGEQ LCAG_T(KC_EQUAL)
 | 
			
		||||
            // Esc into Meh
 | 
			
		||||
        #define LMHESC MEH_T(KC_ESC)
 | 
			
		||||
            // Space into Shift
 | 
			
		||||
        #define LSHFSP SFT_T(KC_SPACE)
 | 
			
		||||
            // Backspace into Shift
 | 
			
		||||
        #define LSHFBK SFT_T(KC_BSPACE)
 | 
			
		||||
 | 
			
		||||
    // Switching layers
 | 
			
		||||
        #define LTO_BS TO(_QWERTY_MAC)          // Go to Base Layer
 | 
			
		||||
            // Go to _NAV
 | 
			
		||||
        #define LLY_SC LT(_NAV, KC_SCLN)        // From ;
 | 
			
		||||
        #define LLY_A LT(_NAV, KC_A)            // From A
 | 
			
		||||
            // Go to _PUNC
 | 
			
		||||
        #define LLY_TB LT(_PUNC, KC_TAB)        // From Tab
 | 
			
		||||
        #define LLY_BK LT(_PUNC, KC_BSPACE)     // From Backspace
 | 
			
		||||
        #define LLY_BS LT(_PUNC, KC_BSLASH)     // From Backslash
 | 
			
		||||
            // Others
 | 
			
		||||
        #define LLY_GR LT(_ONEHD, KC_GRV)       // Go to _ONEHD from `
 | 
			
		||||
        #define LLY_ET LT(_EXTRA, KC_ENT)       // Go to _EXTRA from Enter
 | 
			
		||||
        #define LLSWIT MO(_LYSWT)               // Layer Switcher
 | 
			
		||||
        #define LLY_DL LT(_NUM, KC_DEL)         // Go to _NUM from Delete
 | 
			
		||||
 | 
			
		||||
    // Shortcuts
 | 
			
		||||
        // Mac Windows Resizing
 | 
			
		||||
        #define LMW_L3 LCA(KC_E)                // Resize to 2/3 and move to the left
 | 
			
		||||
        #define LMW_FS LCA(KC_ENTER)            // Resize to full screen
 | 
			
		||||
        #define LMW_R3 LCA(KC_T)                // Resize to 2/3 and move to the right
 | 
			
		||||
        #define LMW_L1 LCA(KC_D)                // Resize to 1/3 and move to the left
 | 
			
		||||
        #define LMW_M1 LCA(KC_F)                // Resize to 1/3 and move to middle
 | 
			
		||||
        #define LMW_R1 LCA(KC_G)                // Resize to 1/3 and move to right
 | 
			
		||||
        #define LMW_TL LCA(KC_U)                // Fit on Top Left corner
 | 
			
		||||
        #define LMW_TR LCA(KC_I)                // Fit on Top Left corner
 | 
			
		||||
        #define LMW_BL LCA(KC_J)                // Fit on Top Left corner
 | 
			
		||||
        #define LMW_BR LCA(KC_K)                // Fit on Top Left corner
 | 
			
		||||
        #define LMW_LT LCA(KC_LEFT)             // Resize to 1/2 horizontally and move to the left
 | 
			
		||||
        #define LMW_BT LCA(KC_DOWN)             // Resize to 1/2 vertically and move to the bottom
 | 
			
		||||
        #define LMW_TP LCA(KC_UP)               // Resize to 1/2 vertically and move to the top
 | 
			
		||||
        #define LMW_RT LCA(KC_RIGHT)            // Resize to 1/2 horizontally and move to the right
 | 
			
		||||
 | 
			
		||||
// ==== Audio ====
 | 
			
		||||
    #ifdef AUDIO_ENABLE
 | 
			
		||||
        #include "audio.h"
 | 
			
		||||
        float tone_macro1_record[][2]     = SONG(CAPS_LOCK_ON_SOUND);
 | 
			
		||||
        float tone_macro2_record[][2]     = SONG(SCROLL_LOCK_ON_SOUND);
 | 
			
		||||
        float tone_macro_record_stop[][2] = SONG(SCROLL_LOCK_OFF_SOUND);
 | 
			
		||||
    #endif
 | 
			
		||||
 | 
			
		||||
enum preonic_layers {
 | 
			
		||||
    _QWERTY_MAC,
 | 
			
		||||
    _QWERTY_WIN,
 | 
			
		||||
    _GAMING,
 | 
			
		||||
    _MUSIC,
 | 
			
		||||
    _LOWER,
 | 
			
		||||
    _RAISE,
 | 
			
		||||
    _ADJUST,
 | 
			
		||||
    _PUNC,
 | 
			
		||||
    _EXTRA,
 | 
			
		||||
    _NUM,
 | 
			
		||||
    _NAV,
 | 
			
		||||
    _ONEHD,
 | 
			
		||||
    _LYSWT };
 | 
			
		||||
 | 
			
		||||
enum preonic_keycodes {
 | 
			
		||||
    QWERTY = SAFE_RANGE,
 | 
			
		||||
    QWWIN,
 | 
			
		||||
    // COLEMAK,
 | 
			
		||||
    // DVORAK,
 | 
			
		||||
    LOWER,
 | 
			
		||||
    RAISE,
 | 
			
		||||
    BACKLIT,
 | 
			
		||||
    DYNAMIC_MACRO_RANGE,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#include "dynamic_macro.h"
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
 | 
			
		||||
    /* Qwerty for Mac
 | 
			
		||||
     * ,-----------------------------------------------------------------------------------.
 | 
			
		||||
     * | CAG= |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  |  -   |
 | 
			
		||||
     * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
     * | LY|TB|   Q  |   W  |   E  |   R  |   T  |   Y  |   U  |   I  |   O  |   P  | LY|\ |
 | 
			
		||||
     * |------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
     * | Hyper| LY|A | CT/S | AT/D | WN/F |   G  |   H  | WN/J | AT/K | CT/L | LY|; |  "   |
 | 
			
		||||
     * |------+------+------+------+------+------|------+------+------+------+------+------|
 | 
			
		||||
     * | Shift| WN/Z |   X  |   C  |   V  |   B  |   N  |   M  |   ,  |   .  |   /  | Sh/Bk|
 | 
			
		||||
     * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
     * | LY|` |ESCMEH| LY|DL|LW|Bkp|LY|Bkp| Shift/Space |LY|ENT|RS|Bkp|   [  |   ]  |LY_SW |
 | 
			
		||||
     * `-----------------------------------------------------------------------------------'
 | 
			
		||||
     * LY|` 	-> To _NUM
 | 
			
		||||
     * LY|; 	-> To _NAV
 | 
			
		||||
     * LY|A 	-> To _NAV
 | 
			
		||||
     * LY|TB 	-> To _PUNC
 | 
			
		||||
     * LY|\ 	-> To _PUNC
 | 
			
		||||
     * LY|Bkp 	-> To _PUNC
 | 
			
		||||
     * LY|ENT 	-> To_EXTRA
 | 
			
		||||
     */
 | 
			
		||||
    [_QWERTY_MAC] = LAYOUT_preonic_grid( \
 | 
			
		||||
        LCAGEQ,	    KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINUS,
 | 
			
		||||
        LLY_TB,     KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    LLY_BS,
 | 
			
		||||
        KC_HYPR,    LLY_A, 	 LCT_S,   LAT_D,   LWN_F,   KC_G,    KC_H,    LWN_J,   LAT_K,   LCT_L,   LLY_SC,  KC_QUOT,
 | 
			
		||||
        KC_LSFT,    LWN_Z,   KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, LSHFBK,
 | 
			
		||||
        LLY_GR,     LMHESC,  LLY_DL,  LOWER,   LLY_BK,  LSHFSP,  LSHFSP,  LLY_ET,  RAISE,   KC_LBRC, KC_RBRC, LLSWIT
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    /* Qwerty for Windows
 | 
			
		||||
     * ,-----------------------------------------------------------------------------------.
 | 
			
		||||
     * | CAG= |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  |  -   |
 | 
			
		||||
     * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
     * | LY|TB|   Q  |   W  |   E  |   R  |   T  |   Y  |   U  |   I  |   O  |   P  | LY|\ |
 | 
			
		||||
     * |------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
     * | Hyper| LY|A | WN/S | AT/D | CT/F |   G  |   H  | CT/J | AT/K | WN/L | LY/; |  "   |
 | 
			
		||||
     * |------+------+------+------+------+------|------+------+------+------+------+------|
 | 
			
		||||
     * | Shift| CT/Z |   X  |   C  |   V  |   B  |   N  |   M  |   ,  |   .  |   /  | Sh/Bk|
 | 
			
		||||
     * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
     * | LY|` |MH/ESC| LY|DL|LW|Bkp|LY|Bk |    Space    |LY|ENT|RS|Bkp|   [  |   ]  |LY_SW |
 | 
			
		||||
     * `-----------------------------------------------------------------------------------'
 | 
			
		||||
     */
 | 
			
		||||
    [_QWERTY_WIN] = LAYOUT_preonic_grid( \
 | 
			
		||||
        LCAGEQ,	    KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINUS,
 | 
			
		||||
        LLY_TB,     KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    LLY_BS,
 | 
			
		||||
        KC_HYPR,    LLY_A, 	 LWN_S,   LAT_D,   LCT_F,   KC_G,    KC_H,    LCT_J,   LAT_K,   LWN_L,   LLY_SC,  KC_QUOT,
 | 
			
		||||
        KC_LSFT,    LCT_Z,   KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, LSHFBK,
 | 
			
		||||
        LLY_GR,     LMHESC,  LLY_DL,  LOWER,   LLY_BK,  LSHFSP,  LSHFSP,  LLY_ET,  RAISE,   KC_LBRC, KC_RBRC, LLSWIT
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    /* Gaming
 | 
			
		||||
     * ,-----------------------------------------------------------------------------------.
 | 
			
		||||
     * |   `  |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  |  -   |
 | 
			
		||||
     * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
     * | Tab  |   Q  |   W  |   E  |   R  |   T  |   Y  |   U  |   I  |   O  |   P  |  \   |
 | 
			
		||||
     * |------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
     * | Ctrl |   A  |   S  |   D  |   F  |   G  |   H  |   J  |   K  |   L  | LY|; |  "   |
 | 
			
		||||
     * |------+------+------+------+------+------|------+------+------+------+------+------|
 | 
			
		||||
     * | Shift|   Z  |   X  |   C  |   V  |   B  |   N  |   M  |   ,  |   .  |   /  |  =   |
 | 
			
		||||
     * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
     * | Ctrl | ESC  |  Alt |LW|Bkp|LY|Bk |    Space    |LY|ENT|RS|Bkp|   [  |   ]  |LY_SW |
 | 
			
		||||
     * `-----------------------------------------------------------------------------------'
 | 
			
		||||
     */
 | 
			
		||||
    [_GAMING] = LAYOUT_preonic_grid( \
 | 
			
		||||
        KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINUS,
 | 
			
		||||
        KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSLASH,
 | 
			
		||||
        KC_LCTL, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    LLY_SC,  KC_QUOT,
 | 
			
		||||
        KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_EQUAL,
 | 
			
		||||
        KC_LCTL, KC_ESC,  KC_LALT, LOWER,   LLY_BK,  KC_SPC,  KC_SPC,  LLY_ET,  RAISE,   KC_LBRC, KC_RBRC, LLSWIT
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    /* Music Layer (Switch to this layer if want to use music mode)
 | 
			
		||||
     * ,-----------------------------------------------------------------------------------.
 | 
			
		||||
     * | Esc  | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX |
 | 
			
		||||
     * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
     * | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX |
 | 
			
		||||
     * |------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
     * |      | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX |
 | 
			
		||||
     * |------+------+------+------+------+------|------+------+------+------+------+------|
 | 
			
		||||
     * |      | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX |
 | 
			
		||||
     * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
     * | CTRL | ALT  | CMD  |      | XXXX |    Space    | XXXX |      | XXXX | XXXX |LY_SW |
 | 
			
		||||
     * `-----------------------------------------------------------------------------------'
 | 
			
		||||
     */
 | 
			
		||||
    [_MUSIC] = LAYOUT_preonic_grid( \
 | 
			
		||||
        KC_ESC ,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,
 | 
			
		||||
        XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,
 | 
			
		||||
        _______,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,
 | 
			
		||||
        _______,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,
 | 
			
		||||
        KC_LCTL,  KC_LALT,  KC_LGUI,  _______,  XXXXXXX,  KC_SPC,   KC_SPC,   XXXXXXX,  _______,  XXXXXXX,  XXXXXXX,  LLSWIT
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    /* Lower
 | 
			
		||||
     * ,-----------------------------------------------------------------------------------.
 | 
			
		||||
     * | ESC  |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |  F7  |  F8  |  F9  |  F10 | F11  |
 | 
			
		||||
     * |------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
     * | Tab  | Home |  Up  | End  | PGUP | XXXX | XXXX | XXXX | PrSc | Home | PGUP | Del  |
 | 
			
		||||
     * |------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
     * |  "   | Left | Down | Right|PGDWN | XXXX | XXXX | XXXX | Pause| End  |PGDWN | F12  |
 | 
			
		||||
     * |------+------+------+------+------+------|------+------+------+------+------+------|
 | 
			
		||||
     * |      | CTRL |  Alt |  CMD | XXXX | XXXX | XXXX | XXXX | Prev | Play | Next | INS  |
 | 
			
		||||
     * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
     * | CTRL |  Alt |  CMD | !!!! | Bksp |    Space    | Enter|      | Vol- | Vol+ |LY_SW |
 | 
			
		||||
     * `-----------------------------------------------------------------------------------'
 | 
			
		||||
     */
 | 
			
		||||
    [_LOWER] = LAYOUT_preonic_grid( \
 | 
			
		||||
        KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,   KC_F11,
 | 
			
		||||
        KC_TAB,  KC_HOME, KC_UP,   KC_END,  KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_HOME, KC_PGUP,  KC_DEL,
 | 
			
		||||
        KC_DEL,  KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, XXXXXXX, XXXXXXX, XXXXXXX, KC_PAUS, KC_END,  KC_PGDN,  KC_F12,
 | 
			
		||||
        _______, KC_LCTL, KC_LALT, KC_LGUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT,  KC_INS,
 | 
			
		||||
        KC_LCTL, KC_LALT, KC_LGUI, __LYB__, KC_BSPC, KC_SPC,  KC_SPC,  KC_ENT, _______, KC_VOLD, KC_VOLU,  LLSWIT\
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    /* Raise
 | 
			
		||||
     * ,-----------------------------------------------------------------------------------.
 | 
			
		||||
     * | ESC  |  F1  |  F2  |  F3  |  F4  |  F5  | SCLK |   &  |   *  |   (  |   )  | Bksp |
 | 
			
		||||
     * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
     * | Tab  |  F7  |  F8  |  F9  |  F10 |  F11 | XXXX |   &  |   *  |   {  |   }  | Del  |
 | 
			
		||||
     * |------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
     * | Caps |  F1  |  F2  |  F3  |  F4  |  F5  | XXXX |   -  |   =  |   [  |   ]  | XXXX |
 | 
			
		||||
     * |------+------+------+------+------+------|------+------+------+------+------+------|
 | 
			
		||||
     * |      |  F7  |  F8  |  F9  |  F10 |  F11 | XXXX |ISO # |ISO \ | MRC1 | MRC2 | MRSP |
 | 
			
		||||
     * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
     * | CTRL |  Alt |  CMD |      | Bksp |    Space    | Enter| !!!! | MPL1 | MPL2 |LY_SW |
 | 
			
		||||
     * `-----------------------------------------------------------------------------------'
 | 
			
		||||
     */
 | 
			
		||||
    [_RAISE] = LAYOUT_preonic_grid( \
 | 
			
		||||
        KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,  KC_SLCK,  KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
 | 
			
		||||
        KC_TAB,  KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10, XXXXXXX,  KC_AMPR, KC_ASTR, KC_LCBR, KC_RCBR, KC_DEL,
 | 
			
		||||
        KC_CLCK, KC_F11,  KC_F12,  KC_F13,  KC_F14,  KC_F15, XXXXXXX,  KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, XXXXXXX,
 | 
			
		||||
        _______, KC_F16,  KC_F17,  KC_F18,  KC_F19,  KC_F20, XXXXXXX,  KC_NUHS, KC_NUBS, DYN_REC_START1,   DYN_REC_START2, DYN_REC_STOP,
 | 
			
		||||
        KC_LCTL, KC_LALT, KC_LGUI, _______, KC_BSPC, KC_SPC,  KC_SPC,  KC_ENT,  __LYB__, DYN_MACRO_PLAY1,  DYN_MACRO_PLAY2, LLSWIT
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    /* Adjust (Lower + Raise)
 | 
			
		||||
     * ,-----------------------------------------------------------------------------------.
 | 
			
		||||
     * |      |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |  F7  |  F8  |  F9  |  F10 |  F11 |
 | 
			
		||||
     * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
     * | Tab  | Reset|      |      |      |      |      |      |      |      |      | XXXX |
 | 
			
		||||
     * |------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
     * |      |      |      |Aud on|AudOff|QWmac |QWwin |QWmac |QWin  |      |      |  F12 |
 | 
			
		||||
     * |------+------+------+------+------+------|------+------+------+------+------+------|
 | 
			
		||||
     * |      |Voice-|Voice+|Mus on|MusOff|MidiOn|MidOff|      |      |      |      |      |
 | 
			
		||||
     * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
     * |      |      |      |      |      |             |      |      |      |      |LY_SW |
 | 
			
		||||
     * `-----------------------------------------------------------------------------------'
 | 
			
		||||
     */
 | 
			
		||||
    [_ADJUST] = LAYOUT_preonic_grid( \
 | 
			
		||||
        KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,   KC_F11,
 | 
			
		||||
        KC_TAB,  RESET,   DEBUG,   _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, XXXXXXX,
 | 
			
		||||
    /*_______, _______, MU_MOD,  AU_ON,   AU_OFF,  QWERTY,  QWWIN,	 QWERTY,  COLEMAK, DVORAK,  _______, _______, \ Remove this if adding Colemak and Dvorak*/
 | 
			
		||||
        _______, _______, MU_MOD,  AU_ON,   AU_OFF,  QWERTY,  QWWIN,   QWERTY,  QWWIN,   _______, _______, KC_F12,
 | 
			
		||||
        _______, MUV_DE,  MUV_IN,  MU_ON,   MU_OFF,  MI_ON,   MI_OFF,  _______, _______, _______, _______, _______,
 | 
			
		||||
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LLSWIT
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    /* Punctuation Layer
 | 
			
		||||
     * ,-----------------------------------------------------------------------------------.
 | 
			
		||||
     * |  +   |  !   |  @   |  #   |  $   |  %   |  ^   |  &   |  *   |  (   |   )  |  _   |
 | 
			
		||||
     * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
     * | !!!! |  &   |  |   |  {   |   }  |  -   |  -   | XXXX | XXXX |  {   |   }  |  |(!)|
 | 
			
		||||
     * |------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
     * |  "   |  /   |  *   |  (   |   )  |  +   |  +   | XXXX | XXXX |  [   |   ]  |  "   |
 | 
			
		||||
     * |------+------+------+------+------+------|------+------+------+------+------+------|
 | 
			
		||||
     * |      |  \   |  %   |  [   |   ]  |  =   |  =   | XXXX |   <  |  >   |   ?  | INS  |
 | 
			
		||||
     * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
     * |  ~   |  _   |  ^   | Del  | !!!! |    Space    | Enter| XXXX |  [   |   ]  |LY_SW |
 | 
			
		||||
     * `-----------------------------------------------------------------------------------'
 | 
			
		||||
     */
 | 
			
		||||
    [_PUNC] = LAYOUT_preonic_grid( \
 | 
			
		||||
        KC_PLUS,  KC_EXLM,  KC_AT,    KC_HASH,  KC_DLR,   KC_PERC,  KC_CIRC,  KC_AMPR,  KC_ASTR,  KC_LPRN,  KC_RPRN,  KC_UNDS,
 | 
			
		||||
        __LYB__,  KC_AMPR,  KC_PIPE,  KC_LCBR,  KC_RCBR,  KC_MINS,  KC_MINS,  XXXXXXX,  XXXXXXX,  KC_LCBR,  KC_RCBR,  KC_PIPE,
 | 
			
		||||
        KC_DQUO,  KC_SLSH,  KC_ASTR,  KC_LPRN,  KC_RPRN,  KC_PLUS,  KC_PLUS,  XXXXXXX,  XXXXXXX,  KC_LBRC,  KC_RBRC,  KC_DQUO,
 | 
			
		||||
        _______,  KC_BSLS,  KC_PERC,  KC_LBRC,  KC_RBRC,  KC_EQL,   KC_EQL,   XXXXXXX,  KC_LABK,  KC_RABK,  KC_QUES,  KC_INS,
 | 
			
		||||
        KC_TILDE, KC_UNDS,  KC_CIRC,  KC_DEL,   __LYB__,  KC_SPC,   KC_SPC,   KC_ENT,   XXXXXXX,  KC_LBRC,  KC_RBRC,  LLSWIT
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    /* Extra Layer
 | 
			
		||||
     * ,-----------------------------------------------------------------------------------.
 | 
			
		||||
     * |  ESC |      |      |      |      |      | SCLK |      |      |      |      |      |
 | 
			
		||||
     * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
     * | Tab  |      |      |      |      |      |      |      |      |      |      | Del  |
 | 
			
		||||
     * |------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
     * | Caps |      |      |      |      |      |      |      |      |      |      |      |
 | 
			
		||||
     * |------+------+------+------+------+------|------+------+------+------+------+------|
 | 
			
		||||
     * |      |      |      |      |      |      |      |      | MRC1 | MRC2 | MRSP |	   |
 | 
			
		||||
     * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
     * | CTRL |  ALT |  CMD |  Del | Bksp |    Space    | !!!! |      | MPL1 | MPL2 |LY_SW |
 | 
			
		||||
     * `-----------------------------------------------------------------------------------'
 | 
			
		||||
     */
 | 
			
		||||
    [_EXTRA] = LAYOUT_preonic_grid( \
 | 
			
		||||
        KC_ESC,   _______,  _______,  _______,  _______,  KC_SLCK,  _______,  _______,  _______,  _______,  _______,  _______,
 | 
			
		||||
        KC_TAB,   _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  KC_DEL,
 | 
			
		||||
        KC_CLCK,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,
 | 
			
		||||
        _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  DYN_REC_START1, DYN_REC_START2, DYN_REC_STOP,
 | 
			
		||||
        KC_LCTL,  KC_LALT,  KC_LGUI,  KC_DEL,  KC_BSPC,  KC_SPC,   KC_SPC,   __LYB__,  _______,  DYN_MACRO_PLAY1, DYN_MACRO_PLAY2,  LLSWIT
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    /* Numeric Pad
 | 
			
		||||
     * ,-----------------------------------------------------------------------------------.
 | 
			
		||||
     * |  ESC | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | NMLK | NUM/ | NUM* | NUM- | XXXX |
 | 
			
		||||
     * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
     * |      | Home |  Up  | End  | PGUP | XXXX | XXXX | NUM7 | NUM8 | NUM9 | NUM+ | XXXX |
 | 
			
		||||
     * |------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
     * | XXXX | Left | Down | Right| PGDWN| XXXX | XXXX | NUM4 | NUM5 | NUM6 | NUM+ | XXXX |
 | 
			
		||||
     * |------+------+------+------+------+------|------+------+------+------+------+------|
 | 
			
		||||
     * |      | CTRL |  ALT | CMD  | XXXX | XXXX | XXXX | NUM1 | NUM2 | NUM3 | NENT | Bksp |
 | 
			
		||||
     * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
     * |      | XXXX | !!!! | XXXX | Bksp |    Space    | NUM0 | NUM0 | NUM. | NENT | QMAC |
 | 
			
		||||
     * `-----------------------------------------------------------------------------------'
 | 
			
		||||
     */
 | 
			
		||||
    [_NUM] = LAYOUT_preonic_grid( \
 | 
			
		||||
        KC_ESC ,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  KC_NLCK,  KC_PSLS,  KC_PAST,  KC_PMNS,  XXXXXXX,
 | 
			
		||||
        _______,  KC_HOME,  KC_UP,    KC_END,   KC_PGUP,  XXXXXXX,  XXXXXXX,  KC_P7,    KC_P8,    KC_P9,    KC_PPLS,  XXXXXXX,
 | 
			
		||||
        KC_DQUO,  KC_LEFT,  KC_DOWN,  KC_RGHT,  KC_PGDN,  XXXXXXX,  XXXXXXX,  KC_P4,    KC_P5,    KC_P6,    KC_PPLS,  XXXXXXX,
 | 
			
		||||
        _______,  KC_LCTL,  KC_LALT,  KC_LGUI,  XXXXXXX,  XXXXXXX,  XXXXXXX,  KC_P1,    KC_P2,    KC_P3,    KC_PENT,  KC_BSPC,
 | 
			
		||||
        _______,  XXXXXXX,  __LYB__,  XXXXXXX,  KC_BSPC,  KC_SPC,   KC_SPC,   KC_P0,    KC_P0,    KC_PDOT,  KC_PENT,  LTO_BS
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    /* NAV
 | 
			
		||||
     * ,-----------------------------------------------------------------------------------.
 | 
			
		||||
     * |  ESC |      |      | MOB3 |      |      |      |      |      |      |      |      |
 | 
			
		||||
     * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
     * |      |   A  | MOB2 | MOUP | MOB1 | MOSU | PGUP | Home |  Up  | End  |      | Del  |
 | 
			
		||||
     * |------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
     * |      | !!!! | MOLF | MODN | MORT | MOSD | PGDN | Left | Down | Right| !!!! |      |
 | 
			
		||||
     * |------+------+------+------+------+------|------+------+------+------+------+------|
 | 
			
		||||
     * |      |      | MOB4 | MOB5 | MOSL | MOSR | MOA2 | MOA0 | MPRV | MPLY | MNXT |      |
 | 
			
		||||
     * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
     * | CTRL | ALT  | CMD  |      | Bksp |    Space    | Enter| VILM | VOLD | VOLU | QMAC |
 | 
			
		||||
     * `-----------------------------------------------------------------------------------'
 | 
			
		||||
     */
 | 
			
		||||
    [_NAV] = LAYOUT_preonic_grid( \
 | 
			
		||||
        KC_ESC,   _______,  _______,  KC_BTN3,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,
 | 
			
		||||
        _______,  KC_A,     KC_BTN2,  KC_MS_U,  KC_BTN1,  KC_WH_U,  KC_PGUP,  KC_HOME,  KC_UP,    KC_END,   _______,  KC_DEL,
 | 
			
		||||
        _______,  __LYB__,  KC_MS_L,  KC_MS_D,  KC_MS_R,  KC_WH_D,  KC_PGDN,  KC_LEFT,  KC_DOWN,  KC_RGHT,  __LYB__,  _______,
 | 
			
		||||
        _______,  _______,  KC_BTN4,  KC_BTN5,  KC_WH_L,  KC_WH_R,  KC_ACL2,  KC_ACL0,  KC_MPRV,  KC_MPLY,  KC_MNXT,  _______,
 | 
			
		||||
        KC_LCTL,  KC_LALT,  KC_LGUI,  _______,  KC_BSPC,  KC_SPC,   KC_SPC,   KC_ENT,   KC_MUTE,  KC_VOLD,  KC_VOLU,  LTO_BS
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
        /* One-Handed
 | 
			
		||||
    * ,-----------------------------------------------------------------------------------.
 | 
			
		||||
    * | Esc  |  6   |   7  |   8  |   9  |   0  |   -  | XXXX | XXXX | XXXX | XXXX | XXXX |
 | 
			
		||||
    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
    * |      |   Y  |   U  |   I  |   O  |   P  | MWL3 | MWFS | MWR3 | MWTL | MWTR | XXXX |
 | 
			
		||||
    * |------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
    * |      |   H  |   J  |   K  |   L  |   :  | MWL1 | MWM1 | MWR1 | MWBL | MWBR | XXXX |
 | 
			
		||||
    * |------+------+------+------+------+------|------+------+------+------+------+------|
 | 
			
		||||
    * |      |   N  |   M  |   ,  |   .  |   /  | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX |
 | 
			
		||||
    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
    * | !!!! |  Esc |  Del |  Ent | Bksp |             | MWLT | MWBT | MWUP | MWRT |LY_SW |
 | 
			
		||||
    * `-----------------------------------------------------------------------------------'
 | 
			
		||||
    */
 | 
			
		||||
    [_ONEHD] = LAYOUT_preonic_grid( \
 | 
			
		||||
        KC_ESC ,  KC_6,     KC_7,     KC_8,     KC_9,      KC_0,     KC_MINUS, XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX, XXXXXXX,
 | 
			
		||||
        _______,  KC_Y,     KC_U,     KC_I,     KC_O,      KC_P,     LMW_L3,   LMW_FS,   LMW_R3,   LMW_TL,   LMW_TR,  XXXXXXX,
 | 
			
		||||
        _______,  KC_H,     KC_J,     KC_K,     KC_L,      KC_SCLN,  LMW_L1,   LMW_M1,   LMW_R1,   LMW_BL,   LMW_BR,  XXXXXXX,
 | 
			
		||||
        _______,  KC_N,     KC_M,     KC_COMM,  KC_DOT,    KC_SLSH,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX, XXXXXXX,
 | 
			
		||||
        __LYB__,  KC_ESC,  KC_DEL,    KC_ENT,   KC_BSPACE, KC_SPC,   KC_SPC,   LMW_LT,   LMW_BT,   LMW_TP,   LMW_RT,  LLSWIT
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    /* Layer Switcher
 | 
			
		||||
     * ,-----------------------------------------------------------------------------------.
 | 
			
		||||
     * | Esc  | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX |
 | 
			
		||||
     * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
     * |Brite | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX |
 | 
			
		||||
     * |------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
     * | XXXX | XXXX | XXXX | XXXX | XXXX | GAME | XXXX | XXXX | XXXX | XXXX | NAV  | XXXX |
 | 
			
		||||
     * |------+------+------+------+------+------|------+------+------+------+------+------|
 | 
			
		||||
     * |      | XXXX | XXXX | XXXX | XXXX | QMAC | XXXX | MUSC | XXXX | XXXX | XXXX | XXXX |
 | 
			
		||||
     * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
     * | XXXX | XXXX | NUM  | XXXX | XXXX |    XXXXX    | XXXX | XXXX | XXXX | XXXX | !!!! |
 | 
			
		||||
     * `-----------------------------------------------------------------------------------'
 | 
			
		||||
     */
 | 
			
		||||
    [_LYSWT] = LAYOUT_preonic_grid( \
 | 
			
		||||
        KC_ESC ,   XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  	XXXXXXX,  XXXXXXX,   XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,
 | 
			
		||||
        BACKLIT,   XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  	XXXXXXX,  XXXXXXX,   XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,
 | 
			
		||||
        XXXXXXX,   XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  TO(_GAMING), XXXXXXX,  XXXXXXX,   XXXXXXX,  XXXXXXX,  TO(_NAV), XXXXXXX,
 | 
			
		||||
        XXXXXXX,   XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  LTO_BS,   	XXXXXXX, TO(_MUSIC), XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,
 | 
			
		||||
        XXXXXXX,   XXXXXXX,  TO(_NUM), XXXXXXX,  XXXXXXX,  XXXXXXX,  	XXXXXXX,  XXXXXXX,   XXXXXXX,  XXXXXXX,  XXXXXXX,  _______
 | 
			
		||||
    ) //, //Don't forget to add the comma if going to add more layers here
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static uint16_t key_timer;
 | 
			
		||||
static uint16_t timer_thresh = 200;
 | 
			
		||||
bool            process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
    // For dynamic macros
 | 
			
		||||
    if (!process_record_dynamic_macro(keycode, record)) {
 | 
			
		||||
// Play sound on Macro stop
 | 
			
		||||
#ifdef AUDIO_ENABLE
 | 
			
		||||
        switch (keycode) {
 | 
			
		||||
            case DYN_REC_STOP:
 | 
			
		||||
                if (record->event.pressed) {
 | 
			
		||||
                    PLAY_SONG(tone_macro_record_stop);
 | 
			
		||||
                }
 | 
			
		||||
                return false;
 | 
			
		||||
                break;
 | 
			
		||||
        }
 | 
			
		||||
#endif
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    switch (keycode) {
 | 
			
		||||
        case QWERTY:
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                set_single_persistent_default_layer(_QWERTY_MAC);
 | 
			
		||||
            }
 | 
			
		||||
            return false;
 | 
			
		||||
            break;
 | 
			
		||||
        case QWWIN:
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                set_single_persistent_default_layer(_QWERTY_WIN);
 | 
			
		||||
            }
 | 
			
		||||
            return false;
 | 
			
		||||
            break;
 | 
			
		||||
        // Reinstate these cases if COLEMAK, DVORAK are included in the layouts
 | 
			
		||||
        /*case COLEMAK:
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                set_single_persistent_default_layer(_COLEMAK);
 | 
			
		||||
            }
 | 
			
		||||
            return false;
 | 
			
		||||
            break;
 | 
			
		||||
        case DVORAK:
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                set_single_persistent_default_layer(_DVORAK);
 | 
			
		||||
            }
 | 
			
		||||
            return false;
 | 
			
		||||
            break;
 | 
			
		||||
          */
 | 
			
		||||
        case LOWER:
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                key_timer = timer_read(); // For Backspace on tap
 | 
			
		||||
                layer_on(_LOWER);
 | 
			
		||||
                update_tri_layer(_LOWER, _RAISE, _ADJUST);
 | 
			
		||||
            } else {
 | 
			
		||||
                // Backspace on tap
 | 
			
		||||
                if (timer_elapsed(key_timer) < timer_thresh) {
 | 
			
		||||
                    tap_code(KC_BSPC);
 | 
			
		||||
                }
 | 
			
		||||
                layer_off(_LOWER);
 | 
			
		||||
                update_tri_layer(_LOWER, _RAISE, _ADJUST);
 | 
			
		||||
            }
 | 
			
		||||
            return false;
 | 
			
		||||
            break;
 | 
			
		||||
        case RAISE:
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                key_timer = timer_read(); // For Backspace on tap
 | 
			
		||||
                layer_on(_RAISE);
 | 
			
		||||
                update_tri_layer(_LOWER, _RAISE, _ADJUST);
 | 
			
		||||
            } else {
 | 
			
		||||
                // Backspace on tap
 | 
			
		||||
                if (timer_elapsed(key_timer) < timer_thresh) {
 | 
			
		||||
                    tap_code(KC_BSPC);
 | 
			
		||||
                }
 | 
			
		||||
                layer_off(_RAISE);
 | 
			
		||||
                update_tri_layer(_LOWER, _RAISE, _ADJUST);
 | 
			
		||||
            }
 | 
			
		||||
            return false;
 | 
			
		||||
            break;
 | 
			
		||||
        case BACKLIT:
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                register_code(KC_RSFT);
 | 
			
		||||
#ifdef BACKLIGHT_ENABLE
 | 
			
		||||
                backlight_step();
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef __AVR__
 | 
			
		||||
                PORTE &= ~(1 << 6);
 | 
			
		||||
#endif
 | 
			
		||||
            } else {
 | 
			
		||||
                unregister_code(KC_RSFT);
 | 
			
		||||
#ifdef __AVR__
 | 
			
		||||
                PORTE |= (1 << 6);
 | 
			
		||||
#endif
 | 
			
		||||
            }
 | 
			
		||||
            return false;
 | 
			
		||||
            break;
 | 
			
		||||
#ifdef AUDIO_ENABLE
 | 
			
		||||
            // Play sound on Macro record start
 | 
			
		||||
        case DYN_REC_START1:
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                PLAY_SONG(tone_macro1_record);
 | 
			
		||||
            }
 | 
			
		||||
            return false;
 | 
			
		||||
            break;
 | 
			
		||||
        case DYN_REC_START2:
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                PLAY_SONG(tone_macro2_record);
 | 
			
		||||
            }
 | 
			
		||||
            return false;
 | 
			
		||||
            break;
 | 
			
		||||
#endif
 | 
			
		||||
    }
 | 
			
		||||
    return true;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
bool     muse_mode      = false;
 | 
			
		||||
uint8_t  last_muse_note = 0;
 | 
			
		||||
uint16_t muse_counter   = 0;
 | 
			
		||||
uint8_t  muse_offset    = 70;
 | 
			
		||||
uint16_t muse_tempo     = 50;
 | 
			
		||||
 | 
			
		||||
void encoder_update_user(uint8_t index, bool clockwise) {
 | 
			
		||||
    if (muse_mode) {
 | 
			
		||||
        if (IS_LAYER_ON(_RAISE)) {
 | 
			
		||||
            if (clockwise) {
 | 
			
		||||
                muse_offset++;
 | 
			
		||||
            } else {
 | 
			
		||||
                muse_offset--;
 | 
			
		||||
            }
 | 
			
		||||
        } else {
 | 
			
		||||
            if (clockwise) {
 | 
			
		||||
                muse_tempo += 1;
 | 
			
		||||
            } else {
 | 
			
		||||
                muse_tempo -= 1;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    } else {
 | 
			
		||||
        if (clockwise) {
 | 
			
		||||
            tap_code(KC_PGDN);
 | 
			
		||||
        } else {
 | 
			
		||||
             tap_code(KC_PGUP);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void dip_switch_update_user(uint8_t index, bool active) {
 | 
			
		||||
    switch (index) {
 | 
			
		||||
        case 0:
 | 
			
		||||
            if (active) {
 | 
			
		||||
                layer_on(_ADJUST);
 | 
			
		||||
            } else {
 | 
			
		||||
                layer_off(_ADJUST);
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
        case 1:
 | 
			
		||||
            if (active) {
 | 
			
		||||
                muse_mode = true;
 | 
			
		||||
            } else {
 | 
			
		||||
                muse_mode = false;
 | 
			
		||||
            }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void matrix_scan_user(void) {
 | 
			
		||||
#ifdef AUDIO_ENABLE
 | 
			
		||||
    if (muse_mode) {
 | 
			
		||||
        if (muse_counter == 0) {
 | 
			
		||||
            uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()];
 | 
			
		||||
            if (muse_note != last_muse_note) {
 | 
			
		||||
                stop_note(compute_freq_for_midi_note(last_muse_note));
 | 
			
		||||
                play_note(compute_freq_for_midi_note(muse_note), 0xF);
 | 
			
		||||
                last_muse_note = muse_note;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        muse_counter = (muse_counter + 1) % muse_tempo;
 | 
			
		||||
    } else {
 | 
			
		||||
        if (muse_counter) {
 | 
			
		||||
            stop_all_notes();
 | 
			
		||||
            muse_counter = 0;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool music_mask_user(uint16_t keycode) {
 | 
			
		||||
    switch (keycode) {
 | 
			
		||||
        case RAISE:
 | 
			
		||||
        case LOWER:
 | 
			
		||||
            return false;
 | 
			
		||||
        default:
 | 
			
		||||
            return true;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										252
									
								
								keyboards/preonic/keymaps/laurentlaurent/readme.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										252
									
								
								keyboards/preonic/keymaps/laurentlaurent/readme.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,252 @@
 | 
			
		|||
# laurentlaurent's Preonic keyboard
 | 
			
		||||
Largely similar to his [ErgoDox EZ](https://configure.ergodox-ez.com/ergodox-ez/layouts/jZpmo/latest/0)'s layout
 | 
			
		||||
 | 
			
		||||
## Features
 | 
			
		||||
 | 
			
		||||
### Special Modifiers for Global Shortcuts
 | 
			
		||||
* Hyper key (Ctrl+Alt+Cmd+Shift)
 | 
			
		||||
* CAG key (Ctrl+Alt+Cmd)
 | 
			
		||||
* Meh key (Ctrl+Alt+Shift)
 | 
			
		||||
 | 
			
		||||
### Home Row modifiers
 | 
			
		||||
* Home Row modifiers (hold F/J to use CMD/Ctrl, D/L for Alt, ... )
 | 
			
		||||
* Separate layers for Mac and Windows keyboard to improve muscle memory linked to Home Row modifiers (CMD is mapped to F and J on Mac, CTRL for Windows)
 | 
			
		||||
* Extra CMD/CTRL key mapped to Z for one-handed CMD+F/CTRL+F
 | 
			
		||||
 | 
			
		||||
### Qwerty Layout improvements
 | 
			
		||||
* Backspace and Enter are on bottom row (next to Space bar)
 | 
			
		||||
* = is where Esc would be expected to be
 | 
			
		||||
* "-" is where Backspace would be expected to be
 | 
			
		||||
* Grave is where LCTRL would be expected to be
 | 
			
		||||
* Esc is where Alt (on Mac)/Win (on PC) would be expected to be
 | 
			
		||||
* Del is where CMD (on Mac)/Alt (on PC) would be expected to be
 | 
			
		||||
* Hyper key replaces Caps Lock
 | 
			
		||||
 | 
			
		||||
### Mod taps
 | 
			
		||||
* Home Row modifiers
 | 
			
		||||
* Lower and Raise are Backspace on tap
 | 
			
		||||
* Holding = is CAG (CTRL+ALT+CMD)
 | 
			
		||||
* Holding Esc is MEH (Ctrl+Shift+Alt)
 | 
			
		||||
* Right Shift is bound to RShift on hold, Backspace on tap
 | 
			
		||||
* Spacebar acts like a LShift on hold, Spacebar on tap
 | 
			
		||||
* In instances where repeated keys is needed:
 | 
			
		||||
    * Tap then tap-hold repeats the key
 | 
			
		||||
    * Lower, Raise (and most other layers) turns off mod-tap on most keys
 | 
			
		||||
* Music layer disables all key mappings, Gaming layer disables modtaps
 | 
			
		||||
 | 
			
		||||
### Layer Switching
 | 
			
		||||
* Layer switcher key, used to switch layout (allows use of _NAV, _NUM layout without holding their layer keys)
 | 
			
		||||
* **Punctuation layer** accessible by holding Tab, Backslash or Backspace
 | 
			
		||||
* Grave switches to **One-Handed layer** on hold
 | 
			
		||||
* **Mouse and arrow key layer** accessible by holding ; or A
 | 
			
		||||
* Del switches to **Numpad** on hold
 | 
			
		||||
* Enter switches to **Extra layer** on hold
 | 
			
		||||
    * Extra layer will be used for applications shortcuts
 | 
			
		||||
 | 
			
		||||
## Layers
 | 
			
		||||
 | 
			
		||||
### Mac Qwerty
 | 
			
		||||
```
 | 
			
		||||
,-----------------------------------------------------------------------------------.
 | 
			
		||||
| CAG/=|   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  |  -   |
 | 
			
		||||
|------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
| LY|TB|   Q  |   W  |   E  |   R  |   T  |   Y  |   U  |   I  |   O  |   P  | LY|\ |
 | 
			
		||||
|------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
| Hyper| LY|A | CT/S | AT/D | WN/F |   G  |   H  | WN/J | AT/K | CT/L | LY|; |  "   |
 | 
			
		||||
|------+------+------+------+------+------|------+------+------+------+------+------|
 | 
			
		||||
| Shift| WN/Z |   X  |   C  |   V  |   B  |   N  |   M  |   ,  |   .  |   /  | Sh/Bk|
 | 
			
		||||
|------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
| LY|` |MH/ESC| LY|DL|LW|Bkp|LY|Bkp| Shift/Space |LY|ENT|RS|Bkp|   [  |   ]  |LY_SW |
 | 
			
		||||
`-----------------------------------------------------------------------------------'
 | 
			
		||||
```
 | 
			
		||||
* Hold Tab (LY|TB), Backspace (LY|Bkp) or Backslash (LY|\ ) for **Punctuation Layer**
 | 
			
		||||
* Hold Grave (LY|`) for **One-Handed Layer**
 | 
			
		||||
* Hold Del (LY|DL) for **Numpad Layer**
 | 
			
		||||
* Hold A or ; for **Navigation/Mouse Layer**
 | 
			
		||||
* Hold Enter (LY|ENT) for **Extra layer**
 | 
			
		||||
 | 
			
		||||
### Win Qwerty
 | 
			
		||||
```
 | 
			
		||||
,-----------------------------------------------------------------------------------.
 | 
			
		||||
| CAG= |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  |  -   |
 | 
			
		||||
|------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
| LY|TB|   Q  |   W  |   E  |   R  |   T  |   Y  |   U  |   I  |   O  |   P  | LY|\ |
 | 
			
		||||
|------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
| Hyper| LY|A | WN/S | AT/D | CT/F |   G  |   H  | CT/J | AT/K | WN/L | LY/; |  "   |
 | 
			
		||||
|------+------+------+------+------+------|------+------+------+------+------+------|
 | 
			
		||||
| Shift| CT/Z |   X  |   C  |   V  |   B  |   N  |   M  |   ,  |   .  |   /  | Sh/Bk|
 | 
			
		||||
|------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
| LY|` |ESCMEH| LY|DL|LW|Bkp|LY|Bk |    Space    |LY|ENT|RS|Bkp|   [  |   ]  |LY_SW |
 | 
			
		||||
`-----------------------------------------------------------------------------------'
 | 
			
		||||
```
 | 
			
		||||
* Hold Tab (LY|TB), Backspace (LY|Bkp) or Backslash (LY|\ ) for **Punctuation Layer**
 | 
			
		||||
* Hold Grave (LY|`) for **One-Handed Layer**
 | 
			
		||||
* Hold Del (LY|DL) for **Numpad Layer**
 | 
			
		||||
* Hold A or ; for **Navigation/Mouse Layer**
 | 
			
		||||
* Hold Enter (LY|ENT) for **Extra layer**
 | 
			
		||||
 | 
			
		||||
### Gaming Qwerty
 | 
			
		||||
```
 | 
			
		||||
,-----------------------------------------------------------------------------------.
 | 
			
		||||
|   `  |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  |  -   |
 | 
			
		||||
|------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
| Tab  |   Q  |   W  |   E  |   R  |   T  |   Y  |   U  |   I  |   O  |   P  |  \   |
 | 
			
		||||
|------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
| Ctrl |   A  |   S  |   D  |   F  |   G  |   H  |   J  |   K  |   L  | LY|; |  "   |
 | 
			
		||||
|------+------+------+------+------+------|------+------+------+------+------+------|
 | 
			
		||||
| Shift|   Z  |   X  |   C  |   V  |   B  |   N  |   M  |   ,  |   .  |   /  |  =   |
 | 
			
		||||
|------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
| Ctrl | ESC  |  Alt |LW|Bkp|LY|Bk |    Space    |LY|ENT|RS|Bkp|   [  |   ]  |LY_SW |
 | 
			
		||||
`-----------------------------------------------------------------------------------'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Music Layer
 | 
			
		||||
```
 | 
			
		||||
,-----------------------------------------------------------------------------------.
 | 
			
		||||
| Esc  | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX |
 | 
			
		||||
|------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
| XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX |
 | 
			
		||||
|------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
|      | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX |
 | 
			
		||||
|------+------+------+------+------+------|------+------+------+------+------+------|
 | 
			
		||||
|      | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX |
 | 
			
		||||
|------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
| CTRL | ALT  | CMD  |      | XXXX |    Space    | XXXX |      | XXXX | XXXX |LY_SW |
 | 
			
		||||
`-----------------------------------------------------------------------------------'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Lower Layer
 | 
			
		||||
```
 | 
			
		||||
,-----------------------------------------------------------------------------------.
 | 
			
		||||
| ESC  |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |  F7  |  F8  |  F9  |  F10 | F11  |
 | 
			
		||||
|------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
| Tab  | Home |  Up  | End  | PGUP | XXXX | XXXX | XXXX | PrSc | Home | PGUP | Del  |
 | 
			
		||||
|------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
|  "   | Left | Down | Right|PGDWN | XXXX | XXXX | XXXX | Pause| End  |PGDWN | F12  |
 | 
			
		||||
|------+------+------+------+------+------|------+------+------+------+------+------|
 | 
			
		||||
|      | CTRL |  Alt |  CMD | XXXX | XXXX | XXXX | XXXX | Prev | Play | Next | INS  |
 | 
			
		||||
|------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
| CTRL |  Alt |  CMD | !!!! | Bksp |    Space    | Enter|      | Vol- | Vol+ |LY_SW |
 | 
			
		||||
`-----------------------------------------------------------------------------------'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Raise Layer
 | 
			
		||||
```
 | 
			
		||||
,-----------------------------------------------------------------------------------.
 | 
			
		||||
| ESC  |  F1  |  F2  |  F3  |  F4  |  F5  | SCLK |   &  |   *  |   (  |   )  | Bksp |
 | 
			
		||||
|------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
| Tab  |  F7  |  F8  |  F9  |  F10 |  F11 | XXXX |   &  |   *  |   {  |   }  | Del  |
 | 
			
		||||
|------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
| Caps |  F1  |  F2  |  F3  |  F4  |  F5  | XXXX |   -  |   =  |   [  |   ]  | XXXX |
 | 
			
		||||
|------+------+------+------+------+------|------+------+------+------+------+------|
 | 
			
		||||
|      |  F7  |  F8  |  F9  |  F10 |  F11 | XXXX |ISO # |ISO \ | MRC1 | MRC2 | MRSP |
 | 
			
		||||
|------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
| CTRL |  Alt |  CMD |      | Bksp |    Space    | Enter| !!!! | MPL1 | MPL2 |LY_SW |
 | 
			
		||||
`-----------------------------------------------------------------------------------'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Adjust Layer
 | 
			
		||||
```
 | 
			
		||||
,-----------------------------------------------------------------------------------.
 | 
			
		||||
|      |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |  F7  |  F8  |  F9  |  F10 |  F11 |
 | 
			
		||||
|------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
| Tab  | Reset|      |      |      |      |      |      |      |      |      | XXXX |
 | 
			
		||||
|------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
|      |      |      |Aud on|AudOff|QWmac |QWwin |QWmac |QWin  |      |      |  F12 |
 | 
			
		||||
|------+------+------+------+------+------|------+------+------+------+------+------|
 | 
			
		||||
|      |Voice-|Voice+|Mus on|MusOff|MidiOn|MidOff|      |      |      |      |      |
 | 
			
		||||
|------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
|      |      |      |      |      |             |      |      |      |      |LY_SW |
 | 
			
		||||
`-----------------------------------------------------------------------------------'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Punctuation Layer
 | 
			
		||||
```
 | 
			
		||||
,-----------------------------------------------------------------------------------.
 | 
			
		||||
|  +   |  !   |  @   |  #   |  $   |  %   |  ^   |  &   |  *   |  (   |   )  |  _   |
 | 
			
		||||
|------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
| !!!! |  &   |  |   |  {   |   }  |  -   |  -   | XXXX | XXXX |  {   |   }  |  |(!)|
 | 
			
		||||
|------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
|  "   |  /   |  *   |  (   |   )  |  +   |  +   | XXXX | XXXX |  [   |   ]  |  "   |
 | 
			
		||||
|------+------+------+------+------+------|------+------+------+------+------+------|
 | 
			
		||||
|      |  \   |  %   |  [   |   ]  |  =   |  =   | XXXX |   <  |  >   |   ?  | INS  |
 | 
			
		||||
|------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
|  ~   |  _   |  ^   | Del  | !!!! |    Space    | Enter| XXXX |  [   |   ]  |LY_SW |
 | 
			
		||||
`-----------------------------------------------------------------------------------'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Extra Layer
 | 
			
		||||
```
 | 
			
		||||
,-----------------------------------------------------------------------------------.
 | 
			
		||||
|  ESC |      |      |      |      |      | SCLK |      |      |      |      |      |
 | 
			
		||||
|------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
|  Tab |      |      |      |      |      |      |      |      |      |      | Del  |
 | 
			
		||||
|------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
| Caps |      |      |      |      |      |      |      |      |      |      |      |
 | 
			
		||||
|------+------+------+------+------+------|------+------+------+------+------+------|
 | 
			
		||||
|      |      |      |      |      |      |      |      |      | MRC1 | MRC2 | MRSP |
 | 
			
		||||
|------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
| CTRL |  ALT |  CMD | Del  | Bksp |    Space    | !!!! |      | MPL1 | MPL2 |LY_SW |
 | 
			
		||||
`-----------------------------------------------------------------------------------'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Numeric Pad Layer
 | 
			
		||||
```
 | 
			
		||||
,-----------------------------------------------------------------------------------.
 | 
			
		||||
|  ESC | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | NMLK | NUM/ | NUM* | NUM- | XXXX |
 | 
			
		||||
|------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
|      | Home |  Up  | End  | PGUP | XXXX | XXXX | NUM7 | NUM8 | NUM9 | NUM+ | XXXX |
 | 
			
		||||
|------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
| XXXX | Left | Down | Right| PGDWN| XXXX | XXXX | NUM4 | NUM5 | NUM6 | NUM+ | XXXX |
 | 
			
		||||
|------+------+------+------+------+------|------+------+------+------+------+------|
 | 
			
		||||
|      | CTRL |  ALT | CMD  | XXXX | XXXX | XXXX | NUM1 | NUM2 | NUM3 | NENT | Bksp |
 | 
			
		||||
|------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
|      | XXXX | !!!! | XXXX | Bksp |    Space    | NUM0 | NUM0 | NUM. | NENT | QMAC |
 | 
			
		||||
`-----------------------------------------------------------------------------------'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Navigation Layer
 | 
			
		||||
```
 | 
			
		||||
,-----------------------------------------------------------------------------------.
 | 
			
		||||
|  ESC |      |      | MOB3 |      |      |      |      |      |      |      |      |
 | 
			
		||||
|------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
|      |   A  | MOB2 | MOUP | MOB1 | MOSU | PGUP | Home |  Up  | End  |      | Del  |
 | 
			
		||||
|------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
|      | !!!! | MOLF | MODN | MORT | MOSD | PGDN | Left | Down | Right| !!!! |      |
 | 
			
		||||
|------+------+------+------+------+------|------+------+------+------+------+------|
 | 
			
		||||
|      |      | MOB4 | MOB5 | MOSL | MOSR | MOA2 | MOA0 | MPRV | MPLY | MNXT |      |
 | 
			
		||||
|------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
| CTRL | ALT  | CMD  |      | Bksp |    Space    | Enter| VILM | VOLD | VOLU | QMAC |
 | 
			
		||||
`-----------------------------------------------------------------------------------'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### One-Handed Layer
 | 
			
		||||
```
 | 
			
		||||
,-----------------------------------------------------------------------------------.
 | 
			
		||||
| Esc  |  6   |   7  |   8  |   9  |   0  |   -  | XXXX | XXXX | XXXX | XXXX | XXXX |
 | 
			
		||||
|------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
|      |   Y  |   U  |   I  |   O  |   P  | MWL3 | MWFS | MWR3 | MWTL | MWTR | XXXX |
 | 
			
		||||
|------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
|      |   H  |   J  |   K  |   L  |   :  | MWL1 | MWM1 | MWR1 | MWBL | MWBR | XXXX |
 | 
			
		||||
|------+------+------+------+------+------|------+------+------+------+------+------|
 | 
			
		||||
|      |   N  |   M  |   ,  |   .  |   /  | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX |
 | 
			
		||||
|------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
| !!!! |  Esc |  Del |  Ent | Bksp |             | MWLT | MWBT | MWUP | MWRT |LY_SW |
 | 
			
		||||
`-----------------------------------------------------------------------------------'
 | 
			
		||||
```
 | 
			
		||||
The right hand side of the keyboard contains shortcuts for moving windows on Mac (using Magnet)
 | 
			
		||||
 | 
			
		||||
### Layer Switcher
 | 
			
		||||
```
 | 
			
		||||
,-----------------------------------------------------------------------------------.
 | 
			
		||||
| Esc  | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX |
 | 
			
		||||
|------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
|Brite | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX |
 | 
			
		||||
|------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
| XXXX | XXXX | XXXX | XXXX | XXXX | GAME | XXXX | XXXX | XXXX | XXXX | NAV  | XXXX |
 | 
			
		||||
|------+------+------+------+------+------|------+------+------+------+------+------|
 | 
			
		||||
|      | XXXX | XXXX | XXXX | XXXX | QMAC | XXXX | MUSC | XXXX | XXXX | XXXX | XXXX |
 | 
			
		||||
|------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
| XXXX | XXXX | NUM  | XXXX | XXXX |    XXXXX    | XXXX | XXXX | XXXX | XXXX | !!!! |
 | 
			
		||||
`-----------------------------------------------------------------------------------'
 | 
			
		||||
```
 | 
			
		||||
							
								
								
									
										2
									
								
								keyboards/preonic/keymaps/laurentlaurent/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								keyboards/preonic/keymaps/laurentlaurent/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,2 @@
 | 
			
		|||
SRC += muse.c
 | 
			
		||||
MOUSEKEY_ENABLE = yes
 | 
			
		||||
							
								
								
									
										89
									
								
								keyboards/preonic/keymaps/laurentlaurent/templates.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										89
									
								
								keyboards/preonic/keymaps/laurentlaurent/templates.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,89 @@
 | 
			
		|||
// Templates for Preonic Keyboard
 | 
			
		||||
 | 
			
		||||
/* BLANK Pass through
 | 
			
		||||
 * ,-----------------------------------------------------------------------------------.
 | 
			
		||||
 * |  ESC |      |      |      |      |      |      |      |      |      |      |      |
 | 
			
		||||
 * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
 * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
			
		||||
 * |------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
 * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
			
		||||
 * |------+------+------+------+------+------|------+------+------+------+------+------|
 | 
			
		||||
 * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
			
		||||
 * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
 * | CTRL |  ALT |  CMD |      |      |             |      |      |      |      |LY_SW |
 | 
			
		||||
 * `-----------------------------------------------------------------------------------'
 | 
			
		||||
 */
 | 
			
		||||
[_BLANK] = LAYOUT_preonic_grid( \
 | 
			
		||||
    KC_ESC ,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______, \
 | 
			
		||||
    _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______, \
 | 
			
		||||
    _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______, \
 | 
			
		||||
    _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______, \
 | 
			
		||||
    KC_LCTL,  KC_LALT,  KC_LGUI,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  LLSWIT  \
 | 
			
		||||
),
 | 
			
		||||
 | 
			
		||||
/* BLANK No Pass through
 | 
			
		||||
 * ,-----------------------------------------------------------------------------------.
 | 
			
		||||
 * | Esc  | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX |
 | 
			
		||||
 * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
 * |      | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX |
 | 
			
		||||
 * |------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
 * |      | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX |
 | 
			
		||||
 * |------+------+------+------+------+------|------+------+------+------+------+------|
 | 
			
		||||
 * |      | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX |
 | 
			
		||||
 * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
 * | CTRL | ALT  | CMD  |      | XXXX |             | XXXX |      | XXXX | XXXX |LY_SW |
 | 
			
		||||
 * `-----------------------------------------------------------------------------------'
 | 
			
		||||
 */
 | 
			
		||||
[_BLANK] = LAYOUT_preonic_grid( \
 | 
			
		||||
    KC_ESC ,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX, \
 | 
			
		||||
    _______,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX, \
 | 
			
		||||
    _______,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX, \
 | 
			
		||||
    _______,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX, \
 | 
			
		||||
    KC_LCTL,  KC_LALT,  KC_LGUI,  _______,  XXXXXXX,  _______,  _______,  XXXXXXX,  _______,  XXXXXXX,  XXXXXXX,  LLSWIT  \
 | 
			
		||||
),
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//===== From default preonic layouts
 | 
			
		||||
// if you add this, make sure to add _COLEMAK and _DVORAK in the enum
 | 
			
		||||
 | 
			
		||||
/* Colemak
 | 
			
		||||
 * ,-----------------------------------------------------------------------------------.
 | 
			
		||||
 * |   `  |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  | Bksp |
 | 
			
		||||
 * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
 * | Tab  |   Q  |   W  |   F  |   P  |   G  |   J  |   L  |   U  |   Y  |   ;  | Del  |
 | 
			
		||||
 * |------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
 * | Esc  |   A  |   R  |   S  |   T  |   D  |   H  |   N  |   E  |   I  |   O  |  "   |
 | 
			
		||||
 * |------+------+------+------+------+------|------+------+------+------+------+------|
 | 
			
		||||
 * | Shift|   Z  |   X  |   C  |   V  |   B  |   K  |   M  |   ,  |   .  |   /  |Enter |
 | 
			
		||||
 * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
 * | Brite| Ctrl | Alt  | GUI  |Lower |    Space    |Raise | XXXX | XXXX | XXXX |LY_SW |
 | 
			
		||||
 * `-----------------------------------------------------------------------------------'
 | 
			
		||||
 */
 | 
			
		||||
[_COLEMAK] = LAYOUT_preonic_grid( \
 | 
			
		||||
    KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC, \
 | 
			
		||||
    KC_TAB,  KC_Q,    KC_W,    KC_F,    KC_P,    KC_G,    KC_J,    KC_L,    KC_U,    KC_Y,    KC_SCLN, KC_DEL,  \
 | 
			
		||||
    KC_ESC,  KC_A,    KC_R,    KC_S,    KC_T,    KC_D,    KC_H,    KC_N,    KC_E,    KC_I,    KC_O,    KC_QUOT, \
 | 
			
		||||
    KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_K,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT,  \
 | 
			
		||||
    BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER,   KC_SPC,  KC_SPC,  RAISE,   XXXXXXX, XXXXXXX, XXXXXXX, LLSWIT  \
 | 
			
		||||
),
 | 
			
		||||
 | 
			
		||||
/* Dvorak
 | 
			
		||||
 * ,-----------------------------------------------------------------------------------.
 | 
			
		||||
 * |   `  |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  | Bksp |
 | 
			
		||||
 * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
 * | Tab  |   "  |   ,  |   .  |   P  |   Y  |   F  |   G  |   C  |   R  |   L  | Del  |
 | 
			
		||||
 * |------+------+------+------+------+-------------+------+------+------+------+------|
 | 
			
		||||
 * | Esc  |   A  |   O  |   E  |   U  |   I  |   D  |   H  |   T  |   N  |   S  |  /   |
 | 
			
		||||
 * |------+------+------+------+------+------|------+------+------+------+------+------|
 | 
			
		||||
 * | Shift|   ;  |   Q  |   J  |   K  |   X  |   B  |   M  |   W  |   V  |   Z  |Enter |
 | 
			
		||||
 * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
			
		||||
 * | Brite| Ctrl | Alt  | GUI  |Lower |    Space    |Raise | XXXX | XXXX | XXXX |LY_SW |
 | 
			
		||||
 * `-----------------------------------------------------------------------------------'
 | 
			
		||||
 */
 | 
			
		||||
[_DVORAK] = LAYOUT_preonic_grid( \
 | 
			
		||||
    KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC, \
 | 
			
		||||
    KC_TAB,  KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,    KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_DEL,  \
 | 
			
		||||
    KC_ESC,  KC_A,    KC_O,    KC_E,    KC_U,    KC_I,    KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_SLSH, \
 | 
			
		||||
    KC_LSFT, KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,    KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,    KC_ENT,  \
 | 
			
		||||
    BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER,   KC_SPC,  KC_SPC,  RAISE,   XXXXXXX, XXXXXXX, XXXXXXX, LLSWIT  \
 | 
			
		||||
),
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue