summaryrefslogtreecommitdiff
path: root/keyboards/mitosis
diff options
context:
space:
mode:
authorDrashna Jaelre <drashna@live.com>2019-04-09 08:58:11 -0700
committerDrashna Jaelre <drashna@live.com>2019-04-09 08:58:11 -0700
commitb6850bc043b1d129042f47501f0a1dc1e196f962 (patch)
treea0a772f278c3c494db3bc69103955af5561e1cae /keyboards/mitosis
parent19ed62114a1f5d20aacb9cbe83105e977b9a2971 (diff)
remove all keyboards but ergodox and planck
Diffstat (limited to 'keyboards/mitosis')
-rw-r--r--keyboards/mitosis/config.h79
-rw-r--r--keyboards/mitosis/info.json12
-rw-r--r--keyboards/mitosis/keymaps/carvac_dv/keymap.c124
-rw-r--r--keyboards/mitosis/keymaps/carvac_dv/rules.mk1
-rw-r--r--keyboards/mitosis/keymaps/datagrok/config.h57
-rw-r--r--keyboards/mitosis/keymaps/datagrok/keymap.c237
-rw-r--r--keyboards/mitosis/keymaps/datagrok/readme.md274
-rw-r--r--keyboards/mitosis/keymaps/datagrok/rules.mk35
-rw-r--r--keyboards/mitosis/keymaps/default/keymap.c213
-rw-r--r--keyboards/mitosis/keymaps/mjt/config.h24
-rw-r--r--keyboards/mitosis/keymaps/mjt/keymap.c337
-rw-r--r--keyboards/mitosis/keymaps/mjt/rules.mk14
-rw-r--r--keyboards/mitosis/keymaps/nzen/keymap.c209
-rw-r--r--keyboards/mitosis/keymaps/nzen/readme.md75
-rw-r--r--keyboards/mitosis/keymaps/nzen/rules.mk8
-rw-r--r--keyboards/mitosis/matrix.c155
-rw-r--r--keyboards/mitosis/mitosis.c31
-rw-r--r--keyboards/mitosis/mitosis.h66
-rw-r--r--keyboards/mitosis/readme.md29
-rw-r--r--keyboards/mitosis/rules.mk75
20 files changed, 0 insertions, 2055 deletions
diff --git a/keyboards/mitosis/config.h b/keyboards/mitosis/config.h
deleted file mode 100644
index f2220278ec..0000000000
--- a/keyboards/mitosis/config.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@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/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Unknown
-#define PRODUCT Mitosis
-#define DESCRIPTION q.m.k. keyboard firmware for Mitosis
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 10
-
-/* define if matrix has ghost */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-//#define BACKLIGHT_LEVELS 3
-
-#define ONESHOT_TIMEOUT 500
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-//UART settings for communication with the RF microcontroller
-#define SERIAL_UART_BAUD 1000000
-#define SERIAL_UART_DATA UDR1
-#define SERIAL_UART_UBRR (F_CPU / (16UL * SERIAL_UART_BAUD) - 1)
-#define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1))
-#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1))
-#define SERIAL_UART_INIT() do { \
- /* baud rate */ \
- UBRR1L = SERIAL_UART_UBRR; \
- /* baud rate */ \
- UBRR1H = SERIAL_UART_UBRR >> 8; \
- /* enable TX and RX */ \
- UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
- /* 8-bit data */ \
- UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \
- } while(0)
-
-#endif
diff --git a/keyboards/mitosis/info.json b/keyboards/mitosis/info.json
deleted file mode 100644
index 20ee1edf5c..0000000000
--- a/keyboards/mitosis/info.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "keyboard_name": "Mitosis",
- "url": "",
- "maintainer": "qmk",
- "width": 12,
- "height": 5.75,
- "layouts": {
- "LAYOUT": {
- "layout": [{"x":0, "y":0.75}, {"x":1, "y":0.25}, {"x":2, "y":0}, {"x":3, "y":0.25}, {"x":4, "y":0.125}, {"x":7, "y":0.125}, {"x":8, "y":0.25}, {"x":9, "y":0}, {"x":10, "y":0.25}, {"x":11, "y":0.75}, {"x":0, "y":1.75}, {"x":1, "y":1.25}, {"x":2, "y":1}, {"x":3, "y":1.25}, {"x":4, "y":1.125}, {"x":7, "y":1.125}, {"x":8, "y":1.25}, {"x":9, "y":1}, {"x":10, "y":1.25}, {"x":11, "y":1.75}, {"x":0, "y":2.75}, {"x":1, "y":2.25}, {"x":2, "y":2}, {"x":3, "y":2.25}, {"x":4, "y":2.125}, {"x":7, "y":2.125}, {"x":8, "y":2.25}, {"x":9, "y":2}, {"x":10, "y":2.25}, {"x":11, "y":2.75}, {"x":1.5, "y":3.75}, {"x":2.5, "y":3.75}, {"x":3.5, "y":3.75}, {"x":4.5, "y":3.75}, {"x":6.5, "y":3.75}, {"x":7.5, "y":3.75}, {"x":8.5, "y":3.75}, {"x":9.5, "y":3.75}, {"x":1.5, "y":4.75}, {"x":2.5, "y":4.75}, {"x":3.5, "y":4.75}, {"x":4.5, "y":4.75}, {"x":6.5, "y":4.75}, {"x":7.5, "y":4.75}, {"x":8.5, "y":4.75}, {"x":9.5, "y":4.75}]
- }
- }
-}
diff --git a/keyboards/mitosis/keymaps/carvac_dv/keymap.c b/keyboards/mitosis/keymaps/carvac_dv/keymap.c
deleted file mode 100644
index c67f2e387c..0000000000
--- a/keyboards/mitosis/keymaps/carvac_dv/keymap.c
+++ /dev/null
@@ -1,124 +0,0 @@
-// This is the Dvorak-friendly layout for the Mitosis by CarVac (/u/CarVac)
-// It features space on the left thumb, shift on the right thumb, a
-// number layer with all the numbers on the home row, and a function layer
-// that provides mouse keys among other things.
-
-#include QMK_KEYBOARD_H
-
-enum mitosis_layers
-{
- _STD,
- _NUM,
- _FN
-};
-
-
-//Mousekeys
-#define MOUSEKEY_DELAY 300
-#define MOUSEKEY_INTERNAL 50
-#define MOUSEKEY_MAX_SPEED 20
-#define MOUSEKEY_TIME_TO_MAX 30
-#define MOUSEKEY_WHEEL_MAX_SPEED 8
-#define MOUSEKEY_WHEEL_TIME_TO_MAX 40
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* QWERTY
- * .--------------------------------------------..--------------------------------------------.
- * | Q | W | E | R | T || Y | U | I | O | P |
- * |--------+--------+--------+--------+--------||--------+--------+--------+--------+--------|
- * | A | S | D | F | G || J | H | K | L | ; |
- * |--------+--------+--------+--------+--------||--------+--------+--------+--------+--------|
- * | Z | X | C | V | B || N | M | , | . | / |
- * '--------+--------+--------+--------+--------||--------+--------+--------+--------+--------'
- * | PGUP | TAB | LCTRL | SPACE || LSHIFT | ENTER | UP | PSCR |
- * |--------+--------+--------+--------||--------+--------+--------+--------|
- * | PGDN | LGUI | LALT | FN || NUM | LEFT | DOWN | RIGHT |
- * '-----------------------------------''-----------------------------------'
- */
- [_STD] = LAYOUT( /* Standard; as compatible with dvorak and qwerty as possible */
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
- KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
- KC_PGUP, KC_TAB, KC_LCTL, KC_SPC, KC_LSFT, KC_ENT, KC_UP, KC_PSCR,
- KC_PGDN, KC_LGUI, KC_LALT, MO(_FN), MO(_NUM), KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- /* Number layout, for data entry and programming purposes (Dvorak result in parens)
- * .--------------------------------------------..--------------------------------------------.
- * | TAB | (,<) | (.>) | - ([{) | = (]}) || ] (=+) | pad * | pad + | pad - | [ (/?) |
- * |--------+--------+--------+--------+--------||--------+--------+--------+--------+--------|
- * | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 |
- * |--------+--------+--------+--------+--------||--------+--------+--------+--------+--------|
- * | F1 | F2 | F3 | F4 | F5 || F6 | F7 | F8 | F9 | F10 |
- * '--------+--------+--------+--------+--------||--------+--------+--------+--------+--------'
- * | F11 | F12 | | || | | | |
- * |--------+--------+--------+--------||--------+--------+--------+--------|
- * | | | | || | | | |
- * '-----------------------------------''-----------------------------------'
- */
- [_NUM] = LAYOUT( /* Number layout along the home row for maximum speed*/
- KC_TAB, _______, _______, KC_MINS, KC_EQL, KC_RBRC, KC_PAST, KC_PPLS, KC_PMNS, KC_LBRC,
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
- KC_F11, KC_F12, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-
- /* Fn layout, for typing purposes (Dvorak result in parens)
- * .--------------------------------------------..--------------------------------------------.
- * | ` | | MS_U | | || WH_U | WH_L | BTN3 | WH_R | [ (/?) |
- * |--------+--------+--------+--------+--------||--------+--------+--------+--------+--------|
- * | ESC | MS_L | MS_D | MS_R | || WH_D | BTN1 | BTN2 | | ' (-_) |
- * |--------+--------+--------+--------+--------||--------+--------+--------+--------+--------|
- * | APP | MPRV | MPLY | MSTP | MNXT || | BSPC | DEL | INS | \ |
- * '--------+--------+--------+--------+--------||--------+--------+--------+--------+--------'
- * | VOLU | | | || | | PGUP | |
- * |--------+--------+--------+--------||--------+--------+--------+--------|
- * | VOLD | | | || | HOME | PGDN | END |
- * '-----------------------------------''-----------------------------------'
- */
- [_FN] = LAYOUT( /* Function Layer, primary alternative layer featuring numpad on right hand,
- cursor keys on left hand, and all symbols*/
- KC_GRV, _______, KC_MS_U, _______, _______, KC_WH_U, KC_WH_L, KC_BTN3, KC_WH_R, KC_LBRC,
- KC_ESC, KC_MS_L, KC_MS_D, KC_MS_R, _______, KC_WH_D, KC_BTN1, KC_BTN2, _______, KC_QUOT,
- KC_APP, KC_MPRV, KC_MPLY, KC_MSTP, KC_MNXT, _______, KC_BSPC, KC_DEL, KC_INS, KC_BSLS,
- KC_VOLU, _______, _______, _______, _______, _______, KC_PGUP, _______,
- KC_VOLD, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
- ),
-
- /* blank key layout template
- * .--------------------------------------------..--------------------------------------------.
- * | | | | | || | | | | |
- * |--------+--------+--------+--------+--------||--------+--------+--------+--------+--------|
- * | | | | | || | | | | |
- * |--------+--------+--------+--------+--------||--------+--------+--------+--------+--------|
- * | | | | | || | | | | |
- * '--------+--------+--------+--------+--------||--------+--------+--------+--------+--------'
- * | | | | || | | | |
- * |--------+--------+--------+--------||--------+--------+--------+--------|
- * | | | | || | | | |
- * '-----------------------------------''-----------------------------------'
- */
-
-};
-
-void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
-
- switch (layer) {
- case _STD:
- set_led_off;
- break;
- case _FN:
- set_led_blue;
- break;
- case _NUM:
- set_led_red;
- break;
- default:
- break;
- }
-};
-
diff --git a/keyboards/mitosis/keymaps/carvac_dv/rules.mk b/keyboards/mitosis/keymaps/carvac_dv/rules.mk
deleted file mode 100644
index 6c605daecf..0000000000
--- a/keyboards/mitosis/keymaps/carvac_dv/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-MOUSEKEY_ENABLE = yes
diff --git a/keyboards/mitosis/keymaps/datagrok/config.h b/keyboards/mitosis/keymaps/datagrok/config.h
deleted file mode 100644
index 1c70a3791a..0000000000
--- a/keyboards/mitosis/keymaps/datagrok/config.h
+++ /dev/null
@@ -1,57 +0,0 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#ifdef MITOSIS_DATAGROK_SLOWUART
-// This is the highest possible baud rate that a pro micro clocked at 8Mhz can
-// support without errors. I don't notice any difference in behavior at this
-// slower speed. (So I think it should maybe be the default, to allow a single
-// codebase to support both available flavors of pro micro.) This requires a
-// corresponding change to the wireless module firmware; see
-// https://github.com/reversebias/mitosis/pull/10
-#undef SERIAL_UART_BAUD // avoids redefinition warning
-#define SERIAL_UART_BAUD 250000
-#endif
-
-// I want to place an underscore as tap behavior on the right shift key. But
-// RSFT_T(KC_UNDS) doesn't work; mod-tap doesn't work with pre-shifted keys. So
-// instead I take advantage of Space Cadet Shift that does something similar
-// and just tweak it to use the -/_ key instead of 0/). See
-// https://github.com/qmk/qmk_firmware/pull/2055
-#define RSPC_KEY KC_MINS
-
-// TODO: figure out which of these I can safely enable to reduce firmware size.
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT // can't; errors
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#ifdef AUDIO_ENABLE
-#define STARTUP_SONG SONG(MARIO_MUSHROOM)
-#define DEFAULT_LAYER_SONGS { \
- SONG(QWERTY_SOUND), \
- SONG(COLEMAK_SOUND), \
- SONG(DVORAK_SOUND), \
- SONG(ZELDA_TREASURE), \
- }
-#define AUDIO_VOICES
-#define AUDIO_CLICKY
-#define C6_AUDIO
-#endif
-
-#endif
-
-#define LAYOUT_bottomspace( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \
- k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \
- k31, k32, k33, k34, k35, k36, k37, k38, \
- k41, k42, k43, k44, k45, k46, k47, k48 \
- ) \
- { \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09 }, \
- { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19 }, \
- { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29 }, \
- { KC_NO, k31, k32, k43, k44, k45, k46, k37, k38, KC_NO }, \
- { KC_NO, k41, k42, k33, k34, k35, k36, k47, k48, KC_NO } \
- }
diff --git a/keyboards/mitosis/keymaps/datagrok/keymap.c b/keyboards/mitosis/keymaps/datagrok/keymap.c
deleted file mode 100644
index 220c140af0..0000000000
--- a/keyboards/mitosis/keymaps/datagrok/keymap.c
+++ /dev/null
@@ -1,237 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#ifdef AUDIO_ENABLE
-#include "audio.h"
-#ifdef DEFAULT_LAYER_SONGS
-extern float default_layer_songs[][16][2];
-#endif
-#endif
-
-enum mitosis_layers
- {
- _xQ, // qwerty
- _xC, // colemak
- _xD, // dvorak
- _xW, // workman
- _xS, // symbols
- _xN, // numbers
- _xF // functions
- };
-
-enum mitosis_keycodes
- {
- KC_LAYO = SAFE_RANGE
- };
-
-// Setting MITOSIS_DATAGROK_BOTTOMSPACE in rules.mk will swap the upper and
-// lower center four thumb-keys. See keymaps/datagrok/rules.mk.
-#ifdef MITOSIS_DATAGROK_BOTTOMSPACE
-#undef LAYOUT
-#define LAYOUT LAYOUT_bottomspace
-#endif
-
-// I don't use Japanese myself, but I've placed henkan 変換 and muhenkan 無変換
-// in my layout to act as left and right HYPER
-
-// Momentary tri-state layers. Mitosis default keymap does this too but employs
-// new keymappings and a bunch of conditional code. This simpler keymap
-// accomplishes it but with a small quirk: triggering both layers then releasing
-// one out-of-order will leave the tri-state triggered until the other is
-// released. Which doesn't bother me.
-
-// The weird /*,*/ comments are a hack to get slightly better automatic
-// tabulation in my editor.
-
-// We use Space Cadet KC_RSPC to get _ on right shift. See config.h for details.
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_xQ] = LAYOUT(
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
- KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_QUOT,
- /*, */ KC_LGUI, KC_LCTL, MO(_xS), KC_BSPC, KC_SPC, MO(_xS), KC_RCTL, KC_RGUI,
- /*, */ KC_HENK, KC_LALT, MO(_xN), LSFT_T(KC_TAB), KC_RSPC, MO(_xN), KC_RALT, KC_MHEN),
- [_xC] = LAYOUT(
- KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN,
- KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O,
- KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_QUOT,
- /*, */ _______, _______, _______, _______, _______, _______, _______, _______,
- /*, */ _______, _______, _______, _______, _______, _______, _______, _______),
- [_xD] = LAYOUT(
- KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L,
- KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S,
- KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z,
- /*, */ _______, _______, _______, _______, _______, _______, _______, _______,
- /*, */ _______, _______, _______, _______, _______, _______, _______, _______),
- [_xW] = LAYOUT(
- KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN,
- KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I,
- KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_QUOT,
- /*, */ _______, _______, _______, _______, _______, _______, _______, _______,
- /*, */ _______, _______, _______, _______, _______, _______, _______, _______),
- [_xS] = LAYOUT(
- KC_ESC, KC_GRV , KC_UP, KC_EQL , KC_TILD, KC_PLUS, KC_CIRC, KC_AMPR, KC_PERC, KC_MINS,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_PIPE, KC_AT, KC_DLR, KC_HASH, KC_ENT,
- KC_BSLS, KC_LABK, KC_LCBR, KC_LPRN, KC_LBRC, KC_RBRC, KC_RPRN, KC_RCBR, KC_RABK, KC_SLSH,
- /*, */ _______, _______, _______, KC_DEL, _______, _______, _______, _______,
- /*, */ _______, _______, TT(_xF), _______, _______, TT(_xF), _______, _______),
- [_xN] = LAYOUT(
- KC_PSCR, KC_F7, KC_F8, KC_F9, KC_F10, KC_PPLS, KC_7, KC_8, KC_9, KC_PMNS,
- KC_SLCK, KC_F4, KC_F5, KC_F6, KC_F11, KC_NLCK, KC_4, KC_5, KC_6, KC_PENT,
- KC_PAUS, KC_F1, KC_F2, KC_F3, KC_F12, KC_PAST, KC_1, KC_2, KC_3, KC_PSLS,
- /*, */ _______, _______, TT(_xF), _______, _______, TT(_xF), KC_0, KC_DOT,
- /*, */ _______, _______, _______, _______, _______, _______, _______, _______),
- [_xF] = LAYOUT(
- RESET, KC_INS, KC_PGUP, DEBUG, KC_VOLU, KC_PPLS, KC_P7, KC_P8, KC_P9, KC_PMNS,
- CK_TOGG, KC_HOME, KC_PGDN, KC_END, KC_VOLD, KC_NLCK, KC_P4, KC_P5, KC_P6, KC_PENT,
- KC_LAYO, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_PAST, KC_P1, KC_P2, KC_P3, KC_PSLS,
- /*, */ CK_UP, MU_TOG, _______, _______, _______, _______, KC_P0, KC_PDOT,
- /*, */ CK_DOWN, MU_MOD, _______, _______, _______, _______, _______, _______),
-};
-const bool defaultlayers[] = {
- [_xQ] = true,
- [_xC] = true,
- [_xD] = true,
- [_xW] = true,
- [_xS] = false,
- [_xN] = false,
- [_xF] = false,
-};
-const size_t defaultlayers_n = sizeof(defaultlayers) / sizeof(defaultlayers[0]);
-
-// New keycode KC_LAYO rotates between available default layers (for e.g.,
-// selecting a base layout). Shift+KC_LAYO makes the current one persistent.
-bool process_record_layout(uint16_t keycode, keyrecord_t *record) {
- uint32_t default_layer;
- uint8_t i;
- #if defined(AUDIO_ENABLE)
- float saved_song[][2] = SONG(COIN_SOUND);
- #endif
-
- if (keycode != KC_LAYO || !record->event.pressed) {
- return true;
- }
-
- if (get_mods() & (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))) { // shift pressed
- // save default layer. whatever the current default layer is, store that
- eeconfig_update_default_layer(default_layer_state);
- #if defined(AUDIO_ENABLE)
- PLAY_SONG(saved_song);
- #endif
- } else {
- // rotate default layer.
- // find the current default layer
- default_layer = biton32(default_layer_state);
- // find next valid default layer
- for (i = 1; i < defaultlayers_n; i++) {
- if (defaultlayers[(default_layer + i) % defaultlayers_n]) {
- break;
- }
- }
- if (i == defaultlayers_n) {
- // we fell out of the loop without finding another default layer to switch
- // to.
- return false;
- }
- default_layer = (default_layer + i) % defaultlayers_n;
- default_layer_set(1U<<default_layer);
- led_set(host_keyboard_leds());
- #if defined(AUDIO_ENABLE) && defined(DEFAULT_LAYER_SONGS)
- PLAY_SONG(default_layer_songs[default_layer]);
- #endif
- }
- return false;
-}
-
-// This is a hack to place <question mark> on <shift-comma> and <exclamation
-// mark> on <shift-period>, when using an operating system configured for a
-// US/qwerty layout.
-// cdeq = "comma dot exclamation question"
-bool comm_shifted = false;
-bool ques_shifted = false;
-bool process_record_cdeq(uint16_t keycode, keyrecord_t *record) {
- uint8_t shifted;
- uint16_t s_keycode;
- bool *k_shifted;
-
- switch (keycode) {
- case KC_COMM:
- s_keycode = KC_SLSH;
- k_shifted = &comm_shifted;
- break;
- case KC_DOT:
- s_keycode = KC_1;
- k_shifted = &ques_shifted;
- break;
- default:
- return true;
- }
-
- shifted = get_mods() & (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT));
-
- // Keydown. If shift is currently pressed, register its alternate keycode.
- if (record->event.pressed && shifted) {
- *k_shifted = true;
- register_code(s_keycode);
- return false;
- // Keyup. If shift was pressed back when the key was pressed, unregister
- // its alternate keycode.
- } else if (!(record->event.pressed) && *k_shifted) {
- *k_shifted = false;
- unregister_code(s_keycode);
- return false;
- // Otherwise, behave as normal.
- } else {
- return true;
- }
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- return \
- process_record_cdeq(keycode, record) && \
- process_record_layout(keycode, record);
-}
-
-// Set the bits of A selected by MASK to the corresponding bits of B
-#define setbits(A, B, MASK) A = (A & (B | ~MASK)) | (B & MASK)
-
-void led_set_user(uint8_t usb_leds) {
- // A simple (but technically inaccurate) model of the momentary layer state:
- // Red layer active -> indicator = red
- // Blue layer active -> indicator = blue
- // Purple layer active -> indicator = purple
- // the Pro Micro tx LED displays Num Lock status.
- //
- // Workman layout active -> indicator = green
- // Workman red layer -> indicator = yellow (red + green)
- // Workman blue layer -> indicator = cyan (blue + green)
- // Workman purple layer -> indicator = white (red + blue + green)
-
- // Bit # 7 6 5 4 3 2 1 0
- // layer_state: [ | _xF | _xN | _xS | _xW | _xD | _xC | _xQ ]
- // usb_led [ | | |kana |cmps |scrl |caps | num ]
- // PORTB: [ NC | 10 | 9 | 8 | 14 | 16 | 15 |rxled]
- // PORTC: [ NC | 5 | | | | | | ]
- // PORTD: [ 6 | NC |txled| 4 | tx* | rx* | grn | p29 ]
- // PORTE: [ | 7 | | | | | | ]
- // PORTF: [ a0 | a1 | red | blu | | | NC | NC ]
- //
- // PD0 is connected to the pairing switch and p29 on the wireless module.
- // PF0,PF1,PB7,PC7,PD6 are not broken out by the pro micro board. I don't understand why.
- // PB1-PB6,PD4,PD5,PD6,PF6,PF7 are not connected to the Mitosis receiver
- // board. Each may be connected to an LED by way of a resistor (4.7k to
- // match the others) for a total of 14 additional indicators.
-
- uint32_t portf_bits = \
- ((layer_state|default_layer_state)&0b01100000)>>1 | \
- ((layer_state|default_layer_state)&0b00010000)<<1 | \
- ((layer_state|default_layer_state)&0b01000000)>>2;
- uint32_t portd_bits = \
- (usb_leds&0b1)<<5 | \
- ((layer_state|default_layer_state)&0b1000)>>2;
- // negated because for ports 0=LED on.
- setbits(PORTF, ~portf_bits, 0b00110000);
- setbits(PORTD, ~portd_bits, 0b00100010);
-}
-
-// vim: set sw=2 et:
diff --git a/keyboards/mitosis/keymaps/datagrok/readme.md b/keyboards/mitosis/keymaps/datagrok/readme.md
deleted file mode 100644
index 22d7f4d2fc..0000000000
--- a/keyboards/mitosis/keymaps/datagrok/readme.md
+++ /dev/null
@@ -1,274 +0,0 @@
-# a layout for the Mitosis
-
-- Emphasis on momentary modifiers, all usable from either hand, arranged symmetrically, but left/right distinguishable by the OS.
- I place left- and right-versions of Shift, GUI ("Super"), and Alt ("Meta"), and Henkan/Muhenkan (which I plan to overload for "Hyper").
-
- I'm going for a [Space Cadet](https://en.wikipedia.org/wiki/Space-cadet_keyboard) aesthetic;
- I want a keyboard that can (even just in theory) make use of all the bucky bits my operating system can support.
-
-- Red key and Blue key momentary-enable (like a shift key) one of three layers:
-
- - Red: Symbols layer
- - Blue: Numbers layer
- - "Purple" (both Red and Blue): Functions layer
-
- This tri-state layer mechanism is a bit similar to Planck and Preonic's "Raise," "Lower," and "Adjust."
-
-- The base layer is QWERTY.
- [Colemak][], [Dvorak][], and [Workman][] may be toggled using `Red`+`Blue`+`Z`.
- When you find the one you like, save it with `Shift`+`Red`+`Blue`+`Z`.
-
-- Minimize hand travel, so as not to lose orientation with home row.
-
-- `?` and `!` are moved to take the place of `<` and `>`.
- Rationale: unmodded and shifted keys should be for prose, while symbols useful for programming should be colocated on their own layer.
-
-- Key positions chosen for mnemonics.
- For example, you can distinguish between alphanumeric numerals and keypad numerals, but they occupy the same key positions.
-
-## Layout Images
-
-![mitosis:datagrok layout base layer](https://i.imgur.com/tap5Pjf.png)
-
-Base layer. Notes:
-- customized comma and period, which have exclamation point and question mark on their shift layer.
-- tap right-shift for underscore, tap left-shift for tab.
-
-![mitosis:datagrok layout red layer](https://i.imgur.com/sMGr34T.png)
-
-Red layer. Intended for common navigation and programming symbols. Notes:
-- symmetric layout of paired braces/brackets/slashes for easier memorization
-- arrows placed directly on home position
-
-![mitosis:datagrok layout blue layer](https://i.imgur.com/dDb2563.png)
-
-Blue layer. Intended for "number pad." Notes:
-- Keycodes generated for numbers, enter key, and mathematical symbols are from the alphanumeric keys, not keypad.
- This way they are not influenced by the state of Num Lock.
- If you want to send the keypad equivalents, just press Blue as well to access keypad numbers in the same positions in the Purple layer.
-
-![mitosis:datagrok layout purple layer](https://i.imgur.com/pESzy2u.png)
-
-Purple (Red+Blue) layer. Intended for "true keypad" and various functions. Notes:
-- Numbers on this layer send Keypad codes, so the result will be affected by the state of Num Lock.
-- "Switch Layout" toggles the alphabet keys between QWERTY, Colemak, Dvorak, and Workman.
- Shift + "Switch Layout" stores the currently selected alphabet layout in eeprom, so the selection persists across reboots and computers.
-- Page Up / Page Down / Home / End are placed on corresponding arrow keys.
-
-Keyboard layout editor sources:
-[base](http://www.keyboard-layout-editor.com/#/gists/bc2d06a3203d1bc3a14ed2245cf39643)
-[red](http://www.keyboard-layout-editor.com/#/gists/dbbf65f726a5522824b75117a62a321e)
-[blue](http://www.keyboard-layout-editor.com/#/gists/240e807f3d7e1d3ddabe1b69ee675048)
-[purple](http://www.keyboard-layout-editor.com/#/gists/9559f0f8bb1ee47677c8f2b4d766829d)
-
-[Imgur album](https://imgur.com/a/hm4bbdM)
-
-## Indicators
-
-- When Red layer is active, the RGB indicator turns red.
-- When Blue layer is active, the RGB indicator turns blue.
-- When Purple layer is active, the RGB indicator turns purple.
-- When the Workman layer is active, the RGB indicator turns green.
- Currently, this means that activating the Red layer while using the Workman layout will make the indicator show yellow. (red + green.)
-- The Num Lock status is shown on the Pro Micro tx LED.
-- If you attach a speaker to PC6 (pin 5) and compile with AUDIO_ENABLE=yes, music will be played at startup, when switching default layers, and when saving the default layer.
-
-## Variants
-
-Some additional compile-time options for this layout are available by editing rules.mk or compiling like so:
-
-Normal compilation:
-
-```make mitosis:datagrok```
-
-Swap Space onto bottom thumb row: swaps Red/Backspace/Space/Red with Blue/Shift/Shift/Blue:
-
-```make mitosis:datagrok MITOSIS_DATAGROK_BOTTOMSPACE=yes```
-
-Lower baud UART. Useful when using an 8Mhz pro micro; corresponding changes required in wireless firmware. See rules.mk for details.
-
-```make mitosis:datagrok MITOSIS_DATAGROK_SLOWUART=yes```
-
-## Design notes
-
-### Workman layout
-
-- I'm learning a new physical key placement, so I might as well go all-out and use an optimal non-QWERTY layout.
- Bonus: it's easy to switch back to QWERTY on a traditional row-staggered keyboard.
- The designer of the Mitosis had [a similar experience](https://www.reddit.com/r/MechanicalKeyboards/comments/66588f/wireless_split_qmk_mitosis/dgfr22q/).
-
-- I like the way Workman feels and some of its advantages over Colemak.
- Unfortunately, it was designed using a weighting system based on a standard
- row-staggered keyboard so is probably not as optimal as one could achieve
- on an ergonomic board like the Mitosis. Maybe run an optimizer routine after I
- determine good values for key difficulty on the Mitosis.
-
-### 8Mhz Pro Micro
-
-- I (used to) use a 3.3v Pro Micro clocked at 8Mhz rather than the 5v 16Mhz specified in the Mitosis design.
- That can't communicate with the connected wireless module at the default speed of 1M baud.
- The next fastest baudrate that works without errors is 250k baud.
- So if you want to do the same:
-
- - Set the Pro Micro clock and baud rate correctly in `rules.mk`:
- ```
- F_CPU = 800000
- MITOSIS_DATAGROK_SLOWUART = yes
- ```
- - Configure the receiver's wireless module to communicate at 250k baud in `main.c`. See https://github.com/reversebias/mitosis/pull/10
- ```
- - UART_BAUDRATE_BAUDRATE_Baud1M
- + UART_BAUDRATE_BAUDRATE_Baud250000
- ```
-
-### Layout mnemonics
-
-- Paired programming symbols (braces, brackets, parentheses) are arranged symmetrically in the Red layer.
-
-- Arrow keys are in the home position on the Red layer.
-
- - Blue+Arrows = PgUp/PgDn/Home/End, which is intuitive for me and similar to what is done on Apple and some Dell keyboards.
-
-- The number pad: I placed the ten-key number pad on the Blue layer.
- However, this would do the wrong thing when Num Lock was not enabled.
- Rather than attempt to manage the state of Num Lock, I arranged the normal number keys in a ten-key layout on the Blue layer instead.
- If you explicitly want the keypad keys, they're in the same position on the Red+Blue layer.
-
-- Number-pad add, subtract, multiply, and divide are located on the same keys as alphanumeric plus, dash, asterisk, and slash, respectively.
-
-- The Function-keys are arranged to mimic the order of the ten-key pad.
-
-- Enter is now in a more qwerty-familiar location, and may be activated with one hand.
- Numpad Enter is in the same position for mnemonics.
-
-- Why do I dislike [snake\_case](https://en.wikipedia.org/wiki/Snake_case) (`__variable_names_that_use_underscores_`)?
- Maybe because it's hard to type all those underscores requiring the shift key?
- Hypothesis: I'll be less annoyed by snake case by placing `_` at an unmodded position, right near the `space` key.
-
-
-## Changelog
-
-### Current
-
-- Discard "intentionally difficult backspace" idea.
- Tab returns to left-shift.
- Del returns to Red+Backspace
-- "High Profile mode:" Swap Red/Backspace/Space/Red with Blue/Shift/Shift/Blue (placing space on lower thumb keys) using `MITOSIS_DATAGROK_BOTTOMSPACE=yes` when compiling.
-- Move Print Screen / Scroll Lock / Pause to pinky column on Blue layer.
-- Let's try using TT instead of MO so we can e.g. lock-on the keypad.
- - We still use MO for first modifier, so e.g. Red + tapping Blue will lock purple.
- So far it feels a bit janky, we'll see.
-- One key `KC_LAYO` to cycle through available base layers instead of a dedicated key for each;
- Shift + `KC_LAYO` stores current base layer selection in eeprom so it comes back after disconnecting or a reset.
-- Added Colemak and Dvorak as default layers that may be selected.
-- Set UART to 250kbaud with make argument `MITOSIS_DATAGROK_SLOWUART=yes`, for use with 8Mhz Pro Micros.
-- Display Num Lock status on tx LED
-
-### 0.6.60
-
-- Experiment: no-modifier underscore on right shift key.
-- New combined numbers + keypad arrangement.
- No more worrying about Num Lock key.
-- Move F-keys to left board to make room.
- Calling them "the Numbers layer" and "the Functions layer" is now less accurate but the arrangement feels better.
-- Audio working!
-- Move Tab and Space to upper thumb row.
- I discarded the high-profile acrylic case from my Mitosis.
- With a low-profile case, it's easier to hit the upper row of thumb keys.
-- Discard all my `#defines` for "Meta", "Super", and "Hyper".
- I can call them that without making the code confusing to others.
-- Move Backspace to Red+A. I shouldn't be using it much anyway.
- This means Tab and Shift might as well be separate keys again.
-- Distribute paired symbols symmetrically across boards like `\<{([ ])}>/`.
- Opening-symbols on the right hand was a failed experiment.
-- Change default back to target a 16Mhz/5v Pro Micro.
- I damaged the 8Mhz Pro Micro I was using so now I'm back to using a 16mhz Pro Micro again.
-
-### 0.6.1
-
-- Place Tab on Shift without a modifier. We use it frequently for autocomplete.
-- Make QWERTY the default layout. So more people can try it out. My customized Workman is easily toggled-on.
-- Don't use redundant `#define` for `KC_TRNS`
-- Place Num Lock somewhere. Otherwise (if it gets turned off) we can't type any numbers!
-- Add some media keys
-
-### 0.5.155
-
-- Enable use with my 3.3v Pro Micro
-- Add a toggle-able QWERTY layer
-- Golf down the LED-setting code
-- Place `!` and `?` on `Shift`+`,` and `Shift`+`.`.
-- Distribute paired symbols symmetrically across boards like `\)}]> <[{(/`
-
-### 0.5.129
-
-- A modified Workman variant for Mitosis
-- Arrows in home position, modifier + Arrow = PgUp/PgDn/Home/End
-- Load all paired symbols onto angle-bracket keys.
-
-### Abandoned ideas
-
-- Abandoned: intentionally-difficult backspace.
- "Backspace is one of the keys I most dislike on a QWERTY keyboard because it moves me away from homerow and I need to use it so often.
- Rather than make it easier to strike, I want to discourage myself from using it and train myself to type more accurately."
-
- - Many other people like an easy-to-reach backspace.
- - Many other split-spacebar ergo boards place backspace at the thumbs.
- - I can still train myself to type well with it in an easy location.
- - I couldn't think of anything really better to put opposite space.
-
-- Abandoned: pile all brackets onto one pair of keys.
- "Since QWERTY and Workman keep angle brackets together, place other enclosing symbols on the same keys."
-
- - I didn't like having to pick the right modifier to get the right flavor of bracket.
- Instead, now, one modifier activates a symbols layer where all brackets are easily accessible.
-
-- Abandoned: chorded Enter without proper chording detection
-
- - I tried to make Red+Space = Enter with the intention that I could hit both with my thumb.
- That didn't work well; I always trigger space first when mashing the keys
- simultaneously. ~~This might not continue to be true if I change the angle
- at which I strike the keys e.g. with a neoprene base or a wrist support.~~
- Even with a wrist rest or low-profile, this is hard to do with one hand.
- Need to adjust the firmware to understand chorded thumb keys.
-
-## To do
-
-- Ctrl+'+' doesn't seem to work; fix.
-- **Shared Layouts.**
- Figure out how to make use of QMK's common `layouts/`
-- **Chorded Combos.**
- Since the thumb keys are arranged such that it's easy to smash pairs of keys with just one thumb, figure out how to enable chording.
- For example, a single-finger Shift+Space or Red+Space that doesn't do the wrong thing if Space happens to trigger first.
-- Improve **LED indications** (may require modding bluetooth firmware):
- - Num Lock status
- - Is any board nonresponsive (which one?)
- - Does either board have a low battery?
-- **Num Lock management.**
- Num lock currently occupies prime real estate, but I never use it except to fix it when it's wrong.
- Do any of my applications use it?
- Should I have the firmware ensure it is set how I want it?
- Maybe cause it to be momentary active with Blue?
- See [@drashna's comment](https://github.com/qmk/qmk_firmware/pull/2366#issuecomment-404951953) for code to force it always-on, which I don't know if I want.
-- ~~Store default layer in eeprom?~~
-- Allow "!? on ,." to be easily toggled-off.
-- Modularize "!? on ,." so it can be easily used on any QMK keyboard. (about half done)
-- See if the henkan/muhenkan placement is at all useful for Japanese speakers,
- or abuse different keysyms for Left/Right Hyper. (Original space cadet used
- scancodes 145/175. 145 is LANG2, 175 is "reserved" in USB HID spec.)
-- Implement "layer lock" key
-- Feature parity with popular boards e.g. Planck?
- - Layers for ~~Dvorak, Coleman,~~ Plover
- - More music and midi stuff
- - Macros?
-- Improve tri-layer behavior
-- Find out what `update_tri_layer_state` offers that my simple layers arrangement lacks.
-- ~~Find a better location for Caps Lock, PrintScr/SysRq, Scroll Lock, Pause/Break,~~.
- Placed on Blue layer. Caps will be Shift+"Layer Lock," once I get that working.
-- ~~Figure out where to place non-numpad numbers so we don't need num lock turned on to type them?~~
-- ~~Add Insert, PrintScr, Pause/Break~~
-- ~~Make QWERTY base layer for people who customize layout in software?~~
- I default to QWERTY now.
-- ~~Mod a buzzer onto my receiver and enable tones~~ Easy and works!
-
-[Workman]: https://viralintrospection.wordpress.com/2010/09/06/a-different-philosophy-in-designing-keyboard-layouts/
diff --git a/keyboards/mitosis/keymaps/datagrok/rules.mk b/keyboards/mitosis/keymaps/datagrok/rules.mk
deleted file mode 100644
index 215e58a7d1..0000000000
--- a/keyboards/mitosis/keymaps/datagrok/rules.mk
+++ /dev/null
@@ -1,35 +0,0 @@
-# Space and "Red" modifier are keys I want in the easiest-to-reach position in
-# the thumb row. Depending on the angle and height of the Mitosis and the type
-# of keycaps you use, the upper row or the lower row of thumb keys might be more
-# comfortable for you. I put red/space on the upper row and blue/shift on the
-# lower, but to swap that, set MITOSIS_DATAGROK_BOTTOMSPACE = yes. This has the
-# effect of swapping only the four center keys on the upper row of thumb keys with that
-# of the lower row of thumb keys.
-MITOSIS_DATAGROK_BOTTOMSPACE = no
-
-# I used to use a pro micro clocked at 8Mhz. It can't reach the same baud rate
-# that the standard 16Mhz-clocked pro micro can, so the baud rate needs to be
-# lowered. Set this to "yes" to do that. See also
-# https://github.com/reversebias/mitosis/pull/10
-MITOSIS_DATAGROK_SLOWUART = no
-
-AUDIO_ENABLE = no # audio output
-FAUXCLICKY_ENABLE = no
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = no # Commands for debug and configuration
-UNICODE_ENABLE = no # Unicode
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-MIDI_ENABLE = no # MIDI controls
-
-ifeq ($(strip $(MITOSIS_DATAGROK_BOTTOMSPACE)), yes)
- OPT_DEFS += -DMITOSIS_DATAGROK_BOTTOMSPACE
-endif
-ifeq ($(strip $(MITOSIS_DATAGROK_SLOWUART)), yes)
- OPT_DEFS += -DMITOSIS_DATAGROK_SLOWUART
-endif
-
-# vim: set ts=8 noet:
diff --git a/keyboards/mitosis/keymaps/default/keymap.c b/keyboards/mitosis/keymaps/default/keymap.c
deleted file mode 100644
index ec440ed759..0000000000
--- a/keyboards/mitosis/keymaps/default/keymap.c
+++ /dev/null
@@ -1,213 +0,0 @@
-// this is the style you want to emulate.
-// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
-
-#include QMK_KEYBOARD_H
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum mitosis_layers
-{
- _MALT,
- _SHIFTED,
- _FUNCTION,
- _FUNCSHIFT
-};
-
-enum mitosis_keycodes
-{
- FNKEY = SAFE_RANGE,
- SHIFT
-};
-
-
-// Macro definitions for readability
-enum mitosis_macros
-{
- VOLU,
- VOLD,
- ESCM
-};
-
-#define LONGPRESS_DELAY 150
-#define LAYER_TOGGLE_DELAY 300
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_MALT] = LAYOUT( /* Malt Layout, customised for reduced columns (ex: quote and shift locations) */
- KC_Q, KC_P, KC_Y, KC_C, KC_B, KC_V, KC_M, KC_U, KC_Z, KC_L,
- KC_A, KC_N, KC_I, KC_S, KC_F, KC_D, KC_T, KC_H, KC_O, KC_R,
- KC_COMM, KC_DOT, KC_J, KC_G, KC_SLSH, KC_SCLN, KC_W, KC_K, KC_QUOT, KC_X,
- M(VOLU), M(ESCM), KC_TAB, KC_LCTL, KC_LALT, KC_ENT, KC_DEL, KC_PGUP,
- M(VOLD), KC_LGUI, KC_E, FNKEY, SHIFT, KC_SPC, KC_BSPC, KC_PGDN
- ),
-
-
- [_SHIFTED] = LAYOUT( /* Shifted Layer, layered so that tri_layer can be used, or selectively
- able to modify individual key's shifted behaviour */
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-
-
- [_FUNCTION] = LAYOUT( /* Function Layer, primary alternative layer featuring numpad on right hand,
- cursor keys on left hand, and all symbols*/
- KC_AMPR, KC_PERC, KC_UP, KC_CIRC, KC_PIPE, KC_LBRC, KC_7, KC_8, KC_9, KC_MINS,
- KC_AT, KC_LEFT, KC_DOWN, KC_RGHT, KC_HASH, KC_LPRN, KC_4, KC_5, KC_6, KC_PLUS,
- KC_ASTR, KC_UNDS, KC_EXLM, KC_DLR, KC_BSLS, KC_LCBR, KC_1, KC_2, KC_3, KC_ENT,
- KC_HOME, KC_GRV, KC_PWR, _______, _______, KC_EQL, KC_TILD, KC_DOT,
- KC_END, _______, _______, _______, _______, KC_0, _______, KC_PSCR
- ),
-
-
- [_FUNCSHIFT] = LAYOUT( /* Function Shifted Layer, secondary alternative layer with closing brackets,
- and F-keys under their numpad equivalents*/
- _______, _______, _______, _______, _______, KC_RBRC, KC_F7, KC_F8, KC_F9, KC_F10,
- _______, _______, _______, _______, _______, KC_RPRN, KC_F4, KC_F5, KC_F6, KC_F11,
- _______, _______, _______, _______, _______, KC_RCBR, KC_F1, KC_F2, KC_F3, KC_F12,
- _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- )
-
-};
-
-static uint16_t key_timer;
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- // MACRODOWN only works in this function
- switch(id) {
-
- //switch multiplexing for media, short tap for volume up, long press for play/pause
- case VOLU:
- if (record->event.pressed) {
- key_timer = timer_read(); // if the key is being pressed, we start the timer.
- } else { // this means the key was just released, so we can figure out how long it was pressed for (tap or "held down").
- if (timer_elapsed(key_timer) > LONGPRESS_DELAY) { // LONGPRESS_DELAY being 150ms, the threshhold we pick for counting something as a tap.
- return MACRO(T(MPLY), END);
- } else {
- return MACRO(T(VOLU), END);
- }
- }
- break;
-
- //switch multiplexing for media, short tap for volume down, long press for next track
- case VOLD:
- if (record->event.pressed) {
- key_timer = timer_read();
- } else {
- if (timer_elapsed(key_timer) > LONGPRESS_DELAY) {
- return MACRO(T(MNXT), END);
- } else {
- return MACRO(T(VOLD), END);
- }
- }
- break;
-
- //switch multiplexing for escape, short tap for escape, long press for context menu
- case ESCM:
- if (record->event.pressed) {
- key_timer = timer_read();
- } else {
- if (timer_elapsed(key_timer) > LONGPRESS_DELAY) {
- return MACRO(T(APP), END);
- } else {
- return MACRO(T(ESC), END);
- }
- }
- break;
-
- break;
- }
- return MACRO_NONE;
-};
-
-static bool singular_key = false;
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-
- uint8_t layer;
- layer = biton32(layer_state); // get the current layer
-
- //custom layer handling for tri_layer,
- switch (keycode) {
- case FNKEY:
- if (record->event.pressed) {
- key_timer = timer_read();
- singular_key = true;
- layer_on(_FUNCTION);
- } else {
- if (timer_elapsed(key_timer) < LAYER_TOGGLE_DELAY || !singular_key) {
- layer_off(_FUNCTION);
- }
- }
- update_tri_layer(_FUNCTION, _SHIFTED, _FUNCSHIFT);
- return false;
- break;
- //SHIFT is handled as LSHIFT in the general case
- case SHIFT:
- if (record->event.pressed) {
- key_timer = timer_read();
- singular_key = true;
- layer_on(_SHIFTED);
- register_code(KC_LSFT);
- } else {
- if (timer_elapsed(key_timer) < LAYER_TOGGLE_DELAY || !singular_key) {
- layer_off(_SHIFTED);
- unregister_code(KC_LSFT);
- }
- }
- update_tri_layer(_FUNCTION, _SHIFTED, _FUNCSHIFT);
- return false;
- break;
-
- //If any other key was pressed during the layer mod hold period,
- //then the layer mod was used momentarily, and should block latching
- default:
- singular_key = false;
- break;
- }
-
- //FUNCSHIFT has been shifted by the SHIFT handling, some keys need to be excluded
- if (layer == _FUNCSHIFT) {
- //F1-F12 should be sent as unshifted keycodes,
- //and ] needs to be unshifted or it is sent as }
- if ( (keycode >= KC_F1 && keycode <= KC_F12)
- || keycode == KC_RBRC ) {
- if (record->event.pressed) {
- unregister_mods(MOD_LSFT);
- } else {
- register_mods(MOD_LSFT);
- }
- }
- }
-
- return true;
-};
-
-void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
-
- switch (layer) {
- case _MALT:
- set_led_off;
- break;
- case _FUNCTION:
- set_led_blue;
- break;
- case _SHIFTED:
- set_led_red;
- break;
- case _FUNCSHIFT:
- set_led_green;
- break;
- default:
- break;
- }
-};
-
diff --git a/keyboards/mitosis/keymaps/mjt/config.h b/keyboards/mitosis/keymaps/mjt/config.h
deleted file mode 100644
index 71adc5a2df..0000000000
--- a/keyboards/mitosis/keymaps/mjt/config.h
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
-
-#ifdef AUDIO_ENABLE
- #define STARTUP_SONG SONG(PLANCK_SOUND)
- // #define STARTUP_SONG SONG(NO_SOUND)
-
- #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
- SONG(COLEMAK_SOUND), \
- SONG(DVORAK_SOUND) \
- }
-#endif
-
-#define AUDIO_VOICES
-#define C6_AUDIO
-
-// fix iPhone power adapter issue
-#define USB_MAX_POWER_CONSUMPTION 50
-
-
-#endif
diff --git a/keyboards/mitosis/keymaps/mjt/keymap.c b/keyboards/mitosis/keymaps/mjt/keymap.c
deleted file mode 100644
index f00bf59556..0000000000
--- a/keyboards/mitosis/keymaps/mjt/keymap.c
+++ /dev/null
@@ -1,337 +0,0 @@
-// this is the style you want to emulate.
-// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
-
-#include QMK_KEYBOARD_H
-#ifdef AUDIO_ENABLE
- #include "audio.h"
-#endif
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum mitosis_layers
-{
- _QWERTY,
- _SHIFTED,
- _FUNCTIONPC,
- _FUNCTIONMAC,
- _FUNCSHIFT,
- _ADJUST
-};
-
-enum mitosis_keycodes
-{
- FNKEY = SAFE_RANGE,
- SHIFT,
- MACSLEEP,
- FNMAC,
- FNPC,
- AUDIOTEST,
- DYNAMIC_MACRO_RANGE,
-};
-
-
-// Macro definitions for readability
-enum mitosis_macros
-{
- VOLU,
- VOLD,
- ESCM
-};
-
-
-#include "dynamic_macro.h"
-
-#define LONGPRESS_DELAY 150
-#define LAYER_TOGGLE_DELAY 900
-
-// Fillers to make layering more clear
-#define __MOD__ KC_TRNS
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTY] = LAYOUT( /* QWERTY adapted to this crazy thing */
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
- SFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, SFT_T(KC_SLSH),
- KC_LCTL, M(ESCM), KC_TAB, KC_QUOT, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,
- KC_LALT, KC_LGUI, KC_SPC, SHIFT, FNKEY, KC_BSPC, KC_ENT, MO(_ADJUST)
- ),
-
-
- [_SHIFTED] = LAYOUT( /* Shifted Layer, layered so that tri_layer can be used, or selectively
- able to modify individual key's shifted behaviour */
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- __MOD__, KC_DEL, _______, _______, _______, _______, _______, _______,
- __MOD__, __MOD__, _______, __MOD__, __MOD__, _______, _______, XXXXXXX
- ),
-
-
- [_FUNCTIONPC] = LAYOUT( /* Function Layer mimicks planck's raise layer somewhat */
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
- LCTL(KC_A), LCTL(KC_S), _______, LCTL(KC_F),_______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC,
- LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V),_______, _______, KC_BSLS, _______, _______, KC_QUOT,
- __MOD__, KC_DEL, _______, KC_GRV, KC_HOME, KC_PGDN, KC_PGUP, KC_END,
- __MOD__, __MOD__, _______, __MOD__, __MOD__, _______, KC_PSCR, XXXXXXX
- ),
-
- [_FUNCTIONMAC] = LAYOUT( /* Function Layer mimicks planck's raise layer somewhat */
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
- LGUI(KC_A), LGUI(KC_S), _______, LGUI(KC_F),_______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC,
- LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V),_______, _______, KC_BSLS, _______, _______, KC_QUOT,
- __MOD__, KC_DEL, _______, KC_GRV, KC_HOME, KC_PGDN, KC_PGUP, KC_END,
- __MOD__, __MOD__, _______, __MOD__, __MOD__, _______, KC_PSCR, XXXXXXX
- ),
-
- [_FUNCSHIFT] = LAYOUT( /* Function Shifted Layer mimicks planck's lower layer somewhat */
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, KC_LCBR, KC_RCBR,
- KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______,
- __MOD__, KC_DEL, _______, KC_TILD, _______, _______, _______, _______,
- __MOD__, __MOD__, _______, __MOD__, __MOD__, _______, _______, _______
- ),
-
-
- [_ADJUST] = LAYOUT( /* Adjust layer for fancy stuff and macros */
- RESET, FNPC, _______, _______, _______, _______, DYN_REC_START1, DYN_REC_START2, _______, _______,
- FNMAC, _______, AU_ON, AU_OFF, _______, _______, _______, _______, MACSLEEP, _______,
- MUV_DE, MUV_IN, MU_ON, MU_OFF, _______, _______, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY,
- __MOD__, _______, _______, _______, _______, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, _______,
- __MOD__, __MOD__, _______, __MOD__, __MOD__, _______, _______, __MOD__
- )
-
-};
-
-#ifdef AUDIO_ENABLE
-
-float tone_startup[][2] = SONG(STARTUP_SOUND);
-float tone_qwerty[][2] = SONG(QWERTY_SOUND);
-float tone_dyn_macro_rec[][2] = SONG(DVORAK_SOUND);
-float tone_dyn_macro_play[][2] = SONG(COLEMAK_SOUND);
-float tone_fnpc[][2] = SONG(PLOVER_SOUND);
-float tone_fnmac[][2] = SONG(PLOVER_GOODBYE_SOUND);
-float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
-
-float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
-#endif
-
-static uint16_t function_layer = _FUNCTIONMAC;
-static uint16_t key_timer;
-
-void persistent_function_layer_set(uint16_t new_function_layer) {
- // eeconfig_update_function_layer(new_function_layer);
- function_layer = new_function_layer;
- // should clear layers to avoid getting stuck.
-}
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- // MACRODOWN only works in this function
- switch(id) {
-
- //switch multiplexing for media, short tap for volume up, long press for play/pause
- case VOLU:
- if (record->event.pressed) {
- key_timer = timer_read(); // if the key is being pressed, we start the timer.
- } else { // this means the key was just released, so we can figure out how long it was pressed for (tap or "held down").
- if (timer_elapsed(key_timer) > LONGPRESS_DELAY) { // LONGPRESS_DELAY being 150ms, the threshhold we pick for counting something as a tap.
- return MACRO(T(MPLY), END);
- } else {
- return MACRO(T(VOLU), END);
- }
- }
- break;
-
- //switch multiplexing for media, short tap for volume down, long press for next track
- case VOLD:
- if (record->event.pressed) {
- key_timer = timer_read();
- } else {
- if (timer_elapsed(key_timer) > LONGPRESS_DELAY) {
- return MACRO(T(MNXT), END);
- } else {
- return MACRO(T(VOLD), END);
- }
- }
- break;
-
- //switch multiplexing for escape, short tap for escape, long press for context menu
- case ESCM:
- if (record->event.pressed) {
- key_timer = timer_read();
- } else {
- if (timer_elapsed(key_timer) > LONGPRESS_DELAY) {
- return MACRO(T(APP), END);
- } else {
- return MACRO(T(ESC), END);
- }
- }
- break;
- }
- return MACRO_NONE;
-};
-
-static bool singular_key = false;
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- uint16_t macro_kc = (keycode == MO(_ADJUST) ? DYN_REC_STOP : keycode);
- if (!process_record_dynamic_macro(macro_kc, record)) {
- return false;
- }
- uint8_t layer;
- layer = biton32(layer_state); // get the current layer
-
- //custom layer handling for tri_layer,
- switch (keycode) {
- case MACSLEEP:
- if (record->event.pressed) {
- // ACTION_MODS_KEY(MOD_LCTL | MOD_LSFT, KC_POWER);
- register_code(KC_RSFT);
- register_code(KC_RCTL);
- register_code(KC_POWER);
- unregister_code(KC_POWER);
- unregister_code(KC_RCTL);
- unregister_code(KC_RSFT);
- }
- return false;
- break;
- case FNKEY:
- if (record->event.pressed) {
- key_timer = timer_read();
- singular_key = true;
- // layer_on(_FUNCTION);
- layer_on(function_layer);
- } else {
- if (timer_elapsed(key_timer) < LAYER_TOGGLE_DELAY || !singular_key) {
- layer_off(function_layer);
- }
- }
- update_tri_layer(function_layer, _SHIFTED, _FUNCSHIFT);
- return false;
- break;
- //SHIFT is handled as LSHIFT in the general case
- case SHIFT:
- if (record->event.pressed) {
- key_timer = timer_read();
- singular_key = true;
- layer_on(_SHIFTED);
- register_code(KC_LSFT);
- } else {
- if (timer_elapsed(key_timer) < LAYER_TOGGLE_DELAY || !singular_key) {
- layer_off(_SHIFTED);
- unregister_code(KC_LSFT);
- }
- }
- update_tri_layer(function_layer, _SHIFTED, _FUNCSHIFT);
- return false;
- break;
- case FNPC:
- if (record->event.pressed) {
- persistent_function_layer_set(_FUNCTIONPC);
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_fnpc);
- #endif
- }
- return false;
- break;
- case FNMAC:
- if (record->event.pressed) {
- persistent_function_layer_set(_FUNCTIONMAC);
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_fnmac);
- #endif
- }
- return false;
- break;
- case AUDIOTEST:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(music_scale);
- register_code(KC_M);
- unregister_code(KC_M);
- #endif
- register_code(KC_A);
- } else {
- unregister_code(KC_A);
- }
- return false;
- break;
- //If any other key was pressed during the layer mod hold period,
- //then the layer mod was used momentarily, and should block latching
- default:
- singular_key = false;
- break;
- }
-
- //FUNCSHIFT has been shifted by the SHIFT handling, some keys need to be excluded
- if (layer == _FUNCSHIFT) {
- //F1-F12 should be sent as unshifted keycodes,
- //and ] needs to be unshifted or it is sent as }
- if ( (keycode >= KC_F1 && keycode <= KC_F12)
- || keycode == KC_RBRC ) {
- if (record->event.pressed) {
- unregister_mods(MOD_LSFT);
- } else {
- register_mods(MOD_LSFT);
- }
- }
- }
-
- return true;
-};
-
-#ifdef AUDIO_ENABLE
-
-void startup_user()
-{
- _delay_ms(20); // gets rid of tick
- PLAY_SONG(tone_startup);
-}
-
-void shutdown_user()
-{
- PLAY_SONG(tone_goodbye);
- _delay_ms(150);
- stop_all_notes();
-}
-
-void music_on_user(void)
-{
- music_scale_user();
-}
-
-void music_scale_user(void)
-{
- PLAY_SONG(music_scale);
-}
-
-#endif
-
-void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
-
- switch (layer) {
- case _QWERTY:
- set_led_off;
- break;
- case _FUNCTIONMAC:
- set_led_blue;
- break;
- case _FUNCTIONPC:
- set_led_cyan;
- break;
- case _SHIFTED:
- set_led_red;
- break;
- case _FUNCSHIFT:
- set_led_green;
- break;
- case _ADJUST:
- set_led_white;
- break;
- default:
- break;
- }
-};
diff --git a/keyboards/mitosis/keymaps/mjt/rules.mk b/keyboards/mitosis/keymaps/mjt/rules.mk
deleted file mode 100644
index 0259657677..0000000000
--- a/keyboards/mitosis/keymaps/mjt/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = yes # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
-
diff --git a/keyboards/mitosis/keymaps/nzen/keymap.c b/keyboards/mitosis/keymaps/nzen/keymap.c
deleted file mode 100644
index d9fd3641bc..0000000000
--- a/keyboards/mitosis/keymaps/nzen/keymap.c
+++ /dev/null
@@ -1,209 +0,0 @@
-
-
-#include QMK_KEYBOARD_H
-
-enum mitosis_layers
-{
- _QWERTY,
- _WORKMAN,
- _NUMBERS,
- _PUNCT,
- _MOUSE,
- _LAYERS,
- _GAMING,
- _UNICODE,
- _NUMPAD
-};
-
-
-//Mousekeys
-#define MOUSEKEY_DELAY 300
-#define MOUSEKEY_INTERNAL 50
-#define MOUSEKEY_MAX_SPEED 20
-#define MOUSEKEY_TIME_TO_MAX 30
-#define MOUSEKEY_WHEEL_MAX_SPEED 8
-#define MOUSEKEY_WHEEL_TIME_TO_MAX 40
-
-// Fillers to make layering more clear
-#define XXX KC_NO
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // https://github.com/nhou7/qmk_firmware_amj40/blob/master/doc/keycode.txt
- /* QWERTY
- ['Q', 'W', 'E', 'R', 'T',// 'Y', 'U', 'I', 'O', 'P' ],
- ['A', 'S', 'D', 'F', 'G',// 'H', 'J', 'K', 'L', '; :' ],
- ['Z', 'X', 'C', 'V', 'B',// 'N', 'M', ', <', '. >', '\' "' ],
- [ 'back', 'del', 'ctrl', 'L_n',// 'L_p', 'ctrl', 'ent', 'back', ],
- [ 'alt', '0', 'shif', 'spac',// 'spac', 'shif', 'cap', 'alt', ]
- */
- [_QWERTY] = LAYOUT(
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCOLON,
- KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_QUOTE,
- KC_BSPACE, KC_DELETE, KC_LCTRL, TG( 2 ), TG( 3 ), KC_RCTRL, KC_ENTER, KC_BSPACE,
- KC_LALT, KC_0, KC_LSHIFT, KC_SPACE, KC_SPACE, KC_RSHIFT, KC_CAPSLOCK, KC_RALT
- ),
- /*
- ['Q', 'D', 'R', 'W', 'B',/ ** / 'J', 'F', 'U', 'P', '; :' ],
- ['A', 'S', 'H', 'T', 'G',/ ** / 'Y', 'N', 'E', 'O', 'I' ],
- ['Z', 'X', 'M', 'C', 'V',/ ** / 'K', 'L', ', <', '. >', '\' "' ],
- [ '', '', '', '',/ ** / '', '', '', '', ],
- [ '', '4', '', '',/ ** / '', '', '', '', ]
- */
- [_WORKMAN] = LAYOUT(
- KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCOLON,
- KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I,
- KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMMA, KC_DOT, KC_QUOTE,
- _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_1, _______, _______, _______, _______, _______, _______
- ),
- /*
- ['9', '8', '7', '6', '5',/ ** / 'F2', 'pDn', *up* /, '*tab* /, 'pUp' ],
- [' 4', ' 3', ' 2', ' 1', ' 0',/ ** / 'home', *lf* /, '*dn* /, *rt* /, 'end' ],
- ['undo', 'cut', 'copy', 'paste', 'os',/ ** / 'D', '_', ',', '-', '.' ],
- // --
- [ '', '', '', 'L_=6',/ ** / 'L_7', '', '', '', ],
- [ '', '6', '', '',/ ** / '', '', '', '', ]
- */
- [_NUMBERS] = LAYOUT(
- KC_9, KC_8, KC_7, KC_6, KC_5, KC_F2, KC_PGDOWN, KC_UP, KC_TAB, KC_PGUP,
- KC_4, KC_3, KC_2, KC_1, KC_0, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_END,
- LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), KC_LGUI, KC_D, KC_UNDERSCORE, KC_COMMA, KC_MINUS, KC_DOT,
- _______, _______, _______, TG( 2 ), TG( 3 ), _______, _______, _______,
- _______, KC_2, _______, _______, _______, _______, _______, _______
- ),
- /*
- [ '#', '@', '&', '.', ';',/ ** / '_', ',', '|', '^', '%' ],
- [ '*', '+', '{', '(', ':',/ ** / '"', ')', '}', '-', '=' ],
- [ '\\', '?', '<', '[', '$',/ ** / '~', ']', '>', '!', '/' ],
- // --
- ['', '', '', 'L_8',/ ** / 'L_=7', '', '', '', ],
- ['', '7', '', '',/ ** / '', '', '', '', ]
- */
- [_PUNCT] = LAYOUT(
- KC_HASH, KC_AT, KC_AMPERSAND, KC_DOT, KC_SCOLON, KC_UNDERSCORE, KC_COMMA, KC_PIPE, KC_CIRCUMFLEX, KC_PERCENT,
- KC_ASTERISK, KC_PLUS, KC_LCBR, KC_LPRN, KC_COLON, KC_DQUO, KC_RPRN, KC_RCBR, KC_MINUS, KC_EQUAL,
- KC_BSLASH, KC_QUESTION, KC_LT, KC_LBRACKET, KC_DOLLAR, KC_TILDE, KC_RBRACKET, KC_GT, KC_EXCLAIM, KC_SLASH,
- _______, _______, _______, TG( 4 ), TG( 3 ), _______, _______, _______,
- _______, KC_3, _______, _______, _______, _______, _______, _______
- ),
- /*
- ['F6', 'F7', 'F8', 'F9', 'F10',/ ** / 'app', 'mb1', 'mmU', 'mb2', 'mwU' ],
- ['F1', 'F2', 'F3', 'F4', 'F5',/ ** / 'mnu', 'mmL', 'mmD', 'mmR', 'mwD' ],
- ['F11', 'F12', '`', 'mute', 'ESC',/ ** / 'prtSc', 'scrLk', 'mwL', 'mwR', 'mb3' ],
- // --
- [ '', '', '', 'L_=8',/ ** / 'L_9', '', '', '', ],
- [ '', '8', '', '',/ ** / '', '', '', '', ]
- */
- [_MOUSE] = LAYOUT(
- KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_MENU, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, KC_MS_WH_UP,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_MENU, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_MS_WH_DOWN,
- KC_F11, KC_F12, KC_GRAVE, KC__MUTE, KC_ESCAPE, KC_PSCREEN, KC_SLCK, KC_MS_WH_LEFT, KC_MS_WH_RIGHT, KC_MS_BTN3,
- _______, _______, _______, TG( 4 ), TG( 5 ), _______, _______, _______,
- _______, KC_4, _______, _______, _______, _______, _______, _______
- ),
- /*
- ['L_ma1', '!', 'L_dv2', '!', 'L_cl3',/ ** / 'L_wk4', '!', 'L_ar5', '!', '!' ],
- ['!', '!', '!', '!', '!',/ ** / '!', '!', '!', '!', '!' ],
- ['L_gmA', '!', 'L_ucB', '!', 'L_npC',/ ** / '!', '!', '!', '!', '!' ],
- // --
- [ '', '', '', 'L_=9',/ ** / 'L_=9', '', '', '', ],
- [ '', '9', '', '',/ ** / '', '', '', '', ]
- */
- [_LAYERS] = LAYOUT(
- KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, TG( 1 ), KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM,
- KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM,
- TG( 6 ), KC_EXCLAIM, TG( 7 ), KC_EXCLAIM, TG( 8 ), KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM,
- _______, _______, _______, TG( 5 ), TG( 5 ), _______, _______, _______,
- _______, KC_5, _______, _______, _______, _______, _______, _______
- ),
- /*
- ['Q', 'W', 'E', 'R', 'T',/ ** / 'P', 'Y', '\u2191'*up* /, 'K', '1' ],
- ['A', 'S', 'D', 'F', 'G',/ ** / 'H', '\u2190'*lf* /, '\u2193'*dn* /, '\u2192'*rt* /, '2' ],
- ['Z', 'X', 'C', 'V', 'B',/ ** / 'M', '*', '*', '*', '3' ],
- // --
- [ '', '', '', 'L_=A',/ ** / 'A', '', '', '', ],
- [ '', 'A', '', '',/ ** / '', '', '', '', ]
- */
- [_GAMING] = LAYOUT(
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_P, KC_Y, KC_UP, KC_K, KC_1,
- KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_LEFT, KC_DOWN, KC_RIGHT, KC_2,
- KC_Z, KC_X, KC_C, KC_V, KC_B, KC_M, KC_ASTERISK, KC_ASTERISK, KC_ASTERISK, KC_3,
- _______, _______, _______, TG( 6 ), KC_6, _______, _______, _______,
- _______, KC_6, _______, _______, _______, _______, _______, _______
- ),
- /*
- ['\u00a2'cent* /, '\u00bc'1/4* /, '\u00bd'1/2* /, '\u03a3'sum* /, '\u00d8'Oslash* /,/ ** / '\u250f'box ul* /, '\u2533'box um* /, '\u2513'box ur* /, '\u03bb'lambda* /, '\u2018'sm'dn* / ],
- ['\u00F1'n~* /, '\u00a9'&copy* /, '\u00b0'degrees* /, '\u00b1'+-* /, '\u2b0f'arrow up* /,/ ** / '\u2523'box ml* /, '\u254B'box mm* /, '\u252B'box mr* /, '\u0394'delta* /, '\u2019'sm'up* / ],
- ['\u00a1'down !* /, '\u00bf'down ?* /, '\u00d7'mult x* /, '\u00f7'div/ * /, '\u03c0'pi* /,/ ** / '\u2517'box ll* /, '\u253b'bos lm* /, '\u251b'box lr* /, '\u201c'sm"dn* /, '\u201d'sm"up* / ],
- // --
- [ '', '', '', 'L_=B',/ ** / 'B', '', '', '', ],
- [ '', 'B', '', '',/ ** / '', '', '', '', ]
- */
- [_UNICODE] = LAYOUT(
- UC(0x00A2), UC(0x00BC), UC(0x00BD), UC(0x03A3), UC(0x00D8), UC(0x250F), UC(0x2533), UC(0x2513), UC(0x03BB), UC(0x2018),
- UC(0x00F1), UC(0x00A9), UC(0x00B0), UC(0x00B1), UC(0x2B0F), UC(0x2523), UC(0x254B), UC(0x252B), UC(0x0394), UC(0x2019),
- UC(0x00A1), UC(0x00BF), UC(0x00D7), UC(0x00F7), UC(0x03C0), UC(0x2517), UC(0x253B), UC(0x251B), UC(0x201C), UC(0x201D),
- _______, _______, _______, TG( 7 ), KC_7, _______, _______, _______,
- _______, KC_7, _______, _______, _______, _______, _______, _______
- ),
- /*
- ['n-.', 'n-7', 'n-8', 'n-9', 'n--',/ ** / 'n-=', 'volU', 'volD', 'volU', 'volD' ],
- ['n-0', 'n-4', 'n-5', 'n-6', 'n-+',/ ** / 'N-lck', 'BACK', 'MUTE', 'RGUI', 'paus' ],
- ['n -*', 'n-1', 'n-2', 'n-3', 'n-/',/ ** / 'n-ent', 'PLAY', 'PREV', 'NEXT', 'insr' ],
- // --
- [ '', '', '', 'L_=C',/ ** / 'C', '', '', '', ],
- [ '', 'C', '', '',/ ** / '', '', '', '', ]
- */
- [_NUMPAD] = LAYOUT(
- KC_KP_DOT, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_MINUS, KC_KP_EQUAL, KC_AUDIO_VOL_UP, KC_AUDIO_VOL_DOWN, KC__VOLUP, KC__VOLDOWN,
- KC_KP_0, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_PLUS, KC_NUMLOCK, KC_WWW_BACK, KC_AUDIO_MUTE, KC_RGUI, KC_PAUSE,
- KC_KP_ASTERISK, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_SLASH, KC_KP_ENTER, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_PREV_TRACK, KC_MEDIA_NEXT_TRACK, KC_INSERT,
- _______, _______, _______, TG( 8 ), KC_8, _______, _______, _______,
- _______, KC_8, _______, _______, _______, _______, _______, _______
- )// ,
- /*
- * /
- [_] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- )
- */
-};
-
-void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
-
- switch (layer) {
- case _QWERTY:
- case _WORKMAN:
- set_led_off;
- break;
- case _NUMBERS:
- set_led_blue;
- break;
- case _PUNCT:
- set_led_red;
- break;
- case _MOUSE:
- set_led_green;
- break;
- case _LAYERS:
- set_led_yellow;
- break;
- case _UNICODE:
- set_led_cyan;
- break;
- default:
- break;
- }
-};
-
-void matrix_init_user(void) {
- set_unicode_input_mode(UC_LNX); // or UC_WINC
-};
-
-
diff --git a/keyboards/mitosis/keymaps/nzen/readme.md b/keyboards/mitosis/keymaps/nzen/readme.md
deleted file mode 100644
index c11981bd4d..0000000000
--- a/keyboards/mitosis/keymaps/nzen/readme.md
+++ /dev/null
@@ -1,75 +0,0 @@
-
-### personal layout: Nzen
-
-Levels
-
-* Qwerty, with quotes in place of slash question.
-* Workman
-* Numbers and navigation, left and right hands respectively
-* Punctuation, mostly symmetric
-* Function and mouse, l/r respectively
-* Layer hub, to reach workman or upper layers
-* Gaming, qwert and arrows
-* Unicode, some numerics and one of the box styles
-* Numpad and media, l/r respectively
-
-Bottom cluster is the same on all levels and mostly symmetric. The 'ring fingers' differ between the two sides. N is a number corresponding to the current layer. Toggle layer will be one down and one up.
-
-* back del/enter ctrl toggle-layer
-* alt N/caps shift space
-
-You can preview the layout by cloning [this webpage](https://gitlab.com/Nzen/impatient-broth-nenem). The page imitates qmk's fallthrough.
-
-['Q', 'W', 'E', 'R', 'T',// 'Y', 'U', 'I', 'O', 'P'
-['A', 'S', 'D', 'F', 'G',// 'H', 'J', 'K', 'L', '; :'
-['Z', 'X', 'C', 'V', 'B',// 'N', 'M', ', <', '. >', '\' "'
-[ 'back', 'del', 'ctrl', 'L_n',// 'L_p', 'ctrl', 'ent', 'back',
-[ 'alt', '0', 'shif', 'spac',// 'spac', 'shif', 'cap', 'alt',
-
-['Q', 'D', 'R', 'W', 'B',/ ** / 'J', 'F', 'U', 'P', '; :'
-['A', 'S', 'H', 'T', 'G',/ ** / 'Y', 'N', 'E', 'O', 'I'
-['Z', 'X', 'M', 'C', 'V',/ ** / 'K', 'L', ', <', '. >', '\' "'
-[ '', '', '', '',/ ** / '', '', '', '',
-[ '', '4', '', '',/ ** / '', '', '', '',
-
-['9', '8', '7', '6', '5',/ ** / 'F2', 'pDn', *up* /, '*tab* /, 'pUp'
-[' 4', ' 3', ' 2', ' 1', ' 0',/ ** / 'home', *lf* /, '*dn* /, *rt* /, 'end'
-['undo', 'cut', 'copy', 'paste', 'os',/ ** / 'D', '_', ',', '-', '.'
-[ '', '', '', 'L_=6',/ ** / 'L_7', '', '', '',
-[ '', '6', '', '',/ ** / '', '', '', '',
-
-[ '#', '@', '&', '.', ';',/ ** / '_', ',', '|', '^', '%'
-[ '*', '+', '{', '(', ':',/ ** / '"', ')', '}', '-', '='
-[ '\\', '?', '<', '[', '$',/ ** / '~', ']', '>', '!', '/'
-['', '', '', 'L_8',/ ** / 'L_=7', '', '', '',
-['', '7', '', '',/ ** / '', '', '', '',
-
-['F6', 'F7', 'F8', 'F9', 'F10',/ ** / 'app', 'mb1', 'mmU', 'mb2', 'mwU'
-['F1', 'F2', 'F3', 'F4', 'F5',/ ** / 'mnu', 'mmL', 'mmD', 'mmR', 'mwD'
-['F11', 'F12', '`', 'mute', 'ESC',/ ** / 'prtSc', 'scrLk', 'mwL', 'mwR', 'mb3'
-[ '', '', '', 'L_=8',/ ** / 'L_9', '', '', '',
-[ '', '8', '', '',/ ** / '', '', '', '',
-
-['L_ma1', '!', 'L_dv2', '!', 'L_cl3',/ ** / 'L_wk4', '!', 'L_ar5', '!', '!'
-['!', '!', '!', '!', '!',/ ** / '!', '!', '!', '!', '!'
-['L_gmA', '!', 'L_ucB', '!', 'L_npC',/ ** / '!', '!', '!', '!', '!'
-[ '', '', '', 'L_=9',/ ** / 'L_=9', '', '', '',
-[ '', '9', '', '',/ ** / '', '', '', '',
-
-['Q', 'W', 'E', 'R', 'T',/ ** / 'P', 'Y', '\u2191'*up* /, 'K', '1'
-['A', 'S', 'D', 'F', 'G',/ ** / 'H', '\u2190'*lf* /, '\u2193'*dn* /, '\u2192'*rt* /, '2'
-['Z', 'X', 'C', 'V', 'B',/ ** / 'M', '*', '*', '*', '3'
-[ '', '', '', 'L_=A',/ ** / 'A', '', '', '',
-[ '', 'A', '', '',/ ** / '', '', '', '',
-
-['\u00a2'cent* /, '\u00bc'1/4* /, '\u00bd'1/2* /, '\u03a3'sum* /, '\u00d8'Oslash* /,/ ** / '\u250f'box ul* /, '\u2533'box um* /, '\u2513'box ur* /, '\u03bb'lambda* /, '\u2018'sm'dn* / ],
-['\u00F1'n~* /, '\u00a9'&copy* /, '\u00b0'degrees* /, '\u00b1'+-* /, '\u2b0f'arrow up* /,/ ** / '\u2523'box ml* /, '\u254B'box mm* /, '\u252B'box mr* /, '\u0394'delta* /, '\u2019'sm'up* / ],
-['\u00a1'down !* /, '\u00bf'down ?* /, '\u00d7'mult x* /, '\u00f7'div/ * /, '\u03c0'pi* /,/ ** / '\u2517'box ll* /, '\u253b'bos lm* /, '\u251b'box lr* /, '\u201c'sm"dn* /, '\u201d'sm"up* /
-[ '', '', '', 'L_=B',/ ** / 'B', '', '', '',
-[ '', 'B', '', '',/ ** / '', '', '', '',
-
-['n-.', 'n-7', 'n-8', 'n-9', 'n--',/ ** / 'n-=', 'volU', 'volD', 'volU', 'volD'
-['n-0', 'n-4', 'n-5', 'n-6', 'n-+',/ ** / 'N-lck', 'BACK', 'MUTE', 'RGUI', 'paus'
-['n -*', 'n-1', 'n-2', 'n-3', 'n-/',/ ** / 'n-ent', 'PLAY', 'PREV', 'NEXT', 'insr'
-[ '', '', '', 'L_=C',/ ** / 'C', '', '', '',
-[ '', 'C', '', '',/ ** / '', '', '', '',
diff --git a/keyboards/mitosis/keymaps/nzen/rules.mk b/keyboards/mitosis/keymaps/nzen/rules.mk
deleted file mode 100644
index eaba18db96..0000000000
--- a/keyboards/mitosis/keymaps/nzen/rules.mk
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = no # Commands for debug and configuration
diff --git a/keyboards/mitosis/matrix.c b/keyboards/mitosis/matrix.c
deleted file mode 100644
index e149b68bd7..0000000000
--- a/keyboards/mitosis/matrix.c
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
-Copyright 2012 Jun Wako
-Copyright 2014 Jack Humbert
-
-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 <stdint.h>
-#include <stdbool.h>
-#if defined(__AVR__)
-#include <avr/io.h>
-#endif
-#include "wait.h"
-#include "print.h"
-#include "debug.h"
-#include "util.h"
-#include "matrix.h"
-#include "timer.h"
-
-#if (MATRIX_COLS <= 8)
-# define print_matrix_header() print("\nr/c 01234567\n")
-# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
-# define matrix_bitpop(i) bitpop(matrix[i])
-# define ROW_SHIFTER ((uint8_t)1)
-#elif (MATRIX_COLS <= 16)
-# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n")
-# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row))
-# define matrix_bitpop(i) bitpop16(matrix[i])
-# define ROW_SHIFTER ((uint16_t)1)
-#elif (MATRIX_COLS <= 32)
-# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n")
-# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row))
-# define matrix_bitpop(i) bitpop32(matrix[i])
-# define ROW_SHIFTER ((uint32_t)1)
-#endif
-
-/* matrix state(1:on, 0:off) */
-static matrix_row_t matrix[MATRIX_ROWS];
-
-
-__attribute__ ((weak))
-void matrix_init_kb(void) {
- matrix_init_user();
-}
-
-__attribute__ ((weak))
-void matrix_scan_kb(void) {
- matrix_scan_user();
-}
-
-__attribute__ ((weak))
-void matrix_init_user(void) {
-}
-
-__attribute__ ((weak))
-void matrix_scan_user(void) {
-}
-
-inline
-uint8_t matrix_rows(void) {
- return MATRIX_ROWS;
-}
-
-inline
-uint8_t matrix_cols(void) {
- return MATRIX_COLS;
-}
-
-void matrix_init(void) {
-
- matrix_init_quantum();
-}
-
-uint8_t matrix_scan(void)
-{
- SERIAL_UART_INIT();
-
- uint32_t timeout = 0;
-
- //the s character requests the RF slave to send the matrix
- SERIAL_UART_DATA = 's';
-
- //trust the external keystates entirely, erase the last data
- uint8_t uart_data[11] = {0};
-
- //there are 10 bytes corresponding to 10 columns, and an end byte
- for (uint8_t i = 0; i < 11; i++) {
- //wait for the serial data, timeout if it's been too long
- //this only happened in testing with a loose wire, but does no
- //harm to leave it in here
- while(!SERIAL_UART_RXD_PRESENT){
- timeout++;
- if (timeout > 10000){
- break;
- }
- }
- uart_data[i] = SERIAL_UART_DATA;
- }
-
- //check for the end packet, the key state bytes use the LSBs, so 0xE0
- //will only show up here if the correct bytes were recieved
- if (uart_data[10] == 0xE0)
- {
- //shifting and transferring the keystates to the QMK matrix variable
- for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
- matrix[i] = (uint16_t) uart_data[i*2] | (uint16_t) uart_data[i*2+1] << 5;
- }
- }
-
-
- matrix_scan_quantum();
- return 1;
-}
-
-inline
-bool matrix_is_on(uint8_t row, uint8_t col)
-{
- return (matrix[row] & ((matrix_row_t)1<<col));
-}
-
-inline
-matrix_row_t matrix_get_row(uint8_t row)
-{
- return matrix[row];
-}
-
-void matrix_print(void)
-{
- print_matrix_header();
-
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- phex(row); print(": ");
- print_matrix_row(row);
- print("\n");
- }
-}
-
-uint8_t matrix_key_count(void)
-{
- uint8_t count = 0;
- for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
- count += matrix_bitpop(i);
- }
- return count;
-}
diff --git a/keyboards/mitosis/mitosis.c b/keyboards/mitosis/mitosis.c
deleted file mode 100644
index 1ca7276e41..0000000000
--- a/keyboards/mitosis/mitosis.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include "mitosis.h"
-
-void uart_init(void) {
- SERIAL_UART_INIT();
-}
-
-void led_init(void) {
- DDRD |= (1<<1); // Pin to green, set as output
- PORTD |= (1<<1); // Turn it off
- DDRF |= (1<<4) | (1<<5); // Pins to red and blue, set as output
- PORTF |= (1<<4) | (1<<5); // Turn them off
-}
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
- matrix_init_user();
- uart_init();
- led_init();
-}
-
-#ifdef SWAP_HANDS_ENABLE
-__attribute__ ((weak))
-const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
-{{9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
-{{9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
-{{9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
-{{9, 3}, {8, 3}, {7, 3}, {6, 3}, {5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}},
-{{9, 4}, {8, 4}, {7, 4}, {6, 4}, {5, 4}, {4, 4}, {3, 4}, {2, 4}, {1, 4}, {0, 4}},
-};
-#endif
diff --git a/keyboards/mitosis/mitosis.h b/keyboards/mitosis/mitosis.h
deleted file mode 100644
index 4b73f0407a..0000000000
--- a/keyboards/mitosis/mitosis.h
+++ /dev/null
@@ -1,66 +0,0 @@
-#ifndef MITOSIS_H
-#define MITOSIS_H
-
-#include "quantum.h"
-#include "matrix.h"
-#include "backlight.h"
-#include <stddef.h>
-
-#define red_led_off PORTF |= (1<<5)
-#define red_led_on PORTF &= ~(1<<5)
-#define blu_led_off PORTF |= (1<<4)
-#define blu_led_on PORTF &= ~(1<<4)
-#define grn_led_off PORTD |= (1<<1)
-#define grn_led_on PORTD &= ~(1<<1)
-
-#define set_led_off red_led_off; grn_led_off; blu_led_off
-#define set_led_red red_led_on; grn_led_off; blu_led_off
-#define set_led_blue red_led_off; grn_led_off; blu_led_on
-#define set_led_green red_led_off; grn_led_on; blu_led_off
-#define set_led_yellow red_led_on; grn_led_on; blu_led_off
-#define set_led_magenta red_led_on; grn_led_off; blu_led_on
-#define set_led_cyan red_led_off; grn_led_on; blu_led_on
-#define set_led_white red_led_on; grn_led_on; blu_led_on
-
-/*
-#define LED_B 5
-#define LED_R 6
-#define LED_G 7
-
-#define all_leds_off PORTF &= ~(1<<LED_B) & ~(1<<LED_R) & ~(1<<LED_G)
-
-#define red_led_on PORTF |= (1<<LED_R)
-#define red_led_off PORTF &= ~(1<<LED_R)
-#define grn_led_on PORTF |= (1<<LED_G)
-#define grn_led_off PORTF &= ~(1<<LED_G)
-#define blu_led_on PORTF |= (1<<LED_B)
-#define blu_led_off PORTF &= ~(1<<LED_B)
-
-#define set_led_off PORTF &= ~(1<<LED_B) & ~(1<<LED_R) & ~(1<<LED_G)
-#define set_led_red PORTF = PORTF & ~(1<<LED_B) & ~(1<<LED_G) | (1<<LED_R)
-#define set_led_blue PORTF = PORTF & ~(1<<LED_G) & ~(1<<LED_R) | (1<<LED_B)
-#define set_led_green PORTF = PORTF & ~(1<<LED_B) & ~(1<<LED_R) | (1<<LED_G)
-#define set_led_yellow PORTF = PORTF & ~(1<<LED_B) | (1<<LED_R) | (1<<LED_G)
-#define set_led_magenta PORTF = PORTF & ~(1<<LED_G) | (1<<LED_R) | (1<<LED_B)
-#define set_led_cyan PORTF = PORTF & ~(1<<LED_R) | (1<<LED_B) | (1<<LED_G)
-#define set_led_white PORTF |= (1<<LED_B) | (1<<LED_R) | (1<<LED_G)
-*/
-
-// This a shortcut to help you visually see your layout.
-// The first section contains all of the arguments
-// The second converts the arguments into a two-dimensional array
-#define LAYOUT( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \
- k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \
- k31, k32, k33, k34, k35, k36, k37, k38, \
- k41, k42, k43, k44, k45, k46, k47, k48 \
-) \
- { \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09 }, \
- { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19 }, \
- { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29 }, \
- { KC_NO, k31, k32, k33, k34, k35, k36, k37, k38, KC_NO }, \
- { KC_NO, k41, k42, k43, k44, k45, k46, k47, k48, KC_NO } \
- }
-#endif
diff --git a/keyboards/mitosis/readme.md b/keyboards/mitosis/readme.md
deleted file mode 100644
index d3cf12af8d..0000000000
--- a/keyboards/mitosis/readme.md
+++ /dev/null
@@ -1,29 +0,0 @@
-# Mitosis
-
-![Mitosis](https://i.imgur.com/JTzXTCD.jpg)
-
-A wireless split compact keyboard.
-
-Keyboard Maintainer: [@reversebias](https://github.com/reversebias)
-Hardware Supported: Mitosis PCB
-Hardware Availability: See the [Mitosis keyboard announcement and discussion](https://www.reddit.com/r/MechanicalKeyboards/comments/66588f/wireless_split_qmk_mitosis/)
-
-Make example for this keyboard (after setting up your build environment):
-
- make mitosis:default
-
-See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
-
-## Notes
-
-Some circuit board manufacturers including [DirtyPCBs](https://dirtypcbs.com/) and [PCBWay](https://www.pcbway.com/) offer a steeply discounted "prototyping" rate for a small quantity of identical circuit boards less than 100x100mm in size. The Mitosis was designed to take advantage of this, so that individuals might affordably manufacture their own without waiting for a group-buy.
-
-These configuration files were based off the Atreus keyboard. It assumes a Pro Micro is being used, however retains the 'make upload' feature from the Atreus branch.
-
-This keyboard uses a completely different 'matrix scan' system than most other keyboards supported by QMK. Here, QMK runs in a Pro Micro on a receiver module, and communicates only with an nRF51822 microcontroller module that in turn does wireless communication. The nRF51822 maintains a matrix of keystates received from the same microcontrollers on each of the keyboard halves. The matrix.c file contains the code to make the Pro Micro poll the external wireless microcontroller for the key matrix. As long as this file is not changed, all other QMK features are supported.
-
-[Mitosis keyboard build log](https://imgur.com/a/mwTFj), including many photos and notes about the assembly process.
-
-[Mitosis keyboard hardware design files](https://github.com/reversebias/mitosis-hardware), including PCB schematics and manufacturing files, parts list, and a laser-cutting template for the neoprene base.
-
-[Mitosis keyboard wireless firmware](https://github.com/reversebias/mitosis) for the Nordic microcontrollers.
diff --git a/keyboards/mitosis/rules.mk b/keyboards/mitosis/rules.mk
deleted file mode 100644
index 0ca4ef1f06..0000000000
--- a/keyboards/mitosis/rules.mk
+++ /dev/null
@@ -1,75 +0,0 @@
-
-OPT_DEFS += -DMITOSIS_PROMICRO
-MITOSIS_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \
- avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB)
-
-# # project specific files
-SRC = matrix.c
-
-
-# MCU name
-#MCU = at90usb1287
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
-BOOTLOADER = caterina
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-# Build Options
-# comment out to disable the options.
-#
-#BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = yes # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-CUSTOM_MATRIX = yes # Remote matrix from the wireless bridge
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-# SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA
-# BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-# MIDI_ENABLE = yes # MIDI controls
-UNICODE_ENABLE = yes # Unicode
-# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID
-
-USB = /dev/ttyACM0
-
-# upload: build
-# $(MITOSIS_UPLOAD_COMMAND)