#pragma once #include "quantum.h" // Each layer gets a name for readability, which is then used in the keymap matrix below. enum userspace_custom_layers { DV = 0, QW, GAM1, RSE, LWR, LFT, MOUSE }; enum userspace_custom_keycodes { PAWFIVE = SAFE_RANGE, MOUKEY, MS_BTN1, MS_BTN2, MS_BTN3 }; // Transparent macro to indicate that this spot is already being pressed // to activate this layer #define _LAYER_ KC_TRNS // == Dual-action keys on most of the modifiers #define CTL_ESC CTL_T(KC_ESC) #define CTL_GRV CTL_T(KC_GRV) #define ALT_TAB ALT_T(KC_TAB) #define SFT_SPC SFT_T(KC_SPC) // == Macro keys for commonly used apps // -- Slack // Move one conversation up/down #define SLACKUP LALT(LSFT(KC_UP)) #define SLACKDN LALT(LSFT(KC_DOWN)) // -- Browser and OS X // Activate one tab left/right #define TAB_LFT LGUI(LSFT(KC_LBRC)) #define TAB_RGT LGUI(LSFT(KC_RBRC)) // Go back/forward in history #define BWSR_BK LGUI(KC_LBRC) #define BWSR_FW LGUI(KC_RBRC) // -- Screen management // Make window fill the left/right side #define SCR_LFT HYPR(KC_LEFT) #define SCR_RGT HYPR(KC_RGHT) // Make window fill the whole monitor #define SCR_FUL HYPR(KC_F) // == Extended alpha layer toggles // -- Dvorak // Pressing U opens up the LWR layer (numpad) #define LWR_U LT(LWR, KC_U) // Pressing H opens up the RSE layer (brackets/parens) #define RSE_H LT(RSE, KC_H) // -- Qwerty // Pressing F opens up the LWR layer (numpad) #define LWR_F LT(LWR, KC_F) // Pressing J opens up the RSE layer (brackets/parens) #define RSE_J LT(RSE, KC_J) // -- LFT layer (Works on both Qwerty and Dvorak) // Pressing Back space or Enter opens up the LFT layer (media/navigation) #define LFT_BK LT(LFT, KC_BSPC) #define LFT_ENT LT(LFT, KC_ENT)