aboutsummaryrefslogtreecommitdiff
path: root/keyboards
diff options
context:
space:
mode:
authorJonathan Rascher <jon@bcat.name>2020-07-10 17:57:49 -0400
committerGitHub <noreply@github.com>2020-07-10 22:57:49 +0100
commit027570a21b44b2cba1b917c2eddb804b5dc82173 (patch)
tree6ed2111c9e65a1e38a855de490f7d359ba2e0306 /keyboards
parentbd72a577a2bec7479a909316d1729bad41c0b0e5 (diff)
downloadqmk_firmware-027570a21b44b2cba1b917c2eddb804b5dc82173.tar.gz
qmk_firmware-027570a21b44b2cba1b917c2eddb804b5dc82173.zip
Rework bcat Crkbd and Lily58 modifier keys (#9692)
* Re-enable mouse keys to fix Chrome OS media keys I'm not sure if there's a bug in Chrome OS, QMK, or both, but EXTRAKEY_ENABLE isn't sufficient for media keys to work on Chrome OS. Instead, MOUSEKEY_ENABLE is also required. * Remove unnecessary SPLIT_USB_DETECT for Lily58 I've since swapped my Lily58 back to Elite-C v2 controllers with working VBUS detection. * Move Crkbd Esc and Ctrl keys; add some shortcuts * Move MC_ALTT to userspace for cross-board support * Sync Lily58 keymap with Crkbd * Fix typos
Diffstat (limited to 'keyboards')
-rw-r--r--keyboards/crkbd/keymaps/bcat/keymap.c21
-rw-r--r--keyboards/crkbd/keymaps/bcat/readme.md53
-rw-r--r--keyboards/lily58/keymaps/bcat/config.h3
-rw-r--r--keyboards/lily58/keymaps/bcat/keymap.c21
-rw-r--r--keyboards/lily58/keymaps/bcat/readme.md10
5 files changed, 60 insertions, 48 deletions
diff --git a/keyboards/crkbd/keymaps/bcat/keymap.c b/keyboards/crkbd/keymaps/bcat/keymap.c
index b4c347181..60375f676 100644
--- a/keyboards/crkbd/keymaps/bcat/keymap.c
+++ b/keyboards/crkbd/keymaps/bcat/keymap.c
@@ -1,5 +1,7 @@
1#include QMK_KEYBOARD_H 1#include QMK_KEYBOARD_H
2 2
3#include "bcat.h"
4
3enum layer { 5enum layer {
4 LAYER_DEFAULT, 6 LAYER_DEFAULT,
5 LAYER_LOWER, 7 LAYER_LOWER,
@@ -10,28 +12,31 @@ enum layer {
10#define LY_LWR MO(LAYER_LOWER) 12#define LY_LWR MO(LAYER_LOWER)
11#define LY_RSE MO(LAYER_RAISE) 13#define LY_RSE MO(LAYER_RAISE)
12 14
13#define KY_CESC LCTL_T(KC_ESC) 15#define KY_CSPC LCTL(KC_SPC)
16#define KY_LOCK LGUI(KC_L)
17#define KY_WINL LGUI(KC_LEFT)
18#define KY_WINR LGUI(KC_RGHT)
14 19
15const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 20const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
16 /* Default layer: http://www.keyboard-layout-editor.com/#/gists/08d9827d916662a9414f48805aa895a5 */ 21 /* Default layer: http://www.keyboard-layout-editor.com/#/gists/08d9827d916662a9414f48805aa895a5 */
17 [LAYER_DEFAULT] = LAYOUT( 22 [LAYER_DEFAULT] = LAYOUT(
18 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, 23 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
19 KY_CESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, 24 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
20 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, 25 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
21 KC_LALT, LY_LWR, KC_SPC, KC_ENT, LY_RSE, KC_RGUI 26 KC_LCTL, LY_LWR, KC_SPC, KC_ENT, LY_RSE, KC_RALT
22 ), 27 ),
23 28
24 /* Lower layer: http://www.keyboard-layout-editor.com/#/gists/c3fba5eaa2cd70fdfbdbc0f9e34d3bc0 */ 29 /* Lower layer: http://www.keyboard-layout-editor.com/#/gists/c3fba5eaa2cd70fdfbdbc0f9e34d3bc0 */
25 [LAYER_LOWER] = LAYOUT( 30 [LAYER_LOWER] = LAYOUT(
26 KC_CAPS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, 31 MC_ALTT, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
27 _______, _______, _______, _______, _______, _______, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_TILD, 32 KY_CSPC, KY_WINL, KY_WINR, KY_LOCK, KC_WBAK, KC_WFWD, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_TILD,
28 _______, KC_APP, KC_PSCR, KC_SLCK, KC_PAUS, _______, KC_BSLS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_GRV, 33 _______, KC_APP, KC_PSCR, KC_SLCK, KC_PAUS, KC_LGUI, KC_BSLS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_GRV,
29 _______, _______, _______, _______, _______, _______ 34 _______, _______, _______, _______, _______, _______
30 ), 35 ),
31 36
32 /* Raise layer: http://www.keyboard-layout-editor.com/#/gists/08b44355d4ca85d294bad9e2821f91d7 */ 37 /* Raise layer: http://www.keyboard-layout-editor.com/#/gists/08b44355d4ca85d294bad9e2821f91d7 */
33 [LAYER_RAISE] = LAYOUT( 38 [LAYER_RAISE] = LAYOUT(
34 _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, 39 KC_CAPS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
35 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_F11, KC_DEL, 40 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_F11, KC_DEL,
36 _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_F12, KC_INS, 41 _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_F12, KC_INS,
37 _______, _______, _______, _______, _______, _______ 42 _______, _______, _______, _______, _______, _______
@@ -46,6 +51,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
46 ), 51 ),
47}; 52};
48 53
49layer_state_t layer_state_set_user(layer_state_t state) { 54layer_state_t layer_state_set_keymap(layer_state_t state) {
50 return update_tri_layer_state(state, LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST); 55 return update_tri_layer_state(state, LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST);
51} 56}
diff --git a/keyboards/crkbd/keymaps/bcat/readme.md b/keyboards/crkbd/keymaps/bcat/readme.md
index fa6b5af37..21594f75c 100644
--- a/keyboards/crkbd/keymaps/bcat/readme.md
+++ b/keyboards/crkbd/keymaps/bcat/readme.md
@@ -4,11 +4,11 @@ This is my favorite split ergo layout for typing, featuring the traditional
4four ortho/ergo layers (Default, Lower, Raise, Adjust). It is loosely inspired 4four ortho/ergo layers (Default, Lower, Raise, Adjust). It is loosely inspired
5by the default Planck (numbers on Lower, symbols on Raise) and Crkbd (Space on 5by the default Planck (numbers on Lower, symbols on Raise) and Crkbd (Space on
6left, Enter on right) layouts, but has since been redesigned heavily according 6left, Enter on right) layouts, but has since been redesigned heavily according
7to the principles described below: 7to the principles described below.
8 8
9* Since most of the modifiers are on the left half, keys frequently pressed 9* Since my most-frequently-used keyboard shortcuts involve Ctrl, which lives on
10together with mods (e.g., numbers, function keys, etc.) are on the Raise layer 10the left half of the keyboard, keys frequently used with it (numbers, function
11activated by the right thumb. 11keys, etc.) are on the Raise layer activated by the right thumb.
12 12
13* Navigation can be done on the right half alone, to enable simultaneous 13* Navigation can be done on the right half alone, to enable simultaneous
14left-handed mousing. Additionally, Web pages can be scrolled with Space or 14left-handed mousing. Additionally, Web pages can be scrolled with Space or
@@ -22,7 +22,7 @@ layer-switch keys to correct mistakes.
22 22
23## Default layer 23## Default layer
24 24
25![Default layer layout](https://i.imgur.com/s1LDlSQ.png) 25![Default layer layout](https://i.imgur.com/g5N7g8D.png)
26 26
27([KLE](http://www.keyboard-layout-editor.com/#/gists/08d9827d916662a9414f48805aa895a5)) 27([KLE](http://www.keyboard-layout-editor.com/#/gists/08d9827d916662a9414f48805aa895a5))
28 28
@@ -31,29 +31,26 @@ layer-switch keys to correct mistakes.
31* Tab and Backspace are in familiar locations from my row-staggered boards 31* Tab and Backspace are in familiar locations from my row-staggered boards
32(almost all of which use HHKB-style split backspace). 32(almost all of which use HHKB-style split backspace).
33 33
34* The Esc key is next to the home row for convenience in Vim.
35
34* Likewise, the Ctrl key is in the same place as on my row-staggered boards 36* Likewise, the Ctrl key is in the same place as on my row-staggered boards
35(where I've been remapping Caps Lock as Ctrl since before even using QMK). 37(where I've been remapping Caps Lock as Ctrl since before even using QMK).
36 38
37* There are two Shift keys, because I do use Right Shift on occasion (even 39* There are two Shift keys, although I generally use Left Shift. (I've
38though I'm predominately a Left Shift-er). 40considered replacing Right Shift with another key, but haven't chosen one.)
39 41
40* Lower and Raise layer-switch keys are below the left and right thumb, 42* Lower and Raise layer-switch keys are in the resting position of my left and
41respectively, when resting my fingers on the home row. 43right thumbs, respectively.
42 44
43* Space and Enter are on the big thumb keys so they're easy to press. 45* Space and Enter are on the big thumb keys so they're easy to press.
44 46
45* Alt is on the left so I can navigate back (Alt+Raise+H) and forward 47* Ctrl is on the left for ease of chording, especially one-handed use of common
46(Alt+Raise+L) without having to uncomfortably hit two thumb keys on the same 48shortcuts like Ctrl+T and Ctrl+W. This puts Alt on the right by the process of
47half. This puts Super on the right by the process of elimination. 49elimination.
48
49* Escape shares a mod-tap key with Ctrl, which is convenient for Vim, but not
50something I'm totally in love with, as even after tweaking `TAPPING_TERM` I
51still get occasional spurious Esc taps. (I might move Esc up a key and put Tab
52on a layer, but that'd take some getting used to....)
53 50
54## Lower layer 51## Lower layer
55 52
56![Lower layer layout](https://i.imgur.com/SsxvCgy.png) 53![Lower layer layout](https://i.imgur.com/djIkwsa.png)
57 54
58([KLE](http://www.keyboard-layout-editor.com/#/gists/c3fba5eaa2cd70fdfbdbc0f9e34d3bc0)) 55([KLE](http://www.keyboard-layout-editor.com/#/gists/c3fba5eaa2cd70fdfbdbc0f9e34d3bc0))
59 56
@@ -74,17 +71,23 @@ bottom row.
74right half, with the same relative positions as on a row-staggered HHKB layout. 71right half, with the same relative positions as on a row-staggered HHKB layout.
75And yup, the shifted versions are above the unshifted versions. 72And yup, the shifted versions are above the unshifted versions.
76 73
77* Caps Lock is bound in the same position as on an HHKB, for lack of an obvious 74* Remaining keys from a TKL are placed out of the way on the bottom row of the
78better location. 75left half.
79 76
80* Some extra keys are placed on the bottom row of the left half, ensuring every 77* The home row on the left half contains handy shortcuts for window movement,
81key on a TKL has a binding. 78and browser navigation, and screen lock.
82 79
83* The left-half home row is reversed for future use. (It's free real estate.) 80* Lower+Esc is bound to Ctrl+Space because the Ctrl and Space keys are both on
81the left thumb, so this key combination (which I use for tmux prefix and editor
82autocomplete) is hard to press in its natural location.
83
84* Lower+Tab is bound to a custom Alt+Tab macro that keeps the Alt modifier held
85as long as the Lower key is held down. This means that window switching is on
86Lower+Tab immediately next to browser tab switching (Ctrl+Tab).
84 87
85## Raise layer 88## Raise layer
86 89
87![Raise layer layout](https://i.imgur.com/cVoKygg.png) 90![Raise layer layout](https://i.imgur.com/VNEiV9A.png)
88 91
89([KLE](http://www.keyboard-layout-editor.com/#/gists/08b44355d4ca85d294bad9e2821f91d7)) 92([KLE](http://www.keyboard-layout-editor.com/#/gists/08b44355d4ca85d294bad9e2821f91d7))
90 93
@@ -106,6 +109,8 @@ keys (F1–F5) on the home row.)
106* Insert and Delete are on the rightmost column, because there didn't seem to 109* Insert and Delete are on the rightmost column, because there didn't seem to
107be a better place to put them. 110be a better place to put them.
108 111
112* Caps Lock is bound in the same position as on an HHKB, for lack of an obvious better location.
113
109## Adjust layer 114## Adjust layer
110 115
111![Adjust layer layout](https://i.imgur.com/LEHM4DU.png) 116![Adjust layer layout](https://i.imgur.com/LEHM4DU.png)
diff --git a/keyboards/lily58/keymaps/bcat/config.h b/keyboards/lily58/keymaps/bcat/config.h
index f7f08d076..180926204 100644
--- a/keyboards/lily58/keymaps/bcat/config.h
+++ b/keyboards/lily58/keymaps/bcat/config.h
@@ -1,6 +1,3 @@
1#pragma once 1#pragma once
2 2
3#define EE_HANDS 3#define EE_HANDS
4
5/* Work around Elite-C v3 with broken VBUS detection. */
6#define SPLIT_USB_DETECT
diff --git a/keyboards/lily58/keymaps/bcat/keymap.c b/keyboards/lily58/keymaps/bcat/keymap.c
index 7fa65b876..a194e1c9d 100644
--- a/keyboards/lily58/keymaps/bcat/keymap.c
+++ b/keyboards/lily58/keymaps/bcat/keymap.c
@@ -1,5 +1,7 @@
1#include QMK_KEYBOARD_H 1#include QMK_KEYBOARD_H
2 2
3#include "bcat.h"
4
3enum layer { 5enum layer {
4 LAYER_DEFAULT, 6 LAYER_DEFAULT,
5 LAYER_LOWER, 7 LAYER_LOWER,
@@ -10,31 +12,34 @@ enum layer {
10#define LY_LWR MO(LAYER_LOWER) 12#define LY_LWR MO(LAYER_LOWER)
11#define LY_RSE MO(LAYER_RAISE) 13#define LY_RSE MO(LAYER_RAISE)
12 14
13#define KY_CESC LCTL_T(KC_ESC) 15#define KY_CSPC LCTL(KC_SPC)
16#define KY_LOCK LGUI(KC_L)
17#define KY_WINL LGUI(KC_LEFT)
18#define KY_WINR LGUI(KC_RGHT)
14 19
15const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 20const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
16 /* Default layer: http://www.keyboard-layout-editor.com/#/gists/e0eb3af65961e9fd612dcff3ddd88e4f */ 21 /* Default layer: http://www.keyboard-layout-editor.com/#/gists/e0eb3af65961e9fd612dcff3ddd88e4f */
17 [LAYER_DEFAULT] = LAYOUT( 22 [LAYER_DEFAULT] = LAYOUT(
18 KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, 23 KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
19 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, 24 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
20 KY_CESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, 25 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
21 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_WBAK, KC_WFWD, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, 26 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_WBAK, KC_WFWD, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
22 KC_LCTL, KC_LALT, LY_LWR, KC_SPC, KC_ENT, LY_RSE, KC_RGUI, KC_APP 27 KC_LGUI, KC_LCTL, LY_LWR, KC_SPC, KC_ENT, LY_RSE, KC_RALT, KC_APP
23 ), 28 ),
24 29
25 /* Lower layer: http://www.keyboard-layout-editor.com/#/gists/19ad0d3b5d745fbb2818db09740f5a11 */ 30 /* Lower layer: http://www.keyboard-layout-editor.com/#/gists/19ad0d3b5d745fbb2818db09740f5a11 */
26 [LAYER_LOWER] = LAYOUT( 31 [LAYER_LOWER] = LAYOUT(
27 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 32 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
28 KC_CAPS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, 33 MC_ALTT, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
29 _______, _______, _______, _______, _______, _______, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_TILD, 34 KY_CSPC, KY_WINL, KY_WINR, KY_LOCK, KC_WBAK, KC_WFWD, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_TILD,
30 _______, KC_APP, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, KC_BSLS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_GRV, 35 _______, KC_APP, KC_PSCR, KC_SLCK, KC_PAUS, KC_LGUI, _______, _______, KC_BSLS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_GRV,
31 _______, _______, _______, _______, _______, _______, _______, _______ 36 _______, _______, _______, _______, _______, _______, _______, _______
32 ), 37 ),
33 38
34 /* Raise layer: http://www.keyboard-layout-editor.com/#/gists/912be7955f781cdaf692cc4d4c0b5823 */ 39 /* Raise layer: http://www.keyboard-layout-editor.com/#/gists/912be7955f781cdaf692cc4d4c0b5823 */
35 [LAYER_RAISE] = LAYOUT( 40 [LAYER_RAISE] = LAYOUT(
36 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 41 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
37 _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, 42 KC_CAPS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
38 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_F11, KC_DEL, 43 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_F11, KC_DEL,
39 _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_F12, KC_INS, 44 _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_F12, KC_INS,
40 _______, _______, _______, _______, _______, _______, _______, _______ 45 _______, _______, _______, _______, _______, _______, _______, _______
@@ -50,6 +55,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
50 ), 55 ),
51}; 56};
52 57
53layer_state_t layer_state_set_user(layer_state_t state) { 58layer_state_t layer_state_set_keymap(layer_state_t state) {
54 return update_tri_layer_state(state, LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST); 59 return update_tri_layer_state(state, LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST);
55} 60}
diff --git a/keyboards/lily58/keymaps/bcat/readme.md b/keyboards/lily58/keymaps/bcat/readme.md
index 57b7929d3..270e74731 100644
--- a/keyboards/lily58/keymaps/bcat/readme.md
+++ b/keyboards/lily58/keymaps/bcat/readme.md
@@ -11,24 +11,24 @@ using layers for numbers and symbols, so in practice this goes unused.
11placed in the same positions as on the ErgoDox EZ. (There's no real reason for 11placed in the same positions as on the ErgoDox EZ. (There's no real reason for
12this; I just had to do _something_ with those keys.) 12this; I just had to do _something_ with those keys.)
13 13
14* The extra thumb keys are used for dedicated Ctrl/Menu keys (not super useful) 14* The extra thumb keys are used for dedicated Super/Menu keys, as well as
15and browser back/forward navigation keys (actually more useful than expected). 15browser back/forward navigation keys.
16 16
17## Default layer 17## Default layer
18 18
19![Default layer layout](https://i.imgur.com/wx1brJV.png) 19![Default layer layout](https://i.imgur.com/FNITWJ0.png)
20 20
21([KLE](http://www.keyboard-layout-editor.com/#/gists/e0eb3af65961e9fd612dcff3ddd88e4f)) 21([KLE](http://www.keyboard-layout-editor.com/#/gists/e0eb3af65961e9fd612dcff3ddd88e4f))
22 22
23## Lower layer 23## Lower layer
24 24
25![Lower layer layout](https://i.imgur.com/9JlbNAd.png) 25![Lower layer layout](https://i.imgur.com/JVF1p1Q.png)
26 26
27([KLE](http://www.keyboard-layout-editor.com/#/gists/19ad0d3b5d745fbb2818db09740f5a11)) 27([KLE](http://www.keyboard-layout-editor.com/#/gists/19ad0d3b5d745fbb2818db09740f5a11))
28 28
29## Raise layer 29## Raise layer
30 30
31![Raise layer layout](https://i.imgur.com/Ue8tu1v.png) 31![Raise layer layout](https://i.imgur.com/NaWTavA.png)
32 32
33([KLE](http://www.keyboard-layout-editor.com/#/gists/912be7955f781cdaf692cc4d4c0b5823)) 33([KLE](http://www.keyboard-layout-editor.com/#/gists/912be7955f781cdaf692cc4d4c0b5823))
34 34