]> git.donarmstrong.com Git - qmk_firmware.git/blob - users/vosechu/vosechu.h
[Keymap] Add userspace files for vosechu (#4912)
[qmk_firmware.git] / users / vosechu / vosechu.h
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)