Skip to content

Instantly share code, notes, and snippets.

@pepijndevos
Last active September 8, 2019 08:59

Revisions

  1. pepijndevos revised this gist Dec 20, 2018. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion config.h
    Original file line number Diff line number Diff line change
    @@ -1,3 +1,3 @@
    #define TAPPING_TOGGLE 1
    #define TAPPING_TOGGLE 5
    #define ONESHOT_TAP_TOGGLE 1
    #define PREVENT_STUCK_MODIFIERS
  2. pepijndevos revised this gist Aug 18, 2018. 2 changed files with 48 additions and 31 deletions.
    3 changes: 3 additions & 0 deletions config.h
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,3 @@
    #define TAPPING_TOGGLE 1
    #define ONESHOT_TAP_TOGGLE 1
    #define PREVENT_STUCK_MODIFIERS
    76 changes: 45 additions & 31 deletions keymap.c
    Original file line number Diff line number Diff line change
    @@ -1,7 +1,7 @@
    // this is the style you want to emulate.
    // This is the canonical layout file for the Quantum project. If you want to add another keyboard,

    #include "atreus.h"
    #include QMK_KEYBOARD_H

    // Each layer gets a name for readability, which is then used in the keymap matrix below.
    // The underscores don't mean anything - you can have a layer called STUFF or any other name.
    @@ -11,41 +11,55 @@
    #define _RS 1
    #define _LW 2

    #define GUI_HLD GUI_T(KC_NO)
    #define OSM_SFT OSM(MOD_LSFT)

    const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [_QW] = { /* Workman */
    {KC_Q, KC_W, KC_D, KC_R, KC_Y, KC_TRNS, KC_J, KC_U, KC_F, KC_P, KC_SCLN },
    {KC_A, KC_S, KC_H, KC_T, KC_G, KC_TRNS, KC_M, KC_N, KC_E, KC_O, KC_I },
    {KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LCTL, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH },
    {KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_SPC, MO(_RS), MO(_LW), KC_QUOT, KC_ENT }
    },
    [_RS] = { /* Punctuation */
    {KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS, KC_MINS, KC_7, KC_8, KC_9, KC_ASTR},
    {KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, KC_TRNS, KC_UNDS, KC_4, KC_5, KC_6, KC_PLUS},
    {KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS},
    {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_EQL}
    },
    [_LW] = { /* Other */
    {KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10},
    {KC_DELT, KC_LEFT, KC_DOWN, KC_RGHT, KC_DOWN, KC_TRNS, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11},
    {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LALT, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F12},
    {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LALT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET}
    }};
    [_QW] = LAYOUT( /* Workman */
    KC_Q, KC_W, KC_D, KC_R, KC_Y, KC_J, KC_U, KC_F, KC_P, KC_SCLN ,
    KC_A, KC_S, KC_H, KC_T, KC_G, KC_M, KC_N, KC_E, KC_O, KC_I ,
    KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH ,
    KC_ESC, KC_TAB, GUI_HLD, OSM_SFT, KC_BSPC, KC_LALT, KC_LCTL, KC_SPC, TT(_RS), TT(_LW), KC_QUOT, KC_ENT
    ),

    /*
    * ! @ up { } || pgup 7 8 9 *
    * # left down right $ || pgdn 4 5 6 +
    * [ ] ( ) & || ` 1 2 3 \
    * lower insert super shift bksp ctrl || alt space fn . 0 =
    */
    [_RS] = LAYOUT( /* [> RAISE <] */
    KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_MINS, KC_7, KC_8, KC_9, KC_ASTR ,
    KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, KC_UNDS, KC_4, KC_5, KC_6, KC_PLUS ,
    KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS ,
    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DELT, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_0, KC_EQL ),
    /*
    * insert home up end pgup || up F7 F8 F9 F10
    * del left down right pgdn || down F4 F5 F6 F11
    * volup reset || F1 F2 F3 F12
    * voldn super shift bksp ctrl || alt space L0 prtsc scroll pause
    */
    [_LW] = LAYOUT( /* [> LOWER <] */
    KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 ,
    KC_DELT, KC_LEFT, KC_DOWN, KC_RGHT, KC_DOWN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 ,
    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F12 ,
    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET )
    };

    const uint16_t PROGMEM fn_actions[] = {

    };

    const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
    {
    const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
    // MACRODOWN only works in this function
    switch(id) {
    case 0:
    if (record->event.pressed) {
    register_code(KC_RSFT);
    } else {
    unregister_code(KC_RSFT);
    }
    break;
    switch(id) {
    case 0:
    if (record->event.pressed) {
    register_code(KC_RSFT);
    } else {
    unregister_code(KC_RSFT);
    }
    return MACRO_NONE;
    };
    break;
    }
    return MACRO_NONE;
    };
  3. pepijndevos revised this gist Jan 16, 2017. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions keymap.c
    Original file line number Diff line number Diff line change
    @@ -19,8 +19,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    {KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_SPC, MO(_RS), MO(_LW), KC_QUOT, KC_ENT }
    },
    [_RS] = { /* Punctuation */
    {KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS, KC_PGUP, KC_7, KC_8, KC_9, KC_ASTR},
    {KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, KC_TRNS, KC_PGDN, KC_4, KC_5, KC_6, KC_PLUS},
    {KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS, KC_MINS, KC_7, KC_8, KC_9, KC_ASTR},
    {KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, KC_TRNS, KC_UNDS, KC_4, KC_5, KC_6, KC_PLUS},
    {KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS},
    {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_EQL}
    },
  4. pepijndevos created this gist Jan 12, 2017.
    51 changes: 51 additions & 0 deletions keymap.c
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,51 @@
    // this is the style you want to emulate.
    // This is the canonical layout file for the Quantum project. If you want to add another keyboard,

    #include "atreus.h"

    // Each layer gets a name for readability, which is then used in the keymap matrix below.
    // The underscores don't mean anything - you can have a layer called STUFF or any other name.
    // Layer names don't all need to be of the same length, obviously, and you can also skip them
    // entirely and just use numbers.
    #define _QW 0
    #define _RS 1
    #define _LW 2

    const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [_QW] = { /* Workman */
    {KC_Q, KC_W, KC_D, KC_R, KC_Y, KC_TRNS, KC_J, KC_U, KC_F, KC_P, KC_SCLN },
    {KC_A, KC_S, KC_H, KC_T, KC_G, KC_TRNS, KC_M, KC_N, KC_E, KC_O, KC_I },
    {KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LCTL, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH },
    {KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_SPC, MO(_RS), MO(_LW), KC_QUOT, KC_ENT }
    },
    [_RS] = { /* Punctuation */
    {KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS, KC_PGUP, KC_7, KC_8, KC_9, KC_ASTR},
    {KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, KC_TRNS, KC_PGDN, KC_4, KC_5, KC_6, KC_PLUS},
    {KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS},
    {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_EQL}
    },
    [_LW] = { /* Other */
    {KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10},
    {KC_DELT, KC_LEFT, KC_DOWN, KC_RGHT, KC_DOWN, KC_TRNS, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11},
    {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LALT, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F12},
    {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LALT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET}
    }};

    const uint16_t PROGMEM fn_actions[] = {

    };

    const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
    {
    // MACRODOWN only works in this function
    switch(id) {
    case 0:
    if (record->event.pressed) {
    register_code(KC_RSFT);
    } else {
    unregister_code(KC_RSFT);
    }
    break;
    }
    return MACRO_NONE;
    };