Merge pull request #733 from cbbrowne/master Various recent enhancements to my keyboard map
3 files changed, 38 insertions(+), 15 deletions(-) M keyboards/planck/keymaps/cbbrowne/config.h M keyboards/planck/keymaps/cbbrowne/keymap.c M keyboards/planck/keymaps/cbbrowne/readme.md
M keyboards/planck/keymaps/cbbrowne/config.h => keyboards/planck/keymaps/cbbrowne/config.h +5 -0
@@ 9,6 9,11 @@ #define randmul 181 #define randmod 167 /* Filler to make layering a bit clearer * * borrowed from basic keymap */ #define _______ KC_TRNS #endif
M keyboards/planck/keymaps/cbbrowne/keymap.c => keyboards/planck/keymaps/cbbrowne/keymap.c +10 -8
@@ 1,6 1,6 @@ #include "planck.h" #ifdef BACKLIGHT_ENABLE #include "backlight.h" #include "backlight.h" #endif #include "config.h" @@ #include "quantum.h" 84,21 84,22 @@ enum macro_id { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_QW] = { /* Qwerty */ {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, {KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT}, {KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, MT(MOD_RSFT, KC_ENT)}, {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT }, {KC_TAB, M(M_LED), KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} /* Note that KC_SPC is recorded TWICE, so that either matrix position can activate it */ }, [_RS] = { /* RAISE */ {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_KP), DF(_KP), RESET, KC_TRNS}, {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} {_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_KP), DF(_KP), RESET, _______}, {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} }, [_LW] = { /* LOWER */ {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC}, {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE}, {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_KP), DF(_KP), RESET, KC_TRNS}, {KC_TRNS, DF(_KP), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} {_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE}, {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_KP), DF(_KP), RESET, _______}, {_______, DF(_KP), _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} }, [_KP] = { /* Key Pad */ @@ {KC_ESC, M(M_USERNAME), M(M_VERSION), KC_F10, KC_F11, KC_F12, KC_PGUP, KC_KP_ENTER, KC_7, KC_8, KC_9, KC_BSPC}, 108,6 109,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { } }; /* What is fn_actions actually used for??? */ const uint16_t PROGMEM fn_actions[] = { };
M keyboards/planck/keymaps/cbbrowne/readme.md => keyboards/planck/keymaps/cbbrowne/readme.md +23 -7
@@ 7,16 7,10 @@ Christopher Browne This was originally based on the default keyboard map, but I have been doing sundry experimentation: 1. Experiments 1. Useful Experiments ---------------------------------------- * To figure things out about the toolset * I'm an Emacs guy, so will be needing a fair bit of tuning * It made sense to mess around some with keyboard maps. - I tried added Workman alongside Dvorak and Colemak - Boy, oh boy, these don't help!!! - I have done 30 years of learning of Emacs key mappings, and these alternative keyboards massively mess me up - I added a keypad, originally based on keymaps/numpad.c, but mighty substantially revised, as that one seems to be rotated 90 @@ degrees from usual conventions for number pads 30,6 24,7 @@ doing sundry experimentation: - Key [2][2] aka "a" uses a random number generator to select a digit 0-9 at random - Key [3][2] aka "z" uses a random number generator to select a letter a-z at random - Key [1][3] aka "e" spits out the keymap version number * Minor use of Space Cadet Shift; my SHIFT key has switched to KC_LSP0, so that when I just hit SHIFT, I get a left parens: ( which is great for Lisping. I don't have a Right Shift, so I don't get an autoclose; I think I'll live with that until a Planck successor with more lines of keys :-) 2. Some code structure ideas @@ --------------------------------------------------- 62,3 57,24 @@ doing sundry experimentation: and shift ESC off the first column so KC_LCTL and KC_LALT can be on the first column. * I needed to swap ' and ENTER * I tried added Workman alongside Dvorak and Colemak - Boy, oh boy, these don't help!!! - I have done 30 years of learning of Emacs key mappings, and these alternative keyboards massively mess me up 4. TODO --------------------------------------------------------- * I use tmux quite a lot; the mollat keymap seems to have some interesting helpers. It might be interesting to add a "tmux layer," or to have a few keys in a layer oriented towards that * The mollat tmux layer also suggests some thoughts about Emacs helpers. * I do not presently have anything that handles X11 screen switching, as with Control-Alt-various * I ought to probably look into KC_LEAD, to have some key combos that do not need to be concurrent * The jeebak keymap seems to have some neat ideas: - Number layer which is aggressive about having numbers in several places - Touch layer seems interesting * Trying out sgoodwin's "hold Enter down to get Shift" \ No newline at end of file