summaryrefslogtreecommitdiff
path: root/keyboards/minidox/keymaps/bepo
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 /keyboards/minidox/keymaps/bepo
parentb779078c608292483b40cb13346ff54485e96823 (diff)
[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>
Diffstat (limited to 'keyboards/minidox/keymaps/bepo')
-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 0000000000..7338c24c68
--- /dev/null
+++ b/keyboards/minidox/keymaps/bepo/config.h
@@ -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
index 0000000000..95b9ef30c0
--- /dev/null
+++ b/keyboards/minidox/keymaps/bepo/keymap.c
@@ -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
index 0000000000..f928c94471
--- /dev/null
+++ b/keyboards/minidox/keymaps/bepo/readme.md
@@ -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. 🙂
+