[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
parent
b779078c60
commit
8f69983c58
|
@ -0,0 +1,6 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define USE_SERIAL
|
||||||
|
|
||||||
|
#define EE_HANDS
|
||||||
|
#define IGNORE_MOD_TAP_INTERRUPT
|
|
@ -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);
|
||||||
|
}
|
|
@ -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. 🙂
|
||||||
|
|
Loading…
Reference in New Issue