Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Keymap] Minidox Bepo layout #8515

Merged
merged 3 commits into from
Mar 24, 2020
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
111 changes: 111 additions & 0 deletions keyboards/minidox/keymaps/bepo/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
#include QMK_KEYBOARD_H
#include "keymap_bepo.h"

extern keymap_config_t keymap_config;
dolie marked this conversation as resolved.
Show resolved Hide resolved

#define TAPPING_TERM 450
dolie marked this conversation as resolved.
Show resolved Hide resolved

#define _BEPO 0
#define _LOWER 1
#define _RAISE 2
#define _ADJUST 3
dolie marked this conversation as resolved.
Show resolved Hide resolved

#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 ,
_______, _______, _______, _______, _______, _______
)
};

uint32_t layer_state_set_user(uint32_t state) {
dolie marked this conversation as resolved.
Show resolved Hide resolved
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
31 changes: 31 additions & 0 deletions keyboards/minidox/keymaps/bepo/readme.md
Original file line number Diff line number Diff line change
@@ -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. 🙂