summaryrefslogtreecommitdiffstats
path: root/keyboards/crkbd
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/crkbd')
-rw-r--r--keyboards/crkbd/crkbd.c1
-rw-r--r--keyboards/crkbd/keymaps/default/config.h16
-rw-r--r--keyboards/crkbd/keymaps/default/keymap.c117
-rw-r--r--keyboards/crkbd/keymaps/default/rules.mk21
-rw-r--r--keyboards/crkbd/keymaps/drashna/config.h65
-rw-r--r--keyboards/crkbd/keymaps/drashna/glcdfont.c13
-rw-r--r--keyboards/crkbd/keymaps/drashna/keymap.c346
-rw-r--r--keyboards/crkbd/keymaps/drashna/rules.mk6
-rw-r--r--keyboards/crkbd/keymaps/dsanchezseco/README.md10
-rw-r--r--keyboards/crkbd/keymaps/dsanchezseco/config.h69
-rw-r--r--keyboards/crkbd/keymaps/dsanchezseco/keymap.c111
-rw-r--r--keyboards/crkbd/keymaps/dsanchezseco/logo_reader.c9
-rw-r--r--keyboards/crkbd/keymaps/dsanchezseco/rules.mk15
-rw-r--r--keyboards/crkbd/keymaps/foostan/config.h44
-rw-r--r--keyboards/crkbd/keymaps/foostan/keymap.c241
-rw-r--r--keyboards/crkbd/keymaps/foostan/rules.mk10
-rw-r--r--keyboards/crkbd/keymaps/hvp/config.h50
-rw-r--r--keyboards/crkbd/keymaps/hvp/keymap.c183
-rw-r--r--keyboards/crkbd/keymaps/hvp/readme.md5
-rw-r--r--keyboards/crkbd/keymaps/hvp/rules.mk14
-rw-r--r--keyboards/crkbd/keymaps/ninjonas/README.md99
-rw-r--r--keyboards/crkbd/keymaps/ninjonas/config.h92
-rw-r--r--keyboards/crkbd/keymaps/ninjonas/keymap.c89
-rw-r--r--keyboards/crkbd/keymaps/ninjonas/rules.mk7
-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
-rw-r--r--keyboards/crkbd/keymaps/soundmonster/README.md13
-rw-r--r--keyboards/crkbd/keymaps/soundmonster/config.h110
-rw-r--r--keyboards/crkbd/keymaps/soundmonster/glcdfont.c241
-rw-r--r--keyboards/crkbd/keymaps/soundmonster/keymap.c393
-rw-r--r--keyboards/crkbd/keymaps/soundmonster/rules.mk6
-rwxr-xr-xkeyboards/crkbd/keymaps/tominabox1/keymap.c46
-rw-r--r--keyboards/crkbd/pro_micro.h358
-rw-r--r--keyboards/crkbd/readme.md72
-rw-r--r--keyboards/crkbd/rev1/config.h6
-rw-r--r--keyboards/crkbd/rev1/matrix.c5
-rw-r--r--keyboards/crkbd/rev1/rev1.c104
-rw-r--r--keyboards/crkbd/rev1/rev1.h26
-rw-r--r--keyboards/crkbd/rev1/rules.mk12
-rw-r--r--keyboards/crkbd/rev1/split_util.c82
-rw-r--r--keyboards/crkbd/rules.mk68
-rw-r--r--keyboards/crkbd/serial.c1
45 files changed, 3032 insertions, 821 deletions
diff --git a/keyboards/crkbd/crkbd.c b/keyboards/crkbd/crkbd.c
index d420ccda27..7417ad6047 100644
--- a/keyboards/crkbd/crkbd.c
+++ b/keyboards/crkbd/crkbd.c
@@ -1,5 +1,4 @@
#include "crkbd.h"
-#include "ssd1306.h"
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
#ifdef SSD1306OLED
diff --git a/keyboards/crkbd/keymaps/default/config.h b/keyboards/crkbd/keymaps/default/config.h
index 644e813650..899fde008d 100644
--- a/keyboards/crkbd/keymaps/default/config.h
+++ b/keyboards/crkbd/keymaps/default/config.h
@@ -35,10 +35,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define TAPPING_FORCE_HOLD
#define TAPPING_TERM 100
-#undef RGBLED_NUM
-#define RGBLIGHT_ANIMATIONS
-#define RGBLED_NUM 27
-#define RGBLIGHT_LIMIT_VAL 120
-#define RGBLIGHT_HUE_STEP 10
-#define RGBLIGHT_SAT_STEP 17
-#define RGBLIGHT_VAL_STEP 17
+#ifdef RGBLIGHT_ENABLE
+ #undef RGBLED_NUM
+ #define RGBLIGHT_ANIMATIONS
+ #define RGBLED_NUM 27
+ #define RGBLIGHT_LIMIT_VAL 120
+ #define RGBLIGHT_HUE_STEP 10
+ #define RGBLIGHT_SAT_STEP 17
+ #define RGBLIGHT_VAL_STEP 17
+#endif
diff --git a/keyboards/crkbd/keymaps/default/keymap.c b/keyboards/crkbd/keymaps/default/keymap.c
index 5bb89d2594..446e3281e4 100644
--- a/keyboards/crkbd/keymaps/default/keymap.c
+++ b/keyboards/crkbd/keymaps/default/keymap.c
@@ -1,14 +1,5 @@
#include QMK_KEYBOARD_H
-#include "bootloader.h"
-#ifdef PROTOCOL_LUFA
- #include "lufa.h"
- #include "split_util.h"
-#endif
-#ifdef SSD1306OLED
- #include "ssd1306.h"
-#endif
-extern keymap_config_t keymap_config;
#ifdef RGBLIGHT_ENABLE
//Following line allows macro to read current RGB settings
@@ -39,71 +30,54 @@ enum macro_keycodes {
KC_SAMPLEMACRO,
};
-#define KC______ KC_TRNS
-#define KC_XXXXX KC_NO
-#define KC_LOWER LOWER
-#define KC_RAISE RAISE
-#define KC_RST RESET
-#define KC_LRST RGBRST
-#define KC_LTOG RGB_TOG
-#define KC_LHUI RGB_HUI
-#define KC_LHUD RGB_HUD
-#define KC_LSAI RGB_SAI
-#define KC_LSAD RGB_SAD
-#define KC_LVAI RGB_VAI
-#define KC_LVAD RGB_VAD
-#define KC_LMOD RGB_MOD
-#define KC_CTLTB CTL_T(KC_TAB)
-#define KC_GUIEI GUI_T(KC_LANG2)
-#define KC_ALTKN ALT_T(KC_LANG1)
-
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTY] = LAYOUT_kc( \
- //,-----------------------------------------. ,-----------------------------------------.
- ESC, Q, W, E, R, T, Y, U, I, O, P, BSPC,\
- //|------+------+------+------+------+------| |------+------+------+------+------+------|
- CTLTB, A, S, D, F, G, H, J, K, L, SCLN, QUOT,\
- //|------+------+------+------+------+------| |------+------+------+------+------+------|
- LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, RSFT,\
- //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
- GUIEI, LOWER, SPC, ENT, RAISE, ALTKN \
- //`--------------------' `--------------------'
- ),
+ [_QWERTY] = LAYOUT( \
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,\
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,\
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,\
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ KC_LGUI, LOWER, KC_SPC, KC_ENT, RAISE, KC_RALT \
+ //`--------------------------' `--------------------------'
- [_LOWER] = LAYOUT_kc( \
- //,-----------------------------------------. ,-----------------------------------------.
- ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, BSPC,\
- //|------+------+------+------+------+------| |------+------+------+------+------+------|
- CTLTB, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, XXXXX,\
- //|------+------+------+------+------+------| |------+------+------+------+------+------|
- LSFT, F11, F12, F13, F14, F15, F16, F17, F18, F19, F20, XXXXX,\
- //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
- GUIEI, LOWER, SPC, ENT, RAISE, ALTKN \
- //`--------------------' `--------------------'
),
- [_RAISE] = LAYOUT_kc( \
- //,-----------------------------------------. ,-----------------------------------------.
- ESC, EXLM, AT, HASH, DLR, PERC, CIRC, AMPR, ASTR, LPRN, RPRN, BSPC,\
- //|------+------+------+------+------+------| |------+------+------+------+------+------|
- CTLTB, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, MINS, EQL, LCBR, RCBR, PIPE, GRV,\
- //|------+------+------+------+------+------| |------+------+------+------+------+------|
- LSFT, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, UNDS, PLUS, LBRC, RBRC, BSLS, TILD,\
- //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
- GUIEI, LOWER, SPC, ENT, RAISE, ALTKN \
- //`--------------------' `--------------------'
+ [_LOWER] = LAYOUT( \
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,\
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, XXXXXXX, XXXXXXX,\
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,\
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ KC_LGUI, LOWER, KC_SPC, KC_ENT, RAISE, KC_RALT \
+ //`--------------------------' `--------------------------'
+ ),
+
+ [_RAISE] = LAYOUT( \
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,\
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV,\
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LBRC, KC_RBRC, KC_BSLS, KC_TILD,\
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ KC_LGUI, LOWER, KC_SPC, KC_ENT, RAISE, KC_RALT \
+ //`--------------------------' `--------------------------'
),
- [_ADJUST] = LAYOUT_kc( \
- //,-----------------------------------------. ,-----------------------------------------.
- RST, LRST, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX,\
- //|------+------+------+------+------+------| |------+------+------+------+------+------|
- LTOG, LHUI, LSAI, LVAI, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX,\
- //|------+------+------+------+------+------| |------+------+------+------+------+------|
- LMOD, LHUD, LSAD, LVAD, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX,\
- //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
- GUIEI, LOWER, SPC, ENT, RAISE, ALTKN \
- //`--------------------' `--------------------'
+ [_ADJUST] = LAYOUT( \
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ RESET, RGBRST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,\
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,\
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,\
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ KC_LGUI, LOWER, KC_SPC, KC_ENT, RAISE, KC_RALT \
+ //`--------------------------' `--------------------------'
)
};
@@ -157,7 +131,7 @@ void matrix_render_user(struct CharacterMatrix *matrix) {
// If you want to change the display of OLED, you need to change here
matrix_write_ln(matrix, read_layer_state());
matrix_write_ln(matrix, read_keylog());
- matrix_write_ln(matrix, read_keylogs());
+ //matrix_write_ln(matrix, read_keylogs());
//matrix_write_ln(matrix, read_mode_icon(keymap_config.swap_lalt_lgui));
//matrix_write_ln(matrix, read_host_led_state());
//matrix_write_ln(matrix, read_timelog());
@@ -195,7 +169,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
persistent_default_layer_set(1UL<<_QWERTY);
}
return false;
- break;
case LOWER:
if (record->event.pressed) {
layer_on(_LOWER);
@@ -205,7 +178,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST);
}
return false;
- break;
case RAISE:
if (record->event.pressed) {
layer_on(_RAISE);
@@ -215,7 +187,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST);
}
return false;
- break;
case ADJUST:
if (record->event.pressed) {
layer_on(_ADJUST);
@@ -223,7 +194,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
layer_off(_ADJUST);
}
return false;
- break;
case RGB_MOD:
#ifdef RGBLIGHT_ENABLE
if (record->event.pressed) {
@@ -233,7 +203,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
#endif
return false;
- break;
case RGBRST:
#ifdef RGBLIGHT_ENABLE
if (record->event.pressed) {
diff --git a/keyboards/crkbd/keymaps/default/rules.mk b/keyboards/crkbd/keymaps/default/rules.mk
index 16deaf45d1..f84e5b2af8 100644
--- a/keyboards/crkbd/keymaps/default/rules.mk
+++ b/keyboards/crkbd/keymaps/default/rules.mk
@@ -1,25 +1,4 @@
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-EXTRAKEY_ENABLE = no # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
-SWAP_HANDS_ENABLE = no # Enable one-hand typing
-
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-
# If you want to change the display of OLED, you need to change here
SRC += ./lib/glcdfont.c \
./lib/rgb_state_reader.c \
diff --git a/keyboards/crkbd/keymaps/drashna/config.h b/keyboards/crkbd/keymaps/drashna/config.h
index 724d52c38c..26af029573 100644
--- a/keyboards/crkbd/keymaps/drashna/config.h
+++ b/keyboards/crkbd/keymaps/drashna/config.h
@@ -20,7 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-
/* Select hand configuration */
// #define MASTER_LEFT
@@ -36,53 +35,36 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define TAPPING_TERM 100
#ifdef RGBLIGHT_ENABLE
-# undef RGBLED_NUM
-# define RGBLED_NUM 27
+# undef RGBLED_NUM
+# define RGBLED_NUM 27
-# define RGBLIGHT_HUE_STEP 8
-# define RGBLIGHT_SAT_STEP 8
-# define RGBLIGHT_VAL_STEP 8
-# define RGBLIGHT_LIMIT_VAL 100
+# define RGBLIGHT_HUE_STEP 8
+# define RGBLIGHT_SAT_STEP 8
+# define RGBLIGHT_VAL_STEP 5
+# define RGBLIGHT_LIMIT_VAL 120
#endif
#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-
-// # define DISABLE_RGB_MATRIX_ALPHAS_MODS
-# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define DISABLE_RGB_MATRIX_BREATHING
-# define DISABLE_RGB_MATRIX_CYCLE_ALL
-# define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN
-// # define DISABLE_RGB_MATRIX_CYCLE_OUT_IN
-// # define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define DISABLE_RGB_MATRIX_DUAL_BEACON
-# define DISABLE_RGB_MATRIX_RAINBOW_BEACON
-# define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// # define DISABLE_RGB_MATRIX_RAINDROPS
-// # define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// # define DISABLE_RGB_MATRIX_TYPING_HEATMAP
-// # define DISABLE_RGB_MATRIX_DIGITAL_RAIN
-# define DISABLE_RGB_MATRIX_SOLID_REACTIVE
-# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define DISABLE_RGB_MATRIX_SPLASH
-// # define DISABLE_RGB_MATRIX_MULTISPLASH
-# define DISABLE_RGB_MATRIX_SOLID_SPLASH
-# define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
+# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
+// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
+// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
+# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+// # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
+// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
+# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
+# define RGB_MATRIX_HUE_STEP 8
+# define RGB_MATRIX_SAT_STEP 8
+# define RGB_MATRIX_VAL_STEP 5
+# define RGB_MATRIX_SPD_STEP 10
#endif
#ifdef AUDIO_ENABLE
-# define B6_AUDIO
-// #define NO_MUSIC_MODE
+# define B6_AUDIO
+# define NO_MUSIC_MODE
+#endif
+
+#ifdef HAPTIC_ENABLE
+# define SOLENOID_PIN B7
#endif
#undef PRODUCT
@@ -92,4 +74,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define OLED_FONT_WIDTH 5
// #define OLED_FONT_HEIGHT 7
+#define OLED_DISABLE_TIMEOUT
#define TAPPING_TERM_PER_KEY
diff --git a/keyboards/crkbd/keymaps/drashna/glcdfont.c b/keyboards/crkbd/keymaps/drashna/glcdfont.c
index 28521b4289..2bfc3fac6d 100644
--- a/keyboards/crkbd/keymaps/drashna/glcdfont.c
+++ b/keyboards/crkbd/keymaps/drashna/glcdfont.c
@@ -1,17 +1,18 @@
#pragma once
#ifdef __AVR__
- #include <avr/io.h>
- #include <avr/pgmspace.h>
+# include <avr/io.h>
+# include <avr/pgmspace.h>
#elif defined(ESP8266)
- #include <pgmspace.h>
+# include <pgmspace.h>
#else
- #define PROGMEM
+# define PROGMEM
#endif
-// Helidox 8x6 font with QMK Firmware Logo
-// Online editor: http://teripom.x0.com/
+// Corne 8x6 font with QMK Firmware Logo
+// Online editor: https://helixfonteditor.netlify.com/
+// clang-format off
const unsigned char font[] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
diff --git a/keyboards/crkbd/keymaps/drashna/keymap.c b/keyboards/crkbd/keymaps/drashna/keymap.c
index af0bc0d9a7..9a1beeb74b 100644
--- a/keyboards/crkbd/keymaps/drashna/keymap.c
+++ b/keyboards/crkbd/keymaps/drashna/keymap.c
@@ -1,18 +1,50 @@
-#include QMK_KEYBOARD_H
#include "drashna.h"
-extern keymap_config_t keymap_config;
extern uint8_t is_master;
#ifdef RGBLIGHT_ENABLE
-//Following line allows macro to read current RGB settings
+// Following line allows macro to read current RGB settings
extern rgblight_config_t rgblight_config;
#endif
-
-enum crkbd_keycodes {
- RGBRST = NEW_SAFE_RANGE
+#ifdef OLED_DRIVER_ENABLE
+# define KEYLOGGER_LENGTH 5
+static uint32_t oled_timer = 0;
+static char keylog_str[KEYLOGGER_LENGTH + 1] = {"\n"};
+static uint16_t log_timer = 0;
+// clang-format off
+static const char PROGMEM code_to_name[0xFF] = {
+// 0 1 2 3 4 5 6 7 8 9 A B c D E F
+ ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', // 0x
+ 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', // 1x
+ '3', '4', '5', '6', '7', '8', '9', '0', 20, 19, 27, 26, 22, '-', '=', '[', // 2x
+ ']','\\', '#', ';','\'', '`', ',', '.', '/', 128, ' ', ' ', ' ', ' ', ' ', ' ', // 3x
+ ' ', ' ', ' ', ' ', ' ', ' ', 'P', 'S', ' ', ' ', ' ', ' ', 16, ' ', ' ', ' ', // 4x
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 5x
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 6x
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 7x
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 8x
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 9x
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Ax
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Bx
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Cx
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Dx
+ 'C', 'S', 'A', 'C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Ex
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' // Fx
};
+void add_keylog(uint16_t keycode);
+#endif
+
+enum crkbd_keycodes { RGBRST = NEW_SAFE_RANGE };
+
+/*
+ * The `LAYOUT_crkbd_base` macro is a template to allow the use of identical
+ * modifiers for the default layouts (eg QWERTY, Colemak, Dvorak, etc), so
+ * that there is no need to set them up for each layout, and modify all of
+ * them if I want to change them. This helps to keep consistency and ease
+ * of use. K## is a placeholder to pass through the individual keycodes
+ */
+
#define LAYOUT_crkbd_base( \
K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \
K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \
@@ -20,7 +52,7 @@ enum crkbd_keycodes {
) \
LAYOUT_wrapper( \
KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_MINS, \
- KC_TAB, ALT_T(K11), K12, K13, K14, K15, K16, K17, K18, K19, K1A, KC_QUOT, \
+ ALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(KC_QUOT), \
OS_LSFT, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \
KC_GRV, KC_SPC, BK_LWER, DL_RAIS, KC_ENT, OS_RGUI \
)
@@ -99,166 +131,174 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_wrapper( \
KC_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RESET,
VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EEP_RST,
- _______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, KC_MPLY,
- _______, KC_NUKE, _______, _______, TG_MODS, _______
+ MG_NKRO, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, RGB_IDL,
+ HPT_TOG, KC_NUKE, _______, _______, TG_MODS, HPT_FBK
)
};
+// clang-format on
-void matrix_init_keymap(void) {
-#ifndef CONVERT_TO_PROTON_C
- setPinOutput(D5);
- writePinHigh(D5);
-
- setPinOutput(B0);
- writePinHigh(B0);
-#endif
-}
-
-
+bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
+ if (record->event.pressed) {
#ifdef OLED_DRIVER_ENABLE
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (is_master) {
- return OLED_ROTATION_270;
- } else {
- return rotation;
+ oled_timer = timer_read32();
+ add_keylog(keycode);
+#endif
+#ifndef SPLIT_KEYBOARD
+ if (keycode == RESET && !is_master) {
+ return false;
+ }
+#endif
}
+ return true;
}
-void render_crkbd_logo(void) {
- static const char PROGMEM crkbd_logo[] = {
- 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94,
- 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4,
- 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4,
- 0};
- oled_write_P(crkbd_logo, false);
-}
-
-#define KEYLOG_LEN (int)(32 / OLED_FONT_WIDTH)
-char keylog_str[KEYLOG_LEN] = {};
-uint8_t keylogs_str_idx = 0;
-uint16_t log_timer = 0;
-
-const char code_to_name[60] = {
- ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f',
- 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
- 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
- '1', '2', '3', '4', '5', '6', '7', '8', '9', '0',
- 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\',
- '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '};
+#ifdef OLED_DRIVER_ENABLE
+oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_270; }
void add_keylog(uint16_t keycode) {
- if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) ||
- (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; }
+ if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX) || (keycode >= QK_MODS && keycode <= QK_MODS_MAX)) {
+ keycode = keycode & 0xFF;
+ } else if (keycode > 0xFF) {
+ keycode = 0;
+ }
- for (uint8_t i = KEYLOG_LEN - 1; i > 0; i--) {
+ for (uint8_t i = (KEYLOGGER_LENGTH - 1); i > 0; --i) {
keylog_str[i] = keylog_str[i - 1];
}
- if (keycode < 60) {
- keylog_str[0] = code_to_name[keycode];
+
+ if (keycode < (sizeof(code_to_name) / sizeof(char))) {
+ keylog_str[0] = pgm_read_byte(&code_to_name[keycode]);
}
- keylog_str[KEYLOG_LEN] = 0;
log_timer = timer_read();
}
void update_log(void) {
if (timer_elapsed(log_timer) > 750) {
- add_keylog(0);
+ // add_keylog(0);
}
}
-
-bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed) { add_keylog(keycode); }
- return true;
+void render_keylogger_status(void) {
+ oled_write_P(PSTR("KLogr"), false);
+ oled_write(keylog_str, false);
}
-void render_status(void) {
-
- oled_write_P(PSTR("Layer"), false);
- switch (biton32(layer_state)) {
- case 0:
- oled_write_P(PSTR("Base "), false);
- break;
- case _RAISE:
- oled_write_P(PSTR("Raise"), false);
- break;
- case _LOWER:
- oled_write_P(PSTR("Lower"), false);
- break;
- case _ADJUST:
- oled_write_P(PSTR("Adjst"), false);
- break;
- default:
- oled_write_P(PSTR(