aboutsummaryrefslogtreecommitdiff
path: root/users/badger/badger.h
diff options
context:
space:
mode:
Diffstat (limited to 'users/badger/badger.h')
-rw-r--r--users/badger/badger.h109
1 files changed, 109 insertions, 0 deletions
diff --git a/users/badger/badger.h b/users/badger/badger.h
new file mode 100644
index 000000000..bb2dcd0bd
--- /dev/null
+++ b/users/badger/badger.h
@@ -0,0 +1,109 @@
1/*
2Copyright 2020 Dan White <opensource@bluetufa.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8This program is distributed in the hope that it will be useful,
9but WITHOUT ANY WARRANTY; without even the implied warranty of
10MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11GNU General Public License for more details.
12You should have received a copy of the GNU General Public License
13along with this program. If not, see <http://www.gnu.org/licenses/>.
14*/
15#pragma once
16
17#include QMK_KEYBOARD_H
18
19enum layers {
20 _QWERTY_MAC,
21 _MOVE_MAC,
22 _QWERTY_LINUX,
23 _MOVE_LINUX,
24 _ADJUST,
25 _CONFIG
26};
27
28enum CustomKeys {
29 CS_RIGHT = SAFE_RANGE,
30 CS_DOWN
31};
32
33#define OS_POP LCTL(KC_F10)
34#define MAC_POP LCTL(KC_UP)
35#define MAC_FRC LGUI(LALT(KC_ESC))
36#define OS_COPY LSFT(LCTL(KC_C))
37#define OS_PAST LSFT(LCTL(KC_V))
38#define MAC_PST LGUI(KC_V)
39#define MAC_CPY LGUI(KC_C)
40#define KC_BACK LCTL(LSFT(KC_LBRC))
41#define KC_NEXT LCTL(LSFT(KC_RBRC))
42
43#define MOVE LT(_MOVE_LINUX, KC_ESC)
44#define MOVE_MAC LT(_MOVE_MAC, KC_ESC)
45#define ADJUST MO(_ADJUST)
46#define CFG_MAC LT(_CONFIG, MAC_POP)
47#define CFG_LNX LT(_CONFIG, OS_POP)
48
49#define WD_BACK LALT(KC_LEFT)
50#define WD_FRWD LALT(KC_RIGHT)
51
52#define VD_1 LCTL(KC_F1)
53#define VD_2 LCTL(KC_F2)
54#define VD_3 LCTL(KC_F3)
55
56#define WM_UH LGUI(KC_UP)
57#define WM_BH LGUI(KC_DOWN)
58#define WM_LH LGUI(KC_LEFT)
59#define WM_RH LGUI(KC_RIGHT)
60#define WM_MAX LGUI(KC_PGUP)
61
62#define CM_RIGHT LGUI(KC_D)
63#define CM_DOWN LGUI(LSFT(KC_D))
64
65/* THESE are not defaults in KDE and must be set manually */
66#define WM_VD1 HYPR(KC_1)
67#define WM_VD2 HYPR(KC_2)
68#define WM_VD3 HYPR(KC_3)
69
70/* IntelliJ / JetBrains shortcuts with Mac keymap */
71#define IJ_BACK LGUI(LALT(KC_LEFT))
72#define IJ_FWD LGUI(LALT(KC_RIGHT))
73#define IJ_UP LGUI(LALT(KC_UP))
74#define IJ_DOWN LGUI(LALT(KC_DOWN))
75#define IJ_IMPL LGUI(LALT(KC_B))
76#define IJ_DECL LGUI(KC_B)
77#define IJ_REN LSFT(KC_F6)
78#define IJ_USAG LALT(KC_F7)
79#define IJ_RUN KC_F9
80#define IJ_STEP KC_F8
81#define IJ_INTO LSFT(KC_F7)
82#define IJ_OUT LSFT(KC_F8)
83#define IJ_STOP LGUI(KC_F2)
84#define IJ_IMPS LCTL(LALT(LSFT(KC_EQUAL)))
85#define IJ_IMPH LCTL(LALT(LSFT(KC_MINUS)))
86#define IJ_TOP LGUI(KC_HOME)
87#define IJ_BOTT LGUI(KC_END)
88#define IJ_FIND LGUI(LSFT(KC_F))
89
90/* MacOS virtual desktop shortcuts */
91#define M_VD1 LCTL(KC_1)
92#define M_VD2 LCTL(KC_2)
93#define M_VD3 LCTL(KC_3)
94
95/* rectangle shortcuts */
96#define MM_ULCN LCTL(LGUI(KC_LEFT))
97#define MM_URCN LCTL(LGUI(KC_RIGHT))
98#define MM_LLCN LCTL(LSFT(LGUI(KC_LEFT)))
99#define MM_LRCN LCTL(LSFT(LGUI(KC_RIGHT)))
100#define MM_MAX LALT(LGUI(KC_F))
101#define MM_LH HYPR(KC_LBRC)
102#define MM_RH HYPR(KC_RBRC)
103#define MM_UH LALT(LGUI(KC_UP))
104#define MM_BH LALT(LGUI(KC_DOWN))
105#define MM_LEFT LCTL(LALT(LGUI(KC_LEFT)))
106#define MM_RGHT LCTL(LALT(LGUI(KC_RIGHT)))
107
108#define DF_1 DF(_QWERTY_MAC)
109#define DF_2 DF(_QWERTY_LINUX)