~ruther/qmk_firmware

54f18ce0f71efbcb1306cbfe620ed2ad42ee31bc — Drashna Jaelre 6 years ago 9841c64
[Keymap] Update to Drashna keymaps and Userspace  (#5122)

* Proper rules include

* Minor tweaks

* Minor tweaks

* Add Desitny 2 Swapped layout support

* Add keycode to keylogger

* Convert my viterbi keymaps

* Fix Orthodox keyboard

* Add more default layers

* Make default layer keycodes more optimized

* Update gitlab CI yaml file

* Rev6 Cleanup

* Fix KC_MAKE macro

* Update GitLab CI yaml file

* More GitLab CI changes

* One final GitLab CI change

* Optimize KC_MAKE

* Reformatting of config

* Feature creeeeeeep

* Planck Rev6 updates
M keyboards/crkbd/keymaps/drashna/keymap.c => keyboards/crkbd/keymaps/drashna/keymap.c +24 -0
@@ 58,6 58,30 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    _________________WORKMAN_L3________________, _________________WORKMAN_R3________________
  ),

  [_NORMAN] = LAYOUT_crkbd_base_wrapper(
    _________________NORMAN_L1_________________, _________________NORMAN_L1_________________,
    _________________NORMAN_L2_________________, _________________NORMAN_R2_________________,
    _________________NORMAN_L3_________________, _________________NORMAN_R3_________________
  ),

  [_MALTRON] = LAYOUT_crkbd_base_wrapper(
    _________________MALTRON_L1________________, _________________MALTRON_R1________________,
    _________________MALTRON_L2________________, _________________MALTRON_R2________________,
    _________________MALTRON_L3________________, _________________MALTRON_R3________________
  ),

  [_EUCALYN] = LAYOUT_crkbd_base_wrapper(
    _________________EUCALYN_L1________________, _________________EUCALYN_R1________________,
    _________________EUCALYN_L2________________, _________________EUCALYN_R2________________,
    _________________EUCALYN_L3________________, _________________EUCALYN_R3________________
  ),

  [_CARPLAX] = LAYOUT_crkbd_base_wrapper(
    _____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________,
    _____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________,
    _____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________
  ),

  [_MODS] = LAYOUT_wrapper(
      _______, ___________________BLANK___________________,                  ___________________BLANK___________________, _______,
      _______, ___________________BLANK___________________,                  ___________________BLANK___________________, _______,

M keyboards/keebio/iris/keymaps/drashna/keymap.c => keyboards/keebio/iris/keymaps/drashna/keymap.c +24 -0
@@ 44,6 44,30 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    _________________WORKMAN_L3________________, _________________WORKMAN_R3________________
  ),

  [_NORMAN] = LAYOUT_iris_base_wrapper(
    _________________NORMAN_L1_________________, _________________NORMAN_L1_________________,
    _________________NORMAN_L2_________________, _________________NORMAN_R2_________________,
    _________________NORMAN_L3_________________, _________________NORMAN_R3_________________
  ),

  [_MALTRON] = LAYOUT_iris_base_wrapper(
    _________________MALTRON_L1________________, _________________MALTRON_R1________________,
    _________________MALTRON_L2________________, _________________MALTRON_R2________________,
    _________________MALTRON_L3________________, _________________MALTRON_R3________________
  ),

  [_EUCALYN] = LAYOUT_iris_base_wrapper(
    _________________EUCALYN_L1________________, _________________EUCALYN_R1________________,
    _________________EUCALYN_L2________________, _________________EUCALYN_R2________________,
    _________________EUCALYN_L3________________, _________________EUCALYN_R3________________
  ),

  [_CARPLAX] = LAYOUT_iris_base_wrapper(
    _____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________,
    _____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________,
    _____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________
  ),

  [_MODS] = LAYOUT_wrapper(
     _______, ___________________BLANK___________________,                       ___________________BLANK___________________, _______,
     _______, ___________________BLANK___________________,                       ___________________BLANK___________________, _______,

M keyboards/keebio/iris/keymaps/drashna/rules.mk => keyboards/keebio/iris/keymaps/drashna/rules.mk +1 -1
@@ 12,6 12,6 @@ SWAP_HANDS_ENABLE = no

INDICATOR_LIGHTS  = yes
MACROS_ENABLED    = no
RGBLIGHT_TWINKLE  = yes
RGBLIGHT_TWINKLE  = no

BOOTLOADER        = qmk-dfu

M keyboards/keebio/viterbi/keymaps/drashna/config.h => keyboards/keebio/viterbi/keymaps/drashna/config.h +10 -11
@@ 17,6 17,9 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#pragma once

#undef MATRIX_ROWS
#define MATRIX_ROWS 5

#ifdef RGBLIGHT_ENABLE
#undef RGBLED_NUM
#define RGBLED_NUM 16


@@ 44,15 47,11 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#undef PRODUCT
#define PRODUCT   Drashnas Viterbi Macro Pad

#define USE_I2C

#ifdef AUDIO_ENABLE
#define C6_AUDIO
#define NO_MUSIC_MODE
#endif

#define STRICT_LAYER_RELEASE

#define LAYOUT_ortho_5x7( \
    L00, L01, L02, L03, L04, L05, L06, \
    L10, L11, L12, L13, L14, L15, L16, \


@@ 60,13 59,13 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
    L30, L31, L32, L33, L34, L35, L36, \
    L40, L41, L42, L43, L44, L45, L46 \
    ) \
    LAYOUT( \
        L00, L01, L02, L03, L04, L05, L06, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
        L10, L11, L12, L13, L14, L15, L16, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
        L20, L21, L22, L23, L24, L25, L26, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
        L30, L31, L32, L33, L34, L35, L36, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
        L40, L41, L42, L43, L44, L45, L46, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO \
    )
	{ \
		{ L00, L01, L02, L03, L04, L05, L06 }, \
		{ L10, L11, L12, L13, L14, L15, L16 }, \
		{ L20, L21, L22, L23, L24, L25, L26 }, \
		{ L30, L31, L32, L33, L34, L35, L36 }, \
		{ L40, L41, L42, L43, L44, L45, L46 }, \
  }

#define QMK_ESC_OUTPUT F5 // usually COL
#define QMK_ESC_INPUT D4 // usually ROW

M keyboards/keebio/viterbi/keymaps/drashna/keymap.c => keyboards/keebio/viterbi/keymaps/drashna/keymap.c +2 -0
@@ 8,6 8,8 @@ extern keymap_config_t keymap_config;
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.


// Fillers to make layering more clear
#define LMACRO   OSL(_MACROS)
#define DIABLO   TG(_DIABLO)
#define GAMEPAD  TG(_GAMEPAD)

M keyboards/keebio/viterbi/keymaps/drashna/rules.mk => keyboards/keebio/viterbi/keymaps/drashna/rules.mk +1 -1
@@ 7,12 7,12 @@ TAP_DANCE_ENABLE  = no
RGBLIGHT_ENABLE   = yes
AUDIO_ENABLE      = yes
NKRO_ENABLE       = yes
SPLIT_KEYBOARD    = no

NO_SECRETS        = yes
MACROS_ENABLED    = yes
INDICATOR_LIGHTS  = no
RGBLIGHT_TWINKLE  = no

LAYOUTS = ortho_5x7

# SRC := $(filter-out serial.c matrix.c i2c.c split_util.c,$(SRC))

M keyboards/keebio/viterbi/keymaps/drashna_old/config.h => keyboards/keebio/viterbi/keymaps/drashna_old/config.h +2 -63
@@ 15,72 15,11 @@ You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef CONFIG_USER_H
#define CONFIG_USER_H

#include QMK_KEYBOARD_CONFIG_H
#pragma once

#include "../drashna/config.h"

#ifdef RGBLIGHT_ENABLE
#undef RGBLED_NUM
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 12
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2
#define RGBLIGHT_EFFECT_SNAKE_LENGTH 2
#define RGBLIGHT_EFFECT_BREATHE_CENTER 1
#define RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL 300
#define RGBLIGHT_EFFECT_CHRISTMAS_STEP 1
#endif // RGBLIGHT_ENABLE


#undef LOCKING_SUPPORT_ENABLE
#undef LOCKING_RESYNC_ENABLE

#ifndef NO_DEBUG
#define NO_DEBUG
#endif // !NO_DEBUG
#ifndef NO_PRINT
#define NO_PRINT
#endif // !NO_PRINT

/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION

#undef PRODUCT
#define PRODUCT   Drashnas Viterbi Macro Pad

#define USE_I2C

#ifdef AUDIO_ENABLE
#define C6_AUDIO
#define NO_MUSIC_MODE
#endif

#define LAYOUT_ortho_5x7( \
    L00, L01, L02, L03, L04, L05, L06, \
    L10, L11, L12, L13, L14, L15, L16, \
    L20, L21, L22, L23, L24, L25, L26, \
    L30, L31, L32, L33, L34, L35, L36, \
    L40, L41, L42, L43, L44, L45, L46 \
    ) \
    LAYOUT( \
        L00, L01, L02, L03, L04, L05, L06, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
        L10, L11, L12, L13, L14, L15, L16, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
        L20, L21, L22, L23, L24, L25, L26, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
        L30, L31, L32, L33, L34, L35, L36, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
        L40, L41, L42, L43, L44, L45, L46, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO \
    )

#endif

#define QMK_ESC_OUTPUT F5 // usually COL
#define QMK_ESC_INPUT D4 // usually ROW
#define QMK_LED B0
#define QMK_SPEAKER C6

M keyboards/keebio/viterbi/keymaps/drashna_old/rules.mk => keyboards/keebio/viterbi/keymaps/drashna_old/rules.mk +1 -25
@@ 1,28 1,4 @@
BOOTMAGIC_ENABLE  = no       # Virtual DIP switch configuration(+1000)
MOUSEKEY_ENABLE   = no       # Mouse keys(+4700)
EXTRAKEY_ENABLE   = yes       # Audio control and System control(+450)
CONSOLE_ENABLE    = no         # Console for debug(+400)
COMMAND_ENABLE    = no        # Commands for debug and configuration
TAP_DANCE_ENABLE  = no
RGBLIGHT_ENABLE   = yes
AUDIO_ENABLE      = yes
NKRO_ENABLE       = yes

NO_SECRETS        = yes
MACROS_ENABLED    = yes
INDICATOR_LIGHTS  = no
RGBLIGHT_TWINKLE  = no

LAYOUTS = ortho_5x7

# SRC := $(filter-out serial.c matrix.c i2c.c split_util.c,$(SRC))
# SRC := $(filter-out serial.c,$(SRC))
# SRC := $(filter-out matrix.c,$(SRC))
# SRC := $(filter-out i2c.c,$(SRC))
# SRC := $(filter-out split_util.c,$(SRC))
# SRC += quantum/matrix.c

USER_NAME := drashna
SRC += ../drashna/keymap.c

BOOTLOADER = qmk-dfu
include $(KEYBOARD_PATH_2)/keymaps/drashna/rules.mk

M keyboards/orthodox/keymaps/drashna/config.h => keyboards/orthodox/keymaps/drashna/config.h +1 -0
@@ 33,6 33,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define EE_HANDS

/* key combination for magic key command */
#undef IS_COMMAND
#define IS_COMMAND() ( \
    get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_LALT)) \
)

M keyboards/orthodox/keymaps/drashna/keymap.c => keyboards/orthodox/keymaps/drashna/keymap.c +73 -47
@@ 47,53 47,79 @@ uint8_t last_osm;

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

[_QWERTY] = LAYOUT_orthodox_base_wrapper(
  _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
  _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
  _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
),

[_COLEMAK] = LAYOUT_orthodox_base_wrapper(
  _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
  _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
  _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
),

[_DVORAK] = LAYOUT_orthodox_base_wrapper(
  _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
  _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
  _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
),

[_WORKMAN] = LAYOUT_orthodox_base_wrapper(
  _________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
  _________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
  _________________WORKMAN_L3________________, _________________WORKMAN_R3________________
),

[_MODS] = LAYOUT_wrapper(\
  _______, _______, _______, _______, _______, _______,                                                               _______, _______, _______, _______, _______, _______,
  _______, _______, _______, _______, _______, _______,          _______, _______,         _______, _______,          _______, _______, _______, _______, _______, _______,
  KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______,         _______, _______, _______, _______, _______, _______, _______, _______, _______
),

[_LOWER] = LAYOUT_wrapper(\
  KC_TILD, _________________LOWER_L1__________________,                                                               _________________LOWER_R1__________________, KC_BSPC,
  KC_F11,  _________________LOWER_L2__________________,          _______, _______,         _______, _______,          _________________LOWER_R2__________________, KC_PIPE,
  KC_F12,  _________________LOWER_L3__________________, _______, _______, _______,         _______, _______, _______, _________________LOWER_R3__________________, _______
),

[_RAISE] = LAYOUT_wrapper(\
  KC_GRV,  _________________RAISE_L1__________________,                                                               _________________RAISE_R1__________________, KC_BSPC,
  _______, _________________RAISE_L2__________________,          _______, _______,         _______, _______,          _________________RAISE_R2__________________, KC_BSLS,
  _______, _________________RAISE_L3__________________, _______, _______, _______,         _______, _______, _______, _________________RAISE_R3__________________, _______
),

[_ADJUST] = LAYOUT_wrapper(\
  KC_MAKE, _________________ADJUST_L1_________________,                                                               _________________ADJUST_R1_________________, KC_RESET,
  VRSN,    _________________ADJUST_L2_________________,          _______, _______,         _______, KC_NUKE,          _________________ADJUST_R2_________________, EEP_RST,
  TG_MODS, _________________ADJUST_L3_________________, _______, _______, _______,         _______, _______, _______, _________________ADJUST_R3_________________, KC_MPLY
)
  [_QWERTY] = LAYOUT_orthodox_base_wrapper(
    _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
    _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
    _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
  ),

  [_COLEMAK] = LAYOUT_orthodox_base_wrapper(
    _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
    _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
    _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
  ),

  [_DVORAK] = LAYOUT_orthodox_base_wrapper(
    _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
    _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
    _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
  ),

  [_WORKMAN] = LAYOUT_orthodox_base_wrapper(
    _________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
    _________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
    _________________WORKMAN_L3________________, _________________WORKMAN_R3________________
  ),

  [_NORMAN] = LAYOUT_orthodox_base_wrapper(
    _________________NORMAN_L1_________________, _________________NORMAN_L1_________________,
    _________________NORMAN_L2_________________, _________________NORMAN_R2_________________,
    _________________NORMAN_L3_________________, _________________NORMAN_R3_________________
  ),

  [_MALTRON] = LAYOUT_orthodox_base_wrapper(
    _________________MALTRON_L1________________, _________________MALTRON_R1________________,
    _________________MALTRON_L2________________, _________________MALTRON_R2________________,
    _________________MALTRON_L3________________, _________________MALTRON_R3________________
  ),

  [_EUCALYN] = LAYOUT_orthodox_base_wrapper(
    _________________EUCALYN_L1________________, _________________EUCALYN_R1________________,
    _________________EUCALYN_L2________________, _________________EUCALYN_R2________________,
    _________________EUCALYN_L3________________, _________________EUCALYN_R3________________
  ),

  [_CARPLAX] = LAYOUT_orthodox_base_wrapper(
    _____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________,
    _____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________,
    _____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________
  ),


  [_MODS] = LAYOUT_wrapper(\
    _______, _______, _______, _______, _______, _______,                                                               _______, _______, _______, _______, _______, _______,
    _______, _______, _______, _______, _______, _______,          _______, _______,         _______, _______,          _______, _______, _______, _______, _______, _______,
    KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______,         _______, _______, _______, _______, _______, _______, _______, _______, _______
  ),

  [_LOWER] = LAYOUT_wrapper(\
    KC_TILD, _________________LOWER_L1__________________,                                                               _________________LOWER_R1__________________, KC_BSPC,
    KC_F11,  _________________LOWER_L2__________________,          _______, _______,         _______, _______,          _________________LOWER_R2__________________, KC_PIPE,
    KC_F12,  _________________LOWER_L3__________________, _______, _______, _______,         _______, _______, _______, _________________LOWER_R3__________________, _______
  ),

  [_RAISE] = LAYOUT_wrapper(\
    KC_GRV,  _________________RAISE_L1__________________,                                                               _________________RAISE_R1__________________, KC_BSPC,
    _______, _________________RAISE_L2__________________,          _______, _______,         _______, _______,          _________________RAISE_R2__________________, KC_BSLS,
    _______, _________________RAISE_L3__________________, _______, _______, _______,         _______, _______, _______, _________________RAISE_R3__________________, _______
  ),

  [_ADJUST] = LAYOUT_wrapper(\
    KC_MAKE, _________________ADJUST_L1_________________,                                                               _________________ADJUST_R1_________________, KC_RESET,
    VRSN,    _________________ADJUST_L2_________________,          _______, _______,         _______, KC_NUKE,          _________________ADJUST_R2_________________, EEP_RST,
    TG_MODS, _________________ADJUST_L3_________________, _______, _______, _______,         _______, _______, _______, _________________ADJUST_R3_________________, KC_MPLY
  )

};

void matrix_init_keymap(void) {

M keyboards/orthodox/keymaps/drashna/rules.mk => keyboards/orthodox/keymaps/drashna/rules.mk +1 -1
@@ 10,6 10,6 @@ NKRO_ENABLE       = yes

INDICATOR_LIGHTS  = yes
MACROS_ENABLED    = no
RGBLIGHT_TWINKLE  = yes
RGBLIGHT_TWINKLE  = no

BOOTLOADER        = qmk-dfu

M layouts/community/ergodox/drashna/config.h => layouts/community/ergodox/drashna/config.h +0 -2
@@ 1,7 1,5 @@
#pragma once

#include QMK_KEYBOARD_CONFIG_H

#ifdef RGBLIGHT_ENABLE
#undef RGBLIGHT_SAT_STEP
#define RGBLIGHT_SAT_STEP 12

M layouts/community/ergodox/drashna/keymap.c => layouts/community/ergodox/drashna/keymap.c +66 -6
@@ 27,9 27,9 @@ extern rgb_config_t rgb_matrix_config;
#endif
extern userspace_config_t userspace_config;

//enum more_custom_keycodes {
//    KC_P00 = NEW_SAFE_RANGE
//};
enum more_custom_keycodes {
   KC_SWAP_NUM = NEW_SAFE_RANGE
};

//define layer change stuff for underglow indicator
bool skip_leds = false;


@@ 166,6 166,31 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    _________________WORKMAN_L3________________, _________________WORKMAN_R3________________
  ),

  [_NORMAN] = LAYOUT_ergodox_pretty_base_wrapper(
    _________________NORMAN_L1_________________, _________________NORMAN_L1_________________,
    _________________NORMAN_L2_________________, _________________NORMAN_R2_________________,
    _________________NORMAN_L3_________________, _________________NORMAN_R3_________________
  ),

  [_MALTRON] = LAYOUT_ergodox_pretty_base_wrapper(
    _________________MALTRON_L1________________, _________________MALTRON_R1________________,
    _________________MALTRON_L2________________, _________________MALTRON_R2________________,
    _________________MALTRON_L3________________, _________________MALTRON_R3________________
  ),

  [_EUCALYN] = LAYOUT_ergodox_pretty_base_wrapper(
    _________________EUCALYN_L1________________, _________________EUCALYN_R1________________,
    _________________EUCALYN_L2________________, _________________EUCALYN_R2________________,
    _________________EUCALYN_L3________________, _________________EUCALYN_R3________________
  ),

  [_CARPLAX] = LAYOUT_ergodox_pretty_base_wrapper(
    _____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________,
    _____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________,
    _____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________
  ),


// Reverts OSM(Shift) to normal Shifts. However, may not need since we fixed the issue with RDP (LOCAL RESOURCES)
  [_MODS] = LAYOUT_ergodox_pretty_wrapper(
             _______, _______, _______, _______, _______, _______, _______,                 _______, _______, _______, _______, _______, _______, _______,


@@ 206,9 231,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
             KC_TAB,  KC_G,    KC_A,    KC_S,    KC_D,    KC_F,                                      KC_I,    KC_O,    KC_NO,   KC_NO,   KC_NO,   KC_NO,
             KC_LCTL, KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_TRNS,            TG(_GAMEPAD), KC_N,    KC_M,    KC_NO,   KC_NO,   KC_NO,   KC_NO,
             KC_GRV,  KC_U,    KC_I,    KC_Y,    KC_T,                                                        KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT, KC_NO,
                                                          KC_O,    KC_P,                    KC_HYPR, MAGIC_TOGGLE_NKRO,
                                                                   KC_LGUI,                 KC_NO,
                                                 KC_V,    KC_SPC,  KC_H,                    KC_PGDN, KC_DEL,  KC_ENTER
                                                          KC_O,    KC_P,                    MAGIC_TOGGLE_NKRO, LALT(KC_PSCR),
                                                                   KC_LGUI,                 KC_HYPR,
                                                 KC_V,    KC_SPC,  KC_H,                    KC_NO, KC_NO,  KC_SWAP_NUM
            ),

/* Keymap 3:


@@ 280,6 305,33 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {

  switch (keycode) {
    case KC_1:
      if (IS_LAYER_ON(_GAMEPAD) && userspace_config.swapped_numbers) {
        if (record->event.pressed) {
          register_code(KC_2);
        } else {
          unregister_code(KC_2);
        }
        return false;
      }
      break;
    case KC_2:
      if (IS_LAYER_ON(_GAMEPAD) && userspace_config.swapped_numbers) {
        if (record->event.pressed) {
          register_code(KC_1);
        } else {
          unregister_code(KC_1);
        }
        return false;
      }
      break;
    case KC_SWAP_NUM:
      if (record->event.pressed) {
        userspace_config.swapped_numbers ^= 1;
        eeconfig_update_user(userspace_config.raw);
      }
  }
  //switch (keycode) {
  //  case KC_P00:
  //    if (!record->event.pressed) {


@@ 401,6 453,14 @@ void rgb_matrix_indicators_user(void) {
          rgb_matrix_layer_helper(0x00, 0xFF, 0x00); break;
        case _WORKMAN:
          rgb_matrix_layer_helper(0xD9, 0xA5, 0x21); break;
        case _NORMAN:
          rgb_matrix_layer_helper(0xFF, 0x7C, 0x4D); break;
        case _MALTRON:
          rgb_matrix_layer_helper(0xFF, 0xFF, 0x00); break;
        case _EUCALYN:
          rgb_matrix_layer_helper(0xFF, 0x80, 0xBF); break;
        case _CARPLAX:
          rgb_matrix_layer_helper(0x00, 0x00, 0xFF); break;
      }
  }
#if 0

M layouts/community/ergodox/drashna_glow/rules.mk => layouts/community/ergodox/drashna_glow/rules.mk +1 -3
@@ 1,11 1,9 @@
USER_NAME := drashna
SRC += ../drashna/keymap.c

-include $$(LAYOUT_KEYMAP_PATH)/../drashna/rules.mk
-include $(LAYOUT_KEYMAP_PATH)/../drashna/rules.mk

ifneq (,$(findstring ergodox_ez,$(KEYBOARD)))
  RGBLIGHT_ENABLE = no
  RGB_MATRIX_ENABLE = yes
endif

COMMAND_ENABLE = no

M layouts/community/ortho_4x12/drashna/config.h => layouts/community/ortho_4x12/drashna/config.h +2 -0
@@ 60,3 60,5 @@

/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
//#define MIDI_TONE_KEYCODE_OCTAVES 2

#define TAP_CODE_DELAY 10

M layouts/community/ortho_4x12/drashna/keymap.c => layouts/community/ortho_4x12/drashna/keymap.c +130 -52
@@ 45,58 45,81 @@ enum planck_keycodes {

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

[_QWERTY] = LAYOUT_ortho_4x12_base_wrapper(
  _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
  _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
  _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
),

[_COLEMAK] = LAYOUT_ortho_4x12_base_wrapper(
  _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
  _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
  _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
),

[_DVORAK] = LAYOUT_ortho_4x12_base_wrapper(
  _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
  _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
  _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
),

[_WORKMAN] = LAYOUT_ortho_4x12_base_wrapper(
  _________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
  _________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
  _________________WORKMAN_L3________________, _________________WORKMAN_R3________________
),

[_MODS] = LAYOUT_ortho_4x12_wrapper(
  _______, ___________________BLANK___________________, ___________________BLANK___________________, _______,
  _______, ___________________BLANK___________________, ___________________BLANK___________________, _______,
  KC_LSFT, ___________________BLANK___________________, ___________________BLANK___________________, _______,
  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),

[_LOWER] = LAYOUT_ortho_4x12_wrapper(
  KC_TILD, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_BSPC,
  KC_DEL,  _________________LOWER_L2__________________, _________________LOWER_R2__________________, KC_PIPE,
  _______, _________________LOWER_L3__________________, _________________LOWER_R3__________________, _______,
  _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),

[_RAISE] = LAYOUT_ortho_4x12_wrapper(
  KC_GRV,  _________________RAISE_L1__________________, _________________RAISE_R1__________________, KC_BSPC,
  KC_DEL,  _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS,
  _______, _________________RAISE_L3__________________, _________________RAISE_R3__________________, _______,
  _______, _______, _______, _______, _______, _______, _______, _________________RAISE_R3__________________
),

[_ADJUST] = LAYOUT_ortho_4x12_wrapper(
  KC_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RST,
  VRSN,    _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EEP_RST,
  _______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, TG_MODS,
  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_NUKE
)
  [_QWERTY] = LAYOUT_ortho_4x12_base_wrapper(
    _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
    _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
    _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
  ),

  [_COLEMAK] = LAYOUT_ortho_4x12_base_wrapper(
    _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
    _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
    _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
  ),

  [_DVORAK] = LAYOUT_ortho_4x12_base_wrapper(
    _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
    _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
    _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
  ),

  [_WORKMAN] = LAYOUT_ortho_4x12_base_wrapper(
    _________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
    _________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
    _________________WORKMAN_L3________________, _________________WORKMAN_R3________________
  ),

  [_NORMAN] = LAYOUT_ortho_4x12_base_wrapper(
    _________________NORMAN_L1_________________, _________________NORMAN_L1_________________,
    _________________NORMAN_L2_________________, _________________NORMAN_R2_________________,
    _________________NORMAN_L3_________________, _________________NORMAN_R3_________________
  ),

  [_MALTRON] = LAYOUT_ortho_4x12_base_wrapper(
    _________________MALTRON_L1________________, _________________MALTRON_R1________________,
    _________________MALTRON_L2________________, _________________MALTRON_R2________________,
    _________________MALTRON_L3________________, _________________MALTRON_R3________________
  ),

  [_EUCALYN] = LAYOUT_ortho_4x12_base_wrapper(
    _________________EUCALYN_L1________________, _________________EUCALYN_R1________________,
    _________________EUCALYN_L2________________, _________________EUCALYN_R2________________,
    _________________EUCALYN_L3________________, _________________EUCALYN_R3________________
  ),

  [_CARPLAX] = LAYOUT_ortho_4x12_base_wrapper(
    _____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________,
    _____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________,
    _____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________
  ),

  [_MODS] = LAYOUT_ortho_4x12_wrapper(
    _______, ___________________BLANK___________________, ___________________BLANK___________________, _______,
    _______, ___________________BLANK___________________, ___________________BLANK___________________, _______,
    KC_LSFT, ___________________BLANK___________________, ___________________BLANK___________________, _______,
    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
  ),

  [_LOWER] = LAYOUT_ortho_4x12_wrapper(
    KC_TILD, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_BSPC,
    KC_DEL,  _________________LOWER_L2__________________, _________________LOWER_R2__________________, KC_PIPE,
    _______, _________________LOWER_L3__________________, _________________LOWER_R3__________________, _______,
    _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
  ),

  [_RAISE] = LAYOUT_ortho_4x12_wrapper(
    KC_GRV,  _________________RAISE_L1__________________, _________________RAISE_R1__________________, KC_BSPC,
    KC_DEL,  _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS,
    _______, _________________RAISE_L3__________________, _________________RAISE_R3__________________, _______,
    _______, _______, _______, _______, _______, _______, _______, _________________RAISE_R3__________________
  ),

  [_ADJUST] = LAYOUT_ortho_4x12_wrapper(
    KC_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RST,
    VRSN,    _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EEP_RST,
    _______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, TG_MODS,
    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_NUKE
  )

};



@@ 183,6 206,14 @@ void rgb_matrix_indicators_user(void) {
            rgb_matrix_layer_helper(0x00, 0xFF, 0x00, true); break;
          case _WORKMAN:
            rgb_matrix_layer_helper(0xD9, 0xA5, 0x21, true); break;
          case _NORMAN:
            rgb_matrix_layer_helper(0xFF, 0x7C, 0x4D, true); break;
          case _MALTRON:
            rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, true); break;
          case _EUCALYN:
            rgb_matrix_layer_helper(0xFF, 0x80, 0xBF, true); break;
          case _CARPLAX:
            rgb_matrix_layer_helper(0x00, 0x00, 0xFF, true); break;
        }
    }
  }


@@ 222,7 253,7 @@ void matrix_init_keymap(void) {
#else //RGB_MATRIX_INIT

void matrix_init_keymap(void) {
  #ifndef CONVERT_TO_PROTON_C
  #if !defined(CONVERT_TO_PROTON_C) && !defined(KEYBOARD_planck)
    setPinOutput(D5);
    writePinHigh(D5);



@@ 231,3 262,50 @@ void matrix_init_keymap(void) {
  #endif
}
#endif //RGB_MATRIX_INIT

#ifdef ENCODER_ENABLE
void encoder_update(bool clockwise) {
  switch (biton32(layer_state)) {
    case _RAISE:
      clockwise ? tap_code(KC_VOLD) : tap_code(KC_VOLU);
      break;
    case _LOWER:
      #ifdef RGB_MATRIX_ENABLE
        clockwise ? rgb_matrix_step() : rgblight_step_reverse();
      #else
      clockwise ? tap_code(KC_PGDN) : tap_code(KC_PGUP);
      #endif
    case _ADJUST:
      #ifdef AUDIO_CLICKY
        clockwise ? clicky_freq_up() : clicky_freq_down();
      #endif
      break;
    default:
      clockwise ? tap_code(KC_DOWN) : tap_code(KC_UP);
  }
  #ifdef AUDIO_CLICKY
    clicky_play();
  #endif
}
#endif // ENCODER_ENABLE

#ifdef KEYBOARD_planck_rev6
extern audio_config_t audio_config;

void dip_update(uint8_t index, bool active) {
  switch (index) {
    case 0:
      audio_config.enable = active;
      break;
    case 1:
      audio_config.clicky_enable = active;
      break;
    case 2:
      keymap_config.swap_lalt_lgui = keymap_config.swap_ralt_rgui = active;
      break;
    case 3:
      userspace_config.nuke_switch = active;
      break;
   }
}
#endif // KEYBOARD_planck_rev6

M users/drashna/config.h => users/drashna/config.h +35 -28
@@ 2,43 2,50 @@


#ifdef AUDIO_ENABLE
#define AUDIO_CLICKY
#define STARTUP_SONG SONG(RICK_ROLL)
#define GOODBYE_SONG  SONG(SONIC_RING)
#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
                                  SONG(COLEMAK_SOUND), \
                                  SONG(DVORAK_SOUND), \
                                  SONG(OVERWATCH_THEME) \
                                }

#define AUDIO_CLICKY_FREQ_RANDOMNESS 1.5f
// #ifdef RGBLIGHT_ENABLE
// #define NO_MUSIC_MODE
// #endif //RGBLIGHT_ENABLE/
#ifndef __arm__
#undef  NOTE_REST
#define NOTE_REST         1.00f
#endif // !__arm__
  #define AUDIO_CLICKY
  #define STARTUP_SONG SONG(RICK_ROLL)
  #define GOODBYE_SONG  SONG(SONIC_RING)
  #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
                                    SONG(COLEMAK_SOUND), \
                                    SONG(DVORAK_SOUND), \
                                    SONG(OVERWATCH_THEME) \
                                  }

  #define AUDIO_CLICKY_FREQ_RANDOMNESS 1.5f
  // #ifdef RGBLIGHT_ENABLE
  // #define NO_MUSIC_MODE
  // #endif //RGBLIGHT_ENABLE/
  #ifndef __arm__
    #undef  NOTE_REST
    #define NOTE_REST         1.00f
  #endif // !__arm__

#define UNICODE_SONG_OSX SONG(RICK_ROLL)
#define UNICODE_SONG_LNX SONG(RICK_ROLL)
#define UNICODE_SONG_WIN SONG(RICK_ROLL)
#define UNICODE_SONG_BSD SONG(RICK_ROLL)
#define UNICODE_SONG_WINC SONG(RICK_ROLL)

#endif // !AUDIO_ENABLE

#ifdef RGBLIGHT_ENABLE
#define RGBLIGHT_SLEEP
#undef RGBLIGHT_ANIMATIONS
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_SNAKE
#define RGBLIGHT_EFFECT_KNIGHT
  #define RGBLIGHT_SLEEP
  #undef RGBLIGHT_ANIMATIONS
  #define RGBLIGHT_EFFECT_BREATHING
  #define RGBLIGHT_EFFECT_SNAKE
  #define RGBLIGHT_EFFECT_KNIGHT
#endif // RGBLIGHT_ENABLE

#ifndef ONESHOT_TAP_TOGGLE
#define ONESHOT_TAP_TOGGLE 2
  #define ONESHOT_TAP_TOGGLE 2
#endif // !ONESHOT_TAP_TOGGLE

#ifndef ONESHOT_TIMEOUT
#define ONESHOT_TIMEOUT 3000
  #define ONESHOT_TIMEOUT 3000
#endif// !ONESHOT_TIMEOUT

#ifndef QMK_KEYS_PER_SCAN
#define QMK_KEYS_PER_SCAN 4
  #define QMK_KEYS_PER_SCAN 4
#endif // !QMK_KEYS_PER_SCAN




@@ 48,18 55,18 @@
// and when this option isn't enabled, z rapidly followed by x
// actually sends Ctrl-x. That's bad.)
#define IGNORE_MOD_TAP_INTERRUPT
#undef PERMISSIVE_HOLD
// #define PERMISSIVE_HOLD
//#define TAPPING_FORCE_HOLD
//#define RETRO_TAPPING

#define FORCE_NKRO

#ifndef TAPPING_TOGGLE
#define TAPPING_TOGGLE  1
  #define TAPPING_TOGGLE  1
#endif

#ifdef TAPPING_TERM
#undef TAPPING_TERM
  #undef TAPPING_TERM
#endif // TAPPING_TERM
#if defined(KEYBOARD_ergodox_ez)
  #define TAPPING_TERM 185

M users/drashna/drashna.h => users/drashna/drashna.h +6 -1
@@ 36,7 36,11 @@ enum userspace_layers {
  _COLEMAK,
  _DVORAK,
  _WORKMAN,
  _MODS,
  _NORMAN,
  _MALTRON,
  _EUCALYN,
  _CARPLAX,
  _MODS, /* layer 8 */
  _GAMEPAD,
  _DIABLO,
  _MACROS,


@@ 76,6 80,7 @@ typedef union {
    bool     is_overwatch     :1;
    bool     nuke_switch      :1;
    uint8_t  unicode_mod      :4;
    bool     swapped_numbers  :1;
  };
} userspace_config_t;


M users/drashna/process_records.c => users/drashna/process_records.c +4 -20
@@ 20,34 20,18 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  // If console is enabled, it will print the matrix position and status of each key pressed
#ifdef KEYLOGGER_ENABLE
  #if defined(KEYBOARD_ergodox_ez) || defined(KEYBOARD_iris_rev2)
    xprintf("KL: col: %u, row: %u, pressed: %u\n", record->event.key.row, record->event.key.col, record->event.pressed);
    xprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.row, record->event.key.col, record->event.pressed);
  #else
    xprintf("KL: col: %u, row: %u, pressed: %u\n", record->event.key.col, record->event.key.row, record->event.pressed);
    xprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed);
  #endif
#endif //KEYLOGGER_ENABLE

  switch (keycode) {
  case KC_QWERTY:
  case KC_QWERTY ... KC_CARPLAX:
    if (record->event.pressed) {
      set_single_persistent_default_layer(_QWERTY);
      set_single_persistent_default_layer(keycode - KC_QWERTY);
    }
    break;
  case KC_COLEMAK:
    if (record->event.pressed) {
      set_single_persistent_default_layer(_COLEMAK);
    }
    break;
  case KC_DVORAK:
    if (record->event.pressed) {
      set_single_persistent_default_layer(_DVORAK);
    }
    break;
  case KC_WORKMAN:
    if (record->event.pressed) {
      set_single_persistent_default_layer(_WORKMAN);
    }
    break;


  case KC_MAKE:  // Compiles the firmware, and adds the flash command based on keyboard bootloader
    if (!record->event.pressed) {

M users/drashna/process_records.h => users/drashna/process_records.h +4 -0
@@ 13,6 13,10 @@ enum userspace_custom_keycodes {
  KC_COLEMAK,        // Sets default layer to COLEMAK
  KC_DVORAK,         // Sets default layer to DVORAK
  KC_WORKMAN,        // Sets default layer to WORKMAN
  KC_NORMAN,         // Sets default layer to NORMAN
  KC_MALTRON,        // Sets default layer to MALTRON
  KC_EUCALYN,        // Sets default layer to EUCALYN
  KC_CARPLAX,        // Sets default layer to CARPLAX
  KC_DIABLO_CLEAR,   // Clears all Diablo Timers
  KC_OVERWATCH,      // Toggles game macro input mode (so in OW, it defaults to game chat)
  KC_SALT,           // See drashna.c for details

M users/drashna/rgb_stuff.c => users/drashna/rgb_stuff.c +8 -0
@@ 315,6 315,14 @@ uint32_t layer_state_set_rgb(uint32_t state) {
          rgblight_sethsv_noeeprom_springgreen(); break;
        case _WORKMAN:
          rgblight_sethsv_noeeprom_goldenrod(); break;
        case _NORMAN:
          rgblight_sethsv_noeeprom_coral(); break;
        case _MALTRON:
          rgblight_sethsv_noeeprom_yellow(); break;
        case _EUCALYN:
          rgblight_sethsv_noeeprom_pink(); break;
        case _CARPLAX:
          rgblight_sethsv_noeeprom_blue(); break;
        default:
          rgblight_sethsv_noeeprom_cyan(); break;
      }

M users/drashna/wrappers.h => users/drashna/wrappers.h +2 -2
@@ 91,11 91,11 @@ NOTE: These are all the same length.  If you do a search/replace

#define _________________MALTRON_L1________________       KC_Q,    KC_P,    KC_Y,    KC_C,    KC_B
#define _________________MALTRON_L2________________       KC_A,    KC_N,    KC_I,    KC_S,    KC_F
#define _________________MALTRON_L3________________       KC_SCLN, KC_SLSH, KC_J     KC_G,    KC_COMM
#define _________________MALTRON_L3________________       KC_SCLN, KC_SLSH, KC_J,    KC_G,    KC_COMM

#define _________________MALTRON_R1________________       KC_V,    KC_M,    KC_U,    KC_Z,    KC_L
#define _________________MALTRON_R2________________       KC_D,    KC_T,    KC_D,    KC_O,    KC_R
#define _________________MALTRON_R3________________       KC_DOT,  KC_W,    KC_K,    KC_MINS,  KC_X
#define _________________MALTRON_R3________________       KC_DOT,  KC_W,    KC_K,    KC_MINS, KC_X


#define _________________EUCALYN_L1________________       KC_SLSH, KC_COMM, KC_DOT,  KC_F,    KC_Q