aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/crkbd/keymaps/rpbaptist/config.h112
-rw-r--r--keyboards/crkbd/keymaps/rpbaptist/glcdfont.c240
-rw-r--r--keyboards/crkbd/keymaps/rpbaptist/keymap.c234
-rw-r--r--keyboards/crkbd/keymaps/rpbaptist/readme.md57
-rw-r--r--keyboards/crkbd/keymaps/rpbaptist/rules.mk34
5 files changed, 677 insertions, 0 deletions
diff --git a/keyboards/crkbd/keymaps/rpbaptist/config.h b/keyboards/crkbd/keymaps/rpbaptist/config.h
new file mode 100644
index 000000000..da47524a8
--- /dev/null
+++ b/keyboards/crkbd/keymaps/rpbaptist/config.h
@@ -0,0 +1,112 @@
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#define EE_HANDS
27
28#undef SSD1306OLED
29
30#define USE_SERIAL_PD2
31
32#define FORCE_NKRO
33
34#define QMK_ESC_OUTPUT F4 // usually COL
35#define QMK_ESC_INPUT D4 // usually ROW
36#define QMK_LED B0
37
38#ifdef RGB_MATRIX_ENABLE
39 #define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
40 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
41
42 #define RGB_MATRIX_HUE_STEP 10
43 #define RGB_MATRIX_SAT_STEP 15
44 #define RGB_MATRIX_VAL_STEP 16
45 #define RGB_MATRIX_SPD_STEP 10
46
47 #define DISABLE_RGB_MATRIX_ALPHAS_MODS
48 #define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
49 #define DISABLE_RGB_MATRIX_BREATHING
50 #define DISABLE_RGB_MATRIX_BAND_SAT
51 #define DISABLE_RGB_MATRIX_BAND_VAL
52 #define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
53 #define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
54 #define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
55 #define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL
56 // #define DISABLE_RGB_MATRIX_CYCLE_ALL
57 #define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
58 #define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN
59 #define DISABLE_RGB_MATRIX_CYCLE_OUT_IN
60 #define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
61 #define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
62 #define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL
63 #define DISABLE_RGB_MATRIX_CYCLE_SPIRAL
64 // #define DISABLE_RGB_MATRIX_DUAL_BEACON
65 #define DISABLE_RGB_MATRIX_RAINBOW_BEACON
66 #define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS
67 #define DISABLE_RGB_MATRIX_RAINDROPS
68 #define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
69
70 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS
71 // #define DISABLE_RGB_MATRIX_TYPING_HEATMAP
72 #define DISABLE_RGB_MATRIX_DIGITAL_RAIN
73
74 #define RGB_MATRIX_KEYPRESSES // reacts to keypresses
75
76 #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
77 #define DISABLE_RGB_MATRIX_SOLID_REACTIVE
78 #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
79 #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
80 #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
81 #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
82 #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
83 // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
84
85 // #define DISABLE_RGB_MATRIX_SPLASH
86 #define DISABLE_RGB_MATRIX_MULTISPLASH
87 #define DISABLE_RGB_MATRIX_SOLID_SPLASH
88 #define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
89
90 #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_TYPING_HEATMAP
91#endif
92
93#define TAPPING_TERM 150
94// #define PERMISSIVE_HOLD
95#define IGNORE_MOD_TAP_INTERRUPT
96// #define RETRO_TAPPING
97
98#define TAPPING_TOGGLE 2
99
100#define MOUSEKEY_DELAY 0
101#define MOUSEKEY_INTERVAL 16
102#define MOUSEKEY_MAX_SPEED 6
103#define MOUSEKEY_TIME_TO_MAX 32
104#define MOUSEKEY_WHEEL_MAX_SPEED 4
105#define MOUSEKEY_WHEEL_TIME_TO_MAX 40
106
107#define OLED_FONT_H "keyboards/crkbd/keymaps/rpbaptist/glcdfont.c"
108
109#define NO_ACTION_ONESHOT
110
111#undef PRODUCT
112#define PRODUCT Corne Keyboard
diff --git a/keyboards/crkbd/keymaps/rpbaptist/glcdfont.c b/keyboards/crkbd/keymaps/rpbaptist/glcdfont.c
new file mode 100644
index 000000000..044c16d9c
--- /dev/null
+++ b/keyboards/crkbd/keymaps/rpbaptist/glcdfont.c
@@ -0,0 +1,240 @@
1#pragma once
2
3#ifdef __AVR__
4 #include <avr/io.h>
5 #include <avr/pgmspace.h>
6#elif defined(ESP8266)
7 #include <pgmspace.h>
8#else
9 #define PROGMEM
10#endif
11
12// Helidox 8x6 font with QMK Firmware Logo
13// Online editor: http://teripom.x0.com/
14
15const unsigned char font[] PROGMEM = {
160x00, 0x00, 0x00, 0x00, 0x00, 0x00,
170x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
180x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
190x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
200x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
210x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
220x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
230x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
240xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
250x00, 0x18, 0x24, 0x18, 0x00, 0x00,
260xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
270x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
280x26, 0x29, 0x79, 0x29, 0x26, 0x00,
290x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
300x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
310x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
320x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
330x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
340x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
350x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
360x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
370x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
380x60, 0x60, 0x60, 0x60, 0x60, 0x00,
390x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
400x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
410x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
420x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
430x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
440x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
450x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
460x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
470x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
480x00, 0x00, 0x00, 0x00, 0x00, 0x00,
490x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
500x00, 0x07, 0x00, 0x07, 0x00, 0x00,
510x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
520x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
530x23, 0x13, 0x08, 0x64, 0x62, 0x00,
540x36, 0x49, 0x56, 0x20, 0x50, 0x00,
550x00, 0x08, 0x07, 0x03, 0x00, 0x00,
560x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
570x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
580x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
590x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
600x00, 0x80, 0x70, 0x30, 0x00, 0x00,
610x08, 0x08, 0x08, 0x08, 0x08, 0x00,
620x00, 0x00, 0x60, 0x60, 0x00, 0x00,
630x20, 0x10, 0x08, 0x04, 0x02, 0x00,
640x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
650x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
660x72, 0x49, 0x49, 0x49, 0x46, 0x00,
670x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
680x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
690x27, 0x45, 0x45, 0x45, 0x39, 0x00,
700x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
710x41, 0x21, 0x11, 0x09, 0x07, 0x00,
720x36, 0x49, 0x49, 0x49, 0x36, 0x00,
730x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
740x00, 0x00, 0x14, 0x00, 0x00, 0x00,
750x00, 0x40, 0x34, 0x00, 0x00, 0x00,
760x00, 0x08, 0x14, 0x22, 0x41, 0x00,
770x14, 0x14, 0x14, 0x14, 0x14, 0x00,
780x00, 0x41, 0x22, 0x14, 0x08, 0x00,
790x02, 0x01, 0x59, 0x09, 0x06, 0x00,
800x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
810x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
820x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
830x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
840x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
850x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
860x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
870x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
880x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
890x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
900x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
910x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
920x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
930x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
940x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
950x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
960x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
970x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
980x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
990x26, 0x49, 0x49, 0x49, 0x32, 0x00,
1000x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
1010x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
1020x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
1030x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
1040x63, 0x14, 0x08, 0x14, 0x63, 0x00,
1050x03, 0x04, 0x78, 0x04, 0x03, 0x00,
1060x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
1070x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
1080x02, 0x04, 0x08, 0x10, 0x20, 0x00,
1090x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
1100x04, 0x02, 0x01, 0x02, 0x04, 0x00,
1110x40, 0x40, 0x40, 0x40, 0x40, 0x00,
1120x00, 0x03, 0x07, 0x08, 0x00, 0x00,
1130x20, 0x54, 0x54, 0x78, 0x40, 0x00,
1140x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
1150x38, 0x44, 0x44, 0x44, 0x28, 0x00,
1160x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
1170x38, 0x54, 0x54, 0x54, 0x18, 0x00,
1180x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
1190x18, 0x24, 0x24, 0x1C, 0x78, 0x00,
1200x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
1210x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
1220x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
1230x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
1240x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
1250x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
1260x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
1270x38, 0x44, 0x44, 0x44, 0x38, 0x00,
1280x7C, 0x18, 0x24, 0x24, 0x18, 0x00,
1290x18, 0x24, 0x24, 0x18, 0x7C, 0x00,
1300x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
1310x48, 0x54, 0x54, 0x54, 0x24, 0x00,
1320x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
1330x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
1340x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
1350x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
1360x44, 0x28, 0x10, 0x28, 0x44, 0x00,
1370x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
1380x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
1390x00, 0x08, 0x36, 0x41, 0x00, 0x00,
1400x00, 0x00, 0x77, 0x00, 0x00, 0x00,
1410x00, 0x41, 0x36, 0x08, 0x00, 0x00,
1420x02, 0x01, 0x02, 0x04, 0x02, 0x00,
1430x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
1440x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1450x00, 0x00, 0x00, 0x00, 0x00, 0xE0,
1460x38, 0x1C, 0x0C, 0x06, 0x03, 0x03,
1470x01, 0x01, 0x01, 0x01, 0x01, 0x01,
1480x03, 0x03, 0x82, 0x86, 0xCC, 0xF8,
1490xF0, 0xF0, 0x38, 0x1C, 0x0C, 0x00,
1500x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1510x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1520x00, 0x00, 0x00, 0x00, 0xC0, 0x70,
1530xF8, 0x0C, 0x04, 0xC6, 0xA2, 0xB3,
1540x9F, 0x87, 0x01, 0x01, 0x1F, 0x66,
1550x66, 0x44, 0x4C, 0x58, 0x70, 0xE0,
1560x80, 0x00, 0x00, 0x00, 0x00, 0x00,
1570x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1580x00, 0x00, 0x00, 0x00, 0x00, 0xC0,
1590xE0, 0x78, 0x18, 0x8C, 0xC6, 0xE6,
1600xE3, 0xE3, 0xC3, 0x83, 0x03, 0x03,
1610x73, 0x76, 0x76, 0x0C, 0x18, 0xF8,
1620xF0, 0xC0, 0x00, 0x00, 0x00, 0x00,
1630x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1640x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1650xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC,
1660xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00,
1670x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E,
1680x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00,
1690x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B,
1700x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00,
1710xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE,
1720xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00,
1730x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1740x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1750x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1760x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1770x00, 0x80, 0xC0, 0x40, 0x7F, 0xF3,
1780x60, 0x20, 0x30, 0x30, 0x38, 0x18,
1790x9C, 0xCC, 0x6C, 0x6E, 0x3E, 0x3E,
1800x1F, 0x0F, 0x0F, 0x03, 0x03, 0x01,
1810xC0, 0xFF, 0x3E, 0x00, 0x00, 0x00,
1820x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1830x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1840x00, 0x00, 0x00, 0x7F, 0xC1, 0x00,
1850x1D, 0x67, 0xC0, 0x80, 0x01, 0x00,
1860x00, 0xF0, 0x0F, 0x00, 0x00, 0x00,
1870x0C, 0x1A, 0x32, 0xC2, 0x01, 0xC1,
1880xFF, 0x3E, 0x00, 0x00, 0x00, 0x00,
1890x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1900x00, 0x00, 0x00, 0x00, 0x7E, 0xFF,
1910x80, 0x00, 0x00, 0xC3, 0xC7, 0xC7,
1920x8F, 0x0F, 0x07, 0x03, 0x80, 0xC0,
1930xC0, 0xC0, 0xC0, 0x80, 0x00, 0x07,
1940x0F, 0xFF, 0x7F, 0x00, 0x00, 0x00,
1950x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1960x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1970x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F,
1980x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00,
1990x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F,
2000x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00,
2010x30, 0x7B, 0x7F, 0x78, 0x30, 0x20,
2020x20, 0x30, 0x78, 0x7F, 0x3B, 0x00,
2030x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F,
2040x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00,
2050x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2060x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2070x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2080x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2090x01, 0x01, 0x00, 0x40, 0x60, 0x31,
2100x3B, 0x1E, 0x0C, 0x1E, 0x36, 0x23,
2110x61, 0x60, 0x60, 0x60, 0x60, 0x60,
2120x60, 0x30, 0x1C, 0x3E, 0x3E, 0x3F,
2130x1D, 0x00, 0x00, 0x00, 0x00, 0x00,
2140x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2150x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2160x00, 0x00, 0x00, 0x00, 0x01, 0x07,
2170x0C, 0x18, 0x10, 0x33, 0x3E, 0x38,
2180x6E, 0x67, 0x60, 0x60, 0x60, 0x20,
2190x30, 0x18, 0x08, 0x0F, 0x06, 0x03,
2200x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2210x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2220x00, 0x00, 0x00, 0x00, 0x00, 0x01,
2230x03, 0x06, 0x0C, 0x19, 0x31, 0x21,
2240x60, 0x60, 0x60, 0x60, 0x61, 0x63,
2250x67, 0x67, 0x33, 0x39, 0x18, 0x0E,
2260x07, 0x03, 0x00, 0x00, 0x00, 0x00,
2270x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2280x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2290x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2300x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2310x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2320x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2330x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2340x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2350x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2360x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2370x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2380x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2390x00, 0x00, 0x00, 0x00, 0x00, 0x00,
240};
diff --git a/keyboards/crkbd/keymaps/rpbaptist/keymap.c b/keyboards/crkbd/keymaps/rpbaptist/keymap.c
new file mode 100644
index 000000000..932641a9f
--- /dev/null
+++ b/keyboards/crkbd/keymaps/rpbaptist/keymap.c
@@ -0,0 +1,234 @@
1#include QMK_KEYBOARD_H
2
3extern uint8_t is_master;
4
5enum layer_names {
6 _COLEMAKDHM,
7 _GAMING,
8 _GAMING_EXT,
9 _NUM,
10 _FN,
11 _NAV,
12 _UTIL
13};
14
15// Base layers
16#define COLEMAK DF(_COLEMAKDHM)
17#define GAMING DF(_GAMING)
18
19// Layer toggle and switch
20#define T_NAV TT(_NAV)
21#define S_NAV MO(_NAV)
22
23#define T_NUM TT(_NUM)
24#define S_NUM MO(_NUM)
25
26// Layer keys with functionality on tap
27#define FN_TAB LT(_FN, KC_TAB)
28#define NAV_0 LT(_NAV, KC_0)
29#define EXT_SF LT(_GAMING_EXT, KC_LSHIFT)
30
31// Tap/mod keys
32#define RCTBR RCTL_T(KC_RBRACKET)
33#define LCTBR LCTL_T(KC_LBRACKET)
34
35#define SFSPC LSFT_T(KC_SPACE)
36#define SFENT LSFT_T(KC_ENTER)
37
38// Global tab forward and backward
39#define TBFWD LCTL(KC_TAB)
40#define TBBCK LCTL(LSFT(KC_TAB))
41
42// Custom key for NUM layer
43#define CTEQL RCTL_T(KC_EQL)
44
45// €
46#define KC_EUR ALGR(KC_5)
47
48const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
49 [_COLEMAKDHM] = LAYOUT( \
50 //,-----------------------------------------------------. ,-----------------------------------------------------.
51 KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,\
52 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
53 FN_TAB, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_QUOT,\
54 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
55 LCTBR, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, RCTBR,\
56 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
57 KC_LALT, T_NUM, SFSPC, SFENT, T_NAV, KC_RGUI \
58 //`--------------------------' `--------------------------'
59 ),
60
61 [_GAMING] = LAYOUT( \
62 //,-----------------------------------------------------. ,-----------------------------------------------------.
63 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
64 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
65 KC_TAB, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
66 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
67 KC_LCTL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RCTL,\
68 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
69 _______, EXT_SF, KC_SPC, _______, _______, _______ \
70 //`--------------------------' `--------------------------'
71 ),
72
73 [_GAMING_EXT] = LAYOUT( \
74 //,-----------------------------------------------------. ,-----------------------------------------------------.
75 KC_GRV, KC_1, KC_2, _______, KC_3, KC_4, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_DEL,\
76 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
77 KC_LBRC, KC_RBRC, _______, _______, _______, KC_BSLS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,\
78 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
79 KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F11, KC_F12, KC_MINS, KC_EQL, _______, _______,\
80 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
81 _______, _______, _______, KC_ENT, _______, _______ \
82 //`--------------------------' `--------------------------'
83 ),
84
85 [_FN] = LAYOUT( \
86 //,-----------------------------------------------------. ,-----------------------------------------------------.
87 KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,\
88 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
89 _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_CAPS, KC_NLCK, XXXXXXX, KC_MINS, KC_PIPE, KC_BSLS, KC_PLUS, XXXXXXX,\
90 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
91 _______, XXXXXXX, KC_PAUS, KC_SLCK, KC_PSCR, KC_INS, XXXXXXX, KC_UNDS, KC_LT, KC_GT, KC_EQL, _______,\
92 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
93 _______, _______, _______, _______, _______, _______ \
94 //`--------------------------' `--------------------------'
95 ),
96
97 [_NUM] = LAYOUT( \
98 //,-----------------------------------------------------. ,-----------------------------------------------------.
99 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,\
100 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
101 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_SLSH, KC_4, KC_5, KC_6, KC_MINS, KC_PLUS,\
102 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
103 _______, KC_CIRC, KC_AMPR, KC_EUR, KC_LPRN, KC_RPRN, KC_ASTR, KC_1, KC_2, KC_3, KC_UNDS, CTEQL,\
104 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
105 _______, S_NUM, _______, _______, NAV_0, KC_DOT \
106 //`--------------------------' `--------------------------'
107 ),
108
109 [_NAV] = LAYOUT( \
110 //,-----------------------------------------------------. ,-----------------------------------------------------.
111 _______, KC_WH_U, TBBCK, KC_MS_U, TBFWD, KC_BTN2, KC_PGUP, KC_HOME, KC_UP, KC_END, XXXXXXX, KC_DEL,\
112 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
113 KC_TAB, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN1, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX,\
114 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
115 _______, XXXXXXX, KC_WH_L, XXXXXXX, KC_WH_R, XXXXXXX, XXXXXXX, KC_ACL0, KC_ACL1, KC_ACL2, XXXXXXX, _______,\
116 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------+---------|
117 _______, _______, _______, _______, S_NAV, _______ \
118 //`--------------------------' `--------------------------'
119 ),
120
121 [_UTIL] = LAYOUT( \
122 //,-----------------------------------------------------. ,-----------------------------------------------------.
123 RESET, XXXXXXX, KC_MSTP, KC_VOLU, KC_MNXT, XXXXXXX, COLEMAK, GAMING, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,\
124 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
125 XXXXXXX, XXXXXXX, KC_MPRV, KC_VOLD, KC_MPLY, XXXXXXX, XXXXXXX, RGB_MOD, RGB_SPI, RGB_HUI, RGB_SAI, RGB_VAI,\
126 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
127 XXXXXXX, KC_SLEP, XXXXXXX, KC_MUTE, XXXXXXX, XXXXXXX, RGB_TOG,RGB_RMOD, RGB_SPD, RGB_HUD, RGB_SAD, RGB_VAD,\
128 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
129 _______, _______, _______, _______, _______, _______ \
130 //`--------------------------' `--------------------------'
131 )
132};
133
134layer_state_t layer_state_set_user(layer_state_t state) {
135 switch (get_highest_layer(default_layer_state)) {
136 case _COLEMAKDHM:
137 state = update_tri_layer_state(state, _NUM, _NAV, _UTIL);
138 break;
139 case _GAMING:
140 state = update_tri_layer_state(state, _GAMING_EXT, _NAV, _UTIL);
141 break;
142 }
143 return state;
144}
145
146#ifdef OLED_DRIVER_ENABLE
147oled_rotation_t oled_init_user(oled_rotation_t rotation) {
148 if (is_master) {
149 return OLED_ROTATION_270;
150 } else {
151 return OLED_ROTATION_180;
152 }
153}
154
155void render_crkbd_logo(void) {
156 static const char PROGMEM crkbd_logo[] = {
157 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94,
158 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4,
159 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4,
160 0};
161 oled_write_P(crkbd_logo, false);
162}
163
164void render_status(void) {
165 // oled_write_P(PSTR("Layout: "), false);
166 switch (get_highest_layer(default_layer_state)) {
167 case _COLEMAKDHM:
168 oled_write_P(PSTR("CLMK "), false);
169 break;
170 case _GAMING:
171 oled_write_P(PSTR("GAME "), false);
172 break;
173 }
174
175 oled_write_P(PSTR("\n"), false);
176
177 switch (get_highest_layer(layer_state)) {
178 case 0:
179 oled_write_P(PSTR(" "), false);
180 break;
181 case _NUM:
182 oled_write_P(PSTR("Comm "), false);
183 break;
184 case _FN:
185 oled_write_P(PSTR("Stage"), false);
186 break;
187 case _NAV:
188 oled_write_P(PSTR("Fuel "), false);
189 break;
190 case _GAMING_EXT:
191 oled_write_P(PSTR("Ext "), false);
192 break;
193 case _UTIL:
194 oled_write_P(PSTR("Util "), false);
195 break;
196 default:
197 oled_write_P(PSTR("Unkn "), false);
198 break;
199 }
200 oled_write_P(PSTR("\n"), false);
201
202 uint8_t modifiers = get_mods();
203
204 oled_write_P( (modifiers & MOD_MASK_CTRL) ? PSTR("PROG ") : PSTR(" "), false);
205 oled_write_P( (modifiers & MOD_MASK_SHIFT) ? PSTR("PULSE") : PSTR(" "), false);
206 oled_write_P( (modifiers & MOD_MASK_ALT) ? PSTR("STBY ") : PSTR(" "), false);
207 oled_write_P( (modifiers & MOD_MASK_GUI) ? PSTR("GYRO ") : PSTR(" "), false);
208
209 oled_write_P(PSTR("\n"), false);
210
211 uint8_t led_usb_state = host_keyboard_leds();
212 oled_write_P(PSTR("Mode:\n"), false);
213 oled_write_P(IS_LED_ON(led_usb_state, USB_LED_NUM_LOCK) ? PSTR(" NUM ") : PSTR(" "), false);
214 oled_write_P(IS_LED_ON(led_usb_state, USB_LED_CAPS_LOCK) ? PSTR(" CAPS") : PSTR(" "), false);
215 oled_write_P(IS_LED_ON(led_usb_state, USB_LED_SCROLL_LOCK) ? PSTR(" SCRL") : PSTR(" "), false);
216}
217
218void oled_task_user(void) {
219 if (is_master) {
220 render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc)
221 } else {
222 render_crkbd_logo();
223 // oled_scroll_left(); // Turns on scrolling
224 }
225}
226#endif
227
228void suspend_power_down_keymap(void) {
229 rgb_matrix_set_suspend_state(true);
230}
231
232void suspend_wakeup_init_keymap(void) {
233 rgb_matrix_set_suspend_state(false);
234}
diff --git a/keyboards/crkbd/keymaps/rpbaptist/readme.md b/keyboards/crkbd/keymaps/rpbaptist/readme.md
new file mode 100644
index 000000000..cb53e75f2
--- /dev/null
+++ b/keyboards/crkbd/keymaps/rpbaptist/readme.md
@@ -0,0 +1,57 @@
1# Corne keyboard layout
2
3This is my highly personalized CRKBD layout. I use Colemak DHm as main typing layer. I use this keyboard and layout in my daily programming job and for everything at home, including gaming.
4
5This keymap is the result of an evolution from Ultimate Hacking Keyboard to Iris, to Corne. It took many iterations and changes and only now I feel this is ready to be merged into the main QMK repository, because I think further changes will be minor. This is my 1.0 release so to speak.
6
7Many thanks to foostan for the keyboard, all QMK contributors and drashna specifically for his work on this keyboard.
8
9## Layers
10
11### COLEMAKDHM
12
13Main typing layer. I really love having SHIFT available on thumbs. I am a left thumb space bar person, so I put SPACE there and ENTER on right. I use CTRL key combos lot in my text editor and desktop environment. That's why I have two of them. I also found them to be a great position for the square brackets. (`[` and `]`)
14
15I don't know about you but "lower" and "raise" don't mean that much to me. I named my layers `NUM`, short for numbers and `NAV`, short for navigation. Holding the key will activate the layer for as long as it is held, double tapping it will switch to it. Single tapping it once will switch to main layer again.
16
17Everything else is pretty standard I'd say.
18
19### NUM
20
21Includes a number row, the symbols normally on SHIFT and numbers, as well as a numpad under right side homing keys.
22
23### NAV
24
25This is where I access arrow keys, page up, down, home, end and mouse control. I also added general tab forward and backward keys. I use these in my browser, terminal and text editor.
26
27## FN
28
29Short for function. This gives access to the function keys, as well as rarely used keys on the left side and often used symbols (for me) on the right side. It is accessed by holding TAB.
30
31### UTIL
32
33Short for utility. This is accessed by pressing both `NUM` and `NAV` at the same time. It has a software `RESET` key, media keys, RGB control and switches main layer between Colemak and a gaming layer.
34
35### GAMING
36
37Sometimes I switch to type in Discord, Steam, or in game chat, so I think it's more important to keep typing functional than put WASD on where I want movement to be. This means I rebind my keys in all games. It's worth it to me.
38
39I put movement on FRST (would be ESDF on QWERTY), because it lines up more comfortably with the columnar staggered layout of the Corne. It also gives more easy access to all keys on left half.
40
41Most notable here is that there are no tap and hold differences anymore on left hand side besides the new layer key. This is a different layer than `NUM`.
42
43### GAMING_EXT
44
45This is the gaming extended layer where movement keys remain the same. This means I can keep moving while accessing second layer keys. All other keys are keys on which I can easily rebind something. Besides that it gives me the function keys and an ENTER key which does not change. This is good when a game requires you to hold ENTER.
46
47## Notes
48
49I use MT3 Godspeed caps and thought it would be fun to theme the OLED output towards it. The slave side has the icon and two planets. The left side refers to modifiers by matching the novelty mod legends.
50
51## Building
52
53I am using DFU and have to flash both halves individually.
54
55Left half: `make crkbd/rev1:rpbaptist:dfu-split-left`
56
57Right half: `make crkbd/rev1:rpbaptist:dfu-split-right RGB_MATRIX_SPLIT_RIGHT=yes`
diff --git a/keyboards/crkbd/keymaps/rpbaptist/rules.mk b/keyboards/crkbd/keymaps/rpbaptist/rules.mk
new file mode 100644
index 000000000..0eed4f997
--- /dev/null
+++ b/keyboards/crkbd/keymaps/rpbaptist/rules.mk
@@ -0,0 +1,34 @@
1# This enables Link Time Optimization. This can save a good chunk of space (several KB for me), but the macro and function ... functions cause it to error out.
2LINK_TIME_OPTIMIZATION_ENABLE = yes
3
4# Build Options
5# change to "no" to disable the options, or define them in the Makefile in
6# the appropriate keymap folder that will get included automatically
7#
8MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
9EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
10NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
11
12RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
13BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
14CONSOLE_ENABLE = no # Console for debug(+400)
15COMMAND_ENABLE = no # Commands for debug and configuration
16BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
17MIDI_ENABLE = no # MIDI controls
18AUDIO_ENABLE = no # Audio output on port C6
19UNICODE_ENABLE = no # Unicode
20BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
21SWAP_HANDS_ENABLE = no # Enable one-hand typing
22
23RGB_MATRIX_ENABLE = WS2812
24
25# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
26SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
27
28BOOTLOADER = qmk-dfu
29
30OLED_DRIVER_ENABLE = yes
31
32# ifneq ($(strip $(OLED_DRIVER_ENABLE)), yes)
33# RGB_MATRIX_SPLIT_RIGHT=yes
34# endif