[Keymap] Minidox Bepo layout (#8515)

* [Keymap] Minidox Bepo layout

Todo :
Lower
Adjust
Update Lower E and Lower S on schema

* Added config.h

* Code review, update config.h

Co-Authored-By: Ryan <fauxpark@gmail.com>

Co-authored-by: dolie <olivier.ghafari@pm.me>
Co-authored-by: Ryan <fauxpark@gmail.com>
master
Olivier 2020-03-24 01:51:49 +01:00 committed by GitHub
parent b779078c60
commit 8f69983c58
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 146 additions and 0 deletions

View File

@ -0,0 +1,6 @@
#pragma once
#define USE_SERIAL
#define EE_HANDS
#define IGNORE_MOD_TAP_INTERRUPT

View File

@ -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);
}

View File

@ -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. 🙂