~ruther/qmk_firmware

c966da89da613fe6f2f28cc23e4acbb1f43559aa — Will Sturgiss 6 years ago 8060e52
[Keymap] Added wsturgiss keymap for mechmini2 (#4917)

* basic layout v1.0

* changed KC_TRNS to _______

* most symbols are on double tap, except quote, that was cancer

* better formatting and set toggle for game layer

* added colors to layers to make knowing your current layer easy

* have an empty macro working

* enabled unicode

* moved stuff to my folder and removed edits from communal files

* cleanup

* removed the game layer.  Never used it

* made changes requested by drashna and vomindoraan

* got rid of some unnecessary code

* got very basic unicode on mac working

* added ctrl_esc

* more changes as requested by noroadsleft

* more leader additions, removed macros because leader stuff replaces that functionality

* removed an old macro I forgot to remove earlier

* final deletion at noroadsleft request

* changed a line to explicitly specify a purple color.
A keyboards/mechmini/v2/keymaps/wsturgiss/config.h => keyboards/mechmini/v2/keymaps/wsturgiss/config.h +11 -0
@@ 0,0 1,11 @@
/* tapdance */
#define TAPPING_TERM 180 

/* space cadet stuff */
#define LSPO_KEY KC_9
#define RSPC_KEY KC_0
#define DISABLE_SPACE_CADET_ROLLOVER

/* leader stuff */
#define LEADER_TIMEOUT 400
#define LEADER_PER_KEY_TIMING 300

A keyboards/mechmini/v2/keymaps/wsturgiss/keymap.c => keyboards/mechmini/v2/keymaps/wsturgiss/keymap.c +106 -0
@@ 0,0 1,106 @@
#include QMK_KEYBOARD_H

#define base 0
#define raise 1 
#define lower 2

//Tap Dance Declarations
enum {
  TD_SEMI_QUOT = 0,
  TD_COMM_MINUS = 1,
  TD_DOT_EQUAL = 2,
  TD_SLASH_BACKSLASH = 3
};

//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
  //Tap once for ;, twice for ' -not using this currently
  [TD_SEMI_QUOT]  = ACTION_TAP_DANCE_DOUBLE(KC_SCLN, KC_QUOT),
  //Tap once for , twice for -
  [TD_COMM_MINUS]  = ACTION_TAP_DANCE_DOUBLE(KC_COMM, KC_MINUS),
  //Tap once for . twice for =
  [TD_DOT_EQUAL]  = ACTION_TAP_DANCE_DOUBLE(KC_DOT, KC_EQUAL),
  //Tap once for / twice for '\'
  [TD_SLASH_BACKSLASH]  = ACTION_TAP_DANCE_DOUBLE(KC_SLSH, KC_BSLS)
};

#define CTRL_ESC CTL_T(KC_ESC)

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

	[base] = LAYOUT_2u_space_ortho(
		KC_TAB,     KC_Q,     KC_W,     KC_E,     KC_R,     KC_T,     KC_Y,     KC_U,     KC_I,     KC_O,     KC_P,     KC_BSPC,
		CTRL_ESC,   KC_A,     KC_S,     KC_D,     KC_F,     KC_G,     KC_H,     KC_J,     KC_K,     KC_L,     KC_SCLN,  KC_ENT,
		KC_LSPO,    KC_Z,     KC_X,     KC_C,     KC_V,     KC_B,     KC_N,     KC_M,     TD(1),    TD(2),    TD(3),    KC_RSPC,
		KC_LCTL,    KC_LEAD,  KC_LALT,  KC_LGUI,  MO(1),        KC_SPC,         MO(2),    KC_VOLD,  KC_MPLY,  KC_VOLU,  KC_GRV),

	[raise] = LAYOUT_2u_space_ortho(
		_______,    KC_F1,    KC_F2,    KC_F3,    KC_F4,    KC_F5,    KC_F6,    KC_F7,    KC_F8,    KC_F9,    KC_F10,   KC_DEL,
		_______,    _______,  _______,  _______,  _______,  _______,  KC_LEFT,  KC_DOWN,  KC_UP,    KC_RIGHT, KC_QUOT,  _______,
		_______,    KC_HOME,  KC_END,   _______,  _______,  _______,  _______,  _______,  KC_LBRC,  KC_RBRC,  _______,  _______,  
		_______,    _______,  _______,  _______,  _______,      _______,        _______,  KC_MPRV,  _______,  KC_MNXT,  EEP_RST),

	[lower] = LAYOUT_2u_space_ortho(
		_______,    KC_1,     KC_2,     KC_3,     KC_4,     KC_5,     KC_6,     KC_7,     KC_8,     KC_9,     KC_0,     _______,
		_______,    RGB_TOG,  RGB_MOD,  RGB_VAI,  RGB_VAD,  _______,  _______,  KC_4,     KC_5,     KC_6,   KC_KP_PLUS, _______,
		_______,    RGB_SAI,  RGB_SAD,  RGB_HUI,  RGB_HUD,  _______,  _______,  KC_1,     KC_2,     KC_3,  KC_KP_MINUS, _______,
		_______,    _______,  _______,  _______,  _______,      _______,        _______,  KC_0,     _______,  _______,  _______)


};

//Leader maps


LEADER_EXTERNS();

void matrix_scan_user(void) {
  LEADER_DICTIONARY() {
    leading = false;
    leader_end();

    SEQ_ONE_KEY(KC_F) {
      // Anything you can do in a macro.
      SEND_STRING("QMK is awesome.");
    }
    //tableflip (LEADER - TF)
    SEQ_TWO_KEYS(KC_T, KC_F) {
        set_unicode_input_mode(UC_OSX);
        send_unicode_hex_string("0028 30CE 0CA0 75CA 0CA0 0029 30CE 5F61 253B 2501 253B");
    }
    //screencap (LEADER - SC)
    SEQ_TWO_KEYS(KC_S, KC_C) {
      SEND_STRING(SS_LGUI(SS_LSFT(SS_TAP(X_4))));
    }
    //screencap (LEADER - TM)
    SEQ_TWO_KEYS(KC_T, KC_M) {
        set_unicode_input_mode(UC_OSX);
        send_unicode_hex_string("2122");
    }
    /*
    SEQ_THREE_KEYS(KC_D, KC_D, KC_S) {
      SEND_STRING("https://start.duckduckgo.com"SS_TAP(X_ENTER));
    }
    */
  }
}

//change colors and rgb modes on layer change
uint32_t layer_state_set_user(uint32_t state) {
    switch (biton32(state)) {
    case raise:
        rgblight_mode_noeeprom(1);
        rgblight_setrgb(0xc7, 0x00, 0xf4);
        break;
    case lower:
        rgblight_mode_noeeprom(1);
        rgblight_setrgb(0x00, 0xa3, 0x0d);
        break;
    default: // for any other layers, or the default layer
        rgblight_mode_noeeprom(5);
        rgblight_setrgb(0xFF, 0xB6, 0x00);
        break;
    }
  return state;
};


A keyboards/mechmini/v2/keymaps/wsturgiss/rules.mk => keyboards/mechmini/v2/keymaps/wsturgiss/rules.mk +11 -0
@@ 0,0 1,11 @@
BOOTMAGIC_ENABLE = yes	# Virtual DIP switch configuration(+1000)
CONSOLE_ENABLE = no	# Console for debug(+400)
COMMAND_ENABLE = no    # Commands for debug and configuration
SLEEP_LED_ENABLE = yes  # Breathing sleep LED during USB suspend
NKRO_ENABLE = yes		# USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = yes  # Enable keyboard backlight functionality
AUDIO_ENABLE = no
RGBLIGHT_ENABLE = yes
TAP_DANCE_ENABLE = yes
UNICODE_ENABLE = yes
LEADER_ENABLE = yes