[Keymap] Minidox Bepo layout (#8515)
authorOlivier <olivier@codezilla.fr>
Tue, 24 Mar 2020 00:51:49 +0000 (01:51 +0100)
committerGitHub <noreply@github.com>
Tue, 24 Mar 2020 00:51:49 +0000 (00:51 +0000)
* [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>
keyboards/minidox/keymaps/bepo/config.h [new file with mode: 0644]
keyboards/minidox/keymaps/bepo/keymap.c [new file with mode: 0644]
keyboards/minidox/keymaps/bepo/readme.md [new file with mode: 0644]

diff --git a/keyboards/minidox/keymaps/bepo/config.h b/keyboards/minidox/keymaps/bepo/config.h
new file mode 100644 (file)
index 0000000..7338c24
--- /dev/null
@@ -0,0 +1,6 @@
+#pragma once
+
+#define USE_SERIAL
+
+#define EE_HANDS
+#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 (file)
index 0000000..95b9ef3
--- /dev/null
@@ -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);
+}
diff --git a/keyboards/minidox/keymaps/bepo/readme.md b/keyboards/minidox/keymaps/bepo/readme.md
new file mode 100644 (file)
index 0000000..f928c94
--- /dev/null
@@ -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. 🙂    
+