diff options
Diffstat (limited to 'keyboards/maple_computing/minidox/keymaps')
33 files changed, 2158 insertions, 0 deletions
diff --git a/keyboards/maple_computing/minidox/keymaps/alairock/config.h b/keyboards/maple_computing/minidox/keymaps/alairock/config.h new file mode 100644 index 0000000000..6b0069f4b2 --- /dev/null +++ b/keyboards/maple_computing/minidox/keymaps/alairock/config.h @@ -0,0 +1,39 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako <wakojun@gmail.com> +Copyright 2015 Jack Humbert +Copyright 2018 Skyler Lewis + +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_USER_H +#define CONFIG_USER_H + +#include "../../config.h" + +#define USE_SERIAL + +#define EE_HANDS + +/* ws2812 RGB LED */ +#define RGB_DI_PIN D7 + +#define RGBLED_NUM 8 // Number of LEDs +#define RGBLIGHT_ANIMATIONS +#define RGBLIGHT_HUE_STEP 10 +#define RGBLIGHT_SAT_STEP 17 +#define RGBLIGHT_VAL_STEP 17 +#endif diff --git a/keyboards/maple_computing/minidox/keymaps/alairock/keymap.c b/keyboards/maple_computing/minidox/keymaps/alairock/keymap.c new file mode 100644 index 0000000000..c592b1a6a9 --- /dev/null +++ b/keyboards/maple_computing/minidox/keymaps/alairock/keymap.c @@ -0,0 +1,157 @@ +// Note: this is a modification of that_canadian's config, albeit heavily modified. +// this layout turns your left thumb cluster into something more familiar. + +#include QMK_KEYBOARD_H + +extern keymap_config_t keymap_config; + +// 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. +#define _QWERTY 0 +#define _LOWER 1 +#define _RAISE 2 +#define _ADJUST 16 + +enum custom_keycodes { + QWERTY = SAFE_RANGE, + LOWER, + RAISE, + ADJUST, +}; + +// Defines for task manager and such +#define CALTDEL LCTL(LALT(KC_DEL)) +#define TSKMGR LCTL(LSFT(KC_ESC)) + +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 | | H | J | K | L | ; | + * |------+------+------+------+------| |------+------+------+------+------| + * | Z | X | C | V | B | | N | M | , | . | / | + * `----------------------------------' `----------------------------------' + * ,--------------------. ,------,-------------. + * | Shift/Esc | GUI/Tab| | | RAISE| LOWER | + * `-------------|BSpace| |Space |------+------. + * | | | | + * `------' `------' + */ +[_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_SCLN, \ + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, \ + SFT_T(KC_ESC), GUI_T(KC_TAB), KC_BSPC, KC_SPC, RAISE, LOWER \ +), +/* Raise + * + * ,----------------------------------. ,----------------------------------. + * | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | + * |------+------+------+------+------| |------+------+------+------+------| + * | Tab | VOLU | VOLD | PLAY | MFFD | | MUTE | - | = | [ | ] | + * |------+------+------+------+------| |------+------+------+------+------| + * | Ctrl| ` | GUI | Alt | MRWD | | | | | \ | ' | + * `----------------------------------' `----------------------------------' + * ,--------------------. ,------,-------------. + * | CTRL | BSPC | | | | | | + * `-------------| Enter| | |------+------. + * | | | | + * `------' `------' + */ +[_RAISE] = LAYOUT( \ + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, \ + KC_TAB, KC_VOLD, KC_VOLU, KC_MPLY, KC_MFFD, KC_MUTE, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, \ + _______, KC_GRV, KC_LGUI, KC_LALT, KC_MRWD, _______, _______, _______, KC_BSLS, KC_QUOT, \ + KC_LCTRL, KC_BSPC, KC_ENT, _______, _______, _______ \ +), + +/* Lower + * + * ,----------------------------------. ,----------------------------------. + * | ! | @ | # | $ | % | | ^ | & | * | ( | ) | + * |------+------+------+------+------| |------+------+------+------+------| + * | Esc | VOLU | VOLD | PLAY | MFFD | | MUTE | _ | + | { | } | + * |------+------+------+------+------| |------+------+------+------+------| + * | Caps| ~ | | | MRWD | | | | | | | " | + * `----------------------------------' `----------------------------------' + * ,--------------------. ,------,-------------. + * | RAISE | DEL | | | | | | + * `-------------| | | Enter|------+------. + * | | | | + * `------' `------' + */ +[_LOWER] = LAYOUT( \ + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, \ + KC_ESC, KC_VOLD, KC_VOLU, KC_MPLY, KC_MFFD, KC_MUTE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, \ + KC_CAPS, KC_TILD, _______, _______, KC_MRWD, _______, _______, _______, KC_PIPE, KC_DQT, \ + RAISE, KC_DEL, _______, KC_ENT, _______, _______ \ +), + +/* Adjust (Lower + Raise) + * + * ,----------------------------------. ,----------------------------------. + * | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | Up | F9 | F10 | + * |------+------+------+------+------| |------+------+------+------+------| + * | F11 | F12 | |RGBSAI|RGBSAD| | | Left | Down |Right |caltde| + * |------+------+------+------+------| |------+------+------+------+------| + * | Reset|RGBTOG|RGBMOD|RGBHUI|RGBHUD| |RGBVAI|RGBVAD| F8 |Taskmg| | + * `----------------------------------' `----------------------------------' + * ,--------------------. ,------,-------------. + * | | LOWER| | | | RAISE| | + * `-------------| | | |------+------. + * | | | | + * `------' `------' + */ +[_ADJUST] = LAYOUT( \ + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_UP, KC_F9, KC_F10, \ + KC_F11, KC_F12, RGB_RMOD, RGB_SAI, RGB_SAD, _______, KC_LEFT, KC_DOWN, KC_RGHT, CALTDEL, \ + RESET, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_VAI, RGB_VAD, KC_F8, TSKMGR, _______, \ + _______, _______, _______, _______, _______, _______ \ +) +}; + + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QWERTY: + if (record->event.pressed) { + set_single_persistent_default_layer(_QWERTY); + } + return false; + break; + case LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + break; + case RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + break; + case ADJUST: + if (record->event.pressed) { + layer_on(_ADJUST); + } else { + layer_off(_ADJUST); + } + return false; + break; + } + return true; +} diff --git a/keyboards/maple_computing/minidox/keymaps/alairock/rules.mk b/keyboards/maple_computing/minidox/keymaps/alairock/rules.mk new file mode 100644 index 0000000000..ebada165ae --- /dev/null +++ b/keyboards/maple_computing/minidox/keymaps/alairock/rules.mk @@ -0,0 +1,2 @@ +RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. +EXTRAKEY_ENABLE = yes diff --git a/keyboards/maple_computing/minidox/keymaps/bepo/config.h b/keyboards/maple_computing/minidox/keymaps/bepo/config.h new file mode 100644 index 0000000000..7338c24c68 --- /dev/null +++ b/keyboards/maple_computing/minidox/keymaps/bepo/config.h @@ -0,0 +1,6 @@ +#pragma once + +#define USE_SERIAL + +#define EE_HANDS +#define IGNORE_MOD_TAP_INTERRUPT diff --git a/keyboards/maple_computing/minidox/keymaps/bepo/keymap.c b/keyboards/maple_computing/minidox/keymaps/bepo/keymap.c new file mode 100644 index 0000000000..331a22314d --- /dev/null +++ b/keyboards/maple_computing/minidox/keymaps/bepo/keymap.c @@ -0,0 +1,109 @@ +#include QMK_KEYBOARD_H +#include "keymap_bepo.h" + +enum layers { + _BEPO, + _LOWER, + _RAISE, + _ADJUST, +}; + +#define TABLO LT(_LOWER, KC_TAB) +#define ENTRA LT(_RAISE, KC_ENTER) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* BEPO + * + * ,----------------------------------. ,----------------------------------. + * | B | W | P | O | ’ | | ^ | V | D | L | J | + * |------+------+------+------+------| |------+------+------+------+------| + * | A | U | I | E | , | | C | T | S | R | N | + * |------+------+------+------+------| |------+------+------+------+------| + * | Z/GUI| Y/Alt| X/Ctl| ./Sft| K | | M | Q/Sft| G/Ctl| H/Alt| F/GUI| + * `----------------------------------' `----------------------------------' + * ,------.------.------. ,------,------.------. + * | Del | Tab | | | |Enter |Escape| + * | | LOWER| Space| |BckSpc|RAISE | | + * `------'------| | | |------'------' + * | | | | + * `------' `------' + */ +[_BEPO] = LAYOUT( + BP_B, BP_W, BP_P, BP_O, BP_QUOT, BP_DCIR, BP_V , BP_D, BP_L, BP_J, + BP_A, BP_U, BP_I, BP_E, BP_COMM, BP_C, BP_T, BP_S, BP_R, BP_N, + LGUI_T(BP_Z), ALT_T(BP_Y), CTL_T(BP_X), SFT_T(BP_DOT), BP_K, BP_M, SFT_T(BP_Q), CTL_T(BP_G), ALT_T(BP_H), LGUI_T(BP_F), + KC_DEL, TABLO, KC_SPC, KC_BSPC, ENTRA , KC_ESC +), + +/* Lower. + * + * ,----------------------------------. ,----------------------------------. + * | | | É | & | œ | È | | PgUp | Home | Up | End |ScrlUp| + * |------+------+------+------+------| |------+------+------+------+------| + * | æ | Ù | ¨ | € | $ | | PgDn | Left | Down | Right|ScrlDn| + * |------+------+------+------+------| |------+------+------+------+------| + * | À | Alt | Ctl | Shift| Ç | | | Shift| Ctl | Alt | | + * `----------------------------------' `----------------------------------' + * ,------,------,------. ,------,------,------. + * | | | | | | | | + * `------'------| | | |------'------' + * | | | | + * `------' `------' + */ +[_LOWER] = LAYOUT( + ALGR(BP_B), BP_EACU, ALGR(BP_P), ALGR(BP_O), BP_EGRV, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_MS_WH_UP, + ALGR(BP_A), ALGR(BP_U), ALGR(BP_I), ALGR(BP_E), BP_DLR, KC_PGDOWN, KC_LEFT, KC_DOWN, KC_RIGHT, KC_MS_WH_DOWN, + BP_AGRV, KC_LALT, KC_LCTL, KC_LSFT, BP_CCED, _______, KC_LSFT, KC_LCTL, KC_LALT, _______, + _______, _______, _______, _______, _______, _______ +), + +/* Raise + * + * ,----------------------------------. ,----------------------------------. + * | " | < | > | ( | ) | | @ | + | - | / | * | + * |------+------+------+------+------| |------+------+------+------+------| + * | ` | { | } | [ | ] | | ~ | = | % | \ | # | + * |------+------+------+------+------| |------+------+------+------+------| + * | | | Alt | Ctl | Shift| ' | | | Shift| Ctl | Alt | & | + * `----------------------------------' `----------------------------------' + * ,------,------,------. ,------,------,------. + * | | | | | | | | + * `------'------| _ | | |------'------' + * | | | | + * `------' `------' + */ +[_RAISE] = LAYOUT( + BP_DQUO, ALGR(BP_LDAQ), ALGR(BP_RDAQ), BP_LPRN, BP_RPRN, BP_AT, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR, + S(BP_PERC), ALGR(BP_Y), ALGR(BP_X), ALGR(BP_LPRN), ALGR(BP_RPRN), ALGR(BP_K), BP_EQL, BP_PERC, ALGR(BP_AGRV), S(BP_DLR), + ALGR(BP_B), KC_LALT, KC_LCTL, KC_LSFT, ALGR(BP_COMM), _______, KC_LSFT, KC_LCTL, KC_LALT, ALGR(BP_P), + _______, _______, ALGR(KC_SPC), _______, _______, _______ +), + +/* Adjust (Lower + Raise) + * (GUI, ALT, Ctrl, Shft ONLY on left-hand home row) + * + * ,----------------------------------. ,----------------------------------. + * | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | + * |------+------+------+------+------| |------+------+------+------+------| + * | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | + * |------+------+------+------+------| |------+------+------+------+------| + * | F11 | Alt | Ctl | Shift| | | | Shift| Ctl | Alt | F12 | + * `----------------------------------' `----------------------------------' + * ,------,------,------. ,------,------,------. + * | | | | | | | | + * `------'------| | | |------'------' + * | | | | + * `------' `------' + */ +[_ADJUST] = LAYOUT( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + S(BP_DQUO), S(BP_LDAQ), S(BP_RDAQ), S(BP_LPRN), S(BP_RPRN), S(BP_AT), S(BP_PLUS), S(BP_MINS), S(BP_SLSH), S(BP_ASTR), + KC_F11, KC_LALT, KC_LCTL, KC_LSFT, _______, _______, KC_LSFT, KC_LCTL, KC_LALT, KC_F12 , + _______, _______, _______, _______, _______, _______ +) +}; + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); +} diff --git a/keyboards/maple_computing/minidox/keymaps/bepo/readme.md b/keyboards/maple_computing/minidox/keymaps/bepo/readme.md new file mode 100644 index 0000000000..f928c94471 --- /dev/null +++ b/keyboards/maple_computing/minidox/keymaps/bepo/readme.md @@ -0,0 +1,31 @@ +# MiniDox Bepo + +As the minidox has a restricted number of keys as compared to regular keyboards, some adjustments were made. +These adjustments allow for improved ergonomics when typing English and programming languages (in particular javascript). + +>Keys have been grouped and rearranged to meet the needs of principals programming usages. Most used groups are placed at the opposite of thumb layout-activation key, not to seek the same hand too much: + 1. **Arrows/Navigation:** most used with `2.` after standard characters. To navigate comfortably during a long time, the group is placed at the opposite of the thumb-activated layout key. + 2. **Programming blocks characters:** most used with `1.` after standard characters. *Group placed at the opposite of the thumb-activated layout key*. + 3. **Operators:** less used than navigation. *Same side of the thumb-activated layout key*. + 4. **French special characters:** to keep basic characters on main layout and because they are less used in programming and english, french special characters have been moved to a specific layout, counter to Bepo's original main layout. *Same side of the thumb-activated layout key.* + +*Here is a list of other ergonomic choices :* + +- `Alt` both sides (instead of `AltGr`), as special characters are now handled by layouts, and to comfortably get all shortcuts with both hands (e.g. `alt/tab`...). +- Numbers on home row, and Function keys on corresponding upper row. +- Greater/less-than-sign in place of `«` `»`, for easier programming, and because the majority of OS and softwares replace `"` with `«` `»`. +- Mirror `&` and `|` on little finger, lower row, raise layout (`raiser + &` on little finger is more handy than `raiser + &` on index finger). +- `’/?` in place of `È` to keep `M` on the right hand side. +- Better reachability for `W` `Z` `~` `backtick`... + +## Firmware : +[Recent bepo firmware](https://bepo.fr/wiki/Accueil) `1.1rc2` switched generic apostrophe and typographic one. +As the majority of OS and softwares replace **`'`** with **`’`**, I personnaly do prefer 2008 bepo firmware which keeps generic apostrophe on main layout. In fact, the apostrophe get replaced in text editors, but not in the IDEs while programming. +Or you also can [switch them by following those instructions.](https://bepo.fr/wiki/Apostrophe) + +## Layout : +![Minidox - Bepo custom layout by dolie](https://user-images.githubusercontent.com/18349922/77227968-f42d9980-6b7b-11ea-9a11-58b1f47842e9.png) + +#### N.B. +I have been using and fine tuned this layout for about a year, and I really enjoy it. 🙂 + diff --git a/keyboards/maple_computing/minidox/keymaps/default/keymap.c b/keyboards/maple_computing/minidox/keymaps/default/keymap.c new file mode 100644 index 0000000000..737b53d301 --- /dev/null +++ b/keyboards/maple_computing/minidox/keymaps/default/keymap.c @@ -0,0 +1,161 @@ +#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. +#define _QWERTY 0 +#define _LOWER 1 +#define _RAISE 2 +#define _ADJUST 16 + +enum custom_keycodes { + QWERTY = SAFE_RANGE, + LOWER, + RAISE, + ADJUST, +}; + +// Defines for task manager and such +#define CALTDEL LCTL(LALT(KC_DEL)) +#define TSKMGR LCTL(LSFT(KC_ESC)) + +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 | | H | J | K | L | ; | + * |------+------+------+------+------| |------+------+------+------+------| + * | Z | X | C | V | B | | N | M | , | . | / | + * `----------------------------------' `----------------------------------' + * ,--------------------. ,------,-------------. + * | Ctrl | LOWER| | | | RAISE| Shift| + * `-------------| Space| |BckSpc|------+------. + * | | | | + * `------' `------' + */ +[_QWERTY] = LAYOUT_split_3x5_3( + 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_LCTL, LOWER, KC_SPC, KC_BSPC, RAISE, OSM(MOD_LSFT) +), + +/* Raise + * + * ,----------------------------------. ,----------------------------------. + * | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | + * |------+------+------+------+------| |------+------+------+------+------| + * | Tab | Left | Down | Up | Right| | | - | = | [ | ] | + * |------+------+------+------+------| |------+------+------+------+------| + * | Ctrl| ` | GUI | Alt | | | | | | \ | ' | + * `----------------------------------' `----------------------------------' + * ,--------------------. ,------,-------------. + * | | LOWER| | | | RAISE| | + * `-------------| | | |------+------. + * | | | | + * `------' `------' + */ +[_RAISE] = LAYOUT_split_3x5_3( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_TAB, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, + KC_LCTL, KC_GRV, KC_LGUI, KC_LALT, _______, _______, _______, _______, KC_BSLS, KC_QUOT, + _______, _______, _______, _______, _______, _______ +), + +/* Lower + * + * ,----------------------------------. ,----------------------------------. + * | ! | @ | # | $ | % | | ^ | & | * | ( | ) | + * |------+------+------+------+------| |------+------+------+------+------| + * | Esc | | | | | | | _ | + | { | } | + * |------+------+------+------+------| |------+------+------+------+------| + * | Caps| ~ | | | | | | | | | | " | + * `----------------------------------' `----------------------------------' + * ,--------------------. ,------,-------------. + * | | LOWER| | | | RAISE| Del | + * `-------------| | | Enter|------+------. + * | | | | + * `------' `------' + */ +[_LOWER] = LAYOUT_split_3x5_3( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, + KC_ESC, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, + KC_CAPS, KC_TILD, _______, _______, _______, _______, _______, _______, KC_PIPE, KC_DQT, + _______, _______, _______, KC_ENT, _______, KC_DEL +), + +/* Adjust (Lower + Raise) + * + * ,----------------------------------. ,----------------------------------. + * | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | + * |------+------+------+------+------| |------+------+------+------+------| + * | F11 | F12 | | | | | | | |Taskmg|caltde| + * |------+------+------+------+------| |------+------+------+------+------| + * | Reset| | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,--------------------. ,------,-------------. + * | | LOWER| | | | RAISE| | + * `-------------| | | |------+------. + * | | | | + * `------' `------' + */ +[_ADJUST] = LAYOUT_split_3x5_3( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, TSKMGR, CALTDEL, + RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______ +) +}; + +void persistant_default_layer_set(uint16_t default_layer) { + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QWERTY: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_SONG(tone_qwerty); + #endif + persistant_default_layer_set(1UL<<_QWERTY); + } + return false; + break; + case LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + break; + case RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + break; + case ADJUST: + if (record->event.pressed) { + layer_on(_ADJUST); + } else { + layer_off(_ADJUST); + } + return false; + break; + } + return true; +} diff --git a/keyboards/maple_computing/minidox/keymaps/dustypomerleau/README.md b/keyboards/maple_computing/minidox/keymaps/dustypomerleau/README.md new file mode 100644 index 0000000000..b2ec771257 --- /dev/null +++ b/keyboards/maple_computing/minidox/keymaps/dustypomerleau/README.md @@ -0,0 +1,28 @@ +## dustypomerleau, Minidox layout + +The rationale behind my layout can be summarized as follows: + +- Symmetry is important because use-cases are hard to predict. Whenever possible, modifiers and layer keys should be available from either hand. +- Inward rolls should be leveraged not just for alphas (Colemak DHm), but also for coding/symbols. +- Number order—like alpha order—should be designed to favor use of the strongest fingers. +- One-shot keys can greatly reduce the strain of typing, and should be leveraged. + +Some aspects of my layout are optimized for macOS (order of modifiers, manner of producing en and em dashes, coding of micro-volume adjustments, etc.), but can be easily tweaked for the OS of your choice. + +Shift can be a tricky modifier when used in `MT()` combinations, particularly for fast typists on split boards using serial. This can be partially mitigated with options in `config.h`, but still requires a relatively strict typing style/accuracy from the fast typist. The tendency is for faster typists to combat mod/tap mistakes by using very short intervals for `TAPPING_TERM`, but this can introduce its own set of complications. Shift is also one of the highest-yield opportunities to use `OSM()`. For these reasons, I pulled Shift onto dedicated keys in the thumbs for use during regular typing (the home row Shifts have been left in place for use during selection and keycuts). + +The tapdance code that I used to create mod/tap keys inside my symbol layer allows up to 2 consecutive symbols within `TAPPING_TERM`. If you think you will need to quickly nest more than that, feel free to add more `case`s. + +### Special thanks + +- Everyone on the QMK Discord, for helping me work out the code for mod/tap keys using shifted symbols. +- Everyone on the Colemak Discord, for their initial feedback on the layout. +- @stevep and @DreymaR, for their work on Colemak DH(m), a truly awesome typing experience (and of course Shai Coleman, for starting it all off!). +- @ckofy, for offering a dramatic improvement on Dvorak's original number order. +- u/That-Canadian, for designing this awesome keyboard. + +### Questions or comments? + +- GitHub @dustypomerleau +- Twitter @duspom +- Discord @dusty#8897 diff --git a/keyboards/maple_computing/minidox/keymaps/dustypomerleau/config.h b/keyboards/maple_computing/minidox/keymaps/dustypomerleau/config.h new file mode 100644 index 0000000000..b2169947b7 --- /dev/null +++ b/keyboards/maple_computing/minidox/keymaps/dustypomerleau/config.h @@ -0,0 +1,25 @@ +// dustypomerleau, Minidox config + +#pragma once + +#define EE_HANDS +#define IGNORE_MOD_TAP_INTERRUPT +#define ONESHOT_TIMEOUT 1000 |