aboutsummaryrefslogtreecommitdiff
path: root/keyboards/kbdfans/kbd75/keymaps/aaronireland/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/kbdfans/kbd75/keymaps/aaronireland/keymap.c')
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/aaronireland/keymap.c212
1 files changed, 212 insertions, 0 deletions
diff --git a/keyboards/kbdfans/kbd75/keymaps/aaronireland/keymap.c b/keyboards/kbdfans/kbd75/keymaps/aaronireland/keymap.c
new file mode 100644
index 000000000..d12ee6e1f
--- /dev/null
+++ b/keyboards/kbdfans/kbd75/keymaps/aaronireland/keymap.c
@@ -0,0 +1,212 @@
1/* Copyright 2021 Aaron Ireland
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18
19// KBD75 layer indices
20enum custom_layers {
21 _QWERTY,
22 _COLEMAK,
23 _DVORAK,
24 _FL,
25};
26
27enum kbd75_keycodes {
28 QWERTY = SAFE_RANGE,
29 COLEMAK,
30 DVORAK
31};
32
33// Mac OS Custom Macros
34#define KC_CAPW LGUI(LSFT(KC_3)) // Capture whole screen
35#define KC_CPYW LGUI(LSFT(LCTL(KC_3))) // Copy whole screen
36#define KC_CAPP LGUI(LSFT(KC_4)) // Capture portion of screen
37#define KC_CPYP LGUI(LSFT(LCTL(KC_4))) // Copy portion of screen
38
39// Aaron's shell macros
40#define KC_CTLC LCTL(KC_C)
41#define KC_SNU LCTL(KC_B) // Used by vim
42#define KC_SND LCTL(KC_D) // Used by vim
43
44/* ***************** Aaron's KBD75 v2 Layout ********************
45 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
46 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
47 * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┤
48 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ 2U │ │
49 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
50 * │1.5U │ │ │ │ │ │ │ │ │ │ │ │ │1.5U │ │
51 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
52 * │1.75U │ │ │ │ │ │ │ │ │ │ │ │2.25U │ │
53 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
54 * │2.25U │ │ │ │ │ │ │ │ │ │ │1.75U │ │ │
55 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤
56 * │1.25│1.25│1.25│6.25U │1U │1U │1U │1U │1U │1U │
57 * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘
58 * ************************************************************/
59
60
61const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
62
63 /* ******************** 0: QWERTY Base Layer ********************
64 * PSN: Print Screen
65 * PUP: Page Up
66 * PDN: Page Down
67 * BRK: CTRL + C
68 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
69 * │ESC│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│PSN│BRK│DEL│
70 * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┤
71 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │BKSPACE│HOM│
72 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
73 * │ ` │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │PUP│
74 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
75 * │ TAB │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ ENTER │PDN│
76 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
77 * │ SHIFT │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │SHIFT │UP │END│
78 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤
79 * │ OS │ ALT│CTRL│ SPACE │OS │CTL│FN │LFT│DWN│RT │
80 * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘
81 * ************************************************************/
82
83 [_QWERTY] = LAYOUT_ansi_1u(
84 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_F12 , KC_CAPW, KC_CTLC, KC_DEL ,
85 KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_HOME,
86 KC_GRV , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
87 KC_TAB , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_PGDN,
88 KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_END ,
89 KC_LGUI, KC_LALT, KC_LCTL, KC_SPC , KC_RGUI, KC_LCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT
90 ),
91
92 /* ******************** 1: COLEMAK Base Layer ********************
93 * PSN: Print Screen
94 * PUP: Page Up
95 * PDN: Page Down
96 * BRK: CTRL + C
97 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
98 * │ESC│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│PSN│BRK│DEL│
99 * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┤
100 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │BKSPACE│HOM│
101 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
102 * │ ` │ Q │ W │ F │ P │ G │ J │ L │ U │ Y │ ; │ [ │ ] │ \ │PUP│
103 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
104 * │ TAB │ A │ R │ S │ T │ D │ H │ N │ E │ I │ O │ ' │ ENTER │PDN│
105 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
106 * │ SHIFT │ Z │ X │ C │ V │ B │ K │ M │ , │ . │ / │SHIFT │UP │END│
107 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤
108 * │ OS │ ALT│CTRL│ SPACE │OS │CTL│FN │LFT│DWN│RT │
109 * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘
110 * ************************************************************/
111
112 [_COLEMAK] = LAYOUT_ansi_1u(
113 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_F12 , KC_CAPW, KC_CTLC, KC_DEL ,
114 KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_HOME,
115 KC_GRV , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
116 KC_TAB , KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , KC_QUOT, KC_ENT , KC_PGDN,
117 KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_END ,
118 KC_LGUI, KC_LALT, KC_LCTL, KC_SPC , KC_RGUI, KC_LCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT
119 ),
120
121 /* ******************** 2: DVORAK Base Layer ********************
122 * PSN: Print Screen
123 * PUP: Page Up
124 * PDN: Page Down
125 * BRK: CTRL + C
126 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
127 * │ESC│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│PSN│BRK│DEL│
128 * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┤
129 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ [ │ ] │BKSPACE│HOM│
130 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
131 * │ ` │ ' │ , │ . │ P │ Y │ F │ G │ C │ R │ L │ / │ = │ \ │PUP│
132 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
133 * │ TAB │ A │ O │ E │ U │ I │ D │ H │ T │ N │ S │ - │ ENTER │PDN│
134 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
135 * │ SHIFT │ ; │ Q │ J │ K │ X │ B │ M │ W │ V │ Z │SHIFT │UP │END│
136 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤
137 * │ OS │ ALT│CTRL│ SPACE │OS │CTL│FN │LFT│DWN│RT │
138 * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘
139 * ************************************************************/
140
141 [_DVORAK] = LAYOUT_ansi_1u(
142 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_F12 , KC_CAPW, KC_CTLC, KC_DEL ,
143 KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_LBRC, KC_RBRC, KC_BSPC, KC_HOME,
144 KC_GRV , KC_QUOT, KC_COMM, KC_DOT , KC_P , KC_Y , KC_F , KC_G , KC_C , KC_R , KC_L , KC_SLSH, KC_EQL , KC_BSLS, KC_PGUP,
145 KC_TAB , KC_A , KC_O , KC_E , KC_U , KC_I , KC_D , KC_H , KC_T , KC_N , KC_S , KC_MINS, KC_ENT , KC_PGDN,
146 KC_LSFT, KC_SCLN, KC_Q , KC_J , KC_K , KC_X , KC_B , KC_M , KC_W , KC_V , KC_Z , KC_RSFT, KC_UP , KC_END ,
147 KC_LGUI, KC_LALT, KC_LCTL, KC_SPC , KC_RGUI, KC_LCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT
148 ),
149
150 /* ******************** 3: FN Momentary Layer ********************
151 * F13 - Launchpad
152 * SNU - CTRL + B = Neovim Screen Up
153 * SND - CTRL + D = Neovim Screen Down
154 * TOG - Toggle RGB Underglow
155 * MOD - RGB Underglow Mode
156 * NXT - FF/Skip
157 * PLY - Play/Stop
158 * VL - Volume Down/Up
159 * SN - Screen Brightness Up/Down
160 * QRT - QWERTY Layout
161 * CLK - COLEMAK Layout
162 * DVK - DVORAK Layout
163 * RESET - Put PCB into Bootstrap mode
164 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
165 * │ │ │ │ │ │ │ │ │ │ │ │ │ │PSN│ │ │
166 * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┤
167 * │ │TOG│MOD│HU+│HU-│SA+│SA-│VA+│VA-│ │ │ │ │ RESET │F13│
168 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
169 * │ TAB │QRT│ │ │ │ │ │ │ │ │ │ │ │ │SNU│
170 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
171 * │ CAPS │ │ │DVK│ │ │ │ │ │ │ │ │ │SND│
172 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
173 * │ │ │ │CLK│DEC│TOG│INC│STP│ │ │ │ │SN+│VL0│
174 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤
175 * │ OS │ ALT│CTRL│ SPACE │NXT│PLY│XXX│VL-│SN-│VL+│
176 * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘
177 * ************************************************************/
178
179 [_FL] = LAYOUT_ansi_1u(
180 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CAPP, _______, _______,
181 _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, RESET , KC_F13 ,
182 KC_TAB , QWERTY , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SNU ,
183 KC_CAPS, _______, _______, DVORAK , _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SND ,
184 _______, _______, _______, COLEMAK, BL_DEC , BL_TOGG, BL_INC , BL_STEP, _______, _______, _______, _______, KC_PAUS, KC_MUTE,
185 KC_LGUI, KC_LALT, KC_LCTL, KC_SPC , KC_MNXT, KC_MPLY, _______, KC_VOLD, KC_SLCK, KC_VOLU
186 ),
187};
188
189
190bool process_record_user(uint16_t keycode, keyrecord_t *record) {
191 switch (keycode) {
192 case QWERTY:
193 if (record->event.pressed) {
194 set_single_persistent_default_layer(_QWERTY);
195 }
196 return false;
197 break;
198 case COLEMAK:
199 if (record->event.pressed) {
200 set_single_persistent_default_layer(_COLEMAK);
201 }
202 return false;
203 break;
204 case DVORAK:
205 if (record->event.pressed) {
206 set_single_persistent_default_layer(_DVORAK);
207 }
208 return false;
209 break;
210 }
211 return true;
212}