aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Baptist <rpbaptist@users.noreply.github.com>2020-03-10 07:40:27 +0100
committerGitHub <noreply@github.com>2020-03-09 23:40:27 -0700
commita4fd5e2491aa7213d15ef2ff3615b8eb75660e93 (patch)
tree1da00bb7b00f8e9df612ac87aac48b44caaa3751
parent5e3951b361e6d173b705bd3b2b6df0c543258d98 (diff)
downloadqmk_firmware-a4fd5e2491aa7213d15ef2ff3615b8eb75660e93.tar.gz
qmk_firmware-a4fd5e2491aa7213d15ef2ff3615b8eb75660e93.zip
[Keymap] Update personal keymap (#8354)
-rw-r--r--keyboards/crkbd/keymaps/rpbaptist/config.h159
-rw-r--r--keyboards/crkbd/keymaps/rpbaptist/glcdfont_godspeed.c231
-rw-r--r--keyboards/crkbd/keymaps/rpbaptist/glcdfont_laser.c231
-rw-r--r--keyboards/crkbd/keymaps/rpbaptist/glcdfont_pulse.c231
-rw-r--r--keyboards/crkbd/keymaps/rpbaptist/keymap.c573
-rw-r--r--keyboards/crkbd/keymaps/rpbaptist/readme.md47
-rw-r--r--keyboards/crkbd/keymaps/rpbaptist/rules.mk29
7 files changed, 1292 insertions, 209 deletions
diff --git a/keyboards/crkbd/keymaps/rpbaptist/config.h b/keyboards/crkbd/keymaps/rpbaptist/config.h
index da47524a8..6bd16725f 100644
--- a/keyboards/crkbd/keymaps/rpbaptist/config.h
+++ b/keyboards/crkbd/keymaps/rpbaptist/config.h
@@ -25,88 +25,115 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
25/* Select hand configuration */ 25/* Select hand configuration */
26#define EE_HANDS 26#define EE_HANDS
27 27
28#undef SSD1306OLED 28#ifdef OLED_DRIVER_ENABLE
29# undef SSD1306OLED
30# define OLED_TIMEOUT 600000
31#endif
29 32
33#undef USE_I2C
30#define USE_SERIAL_PD2 34#define USE_SERIAL_PD2
31 35
32#define FORCE_NKRO 36// #define FORCE_NKRO
33 37
34#define QMK_ESC_OUTPUT F4 // usually COL 38#define QMK_ESC_OUTPUT F4 // usually COL
35#define QMK_ESC_INPUT D4 // usually ROW 39#define QMK_ESC_INPUT D4 // usually ROW
36#define QMK_LED B0 40#define QMK_LED B0
37 41
42#define NO_ACTION_ONESHOT
43
38#ifdef RGB_MATRIX_ENABLE 44#ifdef RGB_MATRIX_ENABLE
39 #define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended 45# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
40 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 46# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
41 47
42 #define RGB_MATRIX_HUE_STEP 10 48# define RGB_MATRIX_HUE_STEP 8
43 #define RGB_MATRIX_SAT_STEP 15 49# define RGB_MATRIX_SAT_STEP 12
44 #define RGB_MATRIX_VAL_STEP 16 50# define RGB_MATRIX_VAL_STEP 10
45 #define RGB_MATRIX_SPD_STEP 10 51# define RGB_MATRIX_SPD_STEP 10
46 52
47 #define DISABLE_RGB_MATRIX_ALPHAS_MODS 53# define DISABLE_RGB_MATRIX_ALPHAS_MODS
48 #define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN 54# define DISABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
49 #define DISABLE_RGB_MATRIX_BREATHING 55# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
50 #define DISABLE_RGB_MATRIX_BAND_SAT 56# define DISABLE_RGB_MATRIX_BREATHING
51 #define DISABLE_RGB_MATRIX_BAND_VAL 57# define DISABLE_RGB_MATRIX_BAND_SAT
52 #define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT 58# define DISABLE_RGB_MATRIX_BAND_VAL
53 #define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL 59# define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
54 #define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT 60# define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
55 #define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL 61# define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
56 // #define DISABLE_RGB_MATRIX_CYCLE_ALL 62# define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL
57 #define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT 63
58 #define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN 64// #define DISABLE_RGB_MATRIX_CYCLE_ALL
59 #define DISABLE_RGB_MATRIX_CYCLE_OUT_IN 65// # define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
60 #define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL 66# define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN
61 #define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON 67# define DISABLE_RGB_MATRIX_CYCLE_OUT_IN
62 #define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL 68# define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
63 #define DISABLE_RGB_MATRIX_CYCLE_SPIRAL 69# define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
64 // #define DISABLE_RGB_MATRIX_DUAL_BEACON 70# define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL
65 #define DISABLE_RGB_MATRIX_RAINBOW_BEACON 71# define DISABLE_RGB_MATRIX_CYCLE_SPIRAL
66 #define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS 72# define DISABLE_RGB_MATRIX_DUAL_BEACON
67 #define DISABLE_RGB_MATRIX_RAINDROPS 73# define DISABLE_RGB_MATRIX_RAINBOW_BEACON
68 #define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS 74// #define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS
69 75# define DISABLE_RGB_MATRIX_RAINDROPS
70 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS 76# define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
71 // #define DISABLE_RGB_MATRIX_TYPING_HEATMAP 77
72 #define DISABLE_RGB_MATRIX_DIGITAL_RAIN 78# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
73 79// #define DISABLE_RGB_MATRIX_TYPING_HEATMAP
74 #define RGB_MATRIX_KEYPRESSES // reacts to keypresses 80# define DISABLE_RGB_MATRIX_DIGITAL_RAIN
75 81
76 #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE 82# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
77 #define DISABLE_RGB_MATRIX_SOLID_REACTIVE 83
78 #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE 84# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
79 #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE 85# define DISABLE_RGB_MATRIX_SOLID_REACTIVE
80 #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS 86# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
81 #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS 87# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
82 #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS 88# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
83 // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS 89# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
84 90# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
85 // #define DISABLE_RGB_MATRIX_SPLASH 91// # define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
86 #define DISABLE_RGB_MATRIX_MULTISPLASH 92
87 #define DISABLE_RGB_MATRIX_SOLID_SPLASH 93# define DISABLE_RGB_MATRIX_SPLASH
88 #define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH 94# define DISABLE_RGB_MATRIX_MULTISPLASH
89 95# define DISABLE_RGB_MATRIX_SOLID_SPLASH
90 #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_TYPING_HEATMAP 96# define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
97
98# define RGB_MATRIX_ANIMATION_SPEED_DEFAULT UINT8_MAX / 2
99# define RGB_MATRIX_ANIMATION_SPEED_SLOW RGB_MATRIX_ANIMATION_SPEED_DEFAULT / 4
100# define RGB_MATRIX_ANIMATION_SPEED_SLOWER RGB_MATRIX_ANIMATION_SPEED_SLOW / 3
91#endif 101#endif
92 102
93#define TAPPING_TERM 150 103#define TAPPING_TERM 140
94// #define PERMISSIVE_HOLD 104#define PERMISSIVE_HOLD
95#define IGNORE_MOD_TAP_INTERRUPT 105#define IGNORE_MOD_TAP_INTERRUPT
96// #define RETRO_TAPPING
97 106
98#define TAPPING_TOGGLE 2 107#define TAPPING_TOGGLE 2
99 108
100#define MOUSEKEY_DELAY 0 109#ifdef MOUSEKEY_ENABLE
101#define MOUSEKEY_INTERVAL 16 110# define MOUSEKEY_DELAY 0
102#define MOUSEKEY_MAX_SPEED 6 111# define MOUSEKEY_INTERVAL 16
103#define MOUSEKEY_TIME_TO_MAX 32 112# define MOUSEKEY_MAX_SPEED 6
104#define MOUSEKEY_WHEEL_MAX_SPEED 4 113# define MOUSEKEY_TIME_TO_MAX 36
105#define MOUSEKEY_WHEEL_TIME_TO_MAX 40 114# define MOUSEKEY_WHEEL_MAX_SPEED 4
115# define MOUSEKEY_WHEEL_TIME_TO_MAX 100
116#endif
117
118#ifdef THEME_GODSPEED
119# define OLED_FONT_H "keyboards/crkbd/keymaps/rpbaptist/glcdfont_godspeed.c"
120# define THEME_HSV 132, 255, 125
121#endif
106 122
107#define OLED_FONT_H "keyboards/crkbd/keymaps/rpbaptist/glcdfont.c" 123#ifdef THEME_PULSE
124# define OLED_FONT_H "keyboards/crkbd/keymaps/rpbaptist/glcdfont_pulse.c"
125# define THEME_HSV 123, 255, 125
126#endif
127
128#ifdef THEME_LASER
129# define OLED_FONT_H "keyboards/crkbd/keymaps/rpbaptist/glcdfont_laser.c"
130# define THEME_HSV HSV_MAGENTA
131#endif
108 132
109#define NO_ACTION_ONESHOT 133#define NO_ACTION_ONESHOT
110 134
111#undef PRODUCT 135#undef PRODUCT
112#define PRODUCT Corne Keyboard 136#define PRODUCT Corne Keyboard
137
138#define LCPC_KEYS KC_LCTL, KC_LSFT, KC_9
139#define RCPC_KEYS KC_RCTL, KC_RSFT, KC_0
diff --git a/keyboards/crkbd/keymaps/rpbaptist/glcdfont_godspeed.c b/keyboards/crkbd/keymaps/rpbaptist/glcdfont_godspeed.c
new file mode 100644
index 000000000..ac1f11dbb
--- /dev/null
+++ b/keyboards/crkbd/keymaps/rpbaptist/glcdfont_godspeed.c
@@ -0,0 +1,231 @@
1#include "progmem.h"
2
3// Helidox 8x6 font with QMK Firmware Logo
4// Online editor: http://teripom.x0.com/
5
6const unsigned char font[] PROGMEM = {
70x00, 0x00, 0x00, 0x00, 0x00, 0x00,
80x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
90x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
100x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
110x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
120x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
130x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
140x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
150xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
160x00, 0x18, 0x24, 0x18, 0x00, 0x00,
170xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
180x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
190x26, 0x29, 0x79, 0x29, 0x26, 0x00,
200x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
210x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
220x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
230x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
240x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
250x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
260x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
270x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
280x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
290x60, 0x60, 0x60, 0x60, 0x60, 0x00,
300x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
310x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
320x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
330x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
340x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
350x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
360x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
370x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
380x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
390x00, 0x00, 0x00, 0x00, 0x00, 0x00,
400x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
410x00, 0x07, 0x00, 0x07, 0x00, 0x00,
420x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
430x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
440x23, 0x13, 0x08, 0x64, 0x62, 0x00,
450x36, 0x49, 0x56, 0x20, 0x50, 0x00,
460x00, 0x08, 0x07, 0x03, 0x00, 0x00,
470x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
480x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
490x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
500x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
510x00, 0x80, 0x70, 0x30, 0x00, 0x00,
520x08, 0x08, 0x08, 0x08, 0x08, 0x00,
530x00, 0x00, 0x60, 0x60, 0x00, 0x00,
540x20, 0x10, 0x08, 0x04, 0x02, 0x00,
550x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
560x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
570x72, 0x49, 0x49, 0x49, 0x46, 0x00,
580x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
590x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
600x27, 0x45, 0x45, 0x45, 0x39, 0x00,
610x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
620x41, 0x21, 0x11, 0x09, 0x07, 0x00,
630x36, 0x49, 0x49, 0x49, 0x36, 0x00,
640x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
650x00, 0x00, 0x14, 0x00, 0x00, 0x00,
660x00, 0x40, 0x34, 0x00, 0x00, 0x00,
670x00, 0x08, 0x14, 0x22, 0x41, 0x00,
680x14, 0x14, 0x14, 0x14, 0x14, 0x00,
690x00, 0x41, 0x22, 0x14, 0x08, 0x00,
700x02, 0x01, 0x59, 0x09, 0x06, 0x00,
710x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
720x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
730x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
740x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
750x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
760x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
770x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
780x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
790x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
800x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
810x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
820x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
830x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
840x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
850x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
860x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
870x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
880x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
890x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
900x26, 0x49, 0x49, 0x49, 0x32, 0x00,
910x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
920x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
930x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
940x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
950x63, 0x14, 0x08, 0x14, 0x63, 0x00,
960x03, 0x04, 0x78, 0x04, 0x03, 0x00,
970x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
980x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
990x02, 0x04, 0x08, 0x10, 0x20, 0x00,
1000x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
1010x04, 0x02, 0x01, 0x02, 0x04, 0x00,
1020x40, 0x40, 0x40, 0x40, 0x40, 0x00,
1030x00, 0x03, 0x07, 0x08, 0x00, 0x00,
1040x20, 0x54, 0x54, 0x78, 0x40, 0x00,
1050x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
1060x38, 0x44, 0x44, 0x44, 0x28, 0x00,
1070x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
1080x38, 0x54, 0x54, 0x54, 0x18, 0x00,
1090x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
1100x18, 0x24, 0x24, 0x1C, 0x78, 0x00,
1110x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
1120x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
1130x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
1140x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
1150x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
1160x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
1170x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
1180x38, 0x44, 0x44, 0x44, 0x38, 0x00,
1190x7C, 0x18, 0x24, 0x24, 0x18, 0x00,
1200x18, 0x24, 0x24, 0x18, 0x7C, 0x00,
1210x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
1220x48, 0x54, 0x54, 0x54, 0x24, 0x00,
1230x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
1240x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
1250x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
1260x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
1270x44, 0x28, 0x10, 0x28, 0x44, 0x00,
1280x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
1290x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
1300x00, 0x08, 0x36, 0x41, 0x00, 0x00,
1310x00, 0x00, 0x77, 0x00, 0x00, 0x00,
1320x00, 0x41, 0x36, 0x08, 0x00, 0x00,
1330x02, 0x01, 0x02, 0x04, 0x02, 0x00,
1340x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
1350x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1360x00, 0x00, 0x00, 0x00, 0x00, 0xE0,
1370x38, 0x1C, 0x0C, 0x06, 0x03, 0x03,
1380x01, 0x01, 0x01, 0x01, 0x01, 0x01,
1390x03, 0x03, 0x82, 0x86, 0xCC, 0xF8,
1400xF0, 0xF0, 0x38, 0x1C, 0x0C, 0x00,
1410x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1420x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1430x00, 0x00, 0x00, 0x00, 0xC0, 0x70,
1440xF8, 0x0C, 0x04, 0xC6, 0xA2, 0xB3,
1450x9F, 0x87, 0x01, 0x01, 0x1F, 0x66,
1460x66, 0x44, 0x4C, 0x58, 0x70, 0xE0,
1470x80, 0x00, 0x00, 0x00, 0x00, 0x00,
1480x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1490x00, 0x00, 0x00, 0x00, 0x00, 0xC0,
1500xE0, 0x78, 0x18, 0x8C, 0xC6, 0xE6,
1510xE3, 0xE3, 0xC3, 0x83, 0x03, 0x03,
1520x73, 0x76, 0x76, 0x0C, 0x18, 0xF8,
1530xF0, 0xC0, 0x00, 0x00, 0x00, 0x00,
1540x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1550x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1560xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC,
1570xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00,
1580x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E,
1590x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00,
1600x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B,
1610x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00,
1620xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE,
1630xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00,
1640x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1650x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1660x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1670x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1680x00, 0x80, 0xC0, 0x40, 0x7F, 0xF3,
1690x60, 0x20, 0x30, 0x30, 0x38, 0x18,
1700x9C, 0xCC, 0x6C, 0x6E, 0x3E, 0x3E,
1710x1F, 0x0F, 0x0F, 0x03, 0x03, 0x01,
1720xC0, 0xFF, 0x3E, 0x00, 0x00, 0x00,
1730x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1740x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1750x00, 0x00, 0x00, 0x7F, 0xC1, 0x00,
1760x1D, 0x67, 0xC0, 0x80, 0x01, 0x00,
1770x00, 0xF0, 0x0F, 0x00, 0x00, 0x00,
1780x0C, 0x1A, 0x32, 0xC2, 0x01, 0xC1,
1790xFF, 0x3E, 0x00, 0x00, 0x00, 0x00,
1800x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1810x00, 0x00, 0x00, 0x00, 0x7E, 0xFF,
1820x80, 0x00, 0x00, 0xC3, 0xC7, 0xC7,
1830x8F, 0x0F, 0x07, 0x03, 0x80, 0xC0,
1840xC0, 0xC0, 0xC0, 0x80, 0x00, 0x07,
1850x0F, 0xFF, 0x7F, 0x00, 0x00, 0x00,
1860x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1870x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1880x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F,
1890x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00,
1900x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F,
1910x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00,
1920x30, 0x7B, 0x7F, 0x78, 0x30, 0x20,
1930x20, 0x30, 0x78, 0x7F, 0x3B, 0x00,
1940x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F,
1950x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00,
1960x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1970x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1980x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1990x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2000x01, 0x01, 0x00, 0x40, 0x60, 0x31,
2010x3B, 0x1E, 0x0C, 0x1E, 0x36, 0x23,
2020x61, 0x60, 0x60, 0x60, 0x60, 0x60,
2030x60, 0x30, 0x1C, 0x3E, 0x3E, 0x3F,
2040x1D, 0x00, 0x00, 0x00, 0x00, 0x00,
2050x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2060x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2070x00, 0x00, 0x00, 0x00, 0x01, 0x07,
2080x0C, 0x18, 0x10, 0x33, 0x3E, 0x38,
2090x6E, 0x67, 0x60, 0x60, 0x60, 0x20,
2100x30, 0x18, 0x08, 0x0F, 0x06, 0x03,
2110x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2120x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2130x00, 0x00, 0x00, 0x00, 0x00, 0x01,
2140x03, 0x06, 0x0C, 0x19, 0x31, 0x21,
2150x60, 0x60, 0x60, 0x60, 0x61, 0x63,
2160x67, 0x67, 0x33, 0x39, 0x18, 0x0E,
2170x07, 0x03, 0x00, 0x00, 0x00, 0x00,
2180x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2190x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2200x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2210x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2220x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2230x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2240x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2250x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2260x00, 0x00, 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,
231};
diff --git a/keyboards/crkbd/keymaps/rpbaptist/glcdfont_laser.c b/keyboards/crkbd/keymaps/rpbaptist/glcdfont_laser.c
new file mode 100644
index 000000000..612b7123b
--- /dev/null
+++ b/keyboards/crkbd/keymaps/rpbaptist/glcdfont_laser.c
@@ -0,0 +1,231 @@
1#include "progmem.h"
2
3// Helidox 8x6 font with QMK Firmware Logo
4// Online editor: http://teripom.x0.com/
5
6const unsigned char font[] PROGMEM = {
70x00, 0x00, 0x00, 0x00, 0x00, 0x00,
80x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
90x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
100x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
110x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
120x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
130x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
140x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
150xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
160x00, 0x18, 0x24, 0x18, 0x00, 0x00,
170xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
180x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
190x26, 0x29, 0x79, 0x29, 0x26, 0x00,
200x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
210x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
220x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
230x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
240x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
250x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
260x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
270x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
280x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
290x60, 0x60, 0x60, 0x60, 0x60, 0x00,
300x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
310x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
320x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
330x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
340x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
350x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
360x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
370x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
380x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
390x00, 0x00, 0x00, 0x00, 0x00, 0x00,
400x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
410x00, 0x07, 0x00, 0x07, 0x00, 0x00,
420x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
430x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
440x23, 0x13, 0x08, 0x64, 0x62, 0x00,
450x36, 0x49, 0x56, 0x20, 0x50, 0x00,
460x00, 0x08, 0x07, 0x03, 0x00, 0x00,
470x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
480x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
490x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
500x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
510x00, 0x80, 0x70, 0x30, 0x00, 0x00,
520x08, 0x08, 0x08, 0x08, 0x08, 0x00,
530x00, 0x00, 0x60, 0x60, 0x00, 0x00,
540x20, 0x10, 0x08, 0x04, 0x02, 0x00,
550x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
560x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
570x72, 0x49, 0x49, 0x49, 0x46, 0x00,
580x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
590x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
600x27, 0x45, 0x45, 0x45, 0x39, 0x00,
610x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
620x41, 0x21, 0x11, 0x09, 0x07, 0x00,
630x36, 0x49, 0x49, 0x49, 0x36, 0x00,
640x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
650x00, 0x00, 0x14, 0x00, 0x00, 0x00,
660x00, 0x40, 0x34, 0x00, 0x00, 0x00,
670x00, 0x08, 0x14, 0x22, 0x41, 0x00,
680x14, 0x14, 0x14, 0x14, 0x14, 0x00,
690x00, 0x41, 0x22, 0x14, 0x08, 0x00,
700x02, 0x01, 0x59, 0x09, 0x06, 0x00,
710x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
720x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
730x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
740x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
750x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
760x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
770x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
780x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
790x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
800x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
810x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
820x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
830x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
840x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
850x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
860x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
870x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
880x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
890x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
900x26, 0x49, 0x49, 0x49, 0x32, 0x00,
910x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
920x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
930x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
940x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
950x63, 0x14, 0x08, 0x14, 0x63, 0x00,
960x03, 0x04, 0x78, 0x04, 0x03, 0x00,
970x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
980x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
990x02, 0x04, 0x08, 0x10, 0x20, 0x00,
1000x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
1010x04, 0x02, 0x01, 0x02, 0x04, 0x00,
1020x40, 0x40, 0x40, 0x40, 0x40, 0x00,
1030x00, 0x03, 0x07, 0x08, 0x00, 0x00,
1040x20, 0x54, 0x54, 0x78, 0x40, 0x00,
1050x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
1060x38, 0x44, 0x44, 0x44, 0x28, 0x00,
1070x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
1080x38, 0x54, 0x54, 0x54, 0x18, 0x00,
1090x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
1100x18, 0x24, 0x24, 0x1C, 0x78, 0x00,
1110x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
1120x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
1130x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
1140x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
1150x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
1160x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
1170x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
1180x38, 0x44, 0x44, 0x44, 0x38, 0x00,
1190x7C, 0x18, 0x24, 0x24, 0x18, 0x00,
1200x18, 0x24, 0x24, 0x18, 0x7C, 0x00,
1210x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
1220x48, 0x54, 0x54, 0x54, 0x24, 0x00,
1230x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
1240x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
1250x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
1260x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
1270x44, 0x28, 0x10, 0x28, 0x44, 0x00,
1280x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
1290x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
1300x00, 0x08, 0x36, 0x41, 0x00, 0x00,
1310x00, 0x00, 0x77, 0x00, 0x00, 0x00,
1320x00, 0x41, 0x36, 0x08, 0x00, 0x00,
1330x02, 0x01, 0x02, 0x04, 0x02, 0x00,
1340x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
1350x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1360x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1370x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1380x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1390x00, 0x00, 0x00, 0x00, 0x00, 0x80,
1400xE0, 0xF8, 0x3E, 0x0F, 0x03, 0x00,
1410x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1420x00, 0x00, 0x00, 0x00, 0x80, 0xC0,
1430xE0, 0xF0, 0xF8, 0xFC, 0x00, 0x00,
1440x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1450x00, 0x00, 0x00, 0xE0, 0xF0, 0x7C,
1460x3F, 0x0F, 0x03, 0x03, 0x03, 0x03,
1470x03, 0x03, 0x1B, 0x1F, 0x1F, 0x07,
1480x03, 0xC0, 0xE0, 0xFC, 0x1C, 0x0F,
1490x03, 0x03, 0x03, 0x03, 0x03, 0x03,
1500x03, 0x03, 0x03, 0x03, 0x03, 0x03,
1510xE7, 0xFF, 0xFF, 0x0F, 0x03, 0x03,
1520x03, 0x03, 0x83, 0x83, 0xE3, 0xE7,
1530x3C, 0x3C, 0x00, 0x00, 0x00, 0x00,
1540x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1550x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1560xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC,
1570xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00,
1580x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E,
1590x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00,
1600x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B,
1610x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00,
1620xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE,
1630xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00,
1640x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1650x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1660x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1670x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1680x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1690x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1700x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1710x80, 0xC0, 0xF0, 0x7C, 0x1F, 0x07,
1720x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1730x00, 0x00, 0x00, 0x00, 0x00, 0x80,
1740x80, 0x90, 0x98, 0x9C, 0x8C, 0x80,
1750x80, 0x80, 0x9C, 0x9C, 0x00, 0x00,
1760x00, 0x00, 0x00, 0x00, 0x00, 0x10,
1770x10, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
1780x1C, 0x1C, 0x9C, 0x9C, 0x1C, 0x1C,
1790x0C, 0x0C, 0x80, 0x90, 0x90, 0x10,
1800x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
1810x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x0C,
1820x00, 0x00, 0x90, 0x90, 0x9C, 0x9C,
1830x1C, 0x1C, 0x1C, 0x1C, 0x9C, 0x9C,
1840x9C, 0x0C, 0x0C, 0x00, 0x00, 0x00,
1850x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1860x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1870x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1880x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F,
1890x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00,
1900x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F,
1910x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00,
1920x30, 0x7B, 0x7F, 0x78, 0x30, 0x20,
1930x20, 0x30, 0x78, 0x7F, 0x3B, 0x00,
1940x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F,
1950x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00,
1960x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1970x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1980x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1990x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2000x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2010x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2020x00, 0x00, 0x00, 0x70, 0x7C, 0x7E,
2030x6F, 0x63, 0x60, 0x60, 0x60, 0x60,
2040x60, 0x60, 0x60, 0x60, 0x60, 0x60,
2050x60, 0x70, 0x78, 0x3C, 0x1E, 0x0F,
2060x07, 0x03, 0x01, 0x01, 0x01, 0x01,
2070x01, 0x01, 0x7F, 0x7F, 0x00, 0x00,
2080x60, 0x70, 0x7C, 0x7C, 0x6C, 0x60,
2090x60, 0x60, 0x60, 0x60, 0x60, 0x78,
2100x3E, 0x0F, 0x03, 0x01, 0x00, 0x60,
2110x78, 0x7E, 0x67, 0x61, 0x60, 0x60,
2120x60, 0x60, 0x60, 0x60, 0x60, 0x60,
2130x70, 0x00, 0x00, 0x00, 0x00, 0x60,
2140x78, 0x7E, 0x0F, 0x07, 0x00, 0x00,
2150x00, 0x00, 0x00, 0x00, 0x03, 0x0F,
2160x7F, 0x70, 0x00, 0x00, 0x00, 0x00,
2170x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2180x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2190x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2200x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2210x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2220x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2230x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2240x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2250x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2260x00, 0x00, 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,
231};
diff --git a/keyboards/crkbd/keymaps/rpbaptist/glcdfont_pulse.c b/keyboards/crkbd/keymaps/rpbaptist/glcdfont_pulse.c
new file mode 100644
index 000000000..3699f4500
--- /dev/null
+++ b/keyboards/crkbd/keymaps/rpbaptist/glcdfont_pulse.c
@@ -0,0 +1,231 @@
1#include "progmem.h"
2
3// Helidox 8x6 font with QMK Firmware Logo
4// Online editor: http://teripom.x0.com/
5
6const unsigned char font[] PROGMEM = {
7 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
8 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
9 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
10 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
11 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
12 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
13 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
14 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
15 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
16 0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
17 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
18 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
19 0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
20 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
21 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
22 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
23 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
24 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
25 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
26 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
27 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
28 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
29 0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
30 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
31 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
32 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
33 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
34 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
35 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
36 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
37 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
38 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
39 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
40 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
41 0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
42 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
43 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
44 0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
45 0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
46 0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
47 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
48 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
49 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
50 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
51 0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
52 0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
53 0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
54 0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
55 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
56 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
57 0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
58 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
59 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
60 0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
61 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
62 0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
63 0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
64 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
65 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
66 0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
67 0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
68 0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
69 0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
70 0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
71 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
72 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
73 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
74 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
75 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
76 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
77 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
78 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
79 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
80 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
81 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
82 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
83 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
84 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
85 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
86 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
87 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
88 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
89 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
90 0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
91 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
92 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
93 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
94 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
95 0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
96 0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
97 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
98 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
99 0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
100 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
101 0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
102 0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
103 0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
104 0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
105 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
106 0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
107 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
108 0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
109 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
110 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00,
111 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
112 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
113 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
114 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
115 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
116 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
117 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
118 0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
119 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00,
120 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00,
121 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
122 0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
123 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
124 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
125 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
126 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
127 0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
128 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
129 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
130 0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
131 0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
132 0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
133 0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
134 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
135 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
136 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
137 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
138 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
139 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
140 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
141 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
142 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
143 0x00, 0x80, 0xF0, 0xF8, 0xF8, 0xF0,
144 0x80, 0x00, 0x00, 0x00, 0x00, 0x80,
145 0xF0, 0xFE, 0x7F, 0x7F, 0xFE, 0xF0,
146 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
147 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
148 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
149 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
150 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
151 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
152 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
153 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
154 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
155 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
156 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC,
157 0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00,
158 0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E,
159 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00,
160 0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B,
161 0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00,
162 0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE,
163 0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00,
164 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
165 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
166 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
167 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
168 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
169 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
170 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
171 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
172 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
173 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
174 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
175 0x1C, 0x1F, 0x0F, 0x03, 0x03, 0x1F,
176 0xFF, 0xFC, 0xE0, 0xE0, 0xFC, 0xFF,
177 0x1F, 0x03, 0x00, 0x00, 0x03, 0x1F,
178 0xFF, 0xFC, 0xE0, 0xE0, 0xF8, 0xFC,
179 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
180 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
181 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
182 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
183 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
184 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
185 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
186 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
187 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
188 0x1F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F,
189 0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00,
190 0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F,
191 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00,
192 0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20,
193 0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00,
194 0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F,
195 0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00,
196 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
197 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
198 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
199 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
200 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
201 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
202 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
203 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
204 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
205 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
206 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
207 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
208 0x00, 0x07, 0x0F, 0x0F, 0x07, 0x00,
209 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
210 0x00, 0x07, 0x0F, 0x0F, 0x07, 0x00,
211 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
212 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
213 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
214 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
216 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
217 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
218 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
219 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
220 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
221 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
222 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
223 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
224 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
225 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
226 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
227 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
228 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
229 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
230 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
231};
diff --git a/keyboards/crkbd/keymaps/rpbaptist/keymap.c b/keyboards/crkbd/keymaps/rpbaptist/keymap.c
index 932641a9f..0296749d0 100644
--- a/keyboards/crkbd/keymaps/rpbaptist/keymap.c
+++ b/keyboards/crkbd/keymaps/rpbaptist/keymap.c
@@ -1,46 +1,84 @@
1#include QMK_KEYBOARD_H 1#include QMK_KEYBOARD_H
2 2
3extern uint8_t is_master; 3extern uint8_t is_master;
4static uint32_t oled_timer = 0;
5
6#ifdef RGB_MATRIX_ENABLE
7 static uint32_t hypno_timer;
8#endif
4 9
5enum layer_names { 10enum layer_names {
6 _COLEMAKDHM, 11 _COLEMAKDHM,
7 _GAMING, 12 _GAMING,
8 _GAMING_EXT, 13 _GAMING_EXT,
9 _NUM, 14 _NUMPAD,
10 _FN, 15 _SYM,
11 _NAV, 16 _NAV,
12 _UTIL 17 _UTIL
13}; 18};
14 19
20enum custom_keycodes {
21 BSP_DEL = SAFE_RANGE,
22 RGB_RST, // Reset RGB
23 RGB_UND, // Toggle RGB underglow as layer indicator
24 RGB_IDL, // RGB Idling animations
25 RGB_MAP, // RGB_MATRIX_TYPING_HEATMAP
26 RGB_NXS, // RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
27 RGB_SOL, // RGB_MATRIX_SOLID_COLOR
28 RGB_CYC, // RGB_MATRIX_CYCLE_ALL
29 RGB_DUO, // RGB_MATRIX_RAINBOW_PINWHEELS
30 RGB_SCR // RGB_MATRIX_CYCLE_LEFT_RIGHT
31};
32
33typedef union {
34 uint32_t raw;
35 struct {
36 bool rgb_layer_change : 1;
37 bool rgb_matrix_idle_anim : 1;
38 uint8_t rgb_matrix_active_mode : 4;
39 uint8_t rgb_matrix_idle_mode : 4;
40 uint8_t rgb_matrix_active_speed : 8;
41 uint8_t rgb_matrix_idle_speed : 8;
42 uint16_t rgb_matrix_idle_timeout : 16;
43 };
44} user_config_t;
45
46user_config_t user_config;
47
15// Base layers 48// Base layers
16#define COLEMAK DF(_COLEMAKDHM) 49#define COLEMAK DF(_COLEMAKDHM)
17#define GAMING DF(_GAMING) 50#define GAMING DF(_GAMING)
18 51
19// Layer toggle and switch 52// Layer toggle and switch
20#define T_NAV TT(_NAV) 53#define T_NAV TT(_NAV)
21#define S_NAV MO(_NAV) 54#define S_NAV MO(_NAV)
22 55
23#define T_NUM TT(_NUM) 56#define T_SYM TT(_SYM)
24#define S_NUM MO(_NUM) 57#define S_SYM MO(_SYM)
25 58
26// Layer keys with functionality on tap 59// Layer keys with functionality on tap
27#define FN_TAB LT(_FN, KC_TAB)
28#define NAV_0 LT(_NAV, KC_0) 60#define NAV_0 LT(_NAV, KC_0)
61#define TAB_NUM LT(_NUMPAD, KC_TAB)
62
29#define EXT_SF LT(_GAMING_EXT, KC_LSHIFT) 63#define EXT_SF LT(_GAMING_EXT, KC_LSHIFT)
30 64
31// Tap/mod keys 65// Tap/mod keys
32#define RCTBR RCTL_T(KC_RBRACKET) 66#define RCTL_BR RCTL_T(KC_RBRACKET)
33#define LCTBR LCTL_T(KC_LBRACKET) 67#define LCTL_BR LCTL_T(KC_LBRACKET)
34 68
35#define SFSPC LSFT_T(KC_SPACE) 69#define SFT_SPC LSFT_T(KC_SPACE)
36#define SFENT LSFT_T(KC_ENTER) 70#define SFT_ENT RSFT_T(KC_ENTER)
37 71
38// Global tab forward and backward 72// Global tab forward and backward
39#define TBFWD LCTL(KC_TAB) 73#define TAB_FWD LCTL(KC_TAB)
40#define TBBCK LCTL(LSFT(KC_TAB)) 74#define TAB_BCK LCTL(LSFT(KC_TAB))
75#define TAB_CLS LCTL(KC_W)
76
77#define WIN_CLS LALT(KC_F4)
41 78
42// Custom key for NUM layer 79// CTRL become parens keys on NAV and NUM layers
43#define CTEQL RCTL_T(KC_EQL) 80#define LCT_PRN KC_LCPO
81#define RCT_PRN KC_RCPC
44 82
45// € 83// €
46#define KC_EUR ALGR(KC_5) 84#define KC_EUR ALGR(KC_5)
@@ -48,19 +86,19 @@ enum layer_names {
48const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 86const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
49 [_COLEMAKDHM] = LAYOUT( \ 87 [_COLEMAKDHM] = LAYOUT( \
50 //,-----------------------------------------------------. ,-----------------------------------------------------. 88 //,-----------------------------------------------------. ,-----------------------------------------------------.
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,\ 89 KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, BSP_DEL,\
52 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 90 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
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,\ 91 TAB_NUM, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_QUOT,\
54 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 92 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
55 LCTBR, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, RCTBR,\ 93 LCTL_BR, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, RCTL_BR,\
56 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| 94 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
57 KC_LALT, T_NUM, SFSPC, SFENT, T_NAV, KC_RGUI \ 95 KC_LALT, T_SYM, SFT_SPC, SFT_ENT, T_NAV, KC_RGUI \
58 //`--------------------------' `--------------------------' 96 //`--------------------------' `--------------------------'
59 ), 97 ),
60 98
61 [_GAMING] = LAYOUT( \ 99 [_GAMING] = LAYOUT( \
62 //,-----------------------------------------------------. ,-----------------------------------------------------. 100 //,-----------------------------------------------------. ,-----------------------------------------------------.
63 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\ 101 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSPC,\
64 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 102 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
65 KC_TAB, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\ 103 KC_TAB, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
66 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 104 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
@@ -72,59 +110,59 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
72 110
73 [_GAMING_EXT] = LAYOUT( \ 111 [_GAMING_EXT] = LAYOUT( \
74 //,-----------------------------------------------------. ,-----------------------------------------------------. 112 //,-----------------------------------------------------. ,-----------------------------------------------------.
75 KC_GRV, KC_1, KC_2, _______, KC_3, KC_4, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_DEL,\ 113 KC_GRV, KC_1, KC_2, _______, KC_3, KC_4, _______, _______, _______, _______, _______, KC_DEL,\
76 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 114 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
77 KC_LBRC, KC_RBRC, _______, _______, _______, KC_BSLS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,\ 115 KC_LBRC, KC_RBRC, _______, _______, _______, KC_BSLS, _______, _______, _______, _______, _______, _______,\
78 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 116 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
79 KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F11, KC_F12, KC_MINS, KC_EQL, _______, _______,\ 117 KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, _______, _______, _______,\
80 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| 118 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
81 _______, _______, _______, KC_ENT, _______, _______ \ 119 _______, _______, _______, KC_ENT, _______, _______ \
82 //`--------------------------' `--------------------------' 120 //`--------------------------' `--------------------------'
83 ), 121 ),
84 122
85 [_FN] = LAYOUT( \ 123 [_NUMPAD] = LAYOUT( \
86 //,-----------------------------------------------------. ,-----------------------------------------------------. 124 //,-----------------------------------------------------. ,-----------------------------------------------------.
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,\ 125 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_EUR, KC_P7, KC_P8, KC_P9, XXXXXXX, _______,\
88 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 126 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
89 _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_CAPS, KC_NLCK, XXXXXXX, KC_MINS, KC_PIPE, KC_BSLS, KC_PLUS, XXXXXXX,\ 127 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PPLS,\
90 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 128 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
91 _______, XXXXXXX, KC_PAUS, KC_SLCK, KC_PSCR, KC_INS, XXXXXXX, KC_UNDS, KC_LT, KC_GT, KC_EQL, _______,\ 129 KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_NLCK, KC_EQL, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_PAST,\
92 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| 130 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
93 _______, _______, _______, _______, _______, _______ \ 131 _______, _______, _______, _______, KC_P0, KC_DOT \
94 //`--------------------------' `--------------------------' 132 //`--------------------------' `--------------------------'
95 ), 133 ),
96 134
97 [_NUM] = LAYOUT( \ 135 [_SYM] = LAYOUT( \
98 //,-----------------------------------------------------. ,-----------------------------------------------------. 136 //,-----------------------------------------------------. ,-----------------------------------------------------.
99 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,\ 137 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,\
100 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 138 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
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,\ 139 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_UNDS, KC_MINS, KC_PLUS,\
102 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 140 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
103 _______, KC_CIRC, KC_AMPR, KC_EUR, KC_LPRN, KC_RPRN, KC_ASTR, KC_1, KC_2, KC_3, KC_UNDS, CTEQL,\ 141 LCT_PRN, XXXXXXX, XXXXXXX, XXXXXXX, KC_EUR, XXXXXXX, KC_EQL, KC_PIPE, KC_LT, KC_GT, KC_BSLS, RCT_PRN,\
104 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| 142 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
105 _______, S_NUM, _______, _______, NAV_0, KC_DOT \ 143 _______, S_SYM, _______, _______, _______, _______ \
106 //`--------------------------' `--------------------------' 144 //`--------------------------' `--------------------------'
107 ), 145 ),
108 146
109 [_NAV] = LAYOUT( \ 147 [_NAV] = LAYOUT( \
110 //,-----------------------------------------------------. ,-----------------------------------------------------. 148 //,-----------------------------------------------------. ,-----------------------------------------------------.
111 _______, KC_WH_U, TBBCK, KC_MS_U, TBFWD, KC_BTN2, KC_PGUP, KC_HOME, KC_UP, KC_END, XXXXXXX, KC_DEL,\ 149 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_PGUP, KC_HOME, KC_UP, KC_END, XXXXXXX, KC_BSPC,\
112 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 150 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
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,\ 151 KC_TILD, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX,\
114 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 152 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
115 _______, XXXXXXX, KC_WH_L, XXXXXXX, KC_WH_R, XXXXXXX, XXXXXXX, KC_ACL0, KC_ACL1, KC_ACL2, XXXXXXX, _______,\ 153 LCT_PRN, KC_F11, KC_F12, KC_INS, KC_PSCR, KC_CAPS, WIN_CLS, TAB_BCK, TAB_CLS, TAB_FWD, XXXXXXX, RCT_PRN,\
116 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------+---------| 154 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+---------|
117 _______, _______, _______, _______, S_NAV, _______ \ 155 _______, _______, _______, _______, S_NAV, _______ \
118 //`--------------------------' `--------------------------' 156 //`--------------------------' `--------------------------'
119 ), 157 ),
120 158
121 [_UTIL] = LAYOUT( \ 159 [_UTIL] = LAYOUT( \
122 //,-----------------------------------------------------. ,-----------------------------------------------------. 160 //,-----------------------------------------------------. ,-----------------------------------------------------.
123 RESET, XXXXXXX, KC_MSTP, KC_VOLU, KC_MNXT, XXXXXXX, COLEMAK, GAMING, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,\ 161 RESET, XXXXXXX, KC_MPRV, KC_VOLU, KC_MNXT, COLEMAK, RGB_IDL, RGB_MAP, RGB_NXS, XXXXXXX, RGB_HUD, RGB_HUI,\
124 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 162 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
125 XXXXXXX, XXXXXXX, KC_MPRV, KC_VOLD, KC_MPLY, XXXXXXX, XXXXXXX, RGB_MOD, RGB_SPI, RGB_HUI, RGB_SAI, RGB_VAI,\ 163 RGB_RST, XXXXXXX, KC_MSTP, KC_VOLD, KC_MPLY, GAMING, RGB_UND, RGB_DUO, RGB_SCR, RGB_SPI, RGB_SAD, RGB_SAI,\
126 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 164 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
127 XXXXXXX, KC_SLEP, XXXXXXX, KC_MUTE, XXXXXXX, XXXXXXX, RGB_TOG,RGB_RMOD, RGB_SPD, RGB_HUD, RGB_SAD, RGB_VAD,\ 165 EEP_RST, KC_SLEP, XXXXXXX, KC_MUTE, XXXXXXX, XXXXXXX, RGB_TOG, RGB_SOL, RGB_CYC, RGB_SPD, RGB_VAD, RGB_VAI,\
128 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| 166 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
129 _______, _______, _______, _______, _______, _______ \ 167 _______, _______, _______, _______, _______, _______ \
130 //`--------------------------' `--------------------------' 168 //`--------------------------' `--------------------------'
@@ -132,103 +170,404 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
132}; 170};
133 171
134layer_state_t layer_state_set_user(layer_state_t state) { 172layer_state_t layer_state_set_user(layer_state_t state) {
135 switch (get_highest_layer(default_layer_state)) { 173 switch (get_highest_layer(default_layer_state)) {
136 case _COLEMAKDHM: 174 case _COLEMAKDHM:
137 state = update_tri_layer_state(state, _NUM, _NAV, _UTIL); 175 state = update_tri_layer_state(state, _SYM, _NAV, _UTIL);
138 break; 176 break;
139 case _GAMING: 177 case _GAMING:
140 state = update_tri_layer_state(state, _GAMING_EXT, _NAV, _UTIL); 178 state = update_tri_layer_state(state, _GAMING_EXT, _NAV, _UTIL);
141 break; 179 break;
142 } 180 }
143 return state; 181 return state;
144} 182}
145 183
146#ifdef OLED_DRIVER_ENABLE 184#ifdef OLED_DRIVER_ENABLE
147oled_rotation_t oled_init_user(oled_rotation_t rotation) { 185oled_rotation_t oled_init_user(oled_rotation_t rotation) {
148 if (is_master) { 186 if (is_master) {
149 return OLED_ROTATION_270; 187 return OLED_ROTATION_270;
150 } else { 188 } else {
151 return OLED_ROTATION_180; 189 return OLED_ROTATION_180;
152 } 190 }
153} 191}
154 192
155void render_crkbd_logo(void) { 193void render_crkbd_logo(void) {
156 static const char PROGMEM crkbd_logo[] = { 194 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, 195 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, 196 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, 197 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4,
160 0}; 198 0};
161 oled_write_P(crkbd_logo, false); 199 oled_write_P(crkbd_logo, false);
200}
201
202# ifdef RGB_MATRIX_ENABLE
203const char *rgb_matrix_anim_oled_text(uint8_t mode) {
204 switch (mode) {
205 case RGB_MATRIX_TYPING_HEATMAP:
206 return PSTR("Heat ");
207 case RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS:
208 return PSTR("Nexus");
209 case RGB_MATRIX_SOLID_COLOR:
210 return PSTR("Solid");
211 case RGB_MATRIX_CYCLE_ALL:
212 return PSTR("Cycle");
213 case RGB_MATRIX_RAINBOW_PINWHEELS:
214 return PSTR("Wheel");
215 case RGB_MATRIX_CYCLE_LEFT_RIGHT:
216 return PSTR("Wave ");
217 default:
218 return PSTR("");
219 }
162} 220}
221# endif
163 222
164void render_status(void) { 223void render_status(void) {
165 // oled_write_P(PSTR("Layout: "), false); 224 // oled_write_P(PSTR("Layout: "), false);
166 switch (get_highest_layer(default_layer_state)) { 225 switch (get_highest_layer(default_layer_state)) {
167 case _COLEMAKDHM: 226 case _COLEMAKDHM:
168 oled_write_P(PSTR("CLMK "), false); 227 oled_write_P(PSTR("TYPE "), false);
169 break; 228 break;
170 case _GAMING: 229 case _GAMING:
171 oled_write_P(PSTR("GAME "), false); 230 oled_write_P(PSTR("GAME "), false);
172 break; 231 break;
173 } 232 }
174 233
175 oled_write_P(PSTR("\n"), false); 234 oled_write_P(PSTR("\n"), false);
176 235
177 switch (get_highest_layer(layer_state)) { 236 switch (get_highest_layer(layer_state)) {
178 case 0: 237 case 0:
179 oled_write_P(PSTR(" "), false); 238 oled_write_P(PSTR(" "), false);
180 break; 239 break;
181 case _NUM: 240 case _SYM:
182 oled_write_P(PSTR("Comm "), false); 241 oled_write_P(PSTR("Sym "), false);
183 break; 242 break;
184 case _FN: 243 case _NAV:
185 oled_write_P(PSTR("Stage"), false); 244 oled_write_P(PSTR("Nav "), false);
186 break; 245 break;
187 case _NAV: 246 case _GAMING_EXT:
188 oled_write_P(PSTR("Fuel "), false); 247 oled_write_P(PSTR("Ext "), false);
189 break; 248 break;
190 case _GAMING_EXT: 249 case _NUMPAD:
191 oled_write_P(PSTR("Ext "), false); 250 oled_write_P(PSTR("Num "), false);
192 break; 251 break;
193 case _UTIL: 252 case _UTIL:
194 oled_write_P(PSTR("Util "), false); 253 oled_write_P(PSTR("Util "), false);
195 break; 254 break;
196 default: 255 default:
197 oled_write_P(PSTR("Unkn "), false); 256 oled_write_P(PSTR("Unkn "), false);
198 break; 257 break;
199 } 258 }
200 oled_write_P(PSTR("\n"), false); 259 oled_write_P(PSTR("\n"), false);
201 260
202 uint8_t modifiers = get_mods(); 261 uint8_t modifiers = get_mods();
203 262
204 oled_write_P( (modifiers & MOD_MASK_CTRL) ? PSTR("PROG ") : PSTR(" "), false); 263 oled_write_P((modifiers & MOD_MASK_SHIFT) ? PSTR("SHIFT") : PSTR("\n"), false);
205 oled_write_P( (modifiers & MOD_MASK_SHIFT) ? PSTR("PULSE") : PSTR(" "), false); 264 oled_write_P((modifiers & MOD_MASK_CTRL) ? PSTR("CTRL ") : PSTR("\n"), false);
206 oled_write_P( (modifiers & MOD_MASK_ALT) ? PSTR("STBY ") : PSTR(" "), false); 265 oled_write_P((modifiers & MOD_MASK_ALT) ? PSTR("ALT ") : PSTR("\n"), false);
207 oled_write_P( (modifiers & MOD_MASK_GUI) ? PSTR("GYRO ") : PSTR(" "), false); 266 oled_write_P((modifiers & MOD_MASK_GUI) ? PSTR("SUPER") : PSTR("\n"), false);
208 267
209 oled_write_P(PSTR("\n"), false); 268 oled_write_P(PSTR("\n"), false);
210 269
211 uint8_t led_usb_state = host_keyboard_leds(); 270 uint8_t led_usb_state = host_keyboard_leds();
212 oled_write_P(PSTR("Mode:\n"), false); 271 oled_write_P(PSTR("Mode:"), false);
213 oled_write_P(IS_LED_ON(led_usb_state, USB_LED_NUM_LOCK) ? PSTR(" NUM ") : PSTR(" "), false); 272 oled_write_P(IS_LED_ON(led_usb_state, USB_LED_NUM_LOCK) ? PSTR(" NUM ") : PSTR("\n"), false);
214 oled_write_P(IS_LED_ON(led_usb_state, USB_LED_CAPS_LOCK) ? PSTR(" CAPS") : PSTR(" "), false); 273 oled_write_P(IS_LED_ON(led_usb_state, USB_LED_CAPS_LOCK) ? PSTR(" CAPS") : PSTR("\n"), false);
215 oled_write_P(IS_LED_ON(led_usb_state, USB_LED_SCROLL_LOCK) ? PSTR(" SCRL") : PSTR(" "), false); 274
275# ifdef RGB_MATRIX_ENABLE
276 oled_write_P(PSTR("\n"), false);
277 oled_write_P(PSTR("\n"), false);
278
279 if (rgb_matrix_config.enable) {
280 if (user_config.rgb_matrix_idle_anim) {
281 oled_write_P(rgb_matrix_anim_oled_text(user_config.rgb_matrix_active_mode), false);
282 oled_write_P(rgb_matrix_anim_oled_text(user_config.rgb_matrix_idle_mode), false);
283 } else {
284 oled_write_P(PSTR("\n"), false);
285 oled_write_P(rgb_matrix_anim_oled_text(rgb_matrix_get_mode()), false);
286 }
287 } else {
288 oled_write_P(PSTR("\n"), false);
289 oled_write_P(PSTR("\n"), false);
290 }
291# endif
216} 292}
217 293
218void oled_task_user(void) { 294void oled_task_user(void) {
219 if (is_master) { 295 if (timer_elapsed32(oled_timer) > OLED_TIMEOUT) {
220 render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) 296 oled_off();
221 } else { 297 return;
222 render_crkbd_logo(); 298 } else {
223 // oled_scroll_left(); // Turns on scrolling 299 oled_on();
224 } 300 }
301
302 if (is_master) {
303 render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc)
304 } else {
305 render_crkbd_logo();
306 #ifdef RGB_MATRIX_ENABLE
307 if (user_config.rgb_matrix_idle_anim && rgb_matrix_get_mode() == user_config.rgb_matrix_idle_mode) {
308 oled_scroll_left(); // Turns on scrolling
309 } else {
310 oled_scroll_off();
311 }
312 #endif
313 }
314}
315#endif
316
317#ifdef RGB_MATRIX_ENABLE
318
319extern led_config_t g_led_config;
320void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t led_type) {
321 HSV hsv = {hue, sat, val};
322 if (hsv.v > rgb_matrix_config.hsv.v) {
323 hsv.v = rgb_matrix_config.hsv.v;
324 }
325
326 RGB rgb = hsv_to_rgb(hsv);
327 for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) {
328 if (HAS_FLAGS(g_led_config.flags[i], led_type)) {
329 rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
330 }
331 }
332}
333
334void check_default_layer(uint8_t type) {
335 switch (get_highest_layer(default_layer_state)) {
336 case _COLEMAKDHM:
337 rgb_matrix_layer_helper(THEME_HSV, type);
338 break;
339 case _GAMING:
340 rgb_matrix_layer_helper(HSV_RED, type);
341 break;
342 }
343}
344
345void rgb_matrix_indicators_user(void) {
346 if (
347 user_config.rgb_layer_change && !g_suspend_state && rgb_matrix_config.enable &&
348 (!user_config.rgb_matrix_idle_anim || rgb_matrix_get_mode() != user_config.rgb_matrix_idle_mode)
349 )
350 {
351 switch (get_highest_layer(layer_state)) {
352 case _GAMING_EXT:
353 rgb_matrix_layer_helper(HSV_PURPLE, LED_FLAG_UNDERGLOW);
354 break;
355 case _SYM:
356 rgb_matrix_layer_helper(HSV_GOLDENROD, LED_FLAG_UNDERGLOW);
357 break;
358 case _NAV:
359 rgb_matrix_layer_helper(HSV_SPRINGGREEN, LED_FLAG_UNDERGLOW);
360 break;
361 case _UTIL:
362 rgb_matrix_layer_helper(HSV_PINK, LED_FLAG_UNDERGLOW);
363 break;
364 case _NUMPAD:
365 rgb_matrix_layer_helper(HSV_CORAL, LED_FLAG_UNDERGLOW);
366 break;
367 default: {
368 check_default_layer(LED_FLAG_UNDERGLOW);
369 break;
370 }
371 }
372 }
373}
374
375void rgb_matrix_update_current_mode(uint8_t mode, uint8_t speed) {
376 rgb_matrix_config.speed = speed;
377 rgb_matrix_mode_noeeprom(mode);
378 eeconfig_update_user(user_config.raw);
379}
380
381void rgb_matrix_update_dynamic_mode(uint8_t mode, uint8_t speed, bool active) {
382 if (active) {
383 user_config.rgb_matrix_active_speed = speed;
384 user_config.rgb_matrix_active_mode = mode;
385 } else {
386 user_config.rgb_matrix_idle_speed = speed;
387 user_config.rgb_matrix_idle_mode = mode;
388 }
389}
390
391void rgb_matrix_update_mode(uint8_t mode, uint8_t speed, bool active) {
392 if (user_config.rgb_matrix_idle_anim) {
393 rgb_matrix_update_dynamic_mode(mode, speed, active);
394 }
395 if (active || !user_config.rgb_matrix_idle_anim) {
396 rgb_matrix_update_current_mode(mode, speed);
397 }
398}
399
400void rgb_matrix_set_defaults(void) {
401 rgb_matrix_config.enable = 1;
402 rgb_matrix_sethsv_noeeprom(THEME_HSV);
403
404 user_config.rgb_layer_change = false;
405 user_config.rgb_matrix_idle_anim = true;
406 user_config.rgb_matrix_idle_timeout = 60000;
407
408 rgb_matrix_update_dynamic_mode(RGB_MATRIX_CYCLE_ALL, RGB_MATRIX_ANIMATION_SPEED_SLOWER, false);
409 rgb_matrix_update_dynamic_mode(RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS, RGB_MATRIX_ANIMATION_SPEED_DEFAULT, true);
410
411 eeprom_update_block(&rgb_matrix_config, EECONFIG_RGB_MATRIX, sizeof(rgb_matrix_config));
412}
413
414void matrix_scan_rgb(void) {
415 if (user_config.rgb_matrix_idle_anim && rgb_matrix_get_mode() == user_config.rgb_matrix_active_mode && timer_elapsed32(hypno_timer) > user_config.rgb_matrix_idle_timeout) {
416 if (user_config.rgb_layer_change) {
417 rgb_matrix_layer_helper(0, 0, 0, LED_FLAG_UNDERGLOW);
418 }
419 rgb_matrix_update_current_mode(user_config.rgb_matrix_idle_mode, user_config.rgb_matrix_idle_speed);
420 }
421}
422
423void matrix_scan_user(void) {
424 static bool has_ran_yet;
425 if (!has_ran_yet) {
426 has_ran_yet = true;
427 startup_user();
428 }
429 matrix_scan_rgb();
430}
431
432void eeconfig_init_user(void) {
433 user_config.raw = 0;
434 rgb_matrix_mode_noeeprom(user_config.rgb_matrix_active_mode);
435 keyboard_init();
436}
437
438void keyboard_post_init_user(void) {
439 user_config.raw = eeconfig_read_user();
440 rgb_matrix_set_defaults();
441 rgb_matrix_enable_noeeprom();
225} 442}
226#endif 443#endif
227 444
228void suspend_power_down_keymap(void) { 445void suspend_power_down_keymap(void) {
446 oled_off();
229 rgb_matrix_set_suspend_state(true); 447 rgb_matrix_set_suspend_state(true);
230} 448}
231 449
232void suspend_wakeup_init_keymap(void) { 450void suspend_wakeup_init_keymap(void) {
451 oled_on();
233 rgb_matrix_set_suspend_state(false); 452 rgb_matrix_set_suspend_state(false);
234} 453}
454
455bool process_record_user(uint16_t keycode, keyrecord_t *record) {
456 static uint8_t saved_mods = 0;
457 uint16_t temp_keycode = keycode;
458
459 oled_timer = timer_read32();
460
461#ifdef RGB_MATRIX_ENABLE
462 if (user_config.rgb_matrix_idle_anim) {
463 hypno_timer = timer_read32();
464 if (rgb_matrix_get_mode() == user_config.rgb_matrix_idle_mode) {
465 rgb_matrix_update_current_mode(user_config.rgb_matrix_active_mode, user_config.rgb_matrix_active_speed);
466 if (!user_config.rgb_layer_change) {
467 rgb_matrix_layer_helper(0, 0, 0, LED_FLAG_UNDERGLOW);
468 }
469 }
470 }
471#endif
472
473 // Filter out the actual keycode from MT and LT keys.
474 if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) {
475 temp_keycode &= 0xFF;
476 }
477
478 switch (temp_keycode) {
479 case BSP_DEL:
480 if (record->event.pressed) {
481 saved_mods = get_mods() & MOD_MASK_SHIFT;
482
483 if (saved_mods == MOD_MASK_SHIFT) { // Both shifts pressed
484 register_code(KC_DEL);
485 } else if (saved_mods) { // One shift pressed
486 del_mods(saved_mods); // Remove any Shifts present
487 register_code(KC_DEL);
488 add_mods(saved_mods); // Add shifts again
489 } else {
490 register_code(KC_BSPC);
491 }
492 } else {
493 unregister_code(KC_DEL);
494 unregister_code(KC_BSPC);
495 }
496 return false;
497#ifdef RGB_MATRIX_ENABLE
498 case COLEMAK:
499 if (record->event.pressed) {
500 user_config.rgb_matrix_idle_timeout = 60000;
501 rgb_matrix_update_mode(RGB_MATRIX_CYCLE_ALL, RGB_MATRIX_ANIMATION_SPEED_SLOWER, false);
502 }
503 return true;
504 case GAMING:
505 if (record->event.pressed) {
506 if (!user_config.rgb_layer_change) {
507 user_config.rgb_layer_change = true;
508 }
509 user_config.rgb_matrix_idle_timeout = 10000;
510 rgb_matrix_update_mode(RGB_MATRIX_RAINBOW_PINWHEELS, RGB_MATRIX_ANIMATION_SPEED_SLOW, false);
511 }
512 return true;
513 case RGB_RST:
514 if (record->event.pressed) {
515 rgb_matrix_set_defaults();
516 rgb_matrix_enable();
517 }
518 break;
519 case RGB_UND: // Toggle separate underglow status
520 if (record->event.pressed) {
521 user_config.rgb_layer_change ^= 1;
522 eeconfig_update_user(user_config.raw);
523 if (user_config.rgb_layer_change) {
524 layer_state_set(layer_state); // This is needed to immediately set the layer color (looks better)
525 } else {
526 rgb_matrix_layer_helper(0, 0, 0, LED_FLAG_UNDERGLOW);
527 }
528 }
529 break;
530 case RGB_IDL: // Toggle idle/heatmap animation
531 if (record->event.pressed) {
532 user_config.rgb_matrix_idle_anim ^= 1;
533 if (user_config.rgb_matrix_idle_anim) {
534 rgb_matrix_update_mode(user_config.rgb_matrix_active_mode, user_config.rgb_matrix_active_speed, true);
535 } else {
536 rgb_matrix_update_current_mode(user_config.rgb_matrix_idle_mode, user_config.rgb_matrix_idle_speed);
537 }
538 }
539 break;
540 case RGB_MAP:
541 if (record->event.pressed) {
542 rgb_matrix_update_mode(RGB_MATRIX_TYPING_HEATMAP, rgb_matrix_config.speed, true);
543 }
544 break;
545 case RGB_NXS:
546 if (record->event.pressed) {
547 rgb_matrix_update_mode(RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS, RGB_MATRIX_ANIMATION_SPEED_DEFAULT, true);
548 }
549 break;
550 case RGB_SOL:
551 if (record->event.pressed) {
552 rgb_matrix_update_mode(RGB_MATRIX_SOLID_COLOR, rgb_matrix_config.speed, false);
553 }
554 break;
555 case RGB_CYC:
556 if (record->event.pressed) {
557 rgb_matrix_update_mode(RGB_MATRIX_CYCLE_ALL, RGB_MATRIX_ANIMATION_SPEED_SLOWER, false);
558 }
559 break;
560 case RGB_DUO:
561 if (record->event.pressed) {
562 rgb_matrix_update_mode(RGB_MATRIX_RAINBOW_PINWHEELS, RGB_MATRIX_ANIMATION_SPEED_SLOW, false);
563 }
564 break;
565 case RGB_SCR:
566 if (record->event.pressed) {
567 rgb_matrix_update_mode(RGB_MATRIX_CYCLE_LEFT_RIGHT, RGB_MATRIX_ANIMATION_SPEED_SLOW, false);
568 }
569 break;
570#endif
571 }
572 return true;
573}
diff --git a/keyboards/crkbd/keymaps/rpbaptist/readme.md b/keyboards/crkbd/keymaps/rpbaptist/readme.md
index cb53e75f2..b9e749b5c 100644
--- a/keyboards/crkbd/keymaps/rpbaptist/readme.md
+++ b/keyboards/crkbd/keymaps/rpbaptist/readme.md
@@ -10,27 +10,29 @@ Many thanks to foostan for the keyboard, all QMK contributors and drashna specif
10 10
11### COLEMAKDHM 11### COLEMAKDHM
12 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 `]`) 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 `]`). These become parenthesis (`(` and `)`) on either of the layers.
14 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. 15Holding SHIFT while tapping BACKSPACE will output DEL. Holding both SHIFT keys will output SHIFT+DEL.
16 16
17Everything else is pretty standard I'd say. 17I don't know about you but "lower" and "raise" don't mean that much to me. I named my layers `SYM`, short for symbols 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.
18 18
19### NUM 19Holding TAB will access `NUM` layer which features a numpad.
20
21### SYM
20 22
21Includes a number row, the symbols normally on SHIFT and numbers, as well as a numpad under right side homing keys. 23Includes a number row, the symbols normally on SHIFT and numbers, as well as a numpad under right side homing keys.
22 24
23### NAV 25### NAV
24 26
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. 27This is where I access arrow keys, page up, down, home, end and F keys. I also added general tab forward and backward keys. Tab close and window close. I primarily use these in my browser, terminal and text editor.
26 28
27## FN 29### UTIL
28 30
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. 31Short for utility. This is accessed by pressing both `SYM` 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.
30 32
31### UTIL 33### NUMPAD
32 34
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. 35This gives access to a numpad on the right half with some additional symbols I find useful when using the numpad.
34 36
35### GAMING 37### GAMING
36 38
@@ -38,20 +40,33 @@ Sometimes I switch to type in Discord, Steam, or in game chat, so I think it's m
38 40
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. 41I 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 42
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`. 43Most 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 `SYM`.
42 44
43### GAMING_EXT 45### GAMING_EXT
44 46
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. 47This 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 an ENTER key which does not switch. This is good when a game requires you to hold ENTER.
46 48
47## Notes 49## RGB
50
51I took a big inspiration from Drashna's RGB configuration and tweaked it.
48 52
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. 53- `RGB_UND`: Toggles underglow indicators on and off. Each layer has its own color.
54- `RGB_IDL`: This will enable/disable idle mode. By default, when typing, the `DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS` will be used. When the idle timeout has exceeded the secondary animation will be activated, which is `RGB_MATRIX_CYCLE_ALL` by default. When switching to `GAMING` layer the timeout will be reduced and the idle animation changed to `RGB_MATRIX_RAINBOW_PINWHEELS`.
55 When idle mode is enabled, `RGB_MATRIX_TYPING_HEATMAP` and `RGB_MATRIX_MULTISPLASH` will be used for active animation. All others for idle animation. When disabling idle mode, the current idle animation will be activated. Additionally, on idling, the underglow layer indication will be deactivated.
56- There are no RGB mode cycle keys, but instead several keys to use a specific RGB directly. Each has their own default speed, although this can be changed.
50 57
51## Building 58## Building
52 59
53I am using DFU and have to flash both halves individually. 60`make crkbd/rev1:rpbaptist:dfu`
61
62## Notes
63
64I use several OLED slave side images, depending on the keycaps I am using. These also determine the default LED color and underglow.
65
66`make crkbd/rev1:rpbaptist:dfu THEME=pulse`
54 67
55Left half: `make crkbd/rev1:rpbaptist:dfu-split-left` 68Current supported themes are:
56 69
57Right half: `make crkbd/rev1:rpbaptist:dfu-split-right RGB_MATRIX_SPLIT_RIGHT=yes` 70- godspeed
71- laser
72- pulse
diff --git a/keyboards/crkbd/keymaps/rpbaptist/rules.mk b/keyboards/crkbd/keymaps/rpbaptist/rules.mk
index 0eed4f997..d9e8b701e 100644
--- a/keyboards/crkbd/keymaps/rpbaptist/rules.mk
+++ b/keyboards/crkbd/keymaps/rpbaptist/rules.mk
@@ -1,15 +1,16 @@
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. 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 2LINK_TIME_OPTIMIZATION_ENABLE = yes
3 3
4# Build Options 4#Build Options
5# change to "no" to disable the options, or define them in the Makefile in 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 6#the appropriate keymap folder that will get included automatically
7# 7#
8MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
9EXTRAKEY_ENABLE = yes # Audio control and System control(+450) 8EXTRAKEY_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 9NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
10# DYNAMIC_MACRO_ENABLE = yes
11 11
12RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. 12MOUSEKEY_ENABLE = no # Mouse keys(+4700)
13RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
13BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) 14BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
14CONSOLE_ENABLE = no # Console for debug(+400) 15CONSOLE_ENABLE = no # Console for debug(+400)
15COMMAND_ENABLE = no # Commands for debug and configuration 16COMMAND_ENABLE = no # Commands for debug and configuration
@@ -22,13 +23,21 @@ SWAP_HANDS_ENABLE = no # Enable one-hand typing
22 23
23RGB_MATRIX_ENABLE = WS2812 24RGB_MATRIX_ENABLE = WS2812
24 25
25# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 26#Do not enable SLEEP_LED_ENABLE.it uses the same timer as BACKLIGHT_ENABLE
26SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 27SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
27 28
28BOOTLOADER = qmk-dfu 29BOOTLOADER = qmk-dfu
29 30
30OLED_DRIVER_ENABLE = yes 31OLED_DRIVER_ENABLE = yes
31 32
32# ifneq ($(strip $(OLED_DRIVER_ENABLE)), yes) 33ifeq ($(strip $(THEME)), godspeed)
33# RGB_MATRIX_SPLIT_RIGHT=yes 34 OPT_DEFS += -DTHEME_GODSPEED
34# endif 35endif
36
37ifeq ($(strip $(THEME)), pulse)
38 OPT_DEFS += -DTHEME_PULSE
39endif
40
41ifeq ($(strip $(THEME)), laser)
42 OPT_DEFS += -DTHEME_LASER
43endif