aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Hilgefort <rjhilgefort@gmail.com>2021-01-11 00:11:17 -0700
committerGitHub <noreply@github.com>2021-01-10 23:11:17 -0800
commit8e70c4d94356780a51e121e6254e8fa5cbc91147 (patch)
tree63ece80588fbf5647971f50dc7fd3ef4210c575c
parent68b58624d6bebb437bad9c625906de0ceb9db80c (diff)
downloadqmk_firmware-8e70c4d94356780a51e121e6254e8fa5cbc91147.tar.gz
qmk_firmware-8e70c4d94356780a51e121e6254e8fa5cbc91147.zip
[Keymap] rjhilgefort's Corne KBD (#11381)
* initial crkbd rjhilgefort keymap * finished v1 of rjhilgefort's crkbd keymap * Update keyboards/crkbd/keymaps/rjhilgefort/readme.md Co-authored-by: Ryan <fauxpark@gmail.com> * Update keyboards/crkbd/keymaps/rjhilgefort/readme.md * Update keyboards/crkbd/keymaps/rjhilgefort/readme.md * Update keyboards/crkbd/keymaps/rjhilgefort/readme.md Co-authored-by: Ryan <fauxpark@gmail.com>
-rw-r--r--keyboards/crkbd/keymaps/rjhilgefort/config.h47
-rw-r--r--keyboards/crkbd/keymaps/rjhilgefort/keymap.c220
-rw-r--r--keyboards/crkbd/keymaps/rjhilgefort/readme.md117
-rw-r--r--keyboards/crkbd/keymaps/rjhilgefort/rules.mk7
4 files changed, 391 insertions, 0 deletions
diff --git a/keyboards/crkbd/keymaps/rjhilgefort/config.h b/keyboards/crkbd/keymaps/rjhilgefort/config.h
new file mode 100644
index 000000000..cbc7eb03d
--- /dev/null
+++ b/keyboards/crkbd/keymaps/rjhilgefort/config.h
@@ -0,0 +1,47 @@
1/*
2This is the c configuration file for the keymap
3
4Copyright 2012 Jun Wako <wakojun@gmail.com>
5Copyright 2015 Jack Humbert
6
7This program is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 2 of the License, or
10(at your option) any later version.
11
12This program is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with this program. If not, see <http://www.gnu.org/licenses/>.
19*/
20
21#pragma once
22
23//#define USE_MATRIX_I2C
24
25/* Select hand configuration */
26
27#define MASTER_LEFT
28// #define MASTER_RIGHT
29// #define EE_HANDS
30
31#define USE_SERIAL_PD2
32
33#define TAPPING_FORCE_HOLD
34#define TAPPING_TERM 200 // 200 is default
35
36#ifdef RGBLIGHT_ENABLE
37 #undef RGBLED_NUM
38 #define RGBLIGHT_ANIMATIONS
39 #define RGBLED_NUM 27
40 #define RGBLIGHT_LIMIT_VAL 120
41 #define RGBLIGHT_HUE_STEP 10
42 #define RGBLIGHT_SAT_STEP 17
43 #define RGBLIGHT_VAL_STEP 17
44#endif
45
46#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c"
47
diff --git a/keyboards/crkbd/keymaps/rjhilgefort/keymap.c b/keyboards/crkbd/keymaps/rjhilgefort/keymap.c
new file mode 100644
index 000000000..a9dbe7657
--- /dev/null
+++ b/keyboards/crkbd/keymaps/rjhilgefort/keymap.c
@@ -0,0 +1,220 @@
1/*
2Copyright 2019 @foostan
3Copyright 2020 Drashna Jaelre <@drashna>
4
5This program is free software: you can redistribute it and/or modify
6it under the terms of the GNU General Public License as published by
7the Free Software Foundation, either version 2 of the License, or
8(at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#include QMK_KEYBOARD_H
20
21#define ALT_ESC ALT_T(KC_ESC)
22#define CTL_ESC CTL_T(KC_ESC)
23#define GUI_ESC GUI_T(KC_ESC)
24#define HYPER LGUI(LSFT(KC_LALT))
25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27 // 0 - Base Mac
28 [0] = LAYOUT_split_3x6_3(
29 //,-----------------------------------------------------. ,-----------------------------------------------------.
30 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
31 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
32 CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
33 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
34 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
35 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
36 MO(3), ALT_ESC, KC_LGUI, KC_SPC, MO(2), HYPER
37 //`--------------------------' `--------------------------'
38 ),
39
40 // 1 - Base Linux
41 [1] = LAYOUT_split_3x6_3(
42 //,-----------------------------------------------------. ,-----------------------------------------------------.
43 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
44 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
45 ALT_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
46 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
47 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
48 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
49 MO(4), GUI_ESC, KC_LCTL, KC_SPC, MO(2), HYPER
50 //`--------------------------' `--------------------------'
51 ),
52
53 // 2 - Symbols
54 [2] = LAYOUT_split_3x6_3(
55 //,-----------------------------------------------------. ,-----------------------------------------------------.
56 _______, KC_BSLS, KC_SLSH, KC_LBRC, KC_RBRC, KC_TILD, KC_PIPE, KC_EQL, KC_PLUS, KC_MINS, KC_UNDS, _______,
57 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
58 _______, KC_LCBR, KC_RCBR, KC_LPRN, KC_RPRN, KC_GRV, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, _______, _______,
59 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
60 _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
61 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
62 MO(5), _______, _______, _______, KC_TRNS, _______
63 //`--------------------------' `--------------------------'
64 ),
65
66 // 3 - MAN Mac
67 [3] = LAYOUT_split_3x6_3(
68 //,-----------------------------------------------------. ,-----------------------------------------------------.
69 _______, _______, KC_BRMD, KC_VOLU, KC_BRMU, _______, _______, KC_7, KC_8, KC_9, KC_ASTR, _______,
70 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
71 _______, KC_MUTE, KC_MRWD, KC_MPLY, KC_MFFD, _______, _______, KC_4, KC_5, KC_6, KC_PLUS, _______,
72 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
73 _______, _______, _______, KC_VOLD, _______, _______, _______, KC_1, KC_2, KC_3, KC_BSLS, _______,
74 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
75 KC_TRNS, _______, _______, KC_0, MO(5), _______
76 //`--------------------------' `--------------------------'
77 ),
78
79 // 4 - MAN Linux
80 [4] = LAYOUT_split_3x6_3(
81 //,-----------------------------------------------------. ,-----------------------------------------------------.
82 _______, _______, KC_BRID, KC_VOLU, KC_BRIU, _______, _______, KC_7, KC_8, KC_9, KC_ASTR, _______,
83 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
84 _______, KC_MUTE, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_4, KC_5, KC_6, KC_PLUS, _______,
85 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
86 _______, _______, _______, KC_VOLD, _______, _______, _______, KC_1, KC_2, KC_3, KC_BSLS, _______,
87 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
88 KC_TRNS, _______, _______, KC_0, MO(5), _______
89 //`--------------------------' `--------------------------'
90 ),
91
92 // 5 - Extra
93 [5] = LAYOUT_split_3x6_3(
94 //,-----------------------------------------------------. ,-----------------------------------------------------.
95 _______, DF(0), DF(1), _______, _______, _______, _______, _______, _______, _______, _______, _______,
96 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
97 _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______,
98 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
99 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
100 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
101 KC_TRNS, _______, _______, _______, KC_TRNS, _______
102 //`--------------------------' `--------------------------'
103 )
104};
105
106#ifdef OLED_DRIVER_ENABLE
107oled_rotation_t oled_init_user(oled_rotation_t rotation) {
108 if (!is_master) {
109 return OLED_ROTATION_180; // flips the display 180 degrees if offhand
110 }
111 return rotation;
112}
113
114#define L_BASE_MAC 0
115#define L_BASE_LINUX 2
116#define L_SYMBOLS 4
117#define L_MAN_MAC 8
118#define L_MAN_LINUX 16
119#define L_EXTRA 32
120
121void oled_render_layer_state(void) {
122 oled_write_P(PSTR("L: "), false);
123
124 switch (layer_state) {
125 case L_BASE_MAC:
126 case L_BASE_LINUX:
127 oled_write_ln_P(PSTR("Base"), false);
128 break;
129 case L_SYMBOLS:
130 oled_write_ln_P(PSTR("Symbols"), false);
131 break;
132 case L_MAN_MAC:
133 oled_write_ln_P(PSTR("Media/Num (Mac)"), false);
134 break;
135 case L_MAN_LINUX:
136 oled_write_ln_P(PSTR("Media/Num (Linux)"), false);
137 break;
138 case L_EXTRA:
139 case L_EXTRA|L_SYMBOLS:
140 case L_EXTRA|L_MAN_MAC:
141 case L_EXTRA|L_MAN_LINUX:
142 case L_EXTRA|L_SYMBOLS|L_MAN_MAC:
143 case L_EXTRA|L_SYMBOLS|L_MAN_LINUX:
144 oled_write_ln_P(PSTR("Extra"), false);
145 break;
146 default:
147 oled_write_ln_P(PSTR("Unhandled!"), false);
148 break;
149 }
150}
151
152
153char keylog_str[24] = {};
154
155const char code_to_name[60] = {
156 ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f',
157 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
158 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
159 '1', '2', '3', '4', '5', '6', '7', '8', '9', '0',
160 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\',
161 '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '};
162
163void set_keylog(uint16_t keycode, keyrecord_t *record) {
164 char name = ' ';
165 if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) ||
166 (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; }
167 if (keycode < 60) {
168 name = code_to_name[keycode];
169 }
170
171 // update keylog
172 snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c",
173 record->event.key.row, record->event.key.col,
174 keycode, name);
175}
176
177void oled_render_keylog(void) {
178 oled_write(keylog_str, false);
179}
180
181void render_bootmagic_status(bool status) {
182 /* Show Ctrl-Gui Swap options */
183 static const char PROGMEM logo[][2][3] = {
184 {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}},
185 {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}},
186 };
187 if (status) {
188 oled_write_ln_P(logo[0][0], false);
189 oled_write_ln_P(logo[0][1], false);
190 } else {
191 oled_write_ln_P(logo[1][0], false);
192 oled_write_ln_P(logo[1][1], false);
193 }
194}
195
196void oled_render_logo(void) {
197 static const char PROGMEM crkbd_logo[] = {
198 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94,
199 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4,
200 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4,
201 0};
202 oled_write_P(crkbd_logo, false);
203}
204
205void oled_task_user(void) {
206 if (is_master) {
207 oled_render_layer_state();
208 oled_render_keylog();
209 } else {
210 oled_render_logo();
211 }
212}
213
214bool process_record_user(uint16_t keycode, keyrecord_t *record) {
215 if (record->event.pressed) {
216 set_keylog(keycode, record);
217 }
218 return true;
219}
220#endif // OLED_DRIVER_ENABLE
diff --git a/keyboards/crkbd/keymaps/rjhilgefort/readme.md b/keyboards/crkbd/keymaps/rjhilgefort/readme.md
new file mode 100644
index 000000000..6c8fd9c22
--- /dev/null
+++ b/keyboards/crkbd/keymaps/rjhilgefort/readme.md
@@ -0,0 +1,117 @@
1# [🐦 @rjhilgefort](https://twitter.com/rjhilgefort)'s Corne KBD (CRKBD) Layout
2
3My Corne KBD layout is inspired by [my Planck Layout](../../../planck/keymaps/rjhilgefort/readme.md), but with some additional features. Namely, this layout has Linux support.
4
5![](https://imgur.com/wp9ksTIh.jpg)
6![](https://imgur.com/fnyiCnEh.jpg)
7
8## Features
9
10Here's some highlights/features of the layout.
11
12- Ergonomic symbols layer.
13- Media and Numpad layer.
14- Planck-like extra tri-layer when holding the other two layers.
15- Supports Mac and Linux as 1st class citizens giving each a dedicated base layer and a media layer for each that matches media keys for each OS. The Linux default layer focuses on `Ctrl` instead of `Super` and vice versa for Mac. (When you set Linux as your base layer, the Linux media layer is what you shift into. Same for the Mac layer when that's the base)
16
17## Layers
18
19#### Keymap 0: Base (Mac)
20
21```
22 ,-----------------------------------------------------. ,-----------------------------------------------------.
23 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
24 |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
25 CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
26 |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
27 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
28 |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
29 MO(3), ALT_ESC, KC_LGUI, KC_SPC, MO(2), HYPER
30 //`--------------------------' `--------------------------'
31```
32
33#### Keymap 1: Base (Linux)
34
35```
36 ,-----------------------------------------------------. ,-----------------------------------------------------.
37 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
38 |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
39 ALT_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
40 |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
41 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
42 |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
43 MO(4), GUI_ESC, KC_LCTL, KC_SPC, MO(2), HYPER
44 //`--------------------------' `--------------------------'
45```
46
47#### Keymap 2: Symbol Layer
48
49```
50 ,-----------------------------------------------------. ,-----------------------------------------------------.
51 _______, KC_BSLS, KC_SLSH, KC_LBRC, KC_RBRC, KC_TILD, KC_PIPE, KC_EQL, KC_PLUS, KC_MINS, KC_UNDS, _______,
52 |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
53 _______, KC_LCBR, KC_RCBR, KC_LPRN, KC_RPRN, KC_GRV, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, _______, _______,
54 |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
55 _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
56 |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
57 MO(5), _______, _______, _______, KC_TRNS, _______
58 //`--------------------------' `--------------------------'
59```
60
61#### Keymap 3: Media & Numbers (MAC)
62
63```
64 ,-----------------------------------------------------. ,-----------------------------------------------------.
65 _______, _______, KC_BRMD, KC_VOLU, KC_BRMU, _______, _______, KC_7, KC_8, KC_9, KC_ASTR, _______,
66 |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
67 _______, KC_MUTE, KC_MRWD, KC_MPLY, KC_MFFD, _______, _______, KC_4, KC_5, KC_6, KC_PLUS, _______,
68 |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
69 _______, _______, _______, KC_VOLD, _______, _______, _______, KC_1, KC_2, KC_3, KC_BSLS, _______,
70 |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
71 KC_TRNS, _______, _______, KC_0, MO(5), _______
72 //`--------------------------' `--------------------------'
73```
74
75#### Keymap 4: Media & Numbers (Linux)
76
77```
78 ,-----------------------------------------------------. ,-----------------------------------------------------.
79 _______, _______, KC_BRID, KC_VOLU, KC_BRIU, _______, _______, KC_7, KC_8, KC_9, KC_ASTR, _______,
80 |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
81 _______, KC_MUTE, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_4, KC_5, KC_6, KC_PLUS, _______,
82 |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
83 _______, _______, _______, KC_VOLD, _______, _______, _______, KC_1, KC_2, KC_3, KC_BSLS, _______,
84 |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
85 KC_TRNS, _______, _______, KC_0, MO(5), _______
86 //`--------------------------' `--------------------------'
87```
88
89#### Keymap 5: Extra
90
91```
92 ,-----------------------------------------------------. ,-----------------------------------------------------.
93 _______, DF(0), DF(1), _______, _______, _______, _______, _______, _______, _______, _______, _______,
94 |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
95 _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______,
96 |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
97 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
98 |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
99 KC_TRNS, _______, _______, _______, KC_TRNS, _______
100 //`--------------------------' `--------------------------'
101```
102
103## Building And Flashing
104
105Note, you'll see that most `crkbd`'s recommend a target of `avrdude` because most kits come with a Pro Micro. I put a Elite-C on mine and thus the target is `dfu`. You can see this in the [rules.mk](./rules.mk) as the `BOOTLOADER` configuration.
106
107#### CLI
108
109```
110make crkbd:rjhilgefort:flash
111```
112
113#### Docker
114
115```
116util/docker_build.sh crkbd:rjhilgefort:flash
117```
diff --git a/keyboards/crkbd/keymaps/rjhilgefort/rules.mk b/keyboards/crkbd/keymaps/rjhilgefort/rules.mk
new file mode 100644
index 000000000..a1b6e79e7
--- /dev/null
+++ b/keyboards/crkbd/keymaps/rjhilgefort/rules.mk
@@ -0,0 +1,7 @@
1# For Elite-C
2BOOTLOADER = atmel-dfu
3
4# https://www.reddit.com/r/olkb/comments/9pyc0u/qmk_media_keys_are_not_working/
5EXTRAKEY_ENABLE = yes
6
7OLED_DRIVER_ENABLE = yes