summaryrefslogtreecommitdiff
path: root/keyboards/sofle
diff options
context:
space:
mode:
authorJoel Challis <git@zvecr.com>2024-02-15 09:42:01 +0000
committerGitHub <noreply@github.com>2024-02-15 09:42:01 +0000
commit5233a62b20d975140f3bc4b808ca6e74a148d54c (patch)
treeaa90b523f0a82abf7cd77c2bfbb6e811110cedef /keyboards/sofle
parentf8123c27ad75cbb7147618dd5cf98474b5c150e0 (diff)
Remove obvious user keymaps, keyboards/{s,t}* edition. (#23084)
Diffstat (limited to 'keyboards/sofle')
-rw-r--r--keyboards/sofle/keymaps/bastien-baloup_fr/config.h54
-rw-r--r--keyboards/sofle/keymaps/bastien-baloup_fr/keymap.c211
-rw-r--r--keyboards/sofle/keymaps/bastien-baloup_fr/readme.md5
-rw-r--r--keyboards/sofle/keymaps/bastien-baloup_fr/rules.mk9
-rw-r--r--keyboards/sofle/keymaps/flare576/config.h40
-rw-r--r--keyboards/sofle/keymaps/flare576/enums.h34
-rw-r--r--keyboards/sofle/keymaps/flare576/graphics.c290
-rw-r--r--keyboards/sofle/keymaps/flare576/graphics.h16
-rw-r--r--keyboards/sofle/keymaps/flare576/keymap.c196
-rw-r--r--keyboards/sofle/keymaps/flare576/logos.h96
-rw-r--r--keyboards/sofle/keymaps/flare576/readme.md22
-rw-r--r--keyboards/sofle/keymaps/flare576/rules.mk6
-rw-r--r--keyboards/sofle/keymaps/foureight84/config.h33
-rw-r--r--keyboards/sofle/keymaps/foureight84/keymap.c616
-rw-r--r--keyboards/sofle/keymaps/foureight84/readme.md1
-rw-r--r--keyboards/sofle/keymaps/foureight84/rules.mk24
-rw-r--r--keyboards/sofle/keymaps/j4ckofalltrades/encoder.c37
-rw-r--r--keyboards/sofle/keymaps/j4ckofalltrades/keymap.c85
-rw-r--r--keyboards/sofle/keymaps/j4ckofalltrades/oled.c77
-rw-r--r--keyboards/sofle/keymaps/j4ckofalltrades/readme.md19
-rw-r--r--keyboards/sofle/keymaps/j4ckofalltrades/rules.mk6
-rw-r--r--keyboards/sofle/keymaps/killmaster/config.h60
-rw-r--r--keyboards/sofle/keymaps/killmaster/keymap.c404
-rw-r--r--keyboards/sofle/keymaps/killmaster/readme.md19
-rw-r--r--keyboards/sofle/keymaps/killmaster/rules.mk4
-rw-r--r--keyboards/sofle/keymaps/michal/config.h17
-rw-r--r--keyboards/sofle/keymaps/michal/keymap.c192
-rw-r--r--keyboards/sofle/keymaps/michal/rules.mk19
-rw-r--r--keyboards/sofle/keymaps/noqmk/keymap.c684
-rw-r--r--keyboards/sofle/keymaps/noqmk/readme.md28
-rw-r--r--keyboards/sofle/keymaps/noqmk/rules.mk5
31 files changed, 0 insertions, 3309 deletions
diff --git a/keyboards/sofle/keymaps/bastien-baloup_fr/config.h b/keyboards/sofle/keymaps/bastien-baloup_fr/config.h
deleted file mode 100644
index dd3b6d8f5a..0000000000
--- a/keyboards/sofle/keymaps/bastien-baloup_fr/config.h
+++ /dev/null
@@ -1,54 +0,0 @@
- /* Copyright 2022 Bastien Baloup
- *
- * 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
-
-// More lighting options in quantum/rgblight/rgblight.h
-#ifdef RGBLIGHT_ENABLE
-
- // Disabling some of these is a good way to save flash space.
-// #define RGBLIGHT_EFFECT_ALTERNATING
-// #define RGBLIGHT_EFFECT_RGB_TEST
-// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
-// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
- #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-// #define RGBLIGHT_EFFECT_BREATHING
-// #define RGBLIGHT_EFFECT_KNIGHT
-// #define RGBLIGHT_EFFECT_SNAKE
-// #define RGBLIGHT_EFFECT_CHRISTMAS
-// #define RGBLIGHT_EFFECT_TWINKLE
-
- // Set default lighting option
- #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL+2
- // Allow use of LEDs as modifier/layer indicators without disrupting animations.
- #define RGBLIGHT_LAYERS
-
- // Allow compiling to work on sofle/rev1
- #if defined(KEYBOARD_sofle_rev1)
- #define RGBLED_NUM 70
- // D3 for ws2812 RGB LED
- #define WS2812_DI_PIN D3
- #endif
-#endif
-
-// Disabled to save space
-#define NO_ACTION_ONESHOT
-#define NO_MUSIC_MODE
-#undef LOCKING_SUPPORT_ENABLE
-#undef LOCKING_RESYNC_ENABLE
-
-// Limit the number of layers that the firmware can use to save space
-#define LAYER_STATE_8BIT
diff --git a/keyboards/sofle/keymaps/bastien-baloup_fr/keymap.c b/keyboards/sofle/keymaps/bastien-baloup_fr/keymap.c
deleted file mode 100644
index ee207ae34e..0000000000
--- a/keyboards/sofle/keymaps/bastien-baloup_fr/keymap.c
+++ /dev/null
@@ -1,211 +0,0 @@
- /* Copyright 2022 Bastien Baloup
- *
- * 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 QMK_KEYBOARD_H
-
-enum custom_keycodes {
- // CL_ keycodes are here for charaters that need capslock on to be inputed.
- CL_AGRV = SAFE_RANGE, // À
- CL_EACU, // É
- CL_EGRV, // È
- // UC_ keycodes uses (ctrl+shift+u)+code+enter to input unicode.
- // I do not use the qmk unicode implementation because it does not uses the right keycodes to input numbers in a french layout.
- UC_PI , // π
- UC_ELIP // …
-};
-
-// Following keymaps are made for the french ISO keyboard layout
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
- * LOWERcase
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ² | & | é | " | ' | ^ | | ¨ | è | % | ç | à | TG3 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ESC | a | z | e | r | t | | y | u | i | o | p | Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | q | s | d | f | g |-------. ,-------| h | j | k | l | m | ù |
- * |------+------+------+------+------+------| | | Mute |------+------+------+------+------+------|
- * | MO1 | w | x | c | v | b |-------| |-------| n | , | ; | : | ! | MO1 |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR | MO2 | /Enter / \Space \ | MO3 | RCTR | RAlt | HYPER|
- * | | | | |/ / \ \ | | | | |
- * `-----------------------------------' '------''---------------------------'
- */
-
-[0] = LAYOUT(
- KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_LBRC, S(KC_LBRC), KC_7 , S(KC_QUOT), KC_9 , KC_0 , TG(3) ,
- KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC,
- KC_TAB , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT,
- MO(1) , KC_Z , KC_X , KC_C , KC_V , KC_B , XXXXXXX, KC_MUTE, KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH, MO(1) ,
- KC_LGUI, KC_LALT, KC_LCTL, MO(2) , KC_ENT, KC_SPC, MO(3) , KC_RCTL, KC_RALT, KC_HYPR
-),
-// I use a uppercase layer instead of using the Shift key because I find it easier to change the effect of shift+key chords this way.
-/*
- * UPPERcase
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | TG3 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ESC | A | Z | E | R | T | | Y | U | I | O | P | Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | TAB | Q | S | D | F | G |-------. ,-------| H | J | K | L | M | µ |
- * |------+------+------+------+------+------| | | Mute |------+------+------+------+------+------|
- * | MO1 | W | X | C | V | B |-------| |-------| N | ? | . | / | § | MO1 |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR | MO2 | /Enter / \Space \ | MO3 | RCTR | RAlt | HYPER|
- * | | | | |/ / \ \ | | | | |
- * `-----------------------------------' '------''---------------------------'
- */
-[1] = LAYOUT(
- _______, S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6) , S(KC_7), S(KC_8) , S(KC_9) , S(KC_0) , _______ ,
- _______, S(KC_Q), S(KC_W), S(KC_E), S(KC_R), S(KC_T), S(KC_Y) , S(KC_U), S(KC_I) , S(KC_O) , S(KC_P) , _______ ,
- _______, S(KC_A), S(KC_S), S(KC_D), S(KC_F), S(KC_G), S(KC_H) , S(KC_J), S(KC_K) , S(KC_L) , S(KC_SCLN), S(KC_NUHS),
- _______, S(KC_Z), S(KC_X), S(KC_C), S(KC_V), S(KC_B), _______, _______, S(KC_N) , S(KC_M), S(KC_COMM), S(KC_DOT), S(KC_SLSH), _______ ,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-// I replaced MO1 with the Shift key in the next layers to be able to use it for some shortcuts.
-
-/* SYMBOLS
- * ,-----------------------------------------. ,-----------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ESC | À | È | É | ( | ) | | = | | | \ | · | @ | Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | ` | ~ | # | < | > |-------. ,-------| + | - | / | * | ° | … |
- * |------+------+------+------+------+------| | | Play |------+------+------+------+------+------|
- * | Shift| ¤ | [ | ] | { | } |-------| |-------| π | _ | € | $ | £ | Shift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR | MO2 | /Enter / \Space \ | MO3 | RCTR | RAlt | HYPER|~
- * | | | | |/ / \ \ | | | | |
- * `-----------------------------------' '------''---------------------------'
- */
-[2] = LAYOUT(
- KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 ,
- _______, CL_AGRV , CL_EGRV , CL_EACU , KC_5 , KC_MINS , KC_EQL , ALGR(KC_6), ALGR(KC_8), ALGR(KC_COMM), ALGR(KC_0), _______,
- _______, ALGR(KC_7) , ALGR(KC_2), ALGR(KC_3) , KC_NUBS , S(KC_NUBS) , S(KC_EQL), KC_6 , S(KC_DOT) , KC_NUHS , S(KC_MINS), UC_ELIP,
- KC_LSFT, ALGR(KC_RBRC), ALGR(KC_5), ALGR(KC_MINS), ALGR(KC_4), ALGR(KC_EQL), _______, KC_MPLY, UC_PI , KC_8 , ALGR(KC_E), KC_RBRC , S(KC_RBRC), KC_RSFT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-/* UTILS
- * ,----------------------------------------. ,-----------------------------------------.
- * | | & | é | " | ( | ^ | | CLock|PScr |ScLock| Pause| Ins | TG3 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Esc | a | z | e | r | t | | PgUp | Home | Up | End | Del | Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | q | s | d | f | g |-------. ,-------| PgDo | Left | Down | Rigth|CALeft|CARigt|
- * |------+------+------+------+------+------| | | Play |------+------+------+------+------+------|
- * |Shift | w | x | c | v | b |-------| |-------| | PWrd | | NWrd | Menu | Shift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR | MO2 | /Enter / \Space \ | MO3 | RCTR | RAlt | HYPER|
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[3] = LAYOUT(
- _______, _______, _______, _______, _______, _______, KC_CAPS, KC_PSCR , KC_SCRL, KC_PAUS , KC_INS , _______ ,
- _______, _______, _______, _______, _______, _______, KC_PGUP, KC_HOME , KC_UP , KC_END , KC_DEL , _______ ,
- _______, _______, _______, _______, _______, _______, KC_PGDN, KC_LEFT , KC_DOWN, KC_RGHT , C(A(KC_LEFT)), C(A(KC_RGHT)),
- KC_LSFT, _______, _______, _______, _______, _______, _______, KC_MPLY, XXXXXXX, C(KC_LEFT), XXXXXXX, C(KC_RGHT), KC_MENU , KC_RSFT ,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-)
-};
-
-// Custom keycode handling.
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- // handling this once instead of in each keycode uses less program memory.
- if (record->event.pressed) {
- switch (keycode) {
- case CL_AGRV:
- // capsLockOn à capsLockOff
- SEND_STRING(SS_TAP(X_CAPS)"0"SS_TAP(X_CAPS));
- break;
- case CL_EACU:
- // capsLockOn é capsLockOff
- SEND_STRING(SS_TAP(X_CAPS)"2"SS_TAP(X_CAPS));
- break;
- case CL_EGRV:
- // capsLockOn è capsLockOff
- SEND_STRING(SS_TAP(X_CAPS)"7"SS_TAP(X_CAPS));
- break;
- case UC_PI:
- // Ctrl+Shift+u 3CO Enter
- tap_code16(LCTL(LSFT(KC_U)));
- tap_code16(S(KC_3));
- tap_code16(KC_C);
- tap_code16(S(KC_0));
- tap_code16(KC_ENT);
- break;
- case UC_ELIP:
- // Ctrl+Shift+u 2026 Enter
- tap_code16(LCTL(LSFT(KC_U)));
- tap_code16(S(KC_2));
- tap_code16(S(KC_0));
- tap_code16(S(KC_2));
- tap_code16(S(KC_6));
- tap_code16(KC_ENT);
- break;
- }
- }
- // this uses less memory than returning in each case.
- return keycode < SAFE_RANGE;
-};
-
-#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
-// This section is like the keymap matrix, but for rotary encoders
-// My left encoder is currently not working, so I'm using Layers instead
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(KC_VOLU, KC_VOLD)},
- [1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(KC_VOLU, KC_VOLD)},
- [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(KC_MNXT, KC_MPRV)},
- [3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(KC_MNXT, KC_MPRV)},
-};
-#endif
-
-#ifdef RGBLIGHT_ENABLE
-// This section define RGB_Lighting overrides by layers
-
-const rgblight_segment_t PROGMEM rgb_layer_1[] = RGBLIGHT_LAYER_SEGMENTS(
- {30, 6, HSV_TURQUOISE},
- {38, 6, HSV_TURQUOISE}
-);
-const rgblight_segment_t PROGMEM rgb_layer_2[] = RGBLIGHT_LAYER_SEGMENTS(
- {30, 6, HSV_TEAL},
- {38, 6, HSV_TEAL}
-);
-const rgblight_segment_t PROGMEM rgb_layer_3[] = RGBLIGHT_LAYER_SEGMENTS(
- {38, 6, HSV_PURPLE}
-);
-
-const rgblight_segment_t* const PROGMEM rgb_layers[] = RGBLIGHT_LAYERS_LIST(
- rgb_layer_1, // Overrides for layer 1
- rgb_layer_2, // Overrides for layer 2
- rgb_layer_3 // Overrides for layer 3
-);
-
-// Enable the LED layers
-void keyboard_post_init_user(void) {
- rgblight_layers = rgb_layers;
-}
-
-// Set activation conditions for each LED layers
-layer_state_t layer_state_set_user(layer_state_t state) {
- rgblight_set_layer_state(0, layer_state_cmp(state, 1));
- rgblight_set_layer_state(1, layer_state_cmp(state, 2));
- rgblight_set_layer_state(2, layer_state_cmp(state, 3));
- return state;
-}
-
-#endif
diff --git a/keyboards/sofle/keymaps/bastien-baloup_fr/readme.md b/keyboards/sofle/keymaps/bastien-baloup_fr/readme.md
deleted file mode 100644
index 315f172a74..0000000000
--- a/keyboards/sofle/keymaps/bastien-baloup_fr/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-![Bastien-Baloup_FR keymap for sofle keyboard](https://i.imgur.com/Zlv1dj1h.jpg)
-
-# Bastien-Baloup's French keymap for sofle keyboard
-
-Keymap based on the french azerty keyboard layout.
diff --git a/keyboards/sofle/keymaps/bastien-baloup_fr/rules.mk b/keyboards/sofle/keymaps/bastien-baloup_fr/rules.mk
deleted file mode 100644
index e3a0bd5193..0000000000
--- a/keyboards/sofle/keymaps/bastien-baloup_fr/rules.mk
+++ /dev/null
@@ -1,9 +0,0 @@
-RGBLIGHT_ENABLE = yes
-EXTRAKEY_ENABLE = yes
-LTO_ENABLE = yes
-ENCODER_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
-OLED_ENABLE = no
-SPACE_CADET_ENABLE = no
-GRAVE_ESC_ENABLE = no
-MAGIC_ENABLE = no
diff --git a/keyboards/sofle/keymaps/flare576/config.h b/keyboards/sofle/keymaps/flare576/config.h
deleted file mode 100644
index c89f38c127..0000000000
--- a/keyboards/sofle/keymaps/flare576/config.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Copyright 2021 Flare576 <flare576@gmail.com>
- *
- * 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
-#define MAIN_BOARD
-#define MASTER_RIGHT
-#define ENCODER_DIRECTION_FLIP
-#define OLED_TIMEOUT 10000
-
-#define MOUSEKEY_INTERVAL 16
-#define MOUSEKEY_DELAY 0
-#define MOUSEKEY_TIME_TO_MAX 60
-#define MOUSEKEY_MAX_SPEED 7
-#define MOUSEKEY_WHEEL_DELAY 0
-#define TAPPING_TERM_PER_KEY
-
-#ifdef ENCODER_RESOLUTION
- #undef ENCODER_RESOLUTION
-#endif
-#define ENCODER_RESOLUTION 4
-
-#ifdef TAPPING_TERM
- #undef TAPPING_TERM
-#endif
-#define TAPPING_TERM 200
-
-#undef MANUFACTURER
-#define MANUFACTURER "Flare576"
diff --git a/keyboards/sofle/keymaps/flare576/enums.h b/keyboards/sofle/keymaps/flare576/enums.h
deleted file mode 100644
index 7edcc1110f..0000000000
--- a/keyboards/sofle/keymaps/flare576/enums.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright 2021 Flare576 <flare576@gmail.com>
- *
- * 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
-enum _layers {
- /* _M_XYZ = Mac Os, _W_XYZ = Win/Linux */
- _BASE,
- _MOUS,
- _SYMS,
- _FF14,
- _ESDF,
-};
-
-enum custom_keycodes {
- _COMP1 = SAFE_RANGE,
- _COMP2,
-};
-
-enum custom_tapdance {
- TD_PLAY,
- TD_HOME,
-};
diff --git a/keyboards/sofle/keymaps/flare576/graphics.c b/keyboards/sofle/keymaps/flare576/graphics.c
deleted file mode 100644
index 8cade61668..0000000000
--- a/keyboards/sofle/keymaps/flare576/graphics.c
+++ /dev/null
@@ -1,290 +0,0 @@
-/* Copyright 2021 Flare576 <flare576@gmail.com>
- *
- * 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 QMK_KEYBOARD_H
-#include "enums.h"
-#include "logos.h"
-int current_wpm = -1; // Enable screen-on at startup
-bool isJumping = false;
-bool showedJump = true;
-
-#ifdef OLED_DRIVER_ENABLE
-
-#ifdef MAIN_BOARD
-static void render_logos(void){}
-void luna_jump(bool newJump){
- isJumping = newJump;
- if (newJump) {
- showedJump = false;
- }
-}
-
-// START Luna vars
-#define MIN_WALK_SPEED 10
-#define MIN_RUN_SPEED 40
-
-#define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms
-#define ANIM_SIZE 96 // number of bytes in array, minimize for adequate firmware size, max is 1024
-
-uint32_t anim_timer = 0;
-uint8_t current_frame = 0;
-
-bool isSneaking = false;
-static void render_luna(int LUNA_X, int LUNA_Y) {
-
- static const char PROGMEM sit[2][ANIM_SIZE] = {
- // 'sit1', 32x22px
- {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1c,
- 0x02, 0x05, 0x02, 0x24, 0x04, 0x04, 0x02, 0xa9, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x68, 0x10, 0x08, 0x04, 0x03, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x82, 0x7c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x0c, 0x10, 0x10, 0x20, 0x20, 0x20, 0x28,
- 0x3e, 0x1c, 0x20, 0x20, 0x3e, 0x0f, 0x11, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
-
- // 'sit2', 32x22px
- {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1c,
- 0x02, 0x05, 0x02, 0x24, 0x04, 0x04, 0x02, 0xa9, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x90, 0x08, 0x18, 0x60, 0x10, 0x08, 0x04, 0x03, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0e, 0x82, 0x7c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x0c, 0x10, 0x10, 0x20, 0x20, 0x20, 0x28,
- 0x3e, 0x1c, 0x20, 0x20, 0x3e, 0x0f, 0x11, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- }
- };
-
- static const char PROGMEM walk[2][ANIM_SIZE] = {
- // 'walk1', 32x22px
- {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x90, 0x90, 0x90, 0xa0, 0xc0, 0x80, 0x80,
- 0x80, 0x70, 0x08, 0x14, 0x08, 0x90, 0x10, 0x10, 0x08, 0xa4, 0x78, 0x80, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x08, 0xfc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
- 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x18, 0xea, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1c, 0x20, 0x20, 0x3c, 0x0f, 0x11, 0x1f, 0x03,
- 0x06, 0x18, 0x20, 0x20, 0x3c, 0x0c, 0x12, 0x1e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
-
- // 'walk2', 32x22px
- {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x20, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00,
- 0x00, 0xe0, 0x10, 0x28, 0x10, 0x20, 0x20, 0x20, 0x10, 0x48, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x20, 0xf8, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x30, 0xd5, 0x20, 0x1f, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x30, 0x0c, 0x02, 0x05, 0x09, 0x12, 0x1e,
- 0x02, 0x1c, 0x14, 0x08, 0x10, 0x20, 0x2c, 0x32, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- }
- };
-
- static const char PROGMEM run[2][ANIM_SIZE] = {
- // 'run1', 32x22px
- {
- 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x08, 0xc8, 0xb0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
- 0x80, 0x40, 0x40, 0x3c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0xc4, 0xa4, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc8, 0x58, 0x28, 0x2a, 0x10, 0x0f, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x09, 0x04, 0x04, 0x04, 0x04, 0x02, 0x03, 0x02, 0x01, 0x01,
- 0x02, 0x02, 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
-
- // 'run2', 32x22px
- {
- 0x00, 0x00, 0x00, 0xe0, 0x10, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
- 0x80, 0x80, 0x78, 0x28, 0x08, 0x10, 0x20, 0x30, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0xb0, 0x50, 0x55, 0x20, 0x1f, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37,
- 0x02, 0x1e, 0x20, 0x20, 0x18, 0x0c, 0x14, 0x1e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- }
- };
-
- static const char PROGMEM sneak[2][ANIM_SIZE] = {
- // 'sneak1', 32x22px
- {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xc0, 0x40, 0x40, 0x80, 0x00, 0x80, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x1e, 0x21, 0xf0, 0x04, 0x02, 0x02, 0x02, 0x02, 0x03, 0x02, 0x02, 0x04,
- 0x04, 0x04, 0x03, 0x01, 0x00, 0x00, 0x09, 0x01, 0x80, 0x80, 0xab, 0x04, 0xf8, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1c, 0x20, 0x20, 0x3c, 0x0f, 0x11, 0x1f, 0x02, 0x06,
- 0x18, 0x20, 0x20, 0x38, 0x08, 0x10, 0x18, 0x04, 0x04, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00,
- },
-
- // 'sneak2', 32x22px
- {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xe0, 0xa0, 0x20, 0x40, 0x80, 0xc0, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3e, 0x41, 0xf0, 0x04, 0x02, 0x02, 0x02, 0x03, 0x02, 0x02, 0x02, 0x04,
- 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x40, 0x40, 0x55, 0x82, 0x7c, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x30, 0x0c, 0x02, 0x05, 0x09, 0x12, 0x1e, 0x04,
- 0x18, 0x10, 0x08, 0x10, 0x20, 0x28, 0x34, 0x06, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
- }
- };
-
- // animation state
- void animation_phase(void) {
-
- if (isJumping || !showedJump) {
-
- // clear
- oled_set_cursor(LUNA_X,LUNA_Y +2);
- oled_write(" ", false);
-
- oled_set_cursor(LUNA_X,LUNA_Y -1);
-
- showedJump = true;
- } else {
-
- // clear
- oled_set_cursor(LUNA_X,LUNA_Y -1);
- oled_write(" ", false);
-
- oled_set_cursor(LUNA_X,LUNA_Y);
- }
-
- current_frame = (current_frame + 1) % 2;
-
- if(isSneaking) {
- oled_write_raw_P(sneak[current_frame], ANIM_SIZE);
-
- } else if(current_wpm <= MIN_WALK_SPEED) {
- oled_write_raw_P(sit[current_frame], ANIM_SIZE);
-
- } else if(current_wpm <= MIN_RUN_SPEED) {
- oled_write_raw_P(walk[current_frame], ANIM_SIZE);
-
- } else {
- oled_write_raw_P(run[current_frame], ANIM_SIZE);
- }
- }
-
- // animation timer
- if(timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
- anim_timer = timer_read32();
- animation_phase();
- }
-
-}
-// END Luna vars
-
-
-static void main_board(void) {
- int layer = get_highest_layer(layer_state);
- isSneaking = false;
- // Print current mode
- oled_write_ln_P(PSTR("Flare"), false);
- oled_write_ln_P(PSTR("Sofle"), false);
- if (layer == _FF14) {
- oled_write_raw_P(ffxiv, 16*8);
- } else if (keymap_config.swap_lalt_lgui) {
- oled_write_raw_P(windows, 16*8);
- } else {
- oled_write_raw_P(apple, 16*8);
- }
- oled_set_cursor(0, 9);
-
- switch (layer) {
- case _BASE:
- oled_write_ln_P(PSTR("ALL"), false);
- oled_write_P(PSTR(" YOUR"), false);
- oled_write_ln_P(PSTR("BASE"), false);
- break;
- case _MOUS:
- isSneaking = true;
- oled_write_ln_P(PSTR("Mouse"), false);
- break;
- case _SYMS:
- oled_write_ln_P(PSTR("@$*&#"), false);
- break;
- case _FF14:
- oled_write_ln_P(PSTR("FFXIV"), false);
- break;
- case _ESDF:
- oled_write_ln_P(PSTR("ESDF "), false);
- break;
- default:
- oled_write_ln_P(PSTR("Undef"), false);
- }
- if (layer != _BASE) {
- oled_write_P(PSTR("\n"), false);
- }
-
- // Don't re-write if not in use
- if (current_wpm > 0) {
- render_luna(0,13);
- }
-}
-
-// End "MAIN_BOARD"
-#else
-static void main_board(void){}
-static void luna_jump(bool newJump){}
-
-#define MARQUEE_FRAME_DURATION 200 // how long each frame lasts in ms
-#define LOGO_BYTES 128
-#define LOGO_COUNT 7
-static const char *const secondary_logos[] = { js, apple, docker, python, qmk, brew, windows };
-#define MARQUEE_FRAMES (LOGO_COUNT * 4)
-#define MARQUEE_SIZE ( LOGO_COUNT * LOGO_BYTES)
-#define MARQUEE_SCROLL_UP true
-uint32_t marquee_timer = 0;
-uint32_t marquee_frame = 0;
-
-static void render_logos(void) {
- void marquee_phase(void) {
- marquee_frame = (marquee_frame + 1) % MARQUEE_FRAMES;
- int marquee_start = MARQUEE_SIZE - (marquee_frame * 32);
- static char output[MARQUEE_SIZE];
- for (int i = 0; i < LOGO_COUNT; i++) {
- for (int j = 0; j < LOGO_BYTES; j++) {
- int pos = ( i * LOGO_BYTES + j + marquee_start ) % MARQUEE_SIZE;
- output[pos] = pgm_read_byte_near(secondary_logos[i] + j);
- }
- }
- oled_write_raw(output, MARQUEE_SIZE);
- }
-
- // animation timer
- if(timer_elapsed32(marquee_timer) > MARQUEE_FRAME_DURATION) {
- marquee_timer = timer_read32();
- marquee_phase();
- }
-}
-
-// End "MAIN_BOARD" false
-#endif
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- return OLED_ROTATION_270;
-}
-
-void oled_task_user(void) {
- // Prevent blank screen on startup
- if (current_wpm == -1) {
- set_current_wpm(10);
- }
- current_wpm = get_current_wpm();
- if (is_keyboard_master()) {
- // can't gate main_board on wpm; won't get mode changes that don't trigger wpm
- main_board();
- } else if (current_wpm > 0) {
- render_logos();
- }
-}
-
-// End "OLED_DRIVER_ENABLE"
-#else
-static void luna_jump(bool newJump){}
-// End "OLED_DRIVER_ENABLE" false
-#endif
diff --git a/keyboards/sofle/keymaps/flare576/graphics.h b/keyboards/sofle/keymaps/flare576/graphics.h
deleted file mode 100644
index 3979ee43d9..0000000000
--- a/keyboards/sofle/keymaps/flare576/graphics.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/* Copyright 2021 Flare576 <flare576@gmail.com>
- *
- * 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/>.
- */
-void luna_jump(bool newJump);
diff --git a/keyboards/sofle/keymaps/flare576/keymap.c b/keyboards/sofle/keymaps/flare576/keymap.c
deleted file mode 100644
index 57784d633b..0000000000
--- a/keyboards/sofle/keymaps/flare576/keymap.c
+++ /dev/null
@@ -1,196 +0,0 @@
-/* Copyright 2021 Flare576 <flare576@gmail.com>
- *
- * 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 QMK_KEYBOARD_H
-#include "print.h"
-#include "enums.h"
-#include "graphics.h"
-
-tap_dance_action_t tap_dance_actions[] = {
- [TD_PLAY] = ACTION_TAP_DANCE_DOUBLE(KC_MPLY, KC_MNXT),
- [TD_HOME] = ACTION_TAP_DANCE_DOUBLE(KC_HOME, KC_END),
-};
-
-#define KC_TPLY TD(TD_PLAY)
-#define KC_THME TD(TD_HOME)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
- * BASE
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |Alt/Tb| Q | W | E | R | T | | Y | U | I | O | P | \ |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LShift| A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| PLAY | | PAGE |------+------+------+------+------+------|
- * |LCtrl | Z | X | C | V | B |-------| |-------| N | M | , | . | / |+/SHFT|
- * `-----------------------------------------/ / \Enter \-----------------------------------------'
- * | ESDF | LAlt | ESC/ | LGUI | /Space / \ or \ | Bspc | Alt+ |Delete|FFXIV |
- * | | |Symbol| |/ / \Mouse \ | |Shift | | |
- * `----------------------------------' '------''---------------------------'
- *
- * Note: Apple's keyboard settings don't seem to discern right- and left-ALT, so swapping keys there breaks TAB & META
- */
-[_BASE] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- RALT_T(KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_TPLY, KC_THME, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_PLUS),
- TG(_ESDF), KC_LALT, LT(_SYMS,KC_ESC), KC_LGUI, KC_SPC, LT(_MOUS, KC_ENT), KC_BSPC, RSFT(KC_RALT), KC_DEL, TG(_FF14)
-),
-
-/*
- * MOUS
- * ,-----------------------------------------. ,-----------------------------------------.
- * |CTRL+W|ALT+A | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | TRNS |PRNTSC| | M UP | HOME | PGUP | |M Wl U|M Wl D|M Wl L|M Wl R| |COMP1 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | TRNS |SC LCK|M LFT |M DWN |M RGHT| |-------. ,-------| UP | DOWN | LEFT |RIGHT | |COMP2 |
- * |------+------+------+------+------+------| TRNS | | TRNS |------+------+------+------+------+------|
- * | TRNS |PAUSE | | | END | PGDN |-------| |-------|MOUS1 |MOUS2 | | | | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | | TRNS | TRNS |TRNS | / TRNS / \ TRNS \ |MOUS3 |MOUS4 |MOUS5 | |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_MOUS] = LAYOUT(
- LCTL(KC_W), LALT(KC_A), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, KC_PSCR, XXXXXXX, KC_MS_U, KC_HOME, KC_PGUP, KC_WH_U, KC_WH_D, KC_WH_L, KC_WH_R, XXXXXXX, _COMP1,
- _______, KC_SCRL, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, XXXXXXX, _COMP2,
- _______, KC_PAUS, XXXXXXX, XXXXXXX, KC_END, KC_PGDN, _______, _______, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, _______, _______, _______, _______, _______, KC_BTN3, KC_BTN4, KC_BTN5, XXXXXXX
-),
-
-/* SYMS
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | | | { | } | | QK_BOOT|
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | TRNS | F6 | F7 | F8 | F9 | F10 | | | | ( | ) | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | TRNS | F11 | F12 | F13 | F14 | F15 |-------. ,-------| | | [ | ] | | |
- * |------+------+------+------+------+------| TRNS | | TRNS |------+------+------+------+------+------|
- | TRNS | UNDO | CUT | COPY |PASTE | F20 |-------| |-------| | | < | > | | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | TRNS | TRNS | TRNS | TRNS | / TRNS / \ TRNS \ | TRNS | TRNS | TRNS | TRNS |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_SYMS] = LAYOUT(
- XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, XXXXXXX, KC_LCBR, KC_RCBR, XXXXXXX, QK_BOOT,
- _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, KC_LPRN, KC_RPRN, XXXXXXX, XXXXXXX,
- _______, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, XXXXXXX, XXXXXXX,
- _______, LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V), KC_F20, _______, _______, XXXXXXX, XXXXXXX, KC_LT, KC_GT, XXXXXXX, XXXXXXX,
- XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX
-),
-
-/* FF14
- * ,-----------------------------------------. ,-----------------------------------------.
- * | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS | | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | TAB | TRNS | TRNS | TRNS | TRNS | TRNS | | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS |-------. ,-------| TRNS | TRNS | TRNS | TRNS | TRNS | TRNS |
- * |------+------+------+------+------+------| TRNS | | TRNS |------+------+------+------+------+------|
- * | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS |-------| |-------| TRNS | TRNS | TRNS | TRNS | TRNS | TRNS |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | ESDF | | ESC | TRNS | / TRNS / \ TRNS \ | TRNS |PrntSc| TRNS | TRNS |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_FF14] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_TAB, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- TO(_ESDF), XXXXXXX, KC_ESC, _______, _______, _______, _______, KC_PSCR, _______, _______
-),
-
-/* ESDF
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ~ | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | = |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | T | Tab | Q | W | E | R | | Ctl-Y| Ctl-U| Ctl-I| Ctl-O| Ctl-P| PGUP |
- * |------|------+------+------+------+------+ |------+------+------+------+------+------|
- * | G |LShift| A | S | D | F |-------. ,-------| Ctl-H| Ctl-J| Ctl-K| Ctl-L| Ctl-;| PGDN |
- * |------|------+------+------+------+------+ | | |------+------+------+------+------+------|
- * | LCtrl| Z | X | C | V | B |-------| |-------| Ctl-N| Ctl-M| Ctl-,| Ctl-.| Ctl-/| M |
- * `-----------------------------------------/ / \Enter \-----------------------------------------'
- * | TRNS | | ESC | LAlt | /Space / \ \ |PrnScr| | | FF14 |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_ESDF] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL,
- KC_T, KC_TAB, KC_Q, KC_W, KC_E, KC_R, RCTL(KC_Y), RCTL(KC_U), RCTL(KC_I), RCTL(KC_O), RCTL(KC_P), KC_PGUP,
- KC_G, KC_LSFT, KC_A, KC_S, KC_D, KC_F, RCTL(KC_H), RCTL(KC_J), RCTL(KC_K), RCTL(KC_L), RCTL(KC_SCLN), KC_PGDN,
- KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, _______, _______, RCTL(KC_N), RCTL(KC_M), RCTL(KC_COMM), RCTL(KC_DOT), RCTL(KC_SLSH), KC_M,
- _______, XXXXXXX, _______, _______, _______, _______, _______, KC_PSCR, _______, TO(_FF14)
-)
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case _COMP1:
- if (record->event.pressed) {
- // SEND_STRING(SS_TAP(X_RCTL) SS_DELAY(100) SS_TAP(X_RCTL) SS_DELAY(100) "1" SS_TAP(X_ENTER));
- keymap_config.swap_lalt_lgui = false;
- }
- return false;
- case _COMP2:
- if (record->event.pressed) {
- // SEND_STRING(SS_TAP(X_RCTL) SS_DELAY(100) SS_TAP(X_RCTL) SS_DELAY(100) "2" SS_TAP(X_ENTER));
- keymap_config.swap_lalt_lgui = true;
- }
- return false;
- case KC_SPC:
- luna_jump(record->event.pressed);
- break;
- }
- return true;
-}
-
-uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case KC_THME:
- case KC_TPLY:
- return TAPPING_TERM + 250;
- default:
- return TAPPING_TERM;
- }
-}
-
-#ifdef ENCODER_ENABLE
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_VOLD);
- } else {
- tap_code(KC_VOLU);
- }
- } else if (index == 1) {
- if (clockwise) {
- tap_code(KC_PGDN);
- } else {
- tap_code(KC_PGUP);
- }
- }
- return true;
-}
-
-#endif
diff --git a/keyboards/sofle/keymaps/flare576/logos.h b/keyboards/sofle/keymaps/flare576/logos.h
deleted file mode 100644
index 18de1b3d52..0000000000
--- a/keyboards/sofle/keymaps/flare576/logos.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/* Copyright 2021 Flare576 <flare576@gmail.com>
- *
- * 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/>.
- */
-static const char PROGMEM ffxiv[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xf0, 0x00, 0xf0, 0xc0, 0xe0, 0x80, 0x00, 0x02,
- 0x0c, 0x2e, 0xfc, 0xfc, 0xfc, 0xfc, 0x78, 0x78, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x3f, 0x37, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8,
- 0xf8, 0xf8, 0xf1, 0xff, 0xff, 0xff, 0xf8, 0xf0, 0xf0, 0xb0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x7b, 0xdf, 0x1f, 0x3f, 0x3f,
- 0x1f, 0x1f, 0x3f, 0x5f, 0x9f, 0x8f, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x06, 0x07, 0x0f, 0x1c, 0x74,
- 0x0c, 0x0d, 0x09, 0x09, 0x11, 0x01, 0x03, 0x03, 0x07, 0x05, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00
-};
-static const char PROGMEM windows[] = {
- 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0xf8,
- 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0x00,
- 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
- 0x00, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x00, 0xfe,
- 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x00,
- 0x00, 0x07, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x00, 0x1f,
- 0x1f, 0x1f, 0x1f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00
-};
-static const char PROGMEM apple[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xe0, 0x78, 0x7c, 0x7e, 0x3e, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
- 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3e, 0x0e, 0x0c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f,
- 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x07, 0x01, 0x00, 0x00, 0x00
-};
-const char PROGMEM docker[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
- 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x80, 0x80, 0xb0, 0xb0, 0xb0, 0x80, 0xb7, 0xb7, 0xb7, 0x80, 0xb7, 0xb7, 0xb7, 0x80, 0xb7,
- 0xb7, 0xb7, 0x80, 0xb0, 0xb0, 0xb0, 0x80, 0x80, 0xfe, 0xfe, 0xfc, 0xf0, 0xf0, 0xf0, 0x70, 0x00,
- 0x03, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03,
- 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-static const char PROGMEM python[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x7e, 0x66, 0x66, 0x67, 0x7f, 0x7f, 0x7f,
- 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xf0, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
- 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3f, 0x9f, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf0,
- 0x0f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x03, 0xf9, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x0f,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff,
- 0xfe, 0xfe, 0xfe, 0xe6, 0x66, 0x66, 0x7e, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-static const char PROGMEM js[] = {
- 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0xf8, 0x78, 0x7c, 0x3c, 0x1e, 0x9f,
- 0x9e, 0x1e, 0x3c, 0x3c, 0x78, 0xf8, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x03, 0x01, 0xf1, 0xf8, 0xfc, 0xfc, 0x06, 0x06, 0xff, 0x0f,
- 0x0f, 0x67, 0x67, 0xe6, 0xcc, 0x8c, 0xf8, 0xf9, 0x01, 0x03, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
- 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x80, 0x1f, 0x3f, 0x3f, 0x3f, 0x00, 0x80, 0xff, 0xe3,
- 0xe2, 0xce, 0xce, 0x4c, 0x64, 0x20, 0x11, 0x9f, 0x80, 0xc0, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x1f, 0x3c, 0x3c, 0x78, 0x79,
- 0xf9, 0x78, 0x3c, 0x3c, 0x1e, 0x1f, 0x0f, 0x07, 0x07, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00,
-};
-static const char PROGMEM qmk[] = {
- 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf0, 0xf0, 0xf8, 0xf8, 0xf0, 0xf0, 0xf8,
- 0xf8, 0xf0, 0xf0, 0xf8, 0xf8, 0xf0, 0xf0, 0xf8, 0xf0, 0xf0, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x99, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00,
- 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x99, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x99, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf8, 0xf1, 0xf3, 0xe3, 0xe7, 0x00,
- 0x00, 0xe7, 0xe3, 0xf3, 0xf1, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0x99, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x0f, 0x0f, 0x1f, 0x0f, 0x0f, 0x1f, 0x1f, 0x0f, 0x0f, 0x1f,
- 0x1f, 0x0f, 0x0f, 0x1f, 0x1f, 0x0f, 0x0f, 0x1f, 0x0f, 0x0f, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00,
-};
-static const char PROGMEM brew[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xe7, 0xff, 0xfe, 0xfc, 0xf8, 0xfe,
- 0xe4, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xe7, 0x43, 0x41, 0x41, 0x4b, 0xcf, 0x87, 0x87, 0x8f,
- 0x87, 0x03, 0x03, 0xc3, 0x47, 0xe7, 0xa4, 0xb8, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x02, 0x02, 0x03, 0x00, 0xfe, 0x02, 0x02, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x40, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
- 0x80, 0x80, 0x80, 0xc0, 0x40, 0x7b, 0x0a, 0x0a, 0x0b, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-};
-
diff --git a/keyboards/sofle/keymaps/flare576/readme.md b/keyboards/sofle/keymaps/flare576/readme.md
deleted file mode 100644
index 9f8ad5f248..0000000000
--- a/keyboards/sofle/keymaps/flare576/readme.md
+++ /dev/null
@@ -1,22 +0,0 @@
-![Flare576 Keycaps](https://raw.githubusercontent.com/Flare576/sofle/main/images/keycaps.png)
-![Flare576 Chord Guide](https://raw.githubusercontent.com/Flare576/sofle/main/images/chords.png)
-
-# Flare576's keymap for Sofle Keyboard
-
-[Layout](http://www.keyboard-layout-editor.com/#/gists/fb8b42a6156458e20ca421a6f80cec48) and [Chord Mapping](http://www.keyboard-layout-editor.com/#/gists/884e3bc833cdf80fed9337ffee93a500) in Keyboard Layout Manager
-
-
-Features:
-
-- WASD -> ESDF Gaming layer
-- Mouse/Arrow Keys Layer with **amazing** rates
-- Tap/Hold keys for `=/+`/`SHIFT`, `TAB`/`ALT`
-- Bracket layer with Fn Keys
-- Right-hand primary OLED
- * Mode logo
- * Mode title
- * Luna WPM indicator
-- Left-hand secondary OLED scrolling logo marquee
-- Left encoder controls volume up/down/mute. Right encoder PGUP/PGDOWN/Home.
-
-See [My Sofle Project](https://github.com/flare576/sofle) for more details
diff --git a/keyboards/sofle/keymaps/flare576/rules.mk b/keyboards/sofle/keymaps/flare576/rules.mk
deleted file mode 100644
index abfcc01d94..0000000000
--- a/keyboards/sofle/keymaps/flare576/rules.mk
+++ /dev/null
@@ -1,6 +0,0 @@
-MOUSEKEY_ENABLE = yes
-ENCODER_ENABLE = yes
-EXTRAKEY_ENABLE = yes
-TAP_DANCE_ENABLE = yes
-WPM_ENABLE = yes
-SRC += graphics.c
diff --git a/keyboards/sofle/keymaps/foureight84/config.h b/keyboards/sofle/keymaps/foureight84/config.h
deleted file mode 100644
index 2104124f3a..0000000000
--- a/keyboards/sofle/keymaps/foureight84/config.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright 2022 Khoa Truong <foureight84@gmail.com>
- *
- * 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
-
-#define EE_HANDS
-
-/* clear default encoder def */
-#undef TAP_CODE_DELAY
-
-/* encoder support */
-#define TAP_CODE_DELAY 100
-
-#define SPLIT_WPM_ENABLE
-#define SPLIT_OLED_ENABLE
-
-#define POINTING_DEVICE_ROTATION_90
-#define SPLIT_POINTING_ENABLE
-#define POINTING_DEVICE_RIGHT
-#define POINTING_DEVICE_TASK_THROTTLE_MS 8 \ No newline at end of file
diff --git a/keyboards/sofle/keymaps/foureight84/keymap.c b/keyboards/sofle/keymaps/foureight84/keymap.c
deleted file mode 100644
index e05eca7a7f..0000000000
--- a/keyboards/sofle/keymaps/foureight84/keymap.c
+++ /dev/null
@@ -1,616 +0,0 @@
-/* Copyright 2022 Khoa Truong <foureight84@gmail.com>
- *
- * 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 QMK_KEYBOARD_H
-#include <string.h>
-#include "lib/lib8tion/lib8tion.h"
-
-
-enum sofle_layers {
- /* _M_XYZ = Mac Os, _W_XYZ = Win/Linux */
- _QWERTY,
- _COLEMAK,
- _LOWER,
- _RAISE,
- _ADJUST,
- _MOUSE,
-};
-
-enum custom_keycodes {
- KC_QWERTY = SAFE_RANGE,
- KC_COLEMAK,
- KC_LOWER,
- KC_RAISE,
- KC_ADJUST,
- KC_PRVWD,
- KC_NXTWD,
- KC_LSTRT,
- KC_LEND,
- KC_DLINE,
- KC_MOUSE,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
- * QWERTY
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LCtrl | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
- * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | [ | LGUI | LAlt |LOWER | /Space / \Enter \ |RAISE | RCTR | RAlt | ] |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-
-[_QWERTY] = 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- 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_MUTE, XXXXXXX,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LBRC ,KC_LGUI, KC_LALT, KC_LOWER, KC_SPC, KC_ENT, KC_RAISE, KC_RCTL, KC_RALT, KC_RBRC
-),
-/*
- * COLEMAK
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ESC | Q | W | F | P | G | | J | L | U | Y | ; | Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | TAB | A | R | S | T | D |-------. ,-------| H | N | E | I | O | ' |
- * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
- * |LShift| Z | X | C | V | B |-------| |-------| K | M | , | . | / |RShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-
-[_COLEMAK] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV,
- KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
- KC_TAB, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, XXXXXXX,KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LGUI,KC_LALT,KC_LCTL,KC_LOWER, KC_ENT, KC_SPC, KC_RAISE, KC_RCTL, KC_RALT, KC_RGUI
-),
-/* LOWER
- * ,-----------------------------------------. ,-----------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | MOUSE| ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | | |
- * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
- * | Shift| = | - | + | { | } |-------| |-------| [ | ] | ; | : | \ | Shift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_LOWER] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- KC_MOUSE, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE,
- _______, KC_EQL, KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, _______, _______, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-/* RAISE
- * ,----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Esc | Ins | Pscr | Menu | | | | | PWrd | Up | NWrd | DLine| Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | LAt | LCtl |LShift| | Caps |-------. ,-------| | Left | Down | Rigth| Del | Bspc |
- * |------+------+------+------+------+------| MPLY | | |------+------+------+------+------+------|
- * |Shift | Undo | Cut | Copy | Paste| |-------| |-------| | LStr | | LEnd | | Shift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_RAISE] = LAYOUT(
- _______, _______ , _______ , _______ , _______ , _______, _______, _______ , _______, _______ , _______ ,_______,
- _______, KC_INS, KC_PSCR, KC_APP, XXXXXXX, XXXXXXX, KC_PGUP, KC_PRVWD, KC_UP, KC_NXTWD,KC_DLINE, KC_BSPC,
- _______, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_CAPS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_BSPC,
- _______,KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, XXXXXXX, KC_MPLY, _______, XXXXXXX, KC_LSTRT, XXXXXXX, KC_LEND, XXXXXXX, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-/* ADJUST
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | QK_BOOT| |QWERTY|COLEMAK| | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | |MACWIN| | | |-------. ,-------| | VOLDO| MUTE | VOLUP| | |
- * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
- * | | | | | | |-------| |-------| | PREV | PLAY | NEXT | | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
- [_ADJUST] = LAYOUT(
- XXXXXXX , XXXXXXX, XXXXXXX , XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- QK_BOOT, XXXXXXX,KC_QWERTY,KC_COLEMAK,CG_TOGG,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX , XXXXXXX,CG_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX,
- XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- /* MOUSE
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | |-------. ,-------|MS_BT1|MS_BT2| | | | |
- * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
- * | | | | | | |-------| |-------| | | | | | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
- [_MOUSE] = LAYOUT(
- XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_BTN1, KC_MS_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-#ifdef OLED_ENABLE
-
-static void print_status_narrow(void) {
- // Print current mode
- oled_write_P(PSTR("\n\n"), false);
- oled_write_ln_P(PSTR("MODE"), false);
- oled_write_ln_P(PSTR(""), false);
- if (keymap_config.swap_lctl_lgui) {
- oled_write_ln_P(PSTR("MAC"), false);
- } else {
- oled_write_ln_P(PSTR("WIN"), false);
- }
-
- switch (get_highest_layer(default_layer_state)) {
- case _QWERTY:
- oled_write_ln_P(PSTR("Qwrt"), false);
- break;
- case _COLEMAK:
- oled_write_ln_P(PSTR("Clmk"), false);
- break;
- default:
- oled_write_P(PSTR("Undef"), false);
- }
- oled_write_P(PSTR("\n\n"), false);
- // Print current layer
- oled_write_ln_P(PSTR("LAYER"), false);
- switch (get_highest_layer(layer_state)) {
- case _COLEMAK:
- case _QWERTY:
- oled_write_P(PSTR("Base\n"), 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("Adj\n"), false);
- break;
- case _MOUSE:
- oled_write_P(PSTR("Mouse\n"), false);
- break;
- default:
- oled_write_ln_P(PSTR("Undef"), false);
- }
- oled_write_P(PSTR("\n\n"), false);
- led_t led_usb_state = host_keyboard_led_state();
- oled_write_ln_P(PSTR("CPSLK"), led_usb_state.caps_lock);
-}
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (is_keyboard_master()) {
- return OLED_ROTATION_270;
- }
-
- if (!is_keyboard_master()) {
- return OLED_ROTATION_270;
- }
- return rotation;
-}
-
-
-/* Animation bit by j-inc https://github.com/qmk/qmk_firmware/tree/master/keyboards/kyria/keymaps/j-inc */
-// WPM-responsive animation stuff here
-#define IDLE_FRAMES 5
-#define IDLE_SPEED 40 // below this wpm value your animation will idle
-
-// #define PREP_FRAMES 1 // uncomment if >1
-
-#define TAP_FRAMES 2
-#define TAP_SPEED 60 // above this wpm value typing animation to triggere
-
-#define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms
-// #define SLEEP_TIMER 60000 // should sleep after this period of 0 wpm, needs fixing
-#define ANIM_SIZE 320 // number of bytes in array, minimize for adequate firmware size, max is 1024
-
-uint32_t anim_timer = 0;
-uint32_t anim_sleep = 0;
-uint8_t current_idle_frame = 0;
-// uint8_t current_prep_frame = 0; // uncomment if PREP_FRAMES >1
-uint8_t current_tap_frame = 0;
-
-// Implementation credit j-inc(/James Incandenza), pixelbenny, and obosob.
-// Bongo cat images changed and adapted for sofle keyboard oled size.
-// Original gif can be found here: https://www.pixilart.com/art/bongo-cat-bd2a8e9323aa705
-static void render_anim(void) {
- static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = {
- {
- 0x00, 0xc0, 0x3e, 0x01, 0x00, 0x00, 0x00, 0xc0, 0xfc, 0x03, 0x00, 0x03, 0x0c, 0x30, 0xc0, 0x00,
- 0xe1, 0x1e, 0x00, 0xc0, 0xbc, 0x83, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x3c, 0x03, 0x00, 0x00, 0x00, 0x80, 0x78, 0x87, 0x00, 0x03, 0x0c, 0x30, 0xc0, 0x00, 0xe0, 0x1f,
- 0x01, 0xc0, 0x3c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x31, 0x05, 0x41, 0x12, 0x04,
- 0x00, 0x00, 0x00, 0x00, 0xf8, 0x87, 0x00, 0x01, 0x06, 0x18, 0x60, 0x80, 0xc0, 0x3f, 0x03, 0x80,
- 0x78, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x03, 0x05,
- 0x00, 0x00, 0xf0, 0xcf, 0x00, 0x01, 0x06, 0x18, 0x60, 0x80, 0x80, 0x79, 0x07, 0x80, 0x78, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xe0, 0x1e, 0x01, 0x00, 0x03, 0x0c, 0x30, 0xc0, 0x00, 0xf9, 0x07, 0x80, 0x78, 0x07, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xc0, 0x2c, 0x32, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x07, 0x03, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xf0, 0x0f, 0x80, 0x78, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x18, 0x60, 0x80, 0x00, 0x00, 0xe1, 0x1e, 0x01, 0xf0, 0x8f, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00,
- 0x0e, 0x0e, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x08, 0x08, 0x09, 0x0e, 0x0e, 0x01, 0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x19,
- 0x19, 0x41, 0x0a, 0x22, 0x84, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x18,
- 0x00, 0x00, 0x00, 0x00, 0xf0, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
- 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x70, 0x80,
- 0x00, 0x00, 0xf0, 0x1f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, 0x02,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x04, 0x02, 0x01,
- }
- };
- static const char PROGMEM tap[TAP_FRAMES][ANIM_SIZE] = {
- {
- 0x00, 0xc0, 0x3e, 0x01, 0x00, 0x00, 0x00, 0xc0, 0xfc, 0xff, 0xff, 0xff, 0x7c, 0x70, 0x40, 0x40,
- 0x61, 0x5e, 0x80, 0xc0, 0xbc, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x3c, 0x03, 0x00, 0x00, 0x00, 0x80, 0x78, 0x87, 0x00, 0x03, 0x0f, 0x3f, 0xf8, 0xf0, 0xf0, 0x20,
- 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xf8, 0x87, 0x00, 0x01, 0x06, 0x18, 0x60, 0x80, 0xc0, 0x3f, 0x03, 0x80,
- 0x78, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04,
- 0x00, 0x00, 0xf0, 0xcf, 0x00, 0x01, 0x06, 0x18, 0x60, 0x80, 0x80, 0x79, 0x07, 0x80, 0x78, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xe0, 0x1e, 0x01, 0x00, 0x03, 0x0c, 0x30, 0xc0, 0x00, 0xf9, 0x07, 0x80, 0x78, 0x07, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xc0, 0x2c, 0x32, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x07, 0x03, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xf0, 0x0f, 0x80, 0x78, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x18, 0x60, 0x80, 0x00, 0x00, 0xe1, 0x1e, 0x01, 0xf0, 0x8f, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00,
- 0x0e, 0x0e, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x08, 0x08, 0x09, 0x0e, 0x0e, 0x01, 0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x19,
- 0x19, 0x41, 0x0a, 0x22, 0x84, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x18,
- 0x00, 0x00, 0x00, 0x00, 0xf0, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
- 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x70, 0x80,
- 0x00, 0x00, 0xf0, 0x1f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, 0x02,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x04, 0x02, 0x01,
- },
- {
- 0x00, 0xc0, 0x3e, 0x01, 0x00, 0x00, 0x00, 0xc0, 0xfc, 0x03, 0x00, 0x03, 0x0c, 0x30, 0xc0, 0x00,
- 0xe1, 0x1e, 0x00, 0xc0, 0xbc, 0x83, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x3c, 0x03, 0x00, 0x00, 0x00, 0x80, 0x78, 0x87, 0x00, 0x03, 0x0c, 0x30, 0xc0, 0x00, 0xe0, 0x1f,
- 0x01, 0xc0, 0x3c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x31, 0x05, 0x41, 0x12, 0x04,
- 0x00, 0x00, 0x00, 0x00, 0xf8, 0x87, 0x00, 0x01, 0x06, 0x18, 0x60, 0x80, 0xc0, 0x3f, 0x03, 0x80,
- 0x78, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x03, 0x05,
- 0x00, 0x00, 0xf0, 0xcf, 0x00, 0x01, 0x06, 0x18, 0x60, 0x80, 0x80, 0x79, 0x07, 0x80, 0x78, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xe0, 0xfe, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0xc0, 0x00, 0xf9, 0x07, 0x80, 0x78, 0x07, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xc0, 0x2c, 0x32, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x07, 0x03, 0x0f, 0x3f, 0xff, 0x03, 0x01, 0x03, 0x07, 0x18, 0xf8, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x18, 0x60, 0x80, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x0e, 0x0e, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x08, 0x08, 0x09, 0x0e, 0x0e, 0x01, 0xf3, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x18,
- 0x00, 0x00, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x70, 0x80,
- 0x00, 0x00, 0xf0, 0x1f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, 0x02,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x04, 0x02, 0x01
- },
- };
-
- //assumes 1 frame prep stage
- void animation_phase(void) {
- if(get_current_wpm() <=IDLE_SPEED){
- oled_write_raw_P(idle[0], ANIM_SIZE);
- }
- if(get_current_wpm() >=TAP_SPEED){
- current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES;
- oled_write_raw_P(tap[abs((TAP_FRAMES-1)-current_tap_frame)], ANIM_SIZE);
- }
- }
- if(get_current_wpm() != 000) {
- oled_on(); // not essential but turns on animation OLED with any alpha keypress
- if(timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
- anim_timer = timer_read32();
- animation_phase();
- }
- anim_sleep = timer_read32();
- } else {
- if(timer_elapsed32(anim_sleep) > OLED_TIMEOUT) {
- oled_off();
- } else {
- if(timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
- anim_timer = timer_read32();
- animation_phase();
- }
- }
- }
-}
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- print_status_narrow();
- } else {
- render_anim();
- oled_set_cursor(1,12);
- oled_write_P(PSTR("WPM"), false);
- oled_set_cursor(1,13);
- oled_write(get_u8_str(get_current_wpm(), '0'), false);
- }
- return false;
-}
-#endif
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-
- switch (keycode) {
- case KC_QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- case KC_COLEMAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_COLEMAK);
- }
- return false;
- case KC_LOWER:
- if (record->event.pressed) {
- layer_on(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- case KC_RAISE:
- if (record->event.pressed) {
- layer_on(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- case KC_ADJUST:
- if (record->event.pressed) {
- layer_on(_ADJUST);
- } else {
- layer_off(_ADJUST);
- }
- return false;
- case KC_PRVWD:
- if (record->event.pressed) {
- if (keymap_config.swap_lctl_lgui) {
- register_mods(mod_config(MOD_LALT));
- register_code(KC_LEFT);
- } else {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_LEFT);
- }
- } else {
- if (keymap_config.swap_lctl_lgui) {
- unregister_mods(mod_config(MOD_LALT));
- unregister_code(KC_LEFT);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_LEFT);
- }
- }
- break;
- case KC_NXTWD:
- if (record->event.pressed) {
- if (keymap_config.swap_lctl_lgui) {
- register_mods(mod_config(MOD_LALT));
- register_code(KC_RIGHT);
- } else {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_RIGHT);
- }
- } else {
- if (keymap_config.swap_lctl_lgui) {
- unregister_mods(mod_config(MOD_LALT));
- unregister_code(KC_RIGHT);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_RIGHT);
- }
- }
- break;
- case KC_LSTRT:
- if (record->event.pressed) {
- if (keymap_config.swap_lctl_lgui) {
- //CMD-arrow on Mac, but we have CTL and GUI swapped
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_LEFT);
- } else {
- register_code(KC_HOME);
- }
- } else {
- if (keymap_config.swap_lctl_lgui) {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_LEFT);
- } else {
- unregister_code(KC_HOME);
- }
- }
- break;
- case KC_LEND:
- if (record->event.pressed) {
- if (keymap_config.swap_lctl_lgui) {
- //CMD-arrow on Mac, but we have CTL and GUI swapped
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_RIGHT);
- } else {
- register_code(KC_END);
- }
- } else {
- if (keymap_config.swap_lctl_lgui) {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_RIGHT);
- } else {
- unregister_code(KC_END);
- }
- }
- break;
- case KC_DLINE:
- if (record->event.pressed) {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_BSPC);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_BSPC);
- }
- break;
- case KC_COPY:
- if (record->event.pressed) {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_C);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_C);
- }
- return false;
- case KC_PASTE:
- if (record->event.pressed) {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_V);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_V);
- }
- return false;
- case KC_CUT:
- if (record->event.pressed) {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_X);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_X);
- }
- return false;
- break;
- case KC_UNDO:
- if (record->event.pressed) {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_Z);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_Z);
- }
- return false;
- case KC_MOUSE:
- if (record->event.pressed) {
- layer_on(_MOUSE);
- } else {
- layer_off(_MOUSE);
- }
- return false;
- }
- return true;
-}
-
-#ifdef ENCODER_ENABLE
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- switch (get_highest_layer(layer_state)) {
- case _COLEMAK:
- case _QWERTY:
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_VOLD);
- } else {
- tap_code(KC_VOLU);
- }
- }
- break;
-
- case _RAISE:
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_MPRV);
- } else {
- tap_code(KC_MNXT);
- }
- }
- break;
- }
- return true;
-}
-
-#endif
-
-static uint32_t last_mouse_activity = 0;
-static report_mouse_t last_mouse_report = {0};
-static bool is_scrolling = false;
-
-report_mouse_t smooth_mouse_movement(report_mouse_t mouse_report) {
- // Linear interpolation and ease-in-out
- static fract8 fract = 0.5;
- int8_t x = 0;
- int8_t y = 0;
- int8_t h = 0;
- int8_t v = 0;
-
- if (!is_scrolling) {
- x = ease8InOutApprox(lerp8by8(last_mouse_report.x, mouse_report.x, fract));
- y = ease8InOutApprox(lerp8by8(last_mouse_report.y, mouse_report.y, fract));
- } else {
- h = ease8InOutApprox(lerp8by8(last_mouse_report.x, mouse_report.x, fract));
- v = ease8InOutApprox(lerp8by8(last_mouse_report.y, mouse_report.y, fract));
- }
-
- // update the new smoothed report
- mouse_report.x = x;
- mouse_report.y = y;
- mouse_report.h = h;
- mouse_report.v = v;
-
- return mouse_report;
-}
-
-report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) {
-
- if (has_mouse_report_changed(&last_mouse_report, &mouse_report)) {
- last_mouse_activity = timer_read32();
- memcpy(&last_mouse_report, &mouse_report, sizeof(mouse_report));
- }
-
- return smooth_mouse_movement(mouse_report);
-} \ No newline at end of file
diff --git a/keyboards/sofle/keymaps/foureight84/readme.md b/keyboards/sofle/keymaps/foureight84/readme.md
deleted file mode 100644
index e88b0e04f6..0000000000
--- a/keyboards/sofle/keymaps/foureight84/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-For more information on integrating the Pimoroni Trackball, please see: https://github.com/foureight84/sofle-keyboard-pimoroni
diff --git a/keyboards/sofle/keymaps/foureight84/rules.mk b/keyboards/sofle/keymaps/foureight84/rules.mk
deleted file mode 100644
index 102742ab1c..0000000000
--- a/keyboards/sofle/keymaps/foureight84/rules.mk
+++ /dev/null
@@ -1,24 +0,0 @@
-OLED_ENABLE = yes
-ENCODER_ENABLE = yes
-EXTRAKEY_ENABLE = yes
-MOUSEKEY_ENABLE = yes
-WPM_ENABLE = yes
-
-#Debug options
-VERBOSE = no
-CONSOLE_ENABLE = no
-COMMAND_ENABLE = no
-
-LTO_ENABLE = yes
-
-SPLIT_KEYBOARD = yes
-
-VIA_ENABLE = no
-
-POINTING_DEVICE_ENABLE = yes
-POINTING_DEVICE_DRIVER = pimoroni_trackball
-
-SPACE_CADET_ENABLE = no
-GRAVE_ESC_ENABLE = no
-MAGIC_ENABLE = no
-MUSIC_ENABLE = no \ No newline at end of file
diff --git a/keyboards/sofle/keymaps/j4ckofalltrades/encoder.c b/keyboards/sofle/keymaps/j4ckofalltrades/encoder.c
deleted file mode 100644
index 9faaccd38f..0000000000
--- a/keyboards/sofle/keymaps/j4ckofalltrades/encoder.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright 2021 Jordan Duabe
- *
- * 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/>.
- */
-
-#ifdef ENCODER_ENABLE
-# include QMK_KEYBOARD_H
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) {
- if (clockwise) {
- tap_code_delay(KC_VOLU, 10);
- } else {
- tap_code_delay(KC_VOLD, 10);
- }
- } else if (index == 1) {
- if (clockwise) {
- tap_code(KC_PGDN);
- } else {
- tap_code(KC_PGUP);
- }
- }
- return true;
-}
-
-#endif
diff --git a/keyboards/sofle/keymaps/j4ckofalltrades/keymap.c b/keyboards/sofle/keymaps/j4ckofalltrades/keymap.c
deleted file mode 100644
index 87677c78af..0000000000
--- a/keyboards/sofle/keymaps/j4ckofalltrades/keymap.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/* Copyright 2021 Jordan Duabe
- *
- * 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 QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
- * QWERTY
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Esc | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| TO(2) | | TO(1) |------+------+------+------+------+------|
- * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-
-[0] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- MT(MOD_LCTL, KC_ESC), 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, TO(2), TO(1), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LGUI, KC_LALT, KC_LCTL, MO(2), KC_ENT, KC_SPC, MO(1), KC_RCTL, KC_RALT, KC_RGUI
-),
-/* RAISE
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Esc | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | | |
- * |------+------+------+------+------+------| TO(2) | | TO(1) |------+------+------+------+------+------|
- * |LShift| = | - | + | { | } |-------| |-------| [ | ] | ; | : | \ | Shift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[1] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F12,
- _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE,
- _______, KC_EQL, KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, _______, _______, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-/* LOWER
- * ,----------------------------------------. ,-----------------------------------------.
- * | | Pscr | Slck |Pause | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | Ins | Home | PgUp | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Esc | Del | End | PgDn | | |-------. ,-------| Left | Down | Up | Right | | |
- * |------+------+------+------+------+------| TO(2) | | TO(1) |------+------+------+------+------+------|
- * |Shift | Undo | Cut | Copy | Paste| |-------| |-------| | | | | | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[2] = LAYOUT(
- _______, KC_PSCR, KC_SCRL, KC_PAUSE, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_INS, KC_HOME, KC_PGUP, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______,
- _______, KC_DEL, KC_END, KC_PGDN, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, XXXXXXX, XXXXXXX,
- _______, KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, XXXXXXX, _______, _______, XXXXXXX, _______, XXXXXXX, _______, XXXXXXX, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-)
-};
diff --git a/keyboards/sofle/keymaps/j4ckofalltrades/oled.c b/keyboards/sofle/keymaps/j4ckofalltrades/oled.c
deleted file mode 100644
index de561bd0fa..0000000000
--- a/keyboards/sofle/keymaps/j4ckofalltrades/oled.c
+++ /dev/null
@@ -1,77 +0,0 @@
-/* Copyright 2021 Jordan Duabe
- *
- * 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/>.
- */
-
-#ifdef OLED_ENABLE
-# include QMK_KEYBOARD_H
-
-static void render_logo(void) {
- static const char PROGMEM qmk_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(qmk_logo, false);
-}
-
-static void print_status_narrow(void) {
- oled_write_P(PSTR("Sofle"), false);
- oled_write_P(PSTR("\n\n\n"), false);
- // Print current mode
- switch (get_highest_layer(layer_state)) {
- case 0:
- oled_write_ln_P(PSTR("Qwrt"), false);
- break;
- default:
- oled_write_P(PSTR("Mod\n"), false);
- break;
- }
- oled_write_P(PSTR("\n\n"), false);
- // Print current layer
- oled_write_ln_P(PSTR("LAYER"), false);
- switch (get_highest_layer(layer_state)) {
- case 0:
- oled_write_P(PSTR("Base\n"), false);
- break;
- case 1:
- oled_write_P(PSTR("Raise"), false);
- break;
- case 2:
- oled_write_P(PSTR("Lower"), false);
- break;
- default:
- oled_write_ln_P(PSTR("Undef"), false);
- }
- oled_write_P(PSTR("\n\n"), false);
-}
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (is_keyboard_master()) {
- return OLED_ROTATION_270;
- }
- return rotation;
-}
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- print_status_narrow();
- } else {
- render_logo();
- }
- return false;
-}
-
-#endif
diff --git a/keyboards/sofle/keymaps/j4ckofalltrades/readme.md b/keyboards/sofle/keymaps/j4ckofalltrades/readme.md
deleted file mode 100644
index bb232ef625..0000000000
--- a/keyboards/sofle/keymaps/j4ckofalltrades/readme.md
+++ /dev/null
@@ -1,19 +0,0 @@
-![SofleKeyboard custom keymap](https://raw.githubusercontent.com/j4ckofalltrades/keebs/master/sofle/assets/soflekeyboard.png)
-
-# Via-compatible custom keymap for Sofle
-
-Modified version of default Via-compatible keymap with focus on adding a standard navigation cluster layer plus some
-Vim-inspired features e.g. soft escape (Esc when held, Ctrl when tapped), using 'h', 'j', 'k', 'l' as arrow keys.
-
-## Layout
-
-View in [Keyboard Layout Editor](http://www.keyboard-layout-editor.com/#/gists/a1f6519e723ad81ca151741b53a28b80)
-
-## Features
-
-- Via support
-- Mode for soft escape (`Esc` when tapped, `Ctrl` when held)
-- Vim-style navigation (`h` `j` `k` `l` as arrow keys)
-- Mode for standard navigation cluster
-- Toggling between layers when encoders are pressed
-- Left encoder controls `VOLUP`/`VOLDOWN`. Right encoder `PGUP`/`PGDN`.
diff --git a/keyboards/sofle/keymaps/j4ckofalltrades/rules.mk b/keyboards/sofle/keymaps/j4ckofalltrades/rules.mk
deleted file mode 100644
index dc95fd5b77..0000000000
--- a/keyboards/sofle/keymaps/j4ckofalltrades/rules.mk
+++ /dev/null
@@ -1,6 +0,0 @@
-CONSOLE_ENABLE = no
-EXTRAKEY_ENABLE = yes
-VIA_ENABLE = yes
-LTO_ENABLE = yes
-
-SRC += oled.c encoder.c
diff --git a/keyboards/sofle/keymaps/killmaster/config.h b/keyboards/sofle/keymaps/killmaster/config.h
deleted file mode 100644
index 10c9ea450e..0000000000
--- a/keyboards/sofle/keymaps/killmaster/config.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Copyright 2021 Carlos Martins
- *
- * 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
-
-/* The way how "handedness" is decided (which half is which),
-see https://docs.qmk.fm/#/feature_split_keyboard?id=setting-handedness
-for more options.
-*/
-
-#define WS2812_DI_PIN D3
-
-#ifdef RGB_MATRIX_ENABLE
-
-#define RGBLED_NUM 72
-#define RGB_MATRIX_LED_COUNT RGBLED_NUM
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
-#define RGB_MATRIX_HUE_STEP 8
-#define RGB_MATRIX_SAT_STEP 8
-#define RGB_MATRIX_VAL_STEP 8
-#define RGB_MATRIX_SPD_STEP 10
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_SPLIT {36,36}
-#define SPLIT_TRANSPORT_MIRROR
-
-#endif
-
-#ifdef RGBLIGHT_ENABLE
-#define RGBLIGHT_SPLIT
-#define RGBLED_NUM 70
-#define RGB_SPLIT {36,36}
-#define RGBLIGHT_LIMIT_VAL 120
-// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
-// #define RGBLIGHT_EFFECT_BREATHING
- //#define RGBLIGHT_EFFECT_RAINBOW_MOOD
- //#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-// #define RGBLIGHT_EFFECT_SNAKE
-// #define RGBLIGHT_EFFECT_KNIGHT
-// #define RGBLIGHT_EFFECT_CHRISTMAS
- #define RGBLIGHT_EFFECT_STATIC_GRADIENT
- #define RGBLIGHT_EFFECT_RGB_TEST
-// #define RGBLIGHT_EFFECT_ALTERNATING
-#endif
-
-#define MEDIA_KEY_DELAY 2
-
-#define USB_POLLING_INTERVAL_MS 1
diff --git a/keyboards/sofle/keymaps/killmaster/keymap.c b/keyboards/sofle/keymaps/killmaster/keymap.c
deleted file mode 100644
index 65c02bb952..0000000000
--- a/keyboards/sofle/keymaps/killmaster/keymap.c
+++ /dev/null
@@ -1,404 +0,0 @@
-/* Copyright 2021 Carlos Martins
- *
- * 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 QMK_KEYBOARD_H
-#include <stdio.h>
-
-enum sofle_layers {
- /* _M_XYZ = Mac Os, _W_XYZ = Win/Linux */
- _QWERTY,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-enum custom_keycodes {
- KC_QWERTY = SAFE_RANGE,
- KC_LOWER,
- KC_RAISE,
- KC_ADJUST,
- KC_PRVWD,
- KC_NXTWD,
- KC_LSTRT,
- KC_LEND,
- KC_DLINE
-};
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
- * QWERTY
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ESC | Q | W | E | R | T | | Y | U | I | O | P | Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
- * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Space / \Enter \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-
-[_QWERTY] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MPLY,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
- KC_LGUI,KC_LALT,KC_LCTL, KC_LOWER, KC_SPC, KC_ENT, KC_RAISE, KC_RCTL, KC_RALT, KC_RGUI
-),
-/* LOWER
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | | |
- * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
- * | Shift| = | - | + | { | } |-------| |-------| [ | ] | ; | : | \ | Shift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_LOWER] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F12,
- _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE,
- _______, KC_EQL, KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, _______, _______, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-/* RAISE
- * ,----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Esc | Ins | Pscr | Menu | |RGBTog| | | PWrd | Up | NWrd | DLine| Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | LAt | LCtl |LShift| | Caps |-------. ,-------| | Left | Down | Rigth| Del | Bspc |
- * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
- * |Shift | Undo | Cut | Copy | Paste| |-------| |-------| | LStr | | LEnd | | Shift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_RAISE] = LAYOUT(
- _______, _______ , _______ , _______ , RGB_RMOD , RGB_MOD, _______, _______ , _______, _______ , _______ ,_______,
- _______, KC_INS, KC_PSCR, KC_APP, XXXXXXX, RGB_TOG, KC_PGUP, KC_PRVWD, KC_UP, KC_NXTWD,KC_DLINE, KC_BSPC,
- _______, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_CAPS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_BSPC,
- _______,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, KC_LSTRT, XXXXXXX, KC_LEND, XXXXXXX, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-/* ADJUST
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | QK_BOOT| |QWERTY|COLEMAK| | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | |MACWIN| | | |-------. ,-------| | VOLDO| MUTE | VOLUP| | |
- * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
- * | | | | | | |-------| |-------| | PREV | PLAY | NEXT | | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
- [_ADJUST] = LAYOUT(
- XXXXXXX , XXXXXXX, XXXXXXX , XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- QK_BOOT, XXXXXXX, KC_QWERTY, XXXXXXX , CG_TOGG,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX , XXXXXXX,CG_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX,
- XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-#ifdef OLED_ENABLE
-
-static void render_logo(void) {
- static const char PROGMEM bananas_logo[] = {
- // 'killmaster_bananas', 128x32px
- 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xe0, 0x02, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8,
- 0x00, 0x00, 0x80, 0xc0, 0x40, 0x00, 0x00, 0x00, 0x40, 0x40, 0xd8, 0xc8, 0x00, 0x00, 0x00, 0x00,
- 0x08, 0x08, 0xf8, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0xf8, 0xf8, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xc0, 0x40, 0x40, 0xc0, 0x80, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40,
- 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0xc0, 0x40, 0x00, 0x00, 0x40, 0x40, 0xf0,
- 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0xc0, 0x80, 0x00, 0x00, 0x00,
- 0x40, 0xc0, 0x80, 0x40, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x01, 0x0f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xf0, 0xf0,
- 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f,
- 0x02, 0x07, 0x0d, 0x10, 0x20, 0x20, 0x00, 0x00, 0x20, 0x20, 0x3f, 0x3f, 0x20, 0x20, 0x00, 0x00,
- 0x00, 0x00, 0x1f, 0x3f, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x3f, 0x20, 0x20, 0x20,
- 0x00, 0x00, 0x3f, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x1c, 0x36, 0x22, 0x22, 0x22,
- 0x1f, 0x20, 0x00, 0x00, 0x10, 0x23, 0x22, 0x22, 0x26, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x1f,
- 0x30, 0x20, 0x20, 0x20, 0x00, 0x00, 0x0f, 0x1f, 0x32, 0x22, 0x22, 0x32, 0x23, 0x00, 0x00, 0x00,
- 0x20, 0x3f, 0x21, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f,
- 0x1f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3e, 0x3e, 0x1c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- };
- oled_write_raw_P(bananas_logo, sizeof(bananas_logo));
-}
-
-static void print_status_narrow(void) {
- // Print current mode
- oled_write_P(PSTR("Sofle"), false);
- oled_write_P(PSTR("\n\n\n"), false);
- switch (get_highest_layer(default_layer_state)) {
- case _QWERTY:
- oled_write_ln_P(PSTR("QWERT"), false);
- break;
- default:
- oled_write_P(PSTR("Undef"), false);
- }
- oled_write_P(PSTR("\n\n"), false);
- // Print current layer
- oled_write_ln_P(PSTR("Layer"), false);
- switch (get_highest_layer(layer_state)) {
- case _QWERTY:
- oled_write_P(PSTR("Base\n"), 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("Adj\n"), false);
- break;
- default:
- oled_write_ln_P(PSTR("Undef"), false);
- }
- oled_write_P(PSTR("\n\n"), false);
-}
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (is_keyboard_master()) {
- return OLED_ROTATION_270;
- }
- else {
- return OLED_ROTATION_180;
- }
- return rotation;
-}
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- print_status_narrow();
- } else {
- render_logo();
- }
- return false;
-}
-
-
-
-#endif // OLED_ENABLE
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case KC_QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- case KC_LOWER:
- if (record->event.pressed) {
- layer_on(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- case KC_RAISE:
- if (record->event.pressed) {
- layer_on(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- case KC_ADJUST:
- if (record->event.pressed) {
- layer_on(_ADJUST);
- } else {
- layer_off(_ADJUST);
- }
- return false;
- case KC_PRVWD:
- if (record->event.pressed) {
- if (keymap_config.swap_lctl_lgui) {
- register_mods(mod_config(MOD_LALT));
- register_code(KC_LEFT);
- } else {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_LEFT);
- }
- } else {
- if (keymap_config.swap_lctl_lgui) {
- unregister_mods(mod_config(MOD_LALT));
- unregister_code(KC_LEFT);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_LEFT);
- }
- }
- break;
- case KC_NXTWD:
- if (record->event.pressed) {
- if (keymap_config.swap_lctl_lgui) {
- register_mods(mod_config(MOD_LALT));
- register_code(KC_RIGHT);
- } else {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_RIGHT);
- }
- } else {
- if (keymap_config.swap_lctl_lgui) {
- unregister_mods(mod_config(MOD_LALT));
- unregister_code(KC_RIGHT);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_RIGHT);
- }
- }
- break;
- case KC_LSTRT:
- if (record->event.pressed) {
- if (keymap_config.swap_lctl_lgui) {
- //CMD-arrow on Mac, but we have CTL and GUI swapped
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_LEFT);
- } else {
- register_code(KC_HOME);
- }
- } else {
- if (keymap_config.swap_lctl_lgui) {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_LEFT);
- } else {
- unregister_code(KC_HOME);
- }
- }
- break;
- case KC_LEND:
- if (record->event.pressed) {
- if (keymap_config.swap_lctl_lgui) {
- //CMD-arrow on Mac, but we have CTL and GUI swapped
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_RIGHT);
- } else {
- register_code(KC_END);
- }
- } else {
- if (keymap_config.swap_lctl_lgui) {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_RIGHT);
- } else {
- unregister_code(KC_END);
- }
- }
- break;
- case KC_DLINE:
- if (record->event.pressed) {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_BSPC);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_BSPC);
- }
- break;
- }
- return true;
-}
-
-#ifdef ENCODER_ENABLE
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- uint8_t temp_mod = get_mods();
- uint8_t temp_osm = get_oneshot_mods();
- bool is_ctrl = (temp_mod | temp_osm) & MOD_MASK_CTRL;
- bool is_shift = (temp_mod | temp_osm) & MOD_MASK_SHIFT;
-
- if (is_shift) {
- if (index == 0) { /* First encoder */
- if (clockwise) {
- rgb_matrix_increase_hue();
- } else {
- rgb_matrix_decrease_hue();
- }
- } else if (index == 1) { /* Second encoder */
- if (clockwise) {
- rgb_matrix_decrease_sat();
- } else {
- rgb_matrix_increase_sat();
- }
- }
- } else if (is_ctrl) {
- if (index == 0) { /* First encoder */
- if (clockwise) {
- rgb_matrix_increase_val();
- } else {
- rgb_matrix_decrease_val();
- }
- } else if (index == 1) { /* Second encoder */
- if (clockwise) {
- rgb_matrix_increase_speed();
- } else {
- rgb_matrix_decrease_speed();
- }
- }
- } else {
- if (index == 1) { /* First encoder */
- if (clockwise) {
- tap_code(KC_PGUP);
- // tap_code(KC_MS_WH_UP);
- } else {
- tap_code(KC_PGDN);
- // tap_code(KC_MS_WH_DOWN);
- }
- } else if (index == 0) { /* Second encoder */
- uint16_t mapped_code = 0;
- if (clockwise) {
- mapped_code = KC_VOLD;
- } else {
- mapped_code = KC_VOLU;
- }
- tap_code_delay(mapped_code, MEDIA_KEY_DELAY);
- }
- }
- return true;
-}
-
-#endif
diff --git a/keyboards/sofle/keymaps/killmaster/readme.md b/keyboards/sofle/keymaps/killmaster/readme.md
deleted file mode 100644
index 6d6dea228c..0000000000
--- a/keyboards/sofle/keymaps/killmaster/readme.md
+++ /dev/null
@@ -1,19 +0,0 @@
-![SofleKeyboard default keymap](https://github.com/josefadamcik/SofleKeyboard/raw/master/Images/soflekeyboard.png)
-![SofleKeyboard adjust layer](https://github.com/josefadamcik/SofleKeyboard/raw/master/Images/soflekeyboard_layout_adjust.png)
-
-
-# Default keymap for Sofle Keyboard
-
-Layout in [Keyboard Layout Editor](http://www.keyboard-layout-editor.com/#/gists/76efb423a46cbbea75465cb468eef7ff) and [adjust layer](http://www.keyboard-layout-editor.com/#/gists/4bcf66f922cfd54da20ba04905d56bd4)
-
-
-Features:
-
-- Symmetric modifiers (CMD/Super, Alt/Opt, Ctrl, Shift)
-- Various modes, can be switched (using Adjust layer and the selected one is stored in EEPROM.
-- Modes for Qwerty and Colemak support
-- Modes for Mac vs Linux/Win support -> different order of modifiers and different action shortcuts on the "UPPER" layer (the red one in the image). Designed to simplify transtions when switching between operating systems often.
-- The OLED on master half shows selected mode and caps lock state and is rotated.
-- Left encoder controls volume up/down/mute. Right encoder PGUP/PGDOWN.
-
-
diff --git a/keyboards/sofle/keymaps/killmaster/rules.mk b/keyboards/sofle/keymaps/killmaster/rules.mk
deleted file mode 100644
index 95b415488c..0000000000
--- a/keyboards/sofle/keymaps/killmaster/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-EXTRAKEY_ENABLE = yes
-LTO_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
-RGB_MATRIX_DRIVER = ws2812
diff --git a/keyboards/sofle/keymaps/michal/config.h b/keyboards/sofle/keymaps/michal/config.h
deleted file mode 100644
index 0f326f7605..0000000000
--- a/keyboards/sofle/keymaps/michal/config.h
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2023 Michal S. (@not-my-segfault)
-// SPDX-License-Identifier: GPL-3.0-only
-
-#pragma once
-
-// I don't use too many layers, so this is more than enough
-#define LAYER_STATE_8BIT
-
-// Saving space
-#define NO_ACTION_ONESHOT
-#define NO_ACTION_TAPPING
-#define NO_MUSIC_MODE
-
-// If I recall correctly, these aren't necessary for the sofle
-// so i disable them to save more space.
-#undef LOCKING_SUPPORT_ENABLE
-#undef LOCKING_RESYNC_ENABLE \ No newline at end of file
diff --git a/keyboards/sofle/keymaps/michal/keymap.c b/keyboards/sofle/keymaps/michal/keymap.c
deleted file mode 100644
index cbb0dc36ab..0000000000
--- a/keyboards/sofle/keymaps/michal/keymap.c
+++ /dev/null
@@ -1,192 +0,0 @@
-// Copyright 2023 Michal S. (@not-my-segfault)
-// SPDX-License-Identifier: GPL-3.0-only
-
-#include QMK_KEYBOARD_H
-
-// This specifies the layers that will be used
-enum sofle_layers {
- _WORKMAN,
- _QWERTY,
- _LOWER,
- _RAISE,
- _ADJUST
-};
-
-enum custom_keycodes {
- KC_WORKMAN = SAFE_RANGE,
- KC_QWERTY,
- KC_LOWER,
- KC_RAISE,
- KC_ADJUST,
- KC_TOGGLE,
-};
-
-// Here the keymaps are defined in matrix form using KC_XYZ form keycodes
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
- * WORKMAN
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Prnt |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Esc | Q | D | R | W | B | | J | F | U | P | ; | Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | A | S | H | T | G |-------. ,-------| Y | N | E | O | I | ' |
- * |------+------+------+------+------+------| | | MUTE |------+------+------+------+------+------|
- * |LShift| Z | X | M | C | V |-------| |-------| K | L | , | . | / |RShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_WORKMAN] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PSCR,
- KC_ESC, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_BSPC,
- KC_TAB, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_M, KC_C, KC_V, XXXXXXX, KC_MUTE, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LGUI, KC_LALT, KC_LCTL, KC_LOWER, KC_ENT, KC_SPC, KC_RAISE, KC_RCTL, KC_RALT, KC_RGUI
-),
-
-/*
- * QWERTY
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Prnt |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Esc | Q | W | E | R | T | | Y | U | I | O | P | Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| | | MUTE |------+------+------+------+------+------|
- * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Space / \Enter \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_QWERTY] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PSCR,
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_TAB, 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, XXXXXXX, KC_MUTE, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LGUI, KC_LALT, KC_LCTL, KC_LOWER, KC_SPC, KC_ENT, KC_RAISE, KC_RCTL, KC_RALT, KC_RGUI
-),
-
-/* LOWER
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | |-------. ,-------| | | | | | | |
- * |------+------+------+------+------+------| | | Togg. |------+------+------+------+------+------|
- * | | = | - | + | { | } |-------| |-------| [ | ] | | | \ | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | | | |LOWER | / / \ \ | | | | |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_LOWER] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F12,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PIPE,
- _______, KC_EQL, KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, _______, KC_TOGGLE, KC_LBRC, KC_RBRC, _______, _______, KC_BSLS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-/* RAISE
- * ,----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | ASTG |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | Up | | | Del |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | |-------. ,-------| | Left | Down | Rght | | |
- * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
- * | | | | | | |-------| |-------| | | Home | End | | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | | | | | / / \ \ |RAISE | | | |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_RAISE] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, AS_TOGG,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, KC_DEL,
- _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, XXXXXXX,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_END, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-)};
-
-#ifdef OLED_ENABLE
-
-static void oled_screen(void) {
- oled_set_cursor(0, 0); // Write nothing
-}
-
-// Set correct rotation so the text doesn't end up sideways
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (!is_keyboard_master()) {
- return OLED_ROTATION_270;
- }
- return rotation;
-}
-
-// I only draw to the right screen because I accidentally
-// burned the left one with a soldering iron. Oops.
-bool oled_task_user(void) {
- if (!is_keyboard_master()) {
- oled_screen();
- }
- return false;
-}
-
-#endif
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case KC_QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- case KC_WORKMAN:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_WORKMAN);
- }
- return false;
- case KC_TOGGLE: // Toggle between QWERTY and WORKMAN
- if (record->event.pressed) {
- layer_invert(_QWERTY);
- layer_invert(_WORKMAN);
- }
- return false;
- case KC_LOWER:
- if (record->event.pressed) {
- layer_on(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- case KC_RAISE:
- if (record->event.pressed) {
- layer_on(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- }
- return true;
-}
-
-#ifdef ENCODER_ENABLE
-
-// This section is like the keymap matrix, but for rotary encoders
-// My left encoder is currently not working, so I'm using Layers to cope :')
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [_WORKMAN] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(KC_VOLD, KC_VOLU )},
- [_QWERTY] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(KC_VOLD, KC_VOLU )},
- [_LOWER] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN)},
- [_RAISE] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______ )},
-};
-
-#endif
diff --git a/keyboards/sofle/keymaps/michal/rules.mk b/keyboards/sofle/keymaps/michal/rules.mk
deleted file mode 100644
index 06a046f073..0000000000
--- a/keyboards/sofle/keymaps/michal/rules.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-BOOTLOADER = atmel-dfu
-
-OLED_ENABLE = yes
-
-# These are turned off to save space
-COMMAND_ENABLE = no
-CONSOLE_ENABLE = no
-GRAVE_ESC_ENABLE = no
-MAGIC_ENABLE = no
-SPACE_CADET_ENABLE = no
-
-# I actually use these features
-ENCODER_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
-EXTRAKEY_ENABLE = yes
-MOUSEKEY_ENABLE = yes
-
-# More space-saving
-LTO_ENABLE = yes
diff --git a/keyboards/sofle/keymaps/noqmk/keymap.c b/keyboards/sofle/keymaps/noqmk/keymap.c
deleted file mode 100644
index 209118b4c9..0000000000
--- a/keyboards/sofle/keymaps/noqmk/keymap.c
+++ /dev/null
@@ -1,684 +0,0 @@
-// Copyright 2022 axtlos (@axtloss)
-// SPDX-License-Identifier: GPL-2.0-only
-#include QMK_KEYBOARD_H
-
-
-enum sofle_layers {
- /* _M_XYZ = Mac Os, _W_XYZ = Win/Linux */
- _QWERTY,
- _COLEMAK,
- _GAME,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-enum custom_keycodes {
- KC_COLEMAK = SAFE_RANGE,
- KC_QWERTY,
- KC_LOWER,
- KC_RAISE,
- KC_ADJUST,
- KC_GAME,
- KC_PRVWD,
- KC_NXTWD,
- KC_LSTRT,
- KC_LEND,
- KC_DLINE,
- KC_UNLOCK,
-};
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /*
- * COLEMAK
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ESC | Q | W | F | P | G | | J | L | U | Y | ; | Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | TAB | A | R | S | T | D |-------. ,-------| H | N | E | I | O | ' |
- * |------+------+------+------+------+------| MUTE | |ADJUST |------+------+------+------+------+------|
- * |LShift| Z | X | C | V | B |-------| |-------| K | M | , | . | / |RShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Space / \Enter \ |RAISE | RCTR | RAlt | MOUSE |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-
-[_COLEMAK] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV,
- KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
- KC_TAB, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_CAPS ,KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LGUI,KC_LALT,KC_LCTL,KC_LOWER, KC_ENT, KC_SPC, KC_RAISE, KC_RCTL, KC_RALT, KC_PSCR
-),
-/*
- * QWERTY
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ESC | Q | W | E | R | T | | Y | U | I | O | P | Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
- * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | Print|
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-
-[_QWERTY] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV,
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_TAB, 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_MUTE, KC_MPLY,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LGUI,KC_LALT,KC_LCTL, KC_LOWER, KC_ENT, KC_SPC, KC_RAISE, KC_RCTL, KC_RALT, KC_PSCR
-),
-/* LOWER
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | | |
- * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
- * | Shift| = | - | + | { | } |-------| |-------| [ | ] | ; | : | \ | Shift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_LOWER] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F12,
- _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE,
- _______, KC_EQL, KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, _______, _______, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-/* RAISE
- * ,----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Esc | Ins | Pscr | Menu | | | | | PWrd | Up | NWrd | DLine| Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | ae | ue | oe | ss | euro |-------. ,-------| | Left | Down | Rigth| Del | Bspc |
- * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
- * |Shift | Undo | Cut | Copy | Paste| caps |-------| |-------| | LStr | | LEnd | | Shift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_RAISE] = LAYOUT(
- _______, _______ , _______ , _______ , _______ , _______, _______, _______ , _______, _______ , _______ ,_______,
- _______, LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), LGUI(KC_4), LGUI(KC_5), LGUI(KC_6), LGUI(KC_7), KC_UP, LGUI(KC_9),LGUI(KC_0), KC_BSPC,
- _______, RALT(KC_Q), RALT(KC_Y), RALT(KC_P), RALT(KC_S) , RALT(KC_5), KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_BSPC,
- _______,KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, KC_CAPS, _______, _______, XXXXXXX, KC_LSTRT, XXXXXXX, KC_LEND, XXXXXXX, _______,
- _______, _______, _______, _______, KC_ENT, _______, _______, _______, _______, _______
-),
-/*
- * QWERTY
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ESC | Q | W | E | R | T | | Y | U | I | O | P | Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
- * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Space / \Enter \ |RAISE | RCTR | RAlt | Print|
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-
-[_GAME] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV,
- 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_MUTE, KC_MPLY,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LGUI,KC_LALT,KC_SPC, KC_LOWER, KC_SPC, KC_ENT, KC_RAISE, KC_RCTL, KC_RALT, KC_PSCR
-),
-/* ADJUST
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | QK_BOOT| |QWERTY|COLEMAK| | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | |MACWIN|GAMING| | |-------. ,-------| | VOLDO| MUTE | VOLUP| | |
- * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
- * |UNLOCK| | | | | |-------| |-------| | PREV | PLAY | NEXT | | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `---------------------------''------' '------''---------------------------'
- */
-[_ADJUST] = LAYOUT(
- XXXXXXX , XXXXXXX, XXXXXXX , XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- QK_BOOT , XXXXXXX,KC_QWERTY,KC_COLEMAK,CG_TOGG,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX , XXXXXXX,CG_TOGG, KC_GAME, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX,
- KC_UNLOCK , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-};
-
-#ifdef OLED_ENABLE
-
-bool show_lock = true; // this is used to display the lock icon and disable keypresses when the keyboard is locked
-
-static void render_logo(void) {
- static const char PROGMEM no_qmk[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x80, 0x80, 0x80,
- 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x80, 0xe0, 0xf0,
- 0xf8, 0xf8, 0xe0, 0x00, 0x00, 0x0e, 0xfe, 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8,
- 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0,
- 0x08, 0x88, 0x88, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xf0, 0x00, 0x00, 0x00, 0x00,
- 0x08, 0x08, 0x88, 0x88, 0x88, 0x48, 0x48, 0x48, 0x28, 0x28, 0x18, 0x18, 0x08, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xf0, 0xfc, 0xf8, 0x03, 0xf3, 0xe7, 0xdf, 0x9f, 0x3f, 0xfe, 0xfe, 0xfc, 0xf9,
- 0xfb, 0xf3, 0xf7, 0xf7, 0xe7, 0xef, 0xcf, 0x90, 0xa1, 0x81, 0x81, 0x81, 0xa0, 0xbd, 0xff, 0xff,
- 0xff, 0xff, 0x7f, 0x3f, 0x9c, 0xdc, 0xf8, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60,
- 0x60, 0x00, 0x00, 0x20, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x4c, 0x4f,
- 0x47, 0x43, 0x43, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0xc2, 0xc2, 0x41, 0x00, 0x00, 0x00, 0x00,
- 0xe3, 0x13, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0xe2, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x3f, 0x7f, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0x03, 0x79, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x79, 0x03, 0xff, 0xff, 0xff, 0xff, 0x1f,
- 0x03, 0x00, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x40, 0x40,
- 0x40, 0x40, 0x40, 0x40, 0x44, 0x4a, 0x4a, 0x51, 0x51, 0x60, 0x60, 0x40, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x1f,
- 0x3f, 0x3f, 0x7f, 0x7c, 0x78, 0x78, 0x78, 0x78, 0x7c, 0x7e, 0x7f, 0x7f, 0x4f, 0x43, 0x40, 0x60,
- 0x60, 0x78, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
- 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x21,
- 0x11, 0x11, 0x09, 0x09, 0x05, 0x05, 0x03, 0x03, 0x05, 0x09, 0x11, 0x21, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
- oled_write_raw_P(no_qmk, sizeof(no_qmk));
-}
-
-static const char PROGMEM locked_logo[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xfc, 0xce, 0xc6,
- 0xc6, 0xce, 0xfc, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f,
- 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-
-/* 32 * 14 os logos */
-static const char PROGMEM linux_logo[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x27, 0x27, 0x8f, 0x9f, 0x03,
- 0x73, 0xff, 0x03, 0xf2, 0xfe, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1f, 0x19, 0x19, 0x1b, 0x1b, 0x1b,
- 0x1a, 0x18, 0x18, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-static const char PROGMEM mac_logo[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf0, 0xf6, 0xfb, 0xfb, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x1f, 0x1f, 0x0f, 0x0f, 0x1f, 0x1f, 0x0f, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-
-
-/* KEYBOARD PET START */
-
-/* settings */
-# define MIN_WALK_SPEED 10
-# define MIN_RUN_SPEED 40
-
-/* advanced settings */
-# define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms
-# define ANIM_SIZE 96 // number of bytes in array. If you change sprites, minimize for adequate firmware size. max is 1024
-
-/* timers */
-uint32_t anim_timer = 0;
-
-/* current frame */
-uint8_t current_frame = 0;
-
-/* status variables */
-int current_wpm = 0;
-led_t led_usb_state;
-
-bool isSneaking = false;
-bool isJumping = false;
-bool showedJump = true;
-
-/* logic */
-static void render_luna(int LUNA_X, int LUNA_Y) {
- /* Sit */
- static const char PROGMEM sit[2][ANIM_SIZE] = {/* 'sit1', 32x22px */
- {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x02, 0x05, 0x02, 0x24, 0x04, 0x04, 0x02, 0xa9, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x68, 0x10, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x82, 0x7c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x0c, 0x10, 0x10, 0x20, 0x20, 0x20, 0x28, 0x3e, 0x1c, 0x20, 0x20, 0x3e, 0x0f, 0x11, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
-
- /* 'sit2', 32x22px */
- {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x02, 0x05, 0x02, 0x24, 0x04, 0x04, 0x02, 0xa9, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x90, 0x08, 0x18, 0x60, 0x10, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0e, 0x82, 0x7c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x0c, 0x10, 0x10, 0x20, 0x20, 0x20, 0x28, 0x3e, 0x1c, 0x20, 0x20, 0x3e, 0x0f, 0x11, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}};
-
- /* Walk */
- static const char PROGMEM walk[2][ANIM_SIZE] = {/* 'walk1', 32x22px */
- {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x90, 0x90, 0x90, 0xa0, 0xc0, 0x80, 0x80, 0x80, 0x70, 0x08, 0x14, 0x08, 0x90, 0x10, 0x10, 0x08, 0xa4, 0x78, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x08, 0xfc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x18, 0xea, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1c, 0x20, 0x20, 0x3c, 0x0f, 0x11, 0x1f, 0x03, 0x06, 0x18, 0x20, 0x20, 0x3c, 0x0c, 0x12, 0x1e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
-
- /* 'walk2', 32x22px */
- {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x20, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x28, 0x10, 0x20, 0x20, 0x20, 0x10, 0x48, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x20, 0xf8, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x30, 0xd5, 0x20, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x30, 0x0c, 0x02, 0x05, 0x09, 0x12, 0x1e, 0x02, 0x1c, 0x14, 0x08, 0x10, 0x20, 0x2c, 0x32, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- }};
-
- /* Run */
- static const char PROGMEM run[2][ANIM_SIZE] = {/* 'run1', 32x22px */
- {
- 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x08, 0xc8, 0xb0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x3c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0xc4, 0xa4, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc8, 0x58, 0x28, 0x2a, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x09, 0x04, 0x04, 0x04, 0x04, 0x02, 0x03, 0x02, 0x01, 0x01, 0x02, 0x02, 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
-
- /* 'run2', 32x22px */
- {
- 0x00, 0x00, 0x00, 0xe0, 0x10, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x78, 0x28, 0x08, 0x10, 0x20, 0x30, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0xb0, 0x50, 0x55, 0x20, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37, 0x02, 0x1e, 0x20, 0x20, 0x18, 0x0c, 0x14, 0x1e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- }};
-
- /* Bark */
- static const char PROGMEM bark[2][ANIM_SIZE] = {/* 'bark1', 32x22px */
- {
- 0x00, 0xc0, 0x20, 0x10, 0xd0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x3c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc8, 0x48, 0x28, 0x2a, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37, 0x02, 0x02, 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
-
- /* 'bark2', 32x22px */
- {
- 0x00, 0xe0, 0x10, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x2c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x48, 0x28, 0x2a, 0x10, 0x0f, 0x20, 0x4a, 0x09, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37, 0x02, 0x02, 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- }};
-
- /* Sneak */
- static const char PROGMEM sneak[2][ANIM_SIZE] = {/* 'sneak1', 32x22px */
- {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x80, 0x00, 0x80, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x21, 0xf0, 0x04, 0x02, 0x02, 0x02, 0x02, 0x03, 0x02, 0x02, 0x04, 0x04, 0x04, 0x03, 0x01, 0x00, 0x00, 0x09, 0x01, 0x80, 0x80, 0xab, 0x04, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1c, 0x20, 0x20, 0x3c, 0x0f, 0x11, 0x1f, 0x02, 0x06, 0x18, 0x20, 0x20, 0x38, 0x08, 0x10, 0x18, 0x04, 0x04, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00,
- },
-
- /* 'sneak2', 32x22px */
- {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xa0, 0x20, 0x40, 0x80, 0xc0, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x41, 0xf0, 0x04, 0x02, 0x02, 0x02, 0x03, 0x02, 0x02, 0x02, 0x04, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x40, 0x40, 0x55, 0x82, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x30, 0x0c, 0x02, 0x05, 0x09, 0x12, 0x1e, 0x04, 0x18, 0x10, 0x08, 0x10, 0x20, 0x28, 0x34, 0x06, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
- }};
-
- /* animation */
- void animate_luna(void) {
- /* jump */
- if (isJumping || !showedJump) {
- /* clear */
- oled_set_cursor(LUNA_X, LUNA_Y + 2);
- oled_write(" ", false);
-
- oled_set_cursor(LUNA_X, LUNA_Y - 1);
-
- showedJump = true;
- } else {
- /* clear */
- oled_set_cursor(LUNA_X, LUNA_Y - 1);
- oled_write(" ", false);
-
- oled_set_cursor(LUNA_X, LUNA_Y);
- }
-
- /* switch frame */
- current_frame = (current_frame + 1) % 2;
-
- /* current status */
- if (led_usb_state.caps_lock) {
- oled_write_raw_P(bark[current_frame], ANIM_SIZE);
-
- } else if (isSneaking) {
- oled_write_raw_P(sneak[current_frame], ANIM_SIZE);
-
- } else if (current_wpm <= MIN_WALK_SPEED) {
- oled_write_raw_P(sit[current_frame], ANIM_SIZE);
-
- } else if (current_wpm <= MIN_RUN_SPEED) {
- oled_write_raw_P(walk[current_frame], ANIM_SIZE);
-
- } else {
- oled_write_raw_P(run[current_frame], ANIM_SIZE);
- }
- }
-
-# if OLED_TIMEOUT > 0
- /* the animation prevents the normal timeout from occuring */
- if (last_input_activity_elapsed() > OLED_TIMEOUT && last_led_activity_elapsed() > OLED_TIMEOUT) {
- oled_off();
- return;
- } else {
- oled_on();
- }
-# endif
-
- /* animation timer */
- if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
- anim_timer = timer_read32();
- animate_luna();
- }
-}
-
-/* KEYBOARD PET END */
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (is_keyboard_master()) {
- return OLED_ROTATION_270;
- }
- return rotation;
-}
-
-static void print_logo_narrow(void) {
- render_logo();
-}
-
-static void print_status_narrow(void) {
- /* Print current mode */
- oled_set_cursor(0, 0);
- if (show_lock == true) {
- oled_write_raw_P(locked_logo, sizeof(locked_logo));
- } else if (keymap_config.swap_lctl_lgui) {
- oled_write_raw_P(mac_logo, sizeof(mac_logo));
- } else {
- oled_write_raw_P(linux_logo, sizeof(linux_logo));
- }
-
- oled_set_cursor(0, 3);
-
- switch (get_highest_layer(default_layer_state)) {
- case _COLEMAK:
- oled_write_P(PSTR(" CLMK "), false);
- break;
- case _GAME:
- oled_write_P(PSTR(" GAME "), false);
- break;
- case _QWERTY:
- oled_write_P(PSTR("QWERT"), false);
- break;
- default:
- oled_write_P(PSTR("UNDEF"), false);
- }
-
- oled_set_cursor(0, 5);
-
- /* Print current layer */
- oled_write_P(PSTR("LAYER"), false);
-
- oled_set_cursor(0, 6);
-
- switch (get_highest_layer(layer_state)) {
- case _QWERTY:
- 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(" Adj "), false);
- break;
- default:
- oled_write_P(PSTR("Undef"), false);
- }
-
- /* caps lock */
- oled_set_cursor(0, 8);
- oled_write_P(PSTR("CPSLK"), led_usb_state.caps_lock);
-
- /* KEYBOARD PET RENDER START */
-
- render_luna(0, 13);
-
- /* KEYBOARD PET RENDER END */
-}
-
-bool oled_task_user(void) {
- /* KEYBOARD PET VARIABLES START */
-
- current_wpm = get_current_wpm();
- led_usb_state = host_keyboard_led_state();
-
- /* KEYBOARD PET VARIABLES END */
-
- if (is_keyboard_master()) {
- print_status_narrow();
- } else {
- print_logo_narrow();
- }
- return false;
-}
-
-#endif
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case KC_QWERTY:
- if (show_lock == true) {
- return false;
- }
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- case KC_COLEMAK:
- if (show_lock == true) {
- return false;
- }
- if (record->event.pressed) {
- set_single_persistent_default_layer(_COLEMAK);
- }
- return false;
- case KC_GAME:
- if (show_lock == true) {
- return false;
- }
- if (record->event.pressed) {
- set_single_persistent_default_layer(_GAME);
- }
- return false;
- case KC_LOWER:
- if (record->event.pressed) {
- layer_on(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- case KC_RAISE:
- if (record->event.pressed) {
- layer_on(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- case KC_ADJUST:
- if (record->event.pressed) {
- layer_on(_ADJUST);
- } else {
- layer_off(_ADJUST);
- }
- return false;
- case KC_PRVWD:
- if (show_lock == true) {
- return false;
- }
- if (record->event.pressed) {
- if (keymap_config.swap_lctl_lgui) {
- register_mods(mod_config(MOD_LALT));
- register_code(KC_LEFT);
- } else {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_LEFT);
- }
- } else {
- if (keymap_config.swap_lctl_lgui) {
- unregister_mods(mod_config(MOD_LALT));
- unregister_code(KC_LEFT);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_LEFT);
- }
- }
- break;
- case KC_NXTWD:
- if (show_lock == true) {
- return false;
- }
- if (record->event.pressed) {
- if (keymap_config.swap_lctl_lgui) {
- register_mods(mod_config(MOD_LALT));
- register_code(KC_RIGHT);
- } else {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_RIGHT);
- }
- } else {
- if (keymap_config.swap_lctl_lgui) {
- unregister_mods(mod_config(MOD_LALT));
- unregister_code(KC_RIGHT);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_RIGHT);
- }
- }
- break;
- case KC_LSTRT:
- if (show_lock == true) {
- return false;
- }
- if (record->event.pressed) {
- if (keymap_config.swap_lctl_lgui) {
- //CMD-arrow on Mac, but we have CTL and GUI swapped
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_LEFT);
- } else {
- register_code(KC_HOME);
- }
- } else {
- if (keymap_config.swap_lctl_lgui) {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_LEFT);
- } else {
- unregister_code(KC_HOME);
- }
- }
- break;
- case KC_LEND:
- if (show_lock == true) {
- return false;
- }
- if (record->event.pressed) {
- if (keymap_config.swap_lctl_lgui) {
- //CMD-arrow on Mac, but we have CTL and GUI swapped
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_RIGHT);
- } else {
- register_code(KC_END);
- }
- } else {
- if (keymap_config.swap_lctl_lgui) {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_RIGHT);
- } else {
- unregister_code(KC_END);
- }
- }
- break;
- case KC_DLINE:
- if (show_lock == true) {
- return false;
- }
- if (record->event.pressed) {
- register_mods(mod_config(MOD_RCTL));
- register_code(KC_BSPC);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_BSPC);
- }
- break;
- case KC_COPY:
- if (show_lock == true) {
- return false;
- }
- if (record->event.pressed) {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_C);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_C);
- }
- return false;
- case KC_PASTE:
- if (show_lock == true) {
- return false;
- }
- if (record->event.pressed) {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_V);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_V);
- }
- return false;
- case KC_CUT:
- if (show_lock == true) {
- return false;
- }
- if (record->event.pressed) {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_X);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_X);
- }
- return false;
- break;
- case KC_UNDO:
- if (show_lock == true) {
- return false;
- }
- if (record->event.pressed) {
- register_mods(mod_config(MOD_LCTL));
- register_code(KC_Z);
- } else {
- unregister_mods(mod_config(MOD_LCTL));
- unregister_code(KC_Z);
- }
- return false;
- case KC_UNLOCK:
- if (record->event.pressed) {
- if (show_lock == true) {
- show_lock = false;
- print_status_narrow();
- } else {
- show_lock = true;
- print_status_narrow();
- }
- }
- }
- /* This stops any keypress to be sent to the computer when the keyboard is locked */
- if (show_lock == false) {
- return true;
- } else {
- return false;
- }
-}
-
-#ifdef ENCODER_ENABLE
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- } else if (index == 1) {
- if (clockwise) {
- tap_code(KC_MNXT);
- } else {
- tap_code(KC_MPRV);
- }
- }
- return true;
-}
-
-#endif
diff --git a/keyboards/sofle/keymaps/noqmk/readme.md b/keyboards/sofle/keymaps/noqmk/readme.md
deleted file mode 100644
index 8fce20ad0c..0000000000
--- a/keyboards/sofle/keymaps/noqmk/readme.md
+++ /dev/null
@@ -1,28 +0,0 @@
-![no qmk?](https://user-images.githubusercontent.com/60044824/181124856-0ebe0cc9-4b91-4fa2-89df-4e0841a61b9d.png)
-
-
-# Custom keymap for Sofle Keyboard, based on [Helltm](https://github.com/qmk/qmk_firmware/tree/master/keyboards/sofle/keymaps/helltm)
-
-Features:
-
-- Symmetric modifiers (CMD/Super, Alt/Opt, Ctrl, Shift)
-- Various modes, can be switched (using Adjust layer and the selected one is stored in EEPROM).
-- Modes for Qwerty and Colemak support
-- Modes for Mac vs Linux/Win support -> different order of modifiers and different action shortcuts on the "UPPER" layer. Designed to simplify transtions when switching between operating systems often.
-- The OLED on master half shows selected mode and caps lock state and is rotated.
-- Left encoder controls volume up/down/mute. Right encoder PREV/NEXT media controls.
-- Keyboard lock, change to the adjust layer (up and down pressed at the same time) and press the left shift to lock/unlock, current lock state is displayed on oled
-- Apple logo for Mac mode, Fedora Silverblue logo for Linux/Win mode, Lock icon for locked
-- Fixed flickering on main OLED
-- Gaming layout, switches space to the left half of the keyboard and raises the most left column up by one key
-
-#Luna, the keyboard pet
-
-Features:
-- Luna reacts to your wpm counter
- - under 10 wpm she sits
- - between 10 and 40 wpm she walks
- - over 40 wpm she runs
-- She will move sneakily if you hold down Ctrl
-- Will bark at people on the internet if you activate Caps Lock!
-- Luna jumps every time you hit Space
diff --git a/keyboards/sofle/keymaps/noqmk/rules.mk b/keyboards/sofle/keymaps/noqmk/rules.mk
deleted file mode 100644
index 5881392622..0000000000
--- a/keyboards/sofle/keymaps/noqmk/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-OLED_ENABLE = yes
-ENCODER_ENABLE = yes
-CONSOLE_ENABLE = no
-EXTRAKEY_ENABLE = yes
-WPM_ENABLE = yes