[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>
This commit is contained in:
parent
b779078c60
commit
8f69983c58
3 changed files with 146 additions and 0 deletions
6
keyboards/minidox/keymaps/bepo/config.h
Normal file
6
keyboards/minidox/keymaps/bepo/config.h
Normal file
|
@ -0,0 +1,6 @@
|
|||
#pragma once
|
||||
|
||||
#define USE_SERIAL
|
||||
|
||||
#define EE_HANDS
|
||||
#define IGNORE_MOD_TAP_INTERRUPT
|
109
keyboards/minidox/keymaps/bepo/keymap.c
Normal file
109
keyboards/minidox/keymaps/bepo/keymap.c
Normal 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);
|
||||
}
|
31
keyboards/minidox/keymaps/bepo/readme.md
Normal file
31
keyboards/minidox/keymaps/bepo/readme.md
Normal 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. 🙂
|
||||
|
Loading…
Reference in a new issue