diff options
Diffstat (limited to 'keyboards/mitosis')
-rw-r--r-- | keyboards/mitosis/keymaps/carvac_dv/keymap.c | 131 | ||||
-rw-r--r-- | keyboards/mitosis/keymaps/carvac_dv/rules.mk | 1 | ||||
-rw-r--r-- | keyboards/mitosis/keymaps/mjt/Makefile | 17 | ||||
-rw-r--r-- | keyboards/mitosis/keymaps/mjt/config.h | 24 | ||||
-rw-r--r-- | keyboards/mitosis/keymaps/mjt/keymap.c | 343 | ||||
-rw-r--r-- | keyboards/mitosis/keymaps/mjt/rules.mk | 17 | ||||
-rw-r--r-- | keyboards/mitosis/readme.md | 37 | ||||
-rw-r--r-- | keyboards/mitosis/rules.mk | 4 |
8 files changed, 549 insertions, 25 deletions
diff --git a/keyboards/mitosis/keymaps/carvac_dv/keymap.c b/keyboards/mitosis/keymaps/carvac_dv/keymap.c new file mode 100644 index 000000000..52548bc95 --- /dev/null +++ b/keyboards/mitosis/keymaps/carvac_dv/keymap.c @@ -0,0 +1,131 @@ +// 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 "mitosis.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 + +// Fillers to make layering more clear +#define _______ KC_TRNS +#define XXXXXXX KC_NO + +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 | PSCR | LCTRL | SPACE || LSHIFT | ENTER | UP | BACKSP | + * |--------+--------+--------+--------||--------+--------+--------+--------| + * | PGDN | LGUI | LALT | FN || NUM | LEFT | DOWN | RIGHT | + * '-----------------------------------''-----------------------------------' + */ + +[_STD] = { /* 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 }, + {XXXXXXX, KC_PGUP, KC_PSCR, KC_LCTL, KC_SPC, KC_LSFT, KC_ENT, KC_UP, KC_BSPC, XXXXXXX }, + {XXXXXXX, KC_PGDN, KC_LGUI, KC_LALT, MO(_FN), MO(_NUM), KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX } +}, + +/* 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] = { /* 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 }, + {XXXXXXX, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, XXXXXXX }, + {XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX } +}, + + +/* 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] = { /* 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 }, + {XXXXXXX, KC_VOLU, _______, _______, _______, _______, _______, KC_PGUP, _______, XXXXXXX }, + {XXXXXXX, KC_VOLD, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END, XXXXXXX } +}, + +/* 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 new file mode 100644 index 000000000..6c605daec --- /dev/null +++ b/keyboards/mitosis/keymaps/carvac_dv/rules.mk @@ -0,0 +1 @@ +MOUSEKEY_ENABLE = yes diff --git a/keyboards/mitosis/keymaps/mjt/Makefile b/keyboards/mitosis/keymaps/mjt/Makefile new file mode 100644 index 000000000..a4137ad00 --- /dev/null +++ b/keyboards/mitosis/keymaps/mjt/Makefile @@ -0,0 +1,17 @@ +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 + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif diff --git a/keyboards/mitosis/keymaps/mjt/config.h b/keyboards/mitosis/keymaps/mjt/config.h new file mode 100644 index 000000000..71adc5a2d --- /dev/null +++ b/keyboards/mitosis/keymaps/mjt/config.h @@ -0,0 +1,24 @@ + +#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 new file mode 100644 index 000000000..4663c0acf --- /dev/null +++ b/keyboards/mitosis/keymaps/mjt/keymap.c @@ -0,0 +1,343 @@ +// 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 "mitosis.h" +#ifdef AUDIO_ENABLE + #include "audio.h" +#endif +#include "eeconfig.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 +{ + _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 _______ KC_TRNS +#define __MOD__ KC_TRNS +#define XXXXXXX KC_NO + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = { /* 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) }, + {XXXXXXX, KC_LCTL, M(ESCM), KC_TAB, KC_QUOT, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, XXXXXXX }, + {XXXXXXX, KC_LALT, KC_LGUI, KC_SPC, SHIFT, FNKEY, KC_BSPC, KC_ENT, MO(_ADJUST), XXXXXXX } + }, + + + [_SHIFTED] = { /* Shifted Layer, layered so that tri_layer can be used, or selectively + able to modify individual key's shifted behaviour */ + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }, + {XXXXXXX, __MOD__, KC_DEL, _______, _______, _______, _______, _______, _______, XXXXXXX }, + {XXXXXXX, __MOD__, __MOD__, _______, __MOD__, __MOD__, _______, _______, KC_NO, XXXXXXX } + }, + + + [_FUNCTIONPC] = { /* 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 }, + {XXXXXXX, __MOD__, KC_DEL, _______, KC_GRV, KC_HOME, KC_PGDN, KC_PGUP, KC_END, XXXXXXX }, + {XXXXXXX, __MOD__, __MOD__, _______, __MOD__, __MOD__, _______, KC_PSCR, KC_NO, XXXXXXX } + }, + + [_FUNCTIONMAC] = { /* 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 }, + {XXXXXXX, __MOD__, KC_DEL, _______, KC_GRV, KC_HOME, KC_PGDN, KC_PGUP, KC_END, XXXXXXX }, + {XXXXXXX, __MOD__, __MOD__, _______, __MOD__, __MOD__, _______, KC_PSCR, KC_NO, XXXXXXX } + }, + + [_FUNCSHIFT] = { /* 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, _______, _______, _______, _______ }, + {XXXXXXX, __MOD__, KC_DEL, _______, KC_TILD, _______, _______, _______, _______, XXXXXXX }, + {XXXXXXX, __MOD__, __MOD__, _______, __MOD__, __MOD__, _______, _______, _______, XXXXXXX } + }, + + + [_ADJUST] = { /* 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 }, + {XXXXXXX, __MOD__, _______, _______, _______, _______, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, _______, XXXXXXX }, + {XXXXXXX, __MOD__, __MOD__, _______, __MOD__, __MOD__, _______, _______, __MOD__, XXXXXXX } + } + +}; + +#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 + +const uint16_t PROGMEM fn_actions[] = { + +}; +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 new file mode 100644 index 000000000..a4137ad00 --- /dev/null +++ b/keyboards/mitosis/keymaps/mjt/rules.mk @@ -0,0 +1,17 @@ +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 + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif diff --git a/keyboards/mitosis/readme.md b/keyboards/mitosis/readme.md index 70755e32a..ef1eb0d83 100644 --- a/keyboards/mitosis/readme.md +++ b/keyboards/mitosis/readme.md @@ -1,33 +1,24 @@ -Mitosis Keyboard Firmware -====================== +Mitosis +======= -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 to other keyboards, it relies on an external nRF51822 microcontroller maintaining a matrix of keystates received from the keyboard halves. The matrix.c file contains the code to poll the external microcontroller for the key matrix. As long as this file is not changed, all other QMK features are supported. - -Build log of the keyboard can be found [here](https://www.reddit.com/r/MechanicalKeyboards/comments/66588f/wireless_split_qmk_mitosis/) +A wireless split compact keyboard. -Hardware design files can be found [here](https://github.com/reversebias/mitosis-hardware) - -Firmware for the nordic MCUs can be found [here](https://github.com/reversebias/mitosis) +Keyboard Maintainer: [@reversebias](https://github.com/reversebias] +Hardware Supported: Mitosis PCB +Hardware Availability: https://www.reddit.com/r/MechanicalKeyboards/comments/66588f/wireless_split_qmk_mitosis/ -## Quantum MK Firmware +Make example for this keyboard (after setting up your build environment): -For the full Quantum feature list, see [the parent readme](/). + make mitosis-default -## Building +See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. -Download or clone the whole firmware and navigate to the keyboards/atreus folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use `make dfu` to program your PCB once you hit the reset button. +## Mitosis Notes -Depending on which keymap you would like to use, you will have to compile slightly differently. - -### Default -To build with the default keymap, simply run `make default`. +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 to other keyboards, it relies on an external nRF51822 microcontroller maintaining a matrix of keystates received from the keyboard halves. The matrix.c file contains the code to poll the external microcontroller for the key matrix. As long as this file is not changed, all other QMK features are supported. -### Other Keymaps -Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `<name>.c` and see keymap document (you can find in top readme.md) and existent keymap files. +Build log of the keyboard can be found [here](https://www.reddit.com/r/MechanicalKeyboards/comments/66588f/wireless_split_qmk_mitosis/) -To build the firmware binary hex file with a keymap just do `make` with a keymap like this: +Hardware design files can be found [here](https://github.com/reversebias/mitosis-hardware) -``` -$ make [default|jack|<name>] -``` -Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder. +Firmware for the nordic MCUs can be found [here](https://github.com/reversebias/mitosis) diff --git a/keyboards/mitosis/rules.mk b/keyboards/mitosis/rules.mk index 04fa552f8..903edb109 100644 --- a/keyboards/mitosis/rules.mk +++ b/keyboards/mitosis/rules.mk @@ -77,5 +77,5 @@ UNICODE_ENABLE = YES # Unicode USB = /dev/ttyACM0 -upload: build - $(MITOSIS_UPLOAD_COMMAND) +# upload: build +# $(MITOSIS_UPLOAD_COMMAND) |