summaryrefslogtreecommitdiffstats
path: root/users/bocaj
diff options
context:
space:
mode:
authorJacob Jerrell <86279411+jjerrell@users.noreply.github.com>2021-08-12 09:44:15 -0500
committerGitHub <noreply@github.com>2021-08-12 07:44:15 -0700
commit30843f8329315426ff433a40095f1de2b2669e57 (patch)
tree0fc462c1b4b4ecaabb8858b6f91da8b36e29b20b /users/bocaj
parent1e9d91d4ef5db1a4497767b165303e39069459cb (diff)
[Keymap] JJerrell - Add Userspace and ZSA Keyboard Keymaps (#13548)
Diffstat (limited to 'users/bocaj')
-rw-r--r--users/bocaj/.gitignore1
-rw-r--r--users/bocaj/.gitlab-ci.yml24
-rw-r--r--users/bocaj/bocaj.c210
-rw-r--r--users/bocaj/bocaj.h73
-rw-r--r--users/bocaj/config.h113
-rw-r--r--users/bocaj/process_records.c111
-rw-r--r--users/bocaj/process_records.h44
-rw-r--r--users/bocaj/readme.md5
-rw-r--r--users/bocaj/rgb_matrix_stuff.c106
-rw-r--r--users/bocaj/rgb_matrix_stuff.h10
-rw-r--r--users/bocaj/rules.mk26
-rw-r--r--users/bocaj/wrappers.h193
12 files changed, 0 insertions, 916 deletions
diff --git a/users/bocaj/.gitignore b/users/bocaj/.gitignore
deleted file mode 100644
index c6df8c0139..0000000000
--- a/users/bocaj/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-secrets.c
diff --git a/users/bocaj/.gitlab-ci.yml b/users/bocaj/.gitlab-ci.yml
deleted file mode 100644
index 71e3d26eb4..0000000000
--- a/users/bocaj/.gitlab-ci.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-stages:
- - test
-
-QMK Firmware:
- stage: test
- variables:
- GIT_SUBMODULE_STRATEGY: recursive
- tags:
- - linux
- image: qmkfm/base_container
- before_script:
- - apt-get update -qy
- - apt-get install -y build-essential avr-libc binutils-arm-none-eabi binutils-avr dfu-programmer dfu-util gcc gcc-arm-none-eabi git libnewlib-arm-none-eabi gcc-avr python3 unzip wget zip
- - avr-gcc --version
- - uname -a
- script:
- - make planck/rev6:default planck/rev5:default
- - make all:bocaj -j2
- artifacts:
- name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
- paths:
- - ./*.hex
- - ./*.bin
- expire_in: 1 month
diff --git a/users/bocaj/bocaj.c b/users/bocaj/bocaj.c
deleted file mode 100644
index 83fe812311..0000000000
--- a/users/bocaj/bocaj.c
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
-Copyright 2020 Jacob Jerrell <jacob.jerrell@gmail.com> @JacobJerrell
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "bocaj.h"
-
-#ifdef KEYBOARD_planck_ez
-userspace_config_t userspace_config;
-#endif
-
-bool mod_key_press_timer(uint16_t code, uint16_t mod_code, bool pressed) {
- static uint16_t this_timer;
- if (pressed) {
- this_timer = timer_read();
- } else {
- if (timer_elapsed(this_timer) < TAPPING_TERM) {
- tap_code(code);
- } else {
- register_code(mod_code);
- tap_code(code);
- unregister_code(mod_code);
- }
- }
- return false;
-}
-
-bool mod_key_press(uint16_t code, uint16_t mod_code, bool pressed, uint16_t this_timer) {
- if (pressed) {
- this_timer = timer_read();
- } else {
- if (timer_elapsed(this_timer) < TAPPING_TERM) {
- tap_code(code);
- } else {
- register_code(mod_code);
- tap_code(code);
- unregister_code(mod_code);
- }
- }
- return false;
-}
-
-void bootmagic_lite(void) {
- matrix_scan();
-#if defined(DEBOUNCING_DELAY) && DEBOUNCING_DELAY > 0
- wait_ms(DEBOUNCING_DELAY * 2);
-#elif defined(DEBOUNCE) && DEBOUNCE > 0
- wait_ms(DEBOUNCE * 2);
-#else
- wait_ms(30);
-#endif
- matrix_scan();
- if (matrix_get_row(BOOTMAGIC_LITE_ROW) & (1 << BOOTMAGIC_LITE_COLUMN)) {
- bootloader_jump();
- }
-}
-
-__attribute__((weak)) void keyboard_pre_init_keymap(void) {}
-
-void keyboard_pre_init_user(void) {
-#ifdef KEYBOARD_planck_ez
- userspace_config.raw = eeconfig_read_user();
-#endif
- keyboard_pre_init_keymap();
-}
-// Add reconfigurable functions here, for keymap customization
-// This allows for a global, userspace functions, and continued
-// customization of the keymap. Use _keymap instead of _user
-// functions in the keymaps
-__attribute__((weak)) void matrix_init_keymap(void) {}
-
-// Call user matrix init, set default RGB colors and then
-// call the keymap's init function
-void matrix_init_user(void) {
- matrix_init_keymap();
-}
-
-__attribute__((weak)) void keyboard_post_init_keymap(void) {}
-
-void keyboard_post_init_user(void) {
-#if defined(RGB_MATRIX_ENABLE)
- keyboard_post_init_rgb_matrix();
-#endif
- keyboard_post_init_keymap();
-}
-
-__attribute__((weak)) void shutdown_keymap(void) {}
-
-void rgb_matrix_update_pwm_buffers(void);
-
-void shutdown_user(void) {
-#ifdef RGB_MATRIX_ENABLE
- rgb_matrix_set_color_all(0xFF, 0x00, 0x00);
- rgb_matrix_update_pwm_buffers();
-
-#endif // RGB_MATRIX_ENABLE
- shutdown_keymap();
-}
-
-__attribute__((weak)) void suspend_power_down_keymap(void) {}
-
-void suspend_power_down_user(void) { suspend_power_down_keymap(); }
-
-__attribute__((weak)) void suspend_wakeup_init_keymap(void) {}
-
-void suspend_wakeup_init_user(void) { suspend_wakeup_init_keymap(); }
-
-__attribute__((weak)) void matrix_scan_secrets(void) {}
-__attribute__((weak)) void matrix_scan_keymap(void) {}
-
-LEADER_EXTERNS();
-
-// No global matrix scan code, so just run keymap's matrix
-// scan function
-void matrix_scan_user(void) {
- static bool has_ran_yet;
- if (!has_ran_yet) {
- has_ran_yet = true;
- startup_user();
- }
-
- LEADER_DICTIONARY() {
- leading = false;
- leader_end();
-
- // Website Refresh / XCode "Run"
- SEQ_ONE_KEY(KC_R) {
- SEND_STRING(SS_LGUI("r"));
- }
-
- SEQ_TWO_KEYS(KC_B, KC_D) {
- SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION " Built at: " QMK_BUILDDATE);
- }
-
- #ifndef NO_SECRETS
- matrix_scan_secrets();
- #endif // !NO_SECRETS
- }
-
-#if defined(RGB_MATRIX_ENABLE)
- matrix_scan_rgb_matrix();
-#endif
-
- matrix_scan_keymap();
-}
-
-__attribute__((weak)) layer_state_t layer_state_set_keymap(layer_state_t state) { return state; }
-
-// on layer change, no matter where the change was initiated
-// Then runs keymap's layer change check
-layer_state_t layer_state_set_user(layer_state_t state) {
- state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
-#if defined(RGBLIGHT_ENABLE)
- state = layer_state_set_rgb_light(state);
-#endif // RGBLIGHT_ENABLE
- return layer_state_set_keymap(state);
-}
-
-__attribute__((weak)) layer_state_t default_layer_state_set_keymap(layer_state_t state) { return state; }
-
-// Runs state check and changes underglow color and animation
-layer_state_t default_layer_state_set_user(layer_state_t state) {
- state = default_layer_state_set_keymap(state);
-#if 0
-# if defined(RGB_MATRIX_ENABLE)
- state = default_layer_state_set_rgb(state);
-# endif // RGB_MATRIX_ENABLE
-#endif
- return state;
-}
-
-__attribute__((weak)) void led_set_keymap(uint8_t usb_led) {}
-
-// Any custom LED code goes here.
-// So far, I only have keyboard specific code,
-// So nothing goes here.
-void led_set_user(uint8_t usb_led) { led_set_keymap(usb_led); }
-
-__attribute__((weak)) void eeconfig_init_keymap(void) {}
-
-void eeconfig_init_user(void) {
-#ifdef KEYBOARD_planck_ez
- userspace_config.raw = 0;
-# if defined(RGB_MATRIX_ENABLE)
- userspace_config.rgb_layer_change = true;
-# endif
- eeconfig_update_user(userspace_config.raw);
-#endif
- eeconfig_init_keymap();
- keyboard_init();
-}
-
-bool hasAllBitsInMask(uint8_t value, uint8_t mask) {
- value &= 0xF;
- mask &= 0xF;
-
- return (value & mask) == mask;
-}
diff --git a/users/bocaj/bocaj.h b/users/bocaj/bocaj.h
deleted file mode 100644
index e69be74da5..0000000000
--- a/users/bocaj/bocaj.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
-Copyright 2017 Christopher Courtney <drashna@live.com> @drashna
-Copyright 2020 Jacob Jerrell <jacob.jerrell@gmail.com> @JacobJerrell
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-#include QMK_KEYBOARD_H
-
-#include "version.h"
-#include "eeprom.h"
-#include "process_records.h"
-#include "wrappers.h"
-#if defined(RGB_MATRIX_ENABLE)
-# include "rgb_matrix_stuff.h"
-#endif
-
-/* Define layer names */
-enum userspace_layers {
- _WORKMAN = 0,
- _QWERTY,
- _WWORKMAN,
- _WQWERTY,
- _LOWER,
- _RAISE,
- _ADJUST,
- _MOD,
- LAYER_SAFE_RANGE,
-};
-
-#define MODS_SHIFT_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
-#define MODS_CTRL_MASK (MOD_BIT(KC_LCTL)|MOD_BIT(KC_RCTRL))
-#define MODS_ALT_MASK (MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT))
-#define MODS_GUI_MASK (MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI))
-
-bool mod_key_press_timer(uint16_t code, uint16_t mod_code, bool pressed);
-bool mod_key_press(uint16_t code, uint16_t mod_code, bool pressed, uint16_t this_timer);
-void matrix_init_keymap(void);
-void shutdown_keymap(void);
-void suspend_power_down_keymap(void);
-void suspend_wakeup_init_keymap(void);
-void matrix_scan_keymap(void);
-layer_state_t layer_state_set_keymap(layer_state_t state);
-layer_state_t default_layer_state_set_keymap(layer_state_t state);
-void led_set_keymap(uint8_t usb_led);
-void eeconfig_init_keymap(void);
-bool hasAllBitsInMask(uint8_t value, uint8_t mask);
-
-// clang-format off
-#ifdef KEYBOARD_planck_ez
-typedef union {
- uint32_t raw;
- struct {
- bool rgb_layer_change :1;
- bool rgb_matrix_idle_anim :1;
- };
-} userspace_config_t;
-// clang-format on
-
-extern userspace_config_t userspace_config;
-#endif
diff --git a/users/bocaj/config.h b/users/bocaj/config.h
deleted file mode 100644
index 2a44aabfc4..0000000000
--- a/users/bocaj/config.h
+++ /dev/null
@@ -1,113 +0,0 @@
-#pragma once
-
-// Use custom magic number so that when switching branches, EEPROM always gets reset
-#define EECONFIG_MAGIC_NUMBER (uint16_t)0x1339
-
-/* Set Polling rate to 1000Hz */
-#define USB_POLLING_INTERVAL_MS 1
-
-#ifdef AUDIO_ENABLE
-
-# define AUDIO_CLICKY
-# define STARTUP_SONG SONG(RICK_ROLL)
-# define GOODBYE_SONG SONG(SONIC_RING)
-# define DEFAULT_LAYER_SONGS \
- { SONG(QWERTY_SOUND), SONG(COLEMAK_SOUND), SONG(DVORAK_SOUND), SONG(OVERWATCH_THEME) }
-
-# define AUDIO_CLICKY_FREQ_RANDOMNESS 1.5f
-
-# define UNICODE_SONG_MAC SONG(RICK_ROLL)
-# define UNICODE_SONG_LNX SONG(RICK_ROLL)
-# define UNICODE_SONG_WIN SONG(RICK_ROLL)
-# define UNICODE_SONG_BSD SONG(RICK_ROLL)
-# define UNICODE_SONG_WINC SONG(RICK_ROLL)
-#endif // !AUDIO_ENABLE
-
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_KEYPRESSES // reacts to keypresses (will slow down matrix scan by a lot)
-// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (not recommened)
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// # 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_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
-// # define EECONFIG_RGB_MATRIX (uint32_t *)16
-
-# if defined(__AVR__) && !defined(__AVR_AT90USB1286__)
-# define DISABLE_RGB_MATRIX_ALPHAS_MODS
-# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define DISABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define DISABLE_RGB_MATRIX_BREATHING
-# define DISABLE_RGB_MATRIX_BAND_SAT
-# define DISABLE_RGB_MATRIX_BAND_VAL
-# define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# 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_CYCLE_PINWHEEL
-# define DISABLE_RGB_MATRIX_CYCLE_SPIRAL
-# 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
-# endif // AVR
-#endif // RGB_MATRIX_ENABLE
-
-#ifdef QMK_KEYS_PER_SCAN
-# undef QMK_KEYS_PER_SCAN
-# define QMK_KEYS_PER_SCAN 1
-#endif // !QMK_KEYS_PER_SCAN
-
-// this makes it possible to do rolling combos (zx) with keys that
-// convert to other keys on hold (z becomes ctrl when you hold it,
-// and when this option isn't enabled, z rapidly followed by x
-// actually sends Ctrl-x. That's bad.)
-#define IGNORE_MOD_TAP_INTERRUPT
-#undef PERMISSIVE_HOLD
-//#define TAPPING_FORCE_HOLD
-//#define RETRO_TAPPING
-
-#define FORCE_NKRO
-
-#ifndef TAPPING_TOGGLE
-# define TAPPING_TOGGLE 1
-#endif
-
-#ifdef TAPPING_TERM
-# undef TAPPING_TERM
-#endif // TAPPING_TERM
-#if defined(KEYBOARD_ergodox_ez)
-# define TAPPING_TERM 185
-#else
-# define TAPPING_TERM 175
-#endif
-
-#define TAP_CODE_DELAY 5
-
-/* Disable unused and unneeded features to reduce on firmware size */
-#ifdef LOCKING_SUPPORT_ENABLE
-# undef LOCKING_SUPPORT_ENABLE
-#endif
-#ifdef LOCKING_RESYNC_ENABLE
-# undef LOCKING_RESYNC_ENABLE
-#endif
diff --git a/users/bocaj/process_records.c b/users/bocaj/process_records.c
deleted file mode 100644
index 9eb181ad44..0000000000
--- a/users/bocaj/process_records.c
+++ /dev/null
@@ -1,111 +0,0 @@
-#include "bocaj.h"
-#include <print.h>
-
-__attribute__((weak)) bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { return true; }
-
-__attribute__((weak)) bool process_record_secrets(uint16_t keycode, keyrecord_t *record) { return true; }
-
-// Defines actions tor my global custom keycodes. Defined in bocaj.h file
-// Then runs the _keymap's record handler if not processed here
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-
- if (process_record_keymap(keycode, record) && process_record_secrets(keycode, record)
-#ifdef RGB_MATRIX_ENABLE
- && process_record_user_rgb_matrix(keycode, record)
-#endif
- ) {
- switch (keycode) {
- case KC_WORKMAN:
- if (!record->event.pressed) {
- uint8_t mods = mod_config(get_mods());
- if (!mods) {
- set_single_persistent_default_layer(_WORKMAN);
-
- } else if (mods & (MODS_GUI_MASK | MODS_CTRL_MASK)) {
- set_single_persistent_default_layer(_WWORKMAN);
- }
- }
- return false;
- break;
- case KC_QWERTY:
- if (!record->event.pressed) {
- uint8_t mods = mod_config(get_mods());
- if (!mods) {
- set_single_persistent_default_layer(_QWERTY);
- } else if (mods & (MODS_GUI_MASK | MODS_CTRL_MASK)) {
- set_single_persistent_default_layer(_WQWERTY);
- }
- }
- return false;
- break;
-
- case MC_ARRW:
- if (!record->event.pressed) {
- clear_mods();
- send_string_with_delay_P(PSTR("->"), TAP_CODE_DELAY);
- }
- return false;
- break;
-
- case KC_MAKE: // Compiles the firmware, and adds the flash command based on keyboard bootloader
- if (!record->event.pressed) {
- clear_mods();
- send_string_with_delay_P(PSTR("qmk compile "), TAP_CODE_DELAY);
- send_string_with_delay_P(PSTR("-kb " QMK_KEYBOARD), TAP_CODE_DELAY);
- send_string_with_delay_P(PSTR(SS_TAP(X_ENTER)), TAP_CODE_DELAY);
- }
- return false;
- break;
-
- case VRSN: // Prints firmware version
- if (!record->event.pressed) {
- send_string_with_delay_P(PSTR(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION ", Built on: " QMK_BUILDDATE), TAP_CODE_DELAY);
- }
- break;
-#if defined(RGB_MATRIX_ENABLE)
- case KC_RGB_T: // This allows me to use underglow as layer indication, or as normal
- if (!record->event.pressed) {
- userspace_config.rgb_layer_change ^= 1;
- dprintf("rgblight layer change [EEPROM]: %u\n", userspace_config.rgb_layer_change);
- eeconfig_update_user(userspace_config.raw);
- if (userspace_config.rgb_layer_change) {
- rgblight_enable_noeeprom();
- layer_state_set(layer_state); // This is needed to immediately set the layer color (looks better)
- } else {
- rgblight_disable_noeeprom();
- }
- }
- return false;
- break;
- case RGB_TOG:
- if (!record->event.pressed) {
-# if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_KEYCODES)
- rgb_matrix_toggle();
-# endif
- }
- return false;
- break;
- case RGB_MODE_FORWARD ... RGB_MODE_GRADIENT: // quantum_keycodes.h L400 for definitions
- if (!record->event.pressed) {
- bool is_eeprom_updated;
-# if defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS)
- if (userspace_config.rgb_matrix_idle_anim) {
- userspace_config.rgb_matrix_idle_anim = false;
- dprintf("RGB Matrix Idle Animation [EEPROM]: %u\n", userspace_config.rgb_matrix_idle_anim);
- is_eeprom_updated = true;
- }
-# endif
- if (is_eeprom_updated) {
- eeconfig_update_user(userspace_config.raw);
- }
- }
- return false;
- break;
-#endif
- }
- }
-#ifdef CONSOLE_ENABLE
- uprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed);
-#endif
- return true;
-}
diff --git a/users/bocaj/process_records.h b/users/bocaj/process_records.h
deleted file mode 100644
index c17e2ffdc1..0000000000
--- a/users/bocaj/process_records.h
+++ /dev/null
@@ -1,44 +0,0 @@
-#pragma once
-#include "bocaj.h"
-
-#if defined(KEYMAP_SAFE_RANGE)
-# define PLACEHOLDER_SAFE_RANGE KEYMAP_SAFE_RANGE
-#else
-# define PLACEHOLDER_SAFE_RANGE SAFE_RANGE
-#endif
-
-enum userspace_custom_keycodes {
- VRSN = PLACEHOLDER_SAFE_RANGE, // Prints QMK Firmware and board info
- KC_WORKMAN, // Sets default layer to WORKMAN
- KC_QWERTY, // Sets default layer to QWERTY
- // KC_COLEMAK, // Sets default layer to COLEMAK
- // KC_DVORAK, // Sets default layer to DVORAK
- KC_MAKE, // Run keyboard's customized make command
- KC_RGB_T, // Toggles RGB Layer Indication mode
- RGB_IDL, // RGB Idling animations
- MC_ARRW, // ->
- UC_FLIP, // (ಠ痊ಠ)┻━┻
- UC_TABL, // ┬─┬ノ( º _ ºノ)
- UC_SHRG, // ¯\_(ツ)_/¯
- UC_DISA, // ಠ_ಠ
- NEW_SAFE_RANGE // use "NEWPLACEHOLDER for keymap specific codes
-};
-
-bool process_record_secrets(uint16_t keycode, keyrecord_t *record);
-bool process_record_keymap(uint16_t keycode, keyrecord_t *record);
-
-#define QWERTY KC_QWERTY
-#define WORKMAN KC_WORKMAN
-
-#define KC_ARRW MC_ARRW
-
-#define KC_RST RESET
-
-#define MO_MOD MO(_MOD)
-#define ALT_APP ALT_T(KC_APP)
-#define HYP_LBK ALL_T(KC_LBRACKET)
-#define MEH_RBK MEH_T(KC_RBRACKET)
-#define HYP_LPR ALL_T(KC_LPRN)
-#define MEH_RPR MEH_T(KC_RPRN)
-
-#define MG_NKRO MAGIC_TOGGLE_NKRO
diff --git a/users/bocaj/readme.md b/users/bocaj/readme.md
deleted file mode 100644
index 1206359675..0000000000
--- a/users/bocaj/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Overview
-
-This is my personal userspace file. Most of my code exists here, as it's heavily shared.
-
-The template was taken from [Drashna's userspace](https://github.com/qmk/qmk_firmware/tree/master/users/drashna). There isn't much if anything in this userspace that warrants documentation he hasn't already covered.
diff --git a/users/bocaj/rgb_matrix_stuff.c b/users/bocaj/rgb_matrix_stuff.c
deleted file mode 100644
index bc50349d23..0000000000
--- a/users/bocaj/rgb_matrix_stuff.c
+++ /dev/null
@@ -1,106 +0,0 @@
-#include "bocaj.h"
-
-#include "lib/lib8tion/lib8tion.h"
-extern led_config_t g_led_config;
-
-static uint32_t hypno_timer;
-#if defined(SPLIT_KEYBOARD) || defined(KEYBOARD_ergodox_ez) || defined(KEYBOARD_crkbd)
-# define RGB_MATRIX_REST_MODE RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#else
-# define RGB_MATRIX_REST_MODE RGB_MATRIX_CYCLE_OUT_IN
-#endif
-
-void rgb_matrix_set_color_row(uint8_t row, uint8_t red, uint8_t green, uint8_t blue) {
-#ifdef KEYBOARD_planck_ez
- if (row > 2) {
- row = 0;
- }
- uint8_t row_multiplier = row * 12;
-
- rgb_matrix_set_color(1 + row_multiplier, red, green, blue);
- rgb_matrix_set_color(2 + row_multiplier, red, green, blue);
- rgb_matrix_set_color(3 + row_multiplier, red, green, blue);
- rgb_matrix_set_color(4 + row_multiplier, red, green, blue);
- rgb_matrix_set_color(5 + row_multiplier, red, green, blue);
- rgb_matrix_set_color(6 + row_multiplier, red, green, blue);
- rgb_matrix_set_color(7 + row_multiplier, red, green, blue);
- rgb_matrix_set_color(8 + row_multiplier, red, green, blue);
- rgb_matrix_set_color(9 + row_multiplier, red, green, blue);
- rgb_matrix_set_color(10 + row_multiplier, red, green, blue);
-#endif
-}
-
-void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode, uint8_t speed, uint8_t led_type) {
- HSV hsv = {hue, sat, val};
- if (hsv.v > rgb_matrix_get_val()) {
- hsv.v = rgb_matrix_get_val();
- }
-
- switch (mode) {
- case 1: // breathing
- {
- uint16_t time = scale16by8(g_rgb_timer, speed / 8);
- hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v);
- RGB rgb = hsv_to_rgb(hsv);
- for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) {
- if (HAS_FLAGS(g_led_config.flags[i], led_type)) {
- rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
- }
- }
- break;
- }
- default: // Solid Color
- {
- RGB rgb = hsv_to_rgb(hsv);
- for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) {
- if (HAS_FLAGS(g_led_config.flags[i], led_type)) {
- rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
- }
- }
- break;
- }
- }
-}
-
-__attribute__((weak)) void rgb_matrix_indicator_keymap(void) {}
-
-void matrix_scan_rgb_matrix(void) {
-#if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS)
- if (userspace_config.rgb_matrix_idle_anim && rgb_matrix_get_mode() == RGB_MATRIX_TYPING_HEATMAP && timer_elapsed32(hypno_timer) > 15000) {
- rgb_matrix_mode_noeeprom(RGB_MATRIX_REST_MODE);
- }
-#endif
- rgb_matrix_indicator_keymap();
-}
-
-void keyboard_post_init_rgb_matrix(void) {
-#if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS)
- if (userspace_config.rgb_matrix_idle_anim) {
- rgb_matrix_mode_noeeprom(RGB_MATRIX_REST_MODE);
- }
-#endif
-}
-
-bool process_record_user_rgb_matrix(uint16_t keycode, keyrecord_t *record) {
-#if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS)
- hypno_timer = timer_read32();
- if (userspace_config.rgb_matrix_idle_anim && rgb_matrix_get_mode() == RGB_MATRIX_REST_MODE) {
- rgb_matrix_mode_noeeprom(RGB_MATRIX_TYPING_HEATMAP);
- }
-#endif
- switch (keycode) {
- case RGB_IDL:
-#if defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS)
- if (record->event.pressed) {
- userspace_config.rgb_matrix_idle_anim ^= 1;
- dprintf("RGB Matrix Idle Animation [EEPROM]: %u\n", userspace_config.rgb_matrix_idle_anim);
- eeconfig_update_user(userspace_config.raw);
- if (userspace_config.rgb_matrix_idle_anim) {
- rgb_matrix_mode_noeeprom(RGB_MATRIX_TYPING_HEATMAP);
- }
- }
-#endif
- break;
- }
- return true;
-}
diff --git a/users/bocaj/rgb_matrix_stuff.h b/users/bocaj/rgb_matrix_stuff.h
deleted file mode 100644
index e48add2186..0000000000
--- a/users/bocaj/rgb_matrix_stuff.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#pragma once
-#include "quantum.h"
-
-bool process_record_user_rgb_matrix(uint16_t keycode, keyrecord_t *record);
-void keyboard_post_init_rgb_matrix(void);
-void matrix_scan_rgb_matrix(void);
-
-void rgb_matrix_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
-void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode, uint8_t speed, uint8_t led_type);
-void rgb_matrix_set_color_row(uint8_t row, uint8_t red, uint8_t green, uint8_t blue);
diff --git a/users/bocaj/rules.mk b/users/bocaj/rules.mk
deleted file mode 100644
index a0e7e93bc1..0000000000
--- a/users/bocaj/rules.mk
+++ /dev/null
@@ -1,26 +0,0 @@
-SRC += bocaj.c \
- process_records.c
-
-LEADER_ENABLE = yes
-MOUSEKEY_ENABLE = yes
-EXTRAKEY_ENABLE = yes
-
-ifneq ($(PLATFORM),CHIBIOS)
- LTO_ENABLE = yes
-endif
-SPACE_CADET_ENABLE = no
-GRAVE_ESC_ENABLE = no
-
-ifneq ($(strip $(NO_SECRETS)), yes)
- ifneq ("$(wildcard $(USER_PATH)/secrets.c)","")
- SRC += secrets.c
- endif
- ifeq ($(strip $(NO_SECRETS)), lite)
- OPT_DEFS += -DNO_SECRETS
- endif
-endif
-
-RGB_MATRIX_ENABLE ?= no
-ifneq ($(strip $(RGB_MATRIX_ENABLE)), no)
- SRC += rgb_matrix_stuff.c
-endif
diff --git a/users/bocaj/wrappers.h b/users/bocaj/wrappers.h
deleted file mode 100644
index 0f18d346a3..0000000000
--- a/users/bocaj/wrappers.h
+++ /dev/null
@@ -1,193 +0,0 @@
-#pragma once
-#include "bocaj.h"
-
-/*
-Since our quirky block definitions are basically a list of comma separated
-arguments, we need a wrapper in order for these definitions to be
-expanded before being used as arguments to the LAYOUT_xxx macro.
-*/
-#if (!defined(LAYOUT) && defined(KEYMAP))
-# define LAYOUT KEYMAP
-#endif
-
-// clang-format off
-#define WRAPPER_ergodox_pretty(...) LAYOUT_ergodox_pretty(__VA_ARGS__)
-#define WRAPPER_ortho_4x12(...) LAYOUT_ortho_4x12(__VA_ARGS__)
-
-/* ---------- LEFT HAND ----------- ---------- RIGHT HAND ---------- */
-#define WRAPPER_ergodox_bocaj( \
- L00,L01,L02,L03,L04,L05,L06, R00,R01,R02,R03,R04,R05,R06, \
- L10,L11,L12,L13,L14,L15,L16, R10,R11,R12,R13,R14,R15,R16, \
- L20,L21,L22,L23,L24,L25, R21,R22,R23,R24,R25,R26, \
- L30,L31,L32,L33,L34,L35,L36, R30,R31,R32,R33,R34,R35,R36, \
- L40,L41,L42,L43,L44, R42,R43,R44,R45,R46, \
- L55,L56, R50,R51, \
- L54, R52, \
- L53,L52,L51, R55,R54,R53 ) \
- WRAPPER_ergodox_pretty( \
- L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
- L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
- L20, L21, SFT_T(L22), GUI_T(L23), ALT_T(L24), L25, R21, ALT_T(R22), GUI_T(R23), SFT_T(R24), R25, R26, \
- L30, CTL_T(L31), L32, L33, L34, L35, ALL_T(L36), MEH_T(R30), R31, R32, R33, R34, CTL_T(R35), R36, \
- L40, L41, L42, L43, L44, R42, R43, R44, R45, R46, \
- L55,L56, /* <- LHS/RHS -> */ R50,R51, \
- L54, /* <- LHS/RHS -> */ R52, \
- LT(_LOWER, L53),L52,L51, /* <- LHS/RHS -> */ R55,R54,LT(_RAISE, R53) \
-)
-
-#define WRAPPER_ergodox_bocaj_WIN( \
- L00,L01,L02,L03,L04,L05,L06, R00,R01,R02,R03,R04,R05,R06, \
- L10,L11,L12,L13,L14,L15,L16, R10,R11,R12,R13,R14,R15,R16, \
- L20,L21,L22,L23,L24,L25, R21,R22,R23,R24,R25,R26, \
- L30,L31,L32,L33,L34,L35,L36, R30,R31,R32,R33,R34,R35,R36, \
- L40,L41,L42,L43,L44, R42,R43,R44,R45,R46, \
- L55,L56, R50,R51, \
- L54, R52, \
- L53,L52,L51, R55,R54,R53 ) \
- WRAPPER_ergodox_pretty( \
- L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
- L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
- L20, L21, SFT_T(L22), CTL_T(L23), ALT_T(L24), L25, R21, ALT_T(R22), CTL_T(R23), SFT_T(R24), R25, R26, \
- L30, GUI_T(L31), L32, L33, L34, L35, ALL_T(L36), MEH_T(R30), R31, R32, R33, R34, GUI_T(R35), R36, \
- L40, L41, L42, L43, L44, R42, R43, R44, R45, R46, \
- L55,L56, /* <- LHS/RHS -> */ R50,R51, \
- L54, /* <- LHS/RHS -> */ R52, \
- LT(_LOWER, L53),L52,L51, /* <- LHS/RHS -> */ R55,R54,LT(_RAISE, R53) \
-)
-
-/*
- Planck EZ Wrappers
-*/
-#define WRAPPER_planck_bocaj( \
- K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, \
- K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \
- K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
- K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C \
-)\
- WRAPPER_ortho_4x12( \
- K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, \
- K11, K12, SFT_T(K13), GUI_T(K14), ALT_T(K15), K16, K17, ALT_T(K18), GUI_T(K19), SFT_T(K1A), K1B, K1C, \
- K21, CTL_T(K22), K23, K24, K25, K26, K27, K28, K29, K2A, CTL_T(K2B), K2C, \
- K31, K32, K33, K34, LT(_LOWER, K35), K36, K37, LT(_RAISE, K38), K39, K3A, K3B, K3C )
-
-#define WRAPPER_planck_bocaj_WIN( \
- K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, \
- K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \
- K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
- K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C \
-)\
- WRAPPER_ortho_4x12( \
- K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, \
- K11, K12, SFT_T(K13), CTL_T(K14), ALT_T(K15), K16, K17, ALT_T(K18), CTL_T(K19), SFT_T(K1A), K1B, K1C, \
- K21, GUI_T(K22), K23, K24, K25, K26, K27, K28, K29, K2A, GUI_T(K2B), K2C, \
- K31, K32, K33, K34, LT(_LOWER, K35), K36, K37, LT(_RAISE, K38), K39, K3A, K3B, K3C )
-
-#define WRAPPER_planck_bocaj_base( \
- K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \
- K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \
- K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \
-) \
- WRAPPER_planck_bocaj( \
- KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_MINS,