|
| 1 | +#pragma once |
| 2 | + |
| 3 | +#include "quantum.h" |
| 4 | + |
| 5 | +// Each layer gets a name for readability, which is then used in the keymap matrix below. |
| 6 | +enum userspace_custom_layers { |
| 7 | + DV = 0, |
| 8 | + QW, |
| 9 | + GAM1, |
| 10 | + RSE, |
| 11 | + LWR, |
| 12 | + LFT, |
| 13 | + MOUSE |
| 14 | +}; |
| 15 | + |
| 16 | +enum userspace_custom_keycodes { |
| 17 | + PAWFIVE = SAFE_RANGE, |
| 18 | + MOUKEY, |
| 19 | + MS_BTN1, |
| 20 | + MS_BTN2, |
| 21 | + MS_BTN3 |
| 22 | +}; |
| 23 | + |
| 24 | +// Transparent macro to indicate that this spot is already being pressed |
| 25 | +// to activate this layer |
| 26 | +#define _LAYER_ KC_TRNS |
| 27 | + |
| 28 | +// == Dual-action keys on most of the modifiers |
| 29 | +#define CTL_ESC CTL_T(KC_ESC) |
| 30 | +#define CTL_GRV CTL_T(KC_GRV) |
| 31 | +#define ALT_TAB ALT_T(KC_TAB) |
| 32 | +#define SFT_SPC SFT_T(KC_SPC) |
| 33 | + |
| 34 | +// == Macro keys for commonly used apps |
| 35 | +// -- Slack |
| 36 | +// Move one conversation up/down |
| 37 | +#define SLACKUP LALT(LSFT(KC_UP)) |
| 38 | +#define SLACKDN LALT(LSFT(KC_DOWN)) |
| 39 | + |
| 40 | +// -- Browser and OS X |
| 41 | +// Activate one tab left/right |
| 42 | +#define TAB_LFT LGUI(LSFT(KC_LBRC)) |
| 43 | +#define TAB_RGT LGUI(LSFT(KC_RBRC)) |
| 44 | +// Go back/forward in history |
| 45 | +#define BWSR_BK LGUI(KC_LBRC) |
| 46 | +#define BWSR_FW LGUI(KC_RBRC) |
| 47 | + |
| 48 | +// -- Screen management |
| 49 | +// Make window fill the left/right side |
| 50 | +#define SCR_LFT HYPR(KC_LEFT) |
| 51 | +#define SCR_RGT HYPR(KC_RGHT) |
| 52 | +// Make window fill the whole monitor |
| 53 | +#define SCR_FUL HYPR(KC_F) |
| 54 | + |
| 55 | +// == Extended alpha layer toggles |
| 56 | +// -- Dvorak |
| 57 | +// Pressing U opens up the LWR layer (numpad) |
| 58 | +#define LWR_U LT(LWR, KC_U) |
| 59 | +// Pressing H opens up the RSE layer (brackets/parens) |
| 60 | +#define RSE_H LT(RSE, KC_H) |
| 61 | + |
| 62 | +// -- Qwerty |
| 63 | +// Pressing F opens up the LWR layer (numpad) |
| 64 | +#define LWR_F LT(LWR, KC_F) |
| 65 | +// Pressing J opens up the RSE layer (brackets/parens) |
| 66 | +#define RSE_J LT(RSE, KC_J) |
| 67 | + |
| 68 | +// -- LFT layer (Works on both Qwerty and Dvorak) |
| 69 | +// Pressing Back space or Enter opens up the LFT layer (media/navigation) |
| 70 | +#define LFT_BK LT(LFT, KC_BSPC) |
| 71 | +#define LFT_ENT LT(LFT, KC_ENT) |
0 commit comments