~ruther/qmk_firmware

395a7793d1c39053e95a699b4c5dc6ae9c304584 — Callum Oakley 6 years ago e046872
Keymap update (#5382)

* home and end on fn layer (for forward and back with left hand)

* space movement shortcuts

* mouse layer
A keyboards/planck/keymaps/callum/config.h => keyboards/planck/keymaps/callum/config.h +7 -0
@@ 0,0 1,7 @@
#define MOUSEKEY_DELAY             0
#define MOUSEKEY_INTERVAL          16
#define MOUSEKEY_MAX_SPEED         10
#define MOUSEKEY_TIME_TO_MAX       60
#define MOUSEKEY_WHEEL_DELAY       0
#define MOUSEKEY_WHEEL_MAX_SPEED   8
#define MOUSEKEY_WHEEL_TIME_TO_MAX 60

M keyboards/planck/keymaps/callum/keymap.c => keyboards/planck/keymaps/callum/keymap.c +58 -15
@@ 13,6 13,7 @@ enum planck_layers {
    _SYMB,
    _MOVE,
    _FUNC,
    _MOUSE,
};

enum planck_keycodes {


@@ 21,6 22,7 @@ enum planck_keycodes {
    SYMB,
    MOVE,
    FUNC,
    MOUSE,
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {


@@ 101,7 103,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
     * |     |  ~  |  `  |  +  |  =  |  |  |  \  |  [  |  ]  |  {  |  }  |     |
     * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
     * |     |     |     |     |     |     |     |     |     |     |     |     |
     * |     |     |     |     |     |     |     |Mouse|     |     |     |     |
     * `-----------------------------------------------------------------------'
     */
    [_SYMB] = {


@@ 122,41 124,41 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
        },
        {
            _______,      _______,      _______,      _______,
            _______,      _______,      _______,      _______,
            _______,      _______,      _______,      MOUSE,
            _______,      _______,      _______,      _______
        }
    },

    /* MOVE
     * ,-----------------------------------------------------------------------.
     * |     |     |     |     |     |     |     |Home | Up  | End |     | Esc |
     * |     |     |     |     |     |     |CtrUp|Home | Up  | End |Caps | Esc |
     * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
     * |     |     |     |     |     |     |     |Left |Down |Right|Caps | Del |
     * |     |     |     |     |     |     |SpaL |Left |Down |Right|SpaR | Del |
     * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
     * |     |     |     |     |     |     |     |PgDn |PgUp |TabL |TabR |     |
     * |     |     |     |     |     |     |CtrDn|PgDn |PgUp |TabL |TabR |     |
     * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
     * |     |     |     |     |     |     |     |     |     |     |     |     |
     * |     |     |     |     |Mouse|     |     |     |     |     |     |     |
     * `-----------------------------------------------------------------------'
     */
    [_MOVE] = {
        {
            AC(KC_A),     AC(KC_B),     AC(KC_C),     AC(KC_D),
            AC(KC_E),     AC(KC_F),     XXXXXXX,      KC_HOME,
            KC_UP,        KC_END,       XXXXXXX,      KC_ESC
            AC(KC_E),     AC(KC_F),     C(KC_UP),     KC_HOME,
            KC_UP,        KC_END,       KC_CAPS,      KC_ESC
        },
        {
            AC(KC_G),     AC(KC_H),     AC(KC_I),     AC(KC_J),
            AC(KC_K),     AC(KC_L),     XXXXXXX,      KC_LEFT,
            KC_DOWN,      KC_RGHT,      KC_CAPS,      KC_DEL
            AC(KC_K),     AC(KC_L),     C(KC_LEFT),   KC_LEFT,
            KC_DOWN,      KC_RGHT,      C(KC_RIGHT),  KC_DEL
        },
        {
            _______,      AC(KC_M),     AC(KC_N),     AC(KC_O),
            AC(KC_P),     AC(KC_Q),     XXXXXXX,      KC_PGDN,
            AC(KC_P),     AC(KC_Q),     C(KC_DOWN),   KC_PGDN,
            KC_PGUP,      SC(KC_TAB),   C(KC_TAB),    _______
        },
        {
            _______,      _______,      _______,      _______,
            _______,      _______,      _______,      _______,
            MOUSE,        _______,      _______,      _______,
            _______,      _______,      _______,      _______
        }
    },


@@ 167,7 169,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
     * |Power| F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 |VolDn|
     * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
     * |     |     |     |TabL |TabR |     |     |     |     |Clmak|Qwrty|     |
     * |     |     |Home |TabL |TabR |End  |     |     |     |Clmak|Qwrty|     |
     * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
     * |     |     |     |     |Prev |Mute |Play |Next |     |     |     |     |
     * `-----------------------------------------------------------------------'


@@ 184,8 186,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
            KC_F18,       KC_F19,       KC_F20,       KC_VOLD
        },
        {
            _______,      XXXXXXX,      XXXXXXX,      SC(KC_TAB),
            C(KC_TAB),    XXXXXXX,      XXXXXXX,      XXXXXXX,
            _______,      XXXXXXX,      KC_HOME,      SC(KC_TAB),
            C(KC_TAB),    KC_END,       XXXXXXX,      XXXXXXX,
            XXXXXXX,      COLEMAK,      QWERTY,       _______
        },
        {


@@ 193,6 195,40 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
            KC_MPRV,      KC_MUTE,      KC_MPLY,      KC_MNXT,
            _______,      _______,      _______,      _______
        }
    },

    /* MOUSE
     * ,-----------------------------------------------------------------------.
     * |     |     |     |     |     |     |     | ScL |Up   | ScR |     |     |
     * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
     * |     | B4  | B3  | B2  | B1  |     |     |Left |Down |Right|     |     |
     * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
     * |     |     | Ac0 | Ac1 | Ac2 |     |     | ScD | ScU |     |     |     |
     * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
     * |     |     |     |     |     |     |     |     |     |     |     |     |
     * `-----------------------------------------------------------------------'
     */
    [_MOUSE] = {
        {
            _______,      _______,      C(KC_LEFT),   C(KC_UP),
            C(KC_RIGHT),  _______,      _______,      KC_WH_L,
            KC_MS_U,      KC_WH_R,      _______,      _______
        },
        {
            _______,      KC_BTN4,      KC_BTN3,      KC_BTN2,
            KC_BTN1,      _______,      _______,      KC_MS_L,
            KC_MS_D,      KC_MS_R,      _______,      _______
        },
        {
            _______,      _______,      KC_ACL0,      KC_ACL1,
            KC_ACL2,      _______,      _______,      KC_WH_D,
            KC_WH_U,      _______,      _______,      _______
        },
        {
            _______,      _______,      _______,      _______,
            _______,      _______,      _______,      _______,
            _______,      _______,      _______,      _______
        }
    }
};



@@ 250,6 286,13 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
                layer_off(_FUNC);
            }
            return false;
        case MOUSE:
            if (record->event.pressed) {
                layer_on(_MOUSE);
            } else {
                layer_off(_MOUSE);
            }
            return false;

        // Override the defualt auto shifted symbols to use SEND_STRING
        // See https://github.com/qmk/qmk_firmware/issues/4072

M keyboards/planck/keymaps/callum/readme.md => keyboards/planck/keymaps/callum/readme.md +3 -64
@@ 17,68 17,7 @@ This is a layout for the grid planck, built with a few ideals in mind:
- There should be two of every modifier (one on each side), otherwise certain
  long key combinations become hard to make.

Keys are arranged as follows. Blank keys below may actually contain
undocumented shortcuts specific to my workflow. The base layer can be set to
colemak or qwerty (from the function layer).
A layout graphic can be found [here][keyboard-layout-editor] (excludes window
management keys).

```
/* COLEMAK
 * ,-----------------------------------------------------------------------.
 * |Tab  |  Q  |  W  |  F  |  P  |  G  |  J  |  L  |  U  |  Y  |  ;  |  -  |
 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
 * |Bksp |  A  |  R  |  S  |  T  |  D  |  H  |  N  |  E  |  I  |  O  |  '  |
 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
 * |Shift|  Z  |  X  |  C  |  V  |  B  |  K  |  M  |  ,  |  .  |  /  |Shift|
 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
 * |FUNC |Super| Alt |Ctrl |SYMB |Enter|Space|MOVE |Ctrl | Alt |Super|FUNC |
 * `-----------------------------------------------------------------------'
 */

/* QWERTY
 * ,-----------------------------------------------------------------------.
 * |Tab  |  Q  |  W  |  E  |  R  |  T  |  Y  |  U  |  I  |  O  |  P  |  -  |
 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
 * |Bksp |  A  |  S  |  D  |  F  |  G  |  H  |  J  |  K  |  L  |  ;  |  '  |
 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
 * |Shift|  Z  |  X  |  C  |  V  |  B  |  N  |  M  |  ,  |  .  |  /  |Shift|
 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
 * |FUNC |Super| Alt |Ctrl |SYMB |Enter|Space|MOVE |Ctrl | Alt |Super|FUNC |
 * `-----------------------------------------------------------------------'
 */

/* SYMB
 * ,-----------------------------------------------------------------------.
 * | Esc |  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  |  9  |  0  |     |
 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
 * | Del |  !  |  @  |  #  |  $  |  %  |  ^  |  &  |  *  |  (  |  )  |     |
 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
 * |     |  ~  |  `  |  +  |  =  |  |  |  \  |  [  |  ]  |  {  |  }  |     |
 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
 * |     |     |     |     |     |     |     |     |     |     |     |     |
 * `-----------------------------------------------------------------------'
 */

/* MOVE
 * ,-----------------------------------------------------------------------.
 * |     |     |     |     |     |     |     |Home | Up  | End |     | Esc |
 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
 * |     |     |     |     |     |     |     |Left |Down |Right|Caps | Del |
 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
 * |     |     |     |     |     |     |     |PgDn |PgUp |     |     |     |
 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
 * |     |     |     |     |     |     |     |     |     |     |     |     |
 * `-----------------------------------------------------------------------'
 */

/* FUNC
 * ,-----------------------------------------------------------------------.
 * |Reset| F1  | F2  | F3  | F4  | F5  | F6  | F7  | F8  | F9  | F10 |VolUp|
 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
 * |Power| F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 |VolDn|
 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
 * |     | F21 | F22 | F23 | F24 |     |     |     |     |COLMK|QWRTY|     |
 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
 * |     |     |     |     |Prev |Mute |Play |Next |     |     |     |     |
 * `-----------------------------------------------------------------------'
 */
 ```
[keyboard-layout-editor]: http://www.keyboard-layout-editor.com/#/gists/ade5ec1f814bf83046489a4b632575ff

M keyboards/planck/keymaps/callum/rules.mk => keyboards/planck/keymaps/callum/rules.mk +1 -1
@@ 3,7 3,7 @@
#   the appropriate keymap folder that will get included automatically
#
BOOTMAGIC_ENABLE = no       # Virtual DIP switch configuration(+1000)
MOUSEKEY_ENABLE = no        # Mouse keys(+4700)
MOUSEKEY_ENABLE = yes       # Mouse keys(+4700)
EXTRAKEY_ENABLE = yes       # Audio control and System control(+450)
CONSOLE_ENABLE = no         # Console for debug(+400)
COMMAND_ENABLE = yes        # Commands for debug and configuration