diff options
| -rw-r--r-- | keyboards/minidox/keymaps/bepo/config.h | 6 | ||||
| -rw-r--r-- | keyboards/minidox/keymaps/bepo/keymap.c | 109 | ||||
| -rw-r--r-- | keyboards/minidox/keymaps/bepo/readme.md | 31 | 
3 files changed, 146 insertions, 0 deletions
diff --git a/keyboards/minidox/keymaps/bepo/config.h b/keyboards/minidox/keymaps/bepo/config.h new file mode 100644 index 0000000000..7338c24c68 --- /dev/null +++ b/keyboards/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/minidox/keymaps/bepo/keymap.c b/keyboards/minidox/keymaps/bepo/keymap.c new file mode 100644 index 0000000000..95b9ef30c0 --- /dev/null +++ b/keyboards/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_APOS,         BP_DCRC, BP_V ,       BP_D,        BP_L,        BP_J, +          BP_A,        BP_U,        BP_I,          BP_E, BP_COMMA,         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_E_ACUTE, ALGR(BP_P), ALGR(BP_O), BP_E_GRAVE,        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_DOLLAR,        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_DQOT, ALGR(BP_LGIL), ALGR(BP_RGIL),       BP_LPRN,       BP_RPRN,        BP_AT,      BP_PLUS,    BP_MINUS,    BP_SLASH,         BP_ASTR, +  S(BP_PERCENT),    ALGR(BP_Y),    ALGR(BP_X), ALGR(BP_LPRN), ALGR(BP_RPRN),        ALGR(BP_K), BP_EQUAL,   BP_PERCENT,  ALGR(BP_A_GRAVE), S(BP_DOLLAR), +     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_DQOT), S(BP_LGIL), S(BP_RGIL), S(BP_LPRN), S(BP_RPRN),        S(BP_AT), S(BP_PLUS), S(BP_MINUS), S(BP_SLASH), 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/minidox/keymaps/bepo/readme.md b/keyboards/minidox/keymaps/bepo/readme.md new file mode 100644 index 0000000000..f928c94471 --- /dev/null +++ b/keyboards/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 : + + +#### N.B. +I have been using and fine tuned this layout for about a year, and I really enjoy it. 🙂     +  | 
