diff options
author | Drashna Jaelre <drashna@live.com> | 2019-04-09 08:58:11 -0700 |
---|---|---|
committer | Drashna Jaelre <drashna@live.com> | 2019-04-09 08:58:11 -0700 |
commit | b6850bc043b1d129042f47501f0a1dc1e196f962 (patch) | |
tree | a0a772f278c3c494db3bc69103955af5561e1cae /keyboards/mitosis/keymaps | |
parent | 19ed62114a1f5d20aacb9cbe83105e977b9a2971 (diff) |
remove all keyboards but ergodox and planck
Diffstat (limited to 'keyboards/mitosis/keymaps')
-rw-r--r-- | keyboards/mitosis/keymaps/carvac_dv/keymap.c | 124 | ||||
-rw-r--r-- | keyboards/mitosis/keymaps/carvac_dv/rules.mk | 1 | ||||
-rw-r--r-- | keyboards/mitosis/keymaps/datagrok/config.h | 57 | ||||
-rw-r--r-- | keyboards/mitosis/keymaps/datagrok/keymap.c | 237 | ||||
-rw-r--r-- | keyboards/mitosis/keymaps/datagrok/readme.md | 274 | ||||
-rw-r--r-- | keyboards/mitosis/keymaps/datagrok/rules.mk | 35 | ||||
-rw-r--r-- | keyboards/mitosis/keymaps/default/keymap.c | 213 | ||||
-rw-r--r-- | keyboards/mitosis/keymaps/mjt/config.h | 24 | ||||
-rw-r--r-- | keyboards/mitosis/keymaps/mjt/keymap.c | 337 | ||||
-rw-r--r-- | keyboards/mitosis/keymaps/mjt/rules.mk | 14 | ||||
-rw-r--r-- | keyboards/mitosis/keymaps/nzen/keymap.c | 209 | ||||
-rw-r--r-- | keyboards/mitosis/keymaps/nzen/readme.md | 75 | ||||
-rw-r--r-- | keyboards/mitosis/keymaps/nzen/rules.mk | 8 |
13 files changed, 0 insertions, 1608 deletions
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'©* /, '\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'©* /, '\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 |