diff options
author | Olivier <olivier@codezilla.fr> | 2020-03-24 01:51:49 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-24 00:51:49 +0000 |
commit | 8f69983c58e7c8025d55ccdb31bcf570158f5433 (patch) | |
tree | 041e5b049020446d9711faf8a92de738927e2dce | |
parent | b779078c608292483b40cb13346ff54485e96823 (diff) | |
download | qmk_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.h | 6 | ||||
-rw-r--r-- | keyboards/minidox/keymaps/bepo/keymap.c | 109 | ||||
-rw-r--r-- | keyboards/minidox/keymaps/bepo/readme.md | 31 |
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 | |||
4 | enum 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 | |||
14 | const 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 | |||
107 | layer_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 | |||
3 | As the minidox has a restricted number of keys as compared to regular keyboards, some adjustments were made. | ||
4 | These 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. | ||
23 | 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. | ||
24 | Or you also can [switch them by following those instructions.](https://bepo.fr/wiki/Apostrophe) | ||
25 | |||
26 | ## Layout : | ||
27 |  | ||
28 | |||
29 | #### N.B. | ||
30 | I have been using and fine tuned this layout for about a year, and I really enjoy it. 🙂 | ||
31 | |||