Merge pull request #368 from waveform80/daves-layout-readme
Added a README and minor tweaks for "dave" KEYMAPmaster
commit
0c4085dd53
File diff suppressed because it is too large
Load Diff
|
@ -3,8 +3,8 @@
|
||||||
#include "action_layer.h"
|
#include "action_layer.h"
|
||||||
|
|
||||||
#define BASE 0 // default layer
|
#define BASE 0 // default layer
|
||||||
#define PROG 1 // symbols
|
#define PROG 1 // programming
|
||||||
#define NAVI 2 // navigation keys
|
#define NAVI 2 // navigation
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
/* Keymap 0: Basic layer
|
/* Keymap 0: Basic layer
|
||||||
|
@ -18,16 +18,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
* |--------+------+------+------+------+------| H | | B |------+------+------+------+------+--------|
|
* |--------+------+------+------+------+------| H | | B |------+------+------+------+------+--------|
|
||||||
* | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
|
* | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
|
||||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||||
* |`/Ctrl| \ | | | LAlt | | RAlt | | [ | ] |'/Ctrl|
|
* |`/Ctrl| \ | | | LAlt | | RAlt | [ | ] | |'/Ctrl|
|
||||||
* `----------------------------------' `----------------------------------'
|
* `----------------------------------' `----------------------------------'
|
||||||
* ,-------------. ,-------------.
|
* ,-------------. ,-------------.
|
||||||
* | PrtS | Apps | | Paus | CtAl |
|
* | PrtS | PrtS | | CtAl | CtAl |
|
||||||
* ,------+------+------| |------+------+------.
|
* ,------+------+------| |------+------+------.
|
||||||
* | | | L1 | | L1 | | |
|
* | | | L1 | | L1 | | |
|
||||||
* | Spce | ~L2 +------| |------+ ~L1 | Spce |
|
* | Spce | ~L2 +------| |------+ ~L1 | Spce |
|
||||||
* | | | LGui | | RGui | | |
|
* | | | LGui | | RGui | | |
|
||||||
* `--------------------' `--------------------'
|
* `--------------------' `--------------------'
|
||||||
*/
|
*/
|
||||||
|
// If it accepts an argument (i.e, is a function), it doesn't need KC_.
|
||||||
|
// Otherwise, it needs KC_*
|
||||||
[BASE] = KEYMAP( // layer 0 : default
|
[BASE] = KEYMAP( // layer 0 : default
|
||||||
// left hand
|
// left hand
|
||||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
|
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
|
||||||
|
@ -35,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
KC_LCTRL, KC_A, KC_S, KC_D, KC_F, KC_G,
|
KC_LCTRL, KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_H,
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_H,
|
||||||
CTL_T(KC_GRV),KC_NUBS,KC_NO, KC_NO, KC_LALT,
|
CTL_T(KC_GRV),KC_NUBS,KC_NO, KC_NO, KC_LALT,
|
||||||
KC_PSCREEN, KC_APP,
|
KC_PSCREEN, KC_PSCREEN,
|
||||||
TO(PROG, ON_PRESS),
|
TO(PROG, ON_PRESS),
|
||||||
KC_SPC, MO(NAVI), KC_LGUI,
|
KC_SPC, MO(NAVI), KC_LGUI,
|
||||||
// right hand
|
// right hand
|
||||||
|
@ -43,8 +45,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
KC_G, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_ENTER,
|
KC_G, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_ENTER,
|
||||||
KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENTER,
|
KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENTER,
|
||||||
KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,
|
KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,
|
||||||
KC_RALT,KC_NO, KC_LBRC,KC_RBRC, CTL_T(KC_QUOT),
|
KC_RALT,KC_LBRC,KC_RBRC,KC_NO, CTL_T(KC_QUOT),
|
||||||
KC_PAUS, MT(0x5, KC_NO),
|
MT(0x5, KC_NO), MT(0x5, KC_NO),
|
||||||
TO(PROG, ON_PRESS),
|
TO(PROG, ON_PRESS),
|
||||||
KC_RGUI, MO(PROG), KC_SPC
|
KC_RGUI, MO(PROG), KC_SPC
|
||||||
),
|
),
|
||||||
|
@ -70,6 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
* | | | | | | | |
|
* | | | | | | | |
|
||||||
* `--------------------' `--------------------'
|
* `--------------------' `--------------------'
|
||||||
*/
|
*/
|
||||||
|
// PROGRAMMING
|
||||||
[PROG] = KEYMAP(
|
[PROG] = KEYMAP(
|
||||||
// left hand
|
// left hand
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
@ -105,20 +108,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
* | | MsLt | MsDn | MsRt | | |VolDn | Mute |VolUp | | |
|
* | | MsLt | MsDn | MsRt | | |VolDn | Mute |VolUp | | |
|
||||||
* `----------------------------------' `----------------------------------'
|
* `----------------------------------' `----------------------------------'
|
||||||
* ,-------------. ,-------------.
|
* ,-------------. ,-------------.
|
||||||
* | Powr | Log | | | |
|
* | | | | | |
|
||||||
* ,------|------|------| |------+------+------.
|
* ,------|------|------| |------+------+------.
|
||||||
* | | | L0 | | L0 | | |
|
* | | | L0 | | L0 | | |
|
||||||
* | | |------| |------| | |
|
* | | |------| |------| | |
|
||||||
* | | | | | | | |
|
* | | | | | | | |
|
||||||
* `--------------------' `--------------------'
|
* `--------------------' `--------------------'
|
||||||
*/
|
*/
|
||||||
|
// NAVIGATION
|
||||||
[NAVI] = KEYMAP(
|
[NAVI] = KEYMAP(
|
||||||
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
|
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
|
||||||
KC_TRNS, KC_HOME, KC_UP, KC_END, KC_INS, KC_PGUP, KC_TRNS,
|
KC_TRNS, KC_HOME, KC_UP, KC_END, KC_INS, KC_PGUP, KC_TRNS,
|
||||||
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_DELT, KC_PGDN,
|
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_DELT, KC_PGDN,
|
||||||
KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
|
KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
|
||||||
KC_PWR, LCTL(LALT(KC_DELT)),
|
KC_TRNS, KC_TRNS,
|
||||||
TO(BASE, ON_PRESS),
|
TO(BASE, ON_PRESS),
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
// right hand
|
// right hand
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
This keymap is my preferred layout (after a certain amount of experimentation).
|
||||||
|
The rationale behind the design is as follows:
|
||||||
|
|
||||||
|
I grew up typing from a very early age and thus never learned the "correct" way
|
||||||
|
to touch type (essentially, I'm self-taught). As a, result my fingers don't
|
||||||
|
tend to stay on the "home keys" and occasionally my right hand wants to type
|
||||||
|
keys that are on the left of the keyboard, and vice versa.
|
||||||
|
|
||||||
|
Hence, despite liking the idea of split keyboards in principle, I've never been
|
||||||
|
able to get on with them because the split simply doesn't work with my style of
|
||||||
|
typing. The Ergodox solves this neatly by virtue of having a few extra keys in
|
||||||
|
the "middle" of the keyboard which I can utilise for deliberate redundancy.
|
||||||
|
Thus in this keymap there are two "6" keys (one on the left, one on the right)
|
||||||
|
and likewise Y, H, G, and B are all duplicated to enable one-handed patterns
|
||||||
|
that I use frequently (e.g. "byobu" with the right hand, "yes" with the left,
|
||||||
|
etc.).
|
||||||
|
|
||||||
|
I occasionally use the numeric pad for data entry, thus this is duplicated
|
||||||
|
under the natural home position of the right hand in layer 1 (activated by
|
||||||
|
holding one of the right thumb buttons), while the cursor keys are duplicated
|
||||||
|
under the classic WASD gaming layout of the left hand in layer 2 (activated by
|
||||||
|
holding one of the left thumb buttons). Various other useful keys also appear
|
||||||
|
in these layers (brackets and symbols for coding in layer 1, navigation and
|
||||||
|
F-keys in layer 2, etc.).
|
||||||
|
|
||||||
|
Finally, modifier keys like Ctrl, Shift, and Alt, along with Backspace and
|
||||||
|
Enter are all in traditional locations in an effort to reuse existing muscle
|
||||||
|
memory as much as possible (keys like =, #, and ' are in layer 1). The layout
|
||||||
|
maps are in the comments of keymap_dave.c so I won't bother duplicating them
|
||||||
|
here.
|
||||||
|
|
||||||
|
Oh, and the LEDs are rather pimped ... because I could!
|
||||||
|
|
||||||
|
Anyway, although I'm sure this keymap won't be to many people's taste you might
|
||||||
|
find some interesting ideas in here for your own layouts. Do tweet me
|
||||||
|
(@waveform80) if you have any questions / suggestions / bugs.
|
||||||
|
|
||||||
|
Dave.
|
Loading…
Reference in New Issue