aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier <olivier@codezilla.fr>2020-03-24 01:51:49 +0100
committerGitHub <noreply@github.com>2020-03-24 00:51:49 +0000
commit8f69983c58e7c8025d55ccdb31bcf570158f5433 (patch)
tree041e5b049020446d9711faf8a92de738927e2dce
parentb779078c608292483b40cb13346ff54485e96823 (diff)
downloadqmk_firmware-8f69983c58e7c8025d55ccdb31bcf570158f5433.tar.gz
qmk_firmware-8f69983c58e7c8025d55ccdb31bcf570158f5433.zip
[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>
-rw-r--r--keyboards/minidox/keymaps/bepo/config.h6
-rw-r--r--keyboards/minidox/keymaps/bepo/keymap.c109
-rw-r--r--keyboards/minidox/keymaps/bepo/readme.md31
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 000000000..7338c24c6
--- /dev/null
+++ b/keyboards/minidox/keymaps/bepo/config.h
@@ -0,0 +1,6 @@
1#pragma once
2
3#define USE_SERIAL
4
5#define EE_HANDS
6#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 000000000..95b9ef30c
--- /dev/null
+++ b/keyboards/minidox/keymaps/bepo/keymap.c
@@ -0,0 +1,109 @@
1#include QMK_KEYBOARD_H
2#include "keymap_bepo.h"
3
4enum layers {
5 _BEPO,
6 _LOWER,
7 _RAISE,
8 _ADJUST,
9};
10
11#define TABLO LT(_LOWER, KC_TAB)
12#define ENTRA LT(_RAISE, KC_ENTER)
13
14const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
15
16/* BEPO
17 *
18 * ,----------------------------------. ,----------------------------------.
19 * | B | W | P | O | ’ | | ^ | V | D | L | J |
20 * |------+------+------+------+------| |------+------+------+------+------|
21 * | A | U | I | E | , | | C | T | S | R | N |
22 * |------+------+------+------+------| |------+------+------+------+------|
23 * | Z/GUI| Y/Alt| X/Ctl| ./Sft| K | | M | Q/Sft| G/Ctl| H/Alt| F/GUI|
24 * `----------------------------------' `----------------------------------'
25 * ,------.------.------. ,------,------.------.
26 * | Del | Tab | | | |Enter |Escape|
27 * | | LOWER| Space| |BckSpc|RAISE | |
28 * `------'------| | | |------'------'
29 * | | | |
30 * `------' `------'
31 */
32[_BEPO] = LAYOUT(
33 BP_B, BP_W, BP_P, BP_O, BP_APOS, BP_DCRC, BP_V , BP_D, BP_L, BP_J,
34 BP_A, BP_U, BP_I, BP_E, BP_COMMA, BP_C, BP_T, BP_S, BP_R, BP_N,
35 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),
36 KC_DEL, TABLO, KC_SPC, KC_BSPC, ENTRA , KC_ESC
37),
38
39/* Lower.
40 *
41 * ,----------------------------------. ,----------------------------------.
42 * | | | É | & | œ | È | | PgUp | Home | Up | End |ScrlUp|
43 * |------+------+------+------+------| |------+------+------+------+------|
44 * | æ | Ù | ¨ | € | $ | | PgDn | Left | Down | Right|ScrlDn|
45 * |------+------+------+------+------| |------+------+------+------+------|
46 * | À | Alt | Ctl | Shift| Ç | | | Shift| Ctl | Alt | |
47 * `----------------------------------' `----------------------------------'
48 * ,------,------,------. ,------,------,------.
49 * | | | | | | | |
50 * `------'------| | | |------'------'
51 * | | | |
52 * `------' `------'
53 */
54[_LOWER] = LAYOUT(
55 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,
56 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,
57 BP_AGRV, KC_LALT, KC_LCTL, KC_LSFT, BP_CCED, _______, KC_LSFT, KC_LCTL, KC_LALT, _______,
58 _______, _______, _______, _______, _______, _______
59),
60
61/* Raise
62 *
63 * ,----------------------------------. ,----------------------------------.
64 * | " | < | > | ( | ) | | @ | + | - | / | * |
65 * |------+------+------+------+------| |------+------+------+------+------|
66 * | ` | { | } | [ | ] | | ~ | = | % | \ | # |
67 * |------+------+------+------+------| |------+------+------+------+------|
68 * | | | Alt | Ctl | Shift| ' | | | Shift| Ctl | Alt | & |
69 * `----------------------------------' `----------------------------------'
70 * ,------,------,------. ,------,------,------.
71 * | | | | | | | |
72 * `------'------| _ | | |------'------'
73 * | | | |
74 * `------' `------'
75 */
76[_RAISE] = LAYOUT(
77 BP_DQOT, ALGR(BP_LGIL), ALGR(BP_RGIL), BP_LPRN, BP_RPRN, BP_AT, BP_PLUS, BP_MINUS, BP_SLASH, BP_ASTR,
78 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),
79 ALGR(BP_B), KC_LALT, KC_LCTL, KC_LSFT, ALGR(BP_COMM), _______, KC_LSFT, KC_LCTL, KC_LALT, ALGR(BP_P),
80 _______, _______, ALGR(KC_SPC), _______, _______, _______
81),
82
83/* Adjust (Lower + Raise)
84 * (GUI, ALT, Ctrl, Shft ONLY on left-hand home row)
85 *
86 * ,----------------------------------. ,----------------------------------.
87 * | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 |
88 * |------+------+------+------+------| |------+------+------+------+------|
89 * | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |
90 * |------+------+------+------+------| |------+------+------+------+------|
91 * | F11 | Alt | Ctl | Shift| | | | Shift| Ctl | Alt | F12 |
92 * `----------------------------------' `----------------------------------'
93 * ,------,------,------. ,------,------,------.
94 * | | | | | | | |
95 * `------'------| | | |------'------'
96 * | | | |
97 * `------' `------'
98 */
99[_ADJUST] = LAYOUT(
100 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
101 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),
102 KC_F11, KC_LALT, KC_LCTL, KC_LSFT, _______, _______, KC_LSFT, KC_LCTL, KC_LALT, KC_F12 ,
103 _______, _______, _______, _______, _______, _______
104)
105};
106
107layer_state_t layer_state_set_user(layer_state_t state) {
108 return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
109}
diff --git a/keyboards/minidox/keymaps/bepo/readme.md b/keyboards/minidox/keymaps/bepo/readme.md
new file mode 100644
index 000000000..f928c9447
--- /dev/null
+++ b/keyboards/minidox/keymaps/bepo/readme.md
@@ -0,0 +1,31 @@
1# MiniDox Bepo
2
3As the minidox has a restricted number of keys as compared to regular keyboards, some adjustments were made.
4These adjustments allow for improved ergonomics when typing English and programming languages (in particular javascript).
5
6>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:
7 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.
8 2. **Programming blocks characters:** most used with `1.` after standard characters. *Group placed at the opposite of the thumb-activated layout key*.
9 3. **Operators:** less used than navigation. *Same side of the thumb-activated layout key*.
10 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.*
11
12*Here is a list of other ergonomic choices :*
13
14- `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`...).
15- Numbers on home row, and Function keys on corresponding upper row.
16- Greater/less-than-sign in place of `«` `»`, for easier programming, and because the majority of OS and softwares replace `"` with `«` `»`.
17- Mirror `&` and `|` on little finger, lower row, raise layout (`raiser + &` on little finger is more handy than `raiser + &` on index finger).
18- `’/?` in place of `È` to keep `M` on the right hand side.
19- Better reachability for `W` `Z` `~` `backtick`...
20
21## Firmware :
22[Recent bepo firmware](https://bepo.fr/wiki/Accueil) `1.1rc2` switched generic apostrophe and typographic one.
23As 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.
24Or you also can [switch them by following those instructions.](https://bepo.fr/wiki/Apostrophe)
25
26## Layout :
27![Minidox - Bepo custom layout by dolie](https://user-images.githubusercontent.com/18349922/77227968-f42d9980-6b7b-11ea-9a11-58b1f47842e9.png)
28
29#### N.B.
30I have been using and fine tuned this layout for about a year, and I really enjoy it. 🙂
31