~ruther/qmk_firmware

63a0b1241d204873cd5156a959e913c602b0c386 — Daniel Shields 6 years ago 75c9747
[Keymap] Move common code and configuration to userspace for dshields keymaps. (#6537)

M keyboards/model01/keymaps/dshields/config.h => keyboards/model01/keymaps/dshields/config.h +0 -26
@@ 1,30 1,4 @@
#pragma once

#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_DIGITAL_RAIN_DROPS    18
#define USB_MAX_POWER_CONSUMPTION 100
#define ONESHOT_TAP_TOGGLE        2
#define ONESHOT_TIMEOUT           3000

#define MOUSEKEY_INTERVAL         20
#define MOUSEKEY_DELAY            0
#define MOUSEKEY_TIME_TO_MAX      40
#define MOUSEKEY_MAX_SPEED        7
#define MOUSEKEY_WHEEL_DELAY      0

// dynamic macro keys
#define DM_PLAY DYN_MACRO_PLAY1
#define DM_STRT DYN_REC_START1
#define DM_STOP DYN_REC_STOP

// one-shot layer keys
#define OSL_FUN OSL(FUN)

// one-shot modifier keys
#define OSMLCTL OSM(MOD_LCTL)
#define OSMRCTL OSM(MOD_RCTL)
#define OSMLALT OSM(MOD_LALT)
#define OSMRALT OSM(MOD_RALT)
#define OSMLSFT OSM(MOD_LSFT)
#define OSMRSFT OSM(MOD_RSFT)


M keyboards/model01/keymaps/dshields/keymap.c => keyboards/model01/keymaps/dshields/keymap.c +1 -27
@@ 1,4 1,5 @@
#include QMK_KEYBOARD_H
#include "dshields.h"

enum { DEF, FUN };
enum { DYNAMIC_MACRO_RANGE = SAFE_RANGE };


@@ 30,30 31,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    )
};

uint32_t layer_state_set_user(uint32_t state) {
    switch (biton32(state)) {
        case DEF:
            set_all_leds_to(0,0,0);
            break;
        case FUN:
            // TODO light the fn keys
            // set_led_to(?, 0, 128, 0);
            // set_led_to(?, 0, 128, 0);
            break;
    }
    return state;
}

/*
void matrix_init_user(void) {
    eeconfig_init();
};
*/

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    if (!process_record_dynamic_macro(keycode, record)) {
        return false;
    }
    return true;
}


D keyboards/model01/keymaps/dshields/rules.mk => keyboards/model01/keymaps/dshields/rules.mk +0 -3
@@ 1,3 0,0 @@
MOUSEKEY_ENABLE = yes
EXTRAKEY_ENABLE = no
CONSOLE_ENABLE  = no

M keyboards/planck/keymaps/dshields/config.h => keyboards/planck/keymaps/dshields/config.h +0 -29
@@ 1,33 1,4 @@
#pragma once

#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_DIGITAL_RAIN_DROPS    24
#define USB_MAX_POWER_CONSUMPTION 100
#define ONESHOT_TAP_TOGGLE        2
#define ONESHOT_TIMEOUT           3000
#define RETRO_TAPPING

#define MOUSEKEY_INTERVAL         20
#define MOUSEKEY_DELAY            0
#define MOUSEKEY_TIME_TO_MAX      40
#define MOUSEKEY_MAX_SPEED        7
#define MOUSEKEY_WHEEL_DELAY      0

// dynamic macro keys
#define DM_PLAY DYN_MACRO_PLAY1
#define DM_STRT DYN_REC_START1
#define DM_STOP DYN_REC_STOP

// one-shot layer keys
#define OSL_RSE OSL(RSE)
#define OSL_LWR OSL(LWR)
#define OSL_FUN OSL(FUN)

// one-shot modifier keys
#define OSM_CTL OSM(MOD_LCTL)
#define OSM_ALT OSM(MOD_LALT)
#define OSM_SFT OSM(MOD_LSFT)

// mod-tap keys
#define MT_SPC  SFT_T(KC_SPC)


M keyboards/planck/keymaps/dshields/keymap.c => keyboards/planck/keymaps/dshields/keymap.c +3 -26
@@ 1,27 1,17 @@
#include QMK_KEYBOARD_H
#include "config.h"

extern keymap_config_t keymap_config;
#include "dshields.h"

enum planck_layers { DEF, LWR, RSE, FUN };
enum planck_keycodes { DYNAMIC_MACRO_RANGE = SAFE_RANGE };

#include "dynamic_macro.h"

#ifdef KEYBOARD_planck_light
    #define LGT_TOG RGB_TOG
    #define LGT_MOD RGB_MOD
#else
    #define LGT_TOG BL_TOGG
    #define LGT_MOD BL_STEP
#endif

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [DEF] = LAYOUT_planck_grid(
        KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_ESC,  KC_BSPC, KC_Y,    KC_U,    KC_I,    KC_O,    KC_P   ,
        KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_TAB,  KC_ENT,  KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN,
        KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    OSM_SFT, DM_PLAY, KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,
        OSM_CTL, KC_LGUI, OSM_ALT, OSL_FUN, OSL_LWR, MT_SPC,  MT_SPC,  OSL_RSE, KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT
        KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    OSMLSFT, DM_PLAY, KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,
        OSMLCTL, KC_LGUI, OSMLALT, OSL_FUN, OSL_LWR, MT_SPC,  MT_SPC,  OSL_RSE, KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT
    ),
    [LWR] = LAYOUT_planck_grid(
        KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,


@@ 43,16 33,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    )
};

/*
void matrix_init_user(void) {
    eeconfig_init();
};
*/

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    if (!process_record_dynamic_macro(keycode, record)) {
        return false;
    }
    return true;
}


A users/dshields/config.h => users/dshields/config.h +14 -0
@@ 0,0 1,14 @@
#pragma once

#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define USB_MAX_POWER_CONSUMPTION 100
#define ONESHOT_TAP_TOGGLE        2
#define ONESHOT_TIMEOUT           3000
#define RETRO_TAPPING

#define MOUSEKEY_INTERVAL         20
#define MOUSEKEY_DELAY            0
#define MOUSEKEY_TIME_TO_MAX      40
#define MOUSEKEY_MAX_SPEED        7
#define MOUSEKEY_WHEEL_DELAY      0


A users/dshields/dshields.c => users/dshields/dshields.c +30 -0
@@ 0,0 1,30 @@
extern keymap_config_t keymap_config;

/* uncomment to reset
void matrix_init_user(void) {
    eeconfig_init();
};
*/

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    if (!process_record_dynamic_macro(keycode, record)) {
        return false;
    }
    return true;
}

// work in progress
uint32_t layer_state_set_user(uint32_t state) {
    switch (biton32(state)) {
        case DEF:
            set_all_leds_to(0,0,0);
            break;
        case FUN:
            // TODO light the fn keys
            // set_led_to(?, 0, 128, 0);
            // set_led_to(?, 0, 128, 0);
            break;
    }
    return state;
}


A users/dshields/dshields.h => users/dshields/dshields.h +31 -0
@@ 0,0 1,31 @@
#pragma once

// dynamic macro keys
#define DM_PLAY DYN_MACRO_PLAY1
#define DM_STRT DYN_REC_START1
#define DM_STOP DYN_REC_STOP

// one-shot layer keys
#define OSL_RSE OSL(RSE)
#define OSL_LWR OSL(LWR)
#define OSL_FUN OSL(FUN)

// one-shot modifier keys
#define OSMLCTL OSM(MOD_LCTL)
#define OSMRCTL OSM(MOD_RCTL)
#define OSMLALT OSM(MOD_LALT)
#define OSMRALT OSM(MOD_RALT)
#define OSMLSFT OSM(MOD_LSFT)
#define OSMRSFT OSM(MOD_RSFT)

// mod-tap keys
#define MT_SPC  SFT_T(KC_SPC)

#ifdef KEYBOARD_planck_light
    #define LGT_TOG RGB_TOG
    #define LGT_MOD RGB_MOD
#else
    #define LGT_TOG BL_TOGG
    #define LGT_MOD BL_STEP
#endif


R keyboards/planck/keymaps/dshields/rules.mk => users/dshields/rules.mk +0 -0