#define QWERTY 0
#define COLEMAK 1
#define DVORAK 2
-#define SYMB 3
-#define OVERWATCH 4
-#define DIABLO 5
-#define MOUS 6
-
-
+#define WORKMAN 3
+#define SYMB 8
+#define OVERWATCH 9
+#define DIABLO 10
+#define MOUS 12
+
+//Leader Key stuff
+#ifdef LEADER_TIMEOUT
+#undef LEADER_TIMEOUT
+#endif
+#define LEADER_TIMEOUT 1500
//define modifiers
#define MODS_SHIFT_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
#define MODS_CTRL_MASK (MOD_BIT(KC_LCTL)|MOD_BIT(KC_RCTRL))
#define MODS_ALT_MASK (MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT))
-
-//define macro keycodes
-#define M_VERSION M(0)
-#define M_MAKE M(1)
//define layer change stuff for underglow indicator
bool skip_leds = false;
#define rgblight_set_teal rgblight_sethsv (0xC3, 0xFF, 0xFF);
#define rgblight_set_magenta rgblight_sethsv (0x12C, 0xFF, 0xFF);
#define rgblight_set_urine rgblight_sethsv (0x3C, 0xFF, 0xFF);
+#define rgblight_set_purple rgblight_sethsv (0x10E, 0xFF, 0xFF);
//This is both for underglow, and Diablo 3 macros
static uint8_t current_layer = 0;
enum custom_keycodes {
- PLACEHOLDER = SAFE_RANGE, // can always be here
- EPRM,
- VRSN,
- RGB_SLD,
- RGB_0000FF,
- RGB_008000,
- RGB_FF0000,
- RGB_800080,
- RGB_00FF90,
+ PLACEHOLDER = SAFE_RANGE, // can always be here
+ EPRM,
+ VRSN,
+ RGB_SLD,
+ RGB_0000FF,
+ RGB_008000,
+ RGB_FF0000,
+ RGB_800080,
+ RGB_00FF90,
KC_DIABLO_CLEAR,
KC_QWERTY,
KC_COLEMAK,
- KC_DVORAK
+ KC_DVORAK,
+ KC_WORKMAN,
+ KC_MAKEQMK
};
#ifdef TAP_DANCE_ENABLE
enum {
- TD_FLSH = 0,
- TD_DIABLO_1,
- TD_DIABLO_2,
- TD_DIABLO_3,
- TD_DIABLO_4
+ TD_FLSH = 0,
+ TD_DIABLO_1,
+ TD_DIABLO_2,
+ TD_DIABLO_3,
+ TD_DIABLO_4
};
// on the forth tap, turn them off from right to left
void dance_flsh_each(qk_tap_dance_state_t *state, void *user_data) {
- if (!skip_leds) {
- ergodox_board_led_off();
- ergodox_right_led_1_off();
- ergodox_right_led_2_off();
- ergodox_right_led_3_off();
- skip_leds = true;
- }
- switch (state->count) {
- case 1:
- ergodox_right_led_1_on();
+ if (!skip_leds) {
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ skip_leds = true;
+ }
+ switch (state->count) {
+ case 1:
+ ergodox_right_led_1_on();
break;
case 2:
- ergodox_right_led_2_on();
- break;
- case 3:
- ergodox_right_led_3_on();
- break;
- case 4:
- ergodox_right_led_1_off();
- _delay_ms(50);
- ergodox_right_led_2_off();
- _delay_ms(50);
- ergodox_right_led_3_off();
-
- }
+ ergodox_right_led_2_on();
+ break;
+ case 3:
+ ergodox_right_led_3_on();
+ break;
+ case 4:
+ ergodox_right_led_1_off();
+ _delay_ms(50);
+ ergodox_right_led_2_off();
+ _delay_ms(50);
+ ergodox_right_led_3_off();
+
+ }
}
// on the fourth tap, set the keyboard on flash state
// and set the underglow to red, because red == bad
void dance_flsh_finished(qk_tap_dance_state_t *state, void *user_data) {
- if (state->count >= 4) {
+ if (state->count >= 4) {
rgblight_enable();
rgblight_mode(1);
rgblight_setrgb(0xff,0x00,0x00);
- reset_keyboard();
- reset_tap_dance(state);
- }
+ reset_keyboard();
+ reset_tap_dance(state);
+ }
}
// Cycle through the times for the macro, starting at 0, for disabled.
// if the flash state didnt happen, then turn off leds, left to right
void dance_flsh_reset(qk_tap_dance_state_t *state, void *user_data) {
- _delay_ms(200);
- ergodox_right_led_3_off();
- _delay_ms(200);
- ergodox_right_led_2_off();
- _delay_ms(200);
- ergodox_right_led_1_off();
- _delay_ms(500);
- skip_leds = false;
+ _delay_ms(200);
+ ergodox_right_led_3_off();
+ _delay_ms(200);
+ ergodox_right_led_2_off();
+ _delay_ms(200);
+ ergodox_right_led_1_off();
+ _delay_ms(500);
+ skip_leds = false;
}
//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
- //Once for Blue, Twice for Green, Thrice for Red, and four to flash
- [TD_FLSH] = ACTION_TAP_DANCE_FN_ADVANCED (dance_flsh_each, dance_flsh_finished, dance_flsh_reset),
+ //Once for Blue, Twice for Green, Thrice for Red, and four to flash
+ [TD_FLSH] = ACTION_TAP_DANCE_FN_ADVANCED (dance_flsh_each, dance_flsh_finished, dance_flsh_reset),
// tap once to disable, and more to enable timed micros
[TD_DIABLO_1] = ACTION_TAP_DANCE_FN(diablo_tapdance1),
[TD_DIABLO_2] = ACTION_TAP_DANCE_FN(diablo_tapdance2),
* `---------------------' `---------------------'
*/
[QWERTY] = KEYMAP(
- KC_EQUAL, KC_1, KC_2, KC_3, KC_4, KC_5, TG(MOUS),
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(DIABLO),
- KC_BSPACE, KC_A, KC_S, KC_D, KC_F, KC_G,
- KC_LSHIFT, CTL_T(KC_Z),KC_X, KC_C, KC_V, KC_B, TG(OVERWATCH),
- LT(SYMB,KC_GRAVE),KC_QUOTE, KC_LGUI, KC_LBRACKET,KC_RBRACKET,
+ KC_EQUAL, KC_1, KC_2, KC_3, KC_4, KC_5, TG(MOUS),
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(DIABLO),
+ KC_BSPACE, KC_A, KC_S, KC_D, KC_F, KC_G,
+ KC_LSHIFT, LCTL_T(KC_Z),KC_X, KC_C, KC_V, KC_B, TG(OVERWATCH),
+ LT(SYMB,KC_GRAVE),KC_QUOTE, KC_LGUI, KC_LBRACKET,KC_RBRACKET,
- ALT_T(KC_APPLICATION), KC_LGUI,
+ ALT_T(KC_APPLICATION), KC_LEAD,
KC_HOME,
- KC_SPACE, KC_BSPACE, KC_END,
-
- TG(SYMB), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS,
- TG(DVORAK), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLASH,
+ KC_SPACE, KC_BSPACE, KC_END,
+
+ TG(MOUS), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS,
+ TG(DIABLO), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLASH,
KC_H, KC_J, KC_K, KC_L, KC_SCOLON, GUI_T(KC_QUOTE),
- TG(COLEMAK), KC_N, KC_M, KC_COMMA, KC_DOT, CTL_T(KC_SLASH),KC_RSHIFT,
+ TG(OVERWATCH), KC_N, KC_M, KC_COMMA, KC_DOT, RCTL_T(KC_SLASH),KC_RSHIFT,
KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_FN1,
- KC_LALT, CTL_T(KC_ESCAPE),
- KC_PGUP,
- KC_PGDOWN, KC_DELETE, KC_ENTER
- ),
-/* Keymap 1: Basic layer
+ KC_LALT, CTL_T(KC_ESCAPE),
+ KC_PGUP,
+ KC_PGDOWN, KC_DELETE, KC_ENTER
+ ),
+/* Keymap 0: Basic layer
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - |
[COLEMAK] = KEYMAP(
// left hand
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, TG(MOUS),
- KC_DELT, KC_Q, KC_W, KC_F, KC_P, KC_G, TG(DIABLO),
+ KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, TG(DIABLO),
KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D,
- KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, TG(OVERWATCH),
+ KC_LSFT, LCTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, TG(OVERWATCH),
LT(SYMB,KC_GRV),KC_QUOT, KC_LGUI, KC_LBRACKET,KC_RBRACKET,
- ALT_T(KC_APP), KC_LGUI,
+ ALT_T(KC_APP), KC_LEAD,
KC_HOME,
KC_SPC,KC_BSPC,KC_END,
// right hand
- KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- TG(DVORAK), KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
- KC_H, KC_N, KC_E, KC_I, LT(MOUS, KC_O), KC_QUOTE,
- TG(COLEMAK), KC_K, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLASH),KC_RSHIFT,
- KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_FN1,
+ TG(MOUS), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ TG(DIABLO), KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
+ KC_H, KC_N, KC_E, KC_I, KC_O, GUI_T(KC_QUOTE),
+ TG(OVERWATCH),KC_K, KC_M, KC_COMM,KC_DOT, RCTL_T(KC_SLASH), KC_RSHIFT,
+ KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_FN1,
KC_LALT, CTL_T(KC_ESC),
KC_PGUP,
- KC_PGDN,KC_TAB, KC_ENT
+ KC_PGDN,KC_DELETE, KC_ENT
),
-/* Keymap 2: Basic layer
+/* Keymap 0: Basic layer
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | \ |
[DVORAK] = KEYMAP(
// left hand
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, TG(MOUS),
- KC_DELT, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, TG(DIABLO),
+ KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, TG(DIABLO),
KC_BSPC, KC_A, KC_O, KC_E, KC_U, KC_I,
- KC_LSFT, CTL_T(KC_SCLN), KC_Q, KC_J, KC_K, KC_X, TG(OVERWATCH),
+ KC_LSFT, LCTL_T(KC_SCLN), KC_Q, KC_J, KC_K, KC_X, TG(OVERWATCH),
LT(SYMB,KC_GRV),KC_QUOT, KC_LGUI, KC_LBRACKET, KC_RBRACKET,
- ALT_T(KC_APP), KC_LGUI,
+ ALT_T(KC_APP), KC_LEAD,
KC_HOME,
KC_SPC,KC_BSPC,KC_END,
// right hand
- KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
- TG(DVORAK), KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
- KC_D, KC_H, KC_T, KC_N, LT(MOUS, KC_S), KC_MINS,
- TG(COLEMAK), KC_B, KC_M, KC_W, KC_V, CTL_T(KC_Z), KC_RSHIFT,
- KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_FN1,
+ TG(MOUS), KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
+ TG(DIABLO), KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
+ KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
+ TG(OVERWATCH),KC_B, KC_M, KC_W, KC_V, RCTL_T(KC_Z), KC_RSHIFT,
+ KC_LEFT,KC_DOWN,KC_UP, KC_RIGHT, KC_FN1,
KC_LALT, CTL_T(KC_ESC),
KC_PGUP,
- KC_PGDN,KC_TAB, KC_ENT
+ KC_PGDN,KC_DELETE, KC_ENT
+ ),
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Del | Q | W | F | P | G | L1 | | L1 | J | L | U | Y | ; | \ |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | BkSp | A | R | S | T | D |------| |------| H | N | E | I |O / L2| ' |
+ * |--------+------+------+------+------+------| OVER | | Meh |------+------+------+------+------+--------|
+ * | LShift |Z/Ctrl| X | C | V | B | | | | K | M | , | . |//Ctrl| RShift |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | App | LGui | | Alt |Ctrl/Esc|
+ * ,------|------|------| |------+--------+------.
+ * | | | Home | | PgUp | | |
+ * | Space|Backsp|------| |------| Tab |Enter |
+ * | |ace | End | | PgDn | | |
+ * `--------------------' `----------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[WORKMAN] = KEYMAP(
+ // left hand
+ KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, TG(MOUS),
+ KC_TAB, KC_Q, KC_D, KC_R, KC_W, KC_B, TG(DIABLO),
+ KC_BSPC, KC_A, KC_S, KC_H, KC_T, KC_G,
+ KC_LSFT, LCTL_T(KC_Z), KC_X, KC_M, KC_C, KC_V, TG(OVERWATCH),
+ LT(SYMB,KC_GRV),KC_QUOT, KC_LGUI, KC_LBRACKET,KC_RBRACKET,
+ ALT_T(KC_APP), KC_LEAD,
+ KC_HOME,
+ KC_SPC,KC_BSPC,KC_END,
+ // right hand
+ TG(MOUS), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ TG(DIABLO), KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_BSLS,
+ KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOTE,
+ TG(OVERWATCH),KC_K, KC_L, KC_COMM,KC_DOT, RCTL_T(KC_SLASH), KC_RSHIFT,
+ KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_FN1,
+ KC_LALT, CTL_T(KC_ESC),
+ KC_PGUP,
+ KC_PGDN,KC_DELETE, KC_ENT
),
/* Keymap 3: Symbol Layer
* `--------------------' `--------------------'
*/
[SYMB] = KEYMAP(
- KC_ESCAPE,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
- M_VERSION, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS,
- M_MAKE, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRAVE,
- TD(TD_FLSH), KC_PERC, KC_CIRC, KC_LBRACKET,KC_RBRACKET,KC_TILD, KC_TRNS,
- KC_NO, KC_AMPR, KC_ASTR, KC_COLN, KC_SCOLON,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
-
- KC_QWERTY, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_DVORAK, KC_KP_PLUS, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_ASTERISK, KC_F12,
- KC_KP_MINUS, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_SLASH,KC_PSCREEN,
- KC_COLEMAK, KC_NUMLOCK, KC_KP_1, KC_KP_2, KC_KP_3, KC_EQUAL, KC_PAUSE,
- KC_KP_0, KC_KP_0, KC_KP_DOT, KC_KP_ENTER, KC_TRNS,
- RGB_TOG, RGB_SLD,
- KC_NO,
- KC_KP_DOT, KC_KP_0, KC_KP_ENTER
- ),
+ KC_ESCAPE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_WORKMAN,
+ VRSN, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_DVORAK,
+ KC_MAKEQMK, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRAVE,
+ TD(TD_FLSH), KC_PERC, KC_CIRC, KC_LBRACKET,KC_RBRACKET,KC_TILD, KC_COLEMAK,
+ KC_NO, KC_AMPR, KC_ASTR, KC_COLN, KC_SCOLON,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+
+ KC_QWERTY, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ KC_DVORAK, KC_KP_PLUS, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_ASTERISK, KC_F12,
+ KC_KP_MINUS,KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_SLASH, KC_PSCREEN,
+ KC_COLEMAK, KC_NUMLOCK, KC_KP_1, KC_KP_2, KC_KP_3, KC_EQUAL, KC_PAUSE,
+ KC_KP_0, KC_KP_0, KC_KP_DOT, KC_KP_ENTER, KC_TRNS,
+ RGB_TOG, RGB_SLD,
+ KC_NO,
+ KC_KP_DOT, KC_KP_0, KC_KP_ENTER
+ ),
/* Keymap 4: Customized Overwatch Layout
*
* `--------------------' `--------------------'
*/
[OVERWATCH] = KEYMAP(
- KC_ESCAPE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_F1, KC_K, KC_Q, KC_W, KC_E, KC_R, KC_T,
- KC_TAB, KC_G, KC_A, KC_S, KC_D, KC_F,
- KC_LCTL, KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_TRNS,
- KC_G, KC_U, KC_I, KC_Y, KC_T,
+ KC_ESCAPE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_F1, KC_K, KC_Q, KC_W, KC_E, KC_R, KC_T,
+ KC_TAB, KC_G, KC_A, KC_S, KC_D, KC_F,
+ KC_LCTL, KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_TRNS,
+ KC_G, KC_U, KC_I, KC_Y, KC_T,
KC_O, KC_P,
KC_LGUI,
KC_V, KC_SPACE, KC_H,
-
- KC_NO, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_N, KC_M, KC_NO, KC_NO, KC_NO, KC_NO,
+
+ KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ TG(OVERWATCH), KC_N, KC_M, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO,
- KC_NO,
+ KC_NO, KC_NO,
+ KC_NO,
KC_PGDOWN, KC_DELETE, KC_ENTER
- ),
+ ),
/* Keymap 3:
*
* `--------------------' `--------------------'
*/
[DIABLO] = KEYMAP(
- KC_ESCAPE, KC_V, KC_D, KC_LALT, KC_NO, KC_NO, KC_NO,
- KC_TAB, KC_S, KC_F, KC_I, KC_M, KC_T, KC_TRNS,
- KC_Q, KC_1, KC_2, KC_3, KC_4, KC_G,
- KC_LCTL, TD(TD_DIABLO_1), TD(TD_DIABLO_2), TD(TD_DIABLO_3), TD(TD_DIABLO_4), KC_Z, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_ESCAPE, KC_V, KC_D, KC_LALT, KC_NO, KC_NO, KC_NO,
+ KC_TAB, KC_S, KC_F, KC_I, KC_M, KC_T, KC_TRNS,
+ KC_Q, KC_1, KC_2, KC_3, KC_4, KC_G,
+ KC_LCTL, TD(TD_DIABLO_1), TD(TD_DIABLO_2), TD(TD_DIABLO_3), TD(TD_DIABLO_4), KC_Z, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_L, KC_J,
KC_F,
SFT_T(KC_SPACE), ALT_T(KC_Q), KC_DIABLO_CLEAR,
-
-
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO,
- KC_NO,
- KC_NO, KC_NO, KC_NO
- ),
+
+
+
+ KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO,
+ KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_N, KC_M, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO,
+ KC_NO,
+ KC_PGDOWN, KC_DELETE, KC_ENTER
+ ),
/* Keymap 4: Media and mouse keys
*
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | |MsLeft|MsDown|MsRght| | |------| |------| | | Acc0 | Acc1 | Acc2 | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | Acc0 | Acc1 | Acc2 | | | | | | Play | Stop | Mute |VolDn |VolUp | |
+ * | | Acc0 | Acc1 | Acc2 | | | | | | | Mute |VolDn |VolUp | | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | | | | | | | | |
+ * | | | | | | | Play | Stop | | | |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | | | | | |
* ,------|------|------| |------+------+------.
* | | | MWUp | | | | |
- * | Lclk | Rclk |------| |------| MBn4 | MBn4 |
+ * | Lclk | Rclk |------| |------| MBn4 | MBn5 |
* | | | MWDn | | Mclk | | |
* `--------------------' `--------------------'
*/
[MOUS] = KEYMAP(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
- KC_NO, KC_NO, KC_MS_UP, KC_NO, KC_NO, KC_NO, KC_TRNS,
- KC_NO, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT,KC_NO, KC_NO,
- KC_NO, KC_MS_ACCEL0,KC_MS_ACCEL1,KC_MS_ACCEL2,KC_NO, KC_NO, KC_TRNS,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
+ KC_NO, KC_NO, KC_MS_U, KC_NO, KC_NO, KC_NO, KC_TRNS,
+ KC_NO, KC_MS_L, KC_MS_D, KC_MS_R, KC_NO, KC_NO,
+ KC_NO, KC_ACL0, KC_ACL1, KC_ACL2, KC_NO, KC_NO, KC_TRNS,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO,KC_NO,
- KC_MS_WH_UP,
- KC_MS_BTN1,KC_MS_BTN2,KC_MS_WH_DOWN,
-
- KC_TRNS,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,
- KC_TRNS,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,
- KC_NO,KC_NO,KC_MS_ACCEL0,KC_MS_ACCEL1,KC_MS_ACCEL2,KC_NO,KC_NO,
- KC_TRNS,KC_MEDIA_PLAY_PAUSE,KC_MEDIA_STOP,KC_AUDIO_MUTE,KC_AUDIO_VOL_DOWN,KC_AUDIO_VOL_UP,KC_NO,
- KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,
- KC_NO,KC_NO,
- KC_NO,
- KC_MS_BTN3,KC_MS_BTN4,KC_MS_BTN5
- ),
+ KC_NO, KC_NO,
+ KC_WH_U,
+ KC_BTN1, KC_BTN2, KC_WH_D,
+
+ KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_ACL0, KC_ACL1, KC_ACL2, KC_NO, KC_NO,
+ KC_TRNS, KC_NO, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO,KC_NO,
+ KC_NO,
+ KC_MS_BTN3,KC_MS_BTN4,KC_MS_BTN5
+ ),
};
}
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- switch(id) {
- case 0:
- if (record->event.pressed) {
- // Output Keyboard Firmware info
- SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
- return false;
- }
- case 1:
- if (record->event.pressed) {
- // make ergodox-ez-drashna-custom-teensy
- return MACRO(I(5), T(M), T(A), T(K), T(E), T(SPACE), T(E), T(R), T(G), T(O), T(D), T(O), T(X), D(LSFT), T(MINUS), U(LSFT), T(E), T(Z), T(MINUS), T(D), T(R), T(A), T(S), T(H), T(N), T(A), T(MINUS), T(C), T(U), T(S), T(T), T(O), T(M), T(MINUS), T(T), T(E), T(E), T(N), T(S), T(Y), T(ENTER), END);
- }
- }
- return MACRO_NONE;
-};
void persistent_default_layer_set(uint16_t default_layer) {
eeconfig_update_default_layer(default_layer);
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- // dynamically generate these.
- case EPRM:
- if (record->event.pressed) {
+ switch (keycode) {
+ // dynamically generate these.
+ case EPRM:
+ if (record->event.pressed) {
eeconfig_init();
- }
- return false;
- break;
- case VRSN:
- if (record->event.pressed) {
- SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
- }
- return false;
- break;
- case RGB_SLD:
- if (record->event.pressed) {
- rgblight_mode(1);
- }
- return false;
- break;
-
- case RGB_0000FF:
- if (record->event.pressed) {
- #ifdef RGBLIGHT_ENABLE
- rgblight_enable();
- rgblight_mode(1);
- rgblight_setrgb(0x00,0x00,0xff);
- #endif
- }
- return false;
- break;
-
- case RGB_008000:
- if (record->event.pressed) {
- #ifdef RGBLIGHT_ENABLE
- rgblight_enable();
- rgblight_mode(1);
- rgblight_setrgb(0x00,0x80,0x00);
- #endif
- }
- return false;
- break;
-
- case RGB_FF0000:
- if (record->event.pressed) {
- #ifdef RGBLIGHT_ENABLE
- rgblight_enable();
- rgblight_mode(1);
- rgblight_setrgb(0xff,0x00,0x00);
- #endif
- }
- return false;
- break;
-
- case RGB_800080:
- if (record->event.pressed) {
- #ifdef RGBLIGHT_ENABLE
- rgblight_enable();
- rgblight_mode(1);
- rgblight_setrgb(0x80,0x00,0x80);
- #endif
- }
- return false;
- break;
-
- case RGB_00FF90:
- if (record->event.pressed) {
- #ifdef RGBLIGHT_ENABLE
- rgblight_enable();
- rgblight_mode(1);
- rgblight_setrgb(0x00,0xff,0x90);
- #endif
- }
- return false;
- break;
+ }
+ return false;
+ break;
+ case VRSN:
+ if (record->event.pressed) {
+ SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
+ }
+ return false;
+ break;
+ case RGB_SLD:
+ if (record->event.pressed) {
+ rgblight_mode(1);
+ }
+ return false;
+ break;
+
+ case RGB_0000FF:
+ if (record->event.pressed) {
+ #ifdef RGBLIGHT_ENABLE
+ rgblight_enable();
+ rgblight_mode(1);
+ rgblight_setrgb(0x00,0x00,0xff);
+ #endif
+ }
+ return false;
+ break;
+
+ case RGB_008000:
+ if (record->event.pressed) {
+ #ifdef RGBLIGHT_ENABLE
+ rgblight_enable();
+ rgblight_mode(1);
+ rgblight_setrgb(0x00,0x80,0x00);
+ #endif
+ }
+ return false;
+ break;
+
+ case RGB_FF0000:
+ if (record->event.pressed) {
+ #ifdef RGBLIGHT_ENABLE
+ rgblight_enable();
+ rgblight_mode(1);
+ rgblight_setrgb(0xff,0x00,0x00);
+ #endif
+ }
+ return false;
+ break;
+
+ case RGB_800080:
+ if (record->event.pressed) {
+ #ifdef RGBLIGHT_ENABLE
+ rgblight_enable();
+ rgblight_mode(1);
+ rgblight_setrgb(0x80,0x00,0x80);
+ #endif
+ }
+ return false;
+ break;
+
+ case RGB_00FF90:
+ if (record->event.pressed) {
+ #ifdef RGBLIGHT_ENABLE
+ rgblight_enable();
+ rgblight_mode(1);
+ rgblight_setrgb(0x00,0xff,0x90);
+ #endif
+ }
+ return false;
+ break;
case KC_DIABLO_CLEAR: // reset all Diable timers, disabling them
if (record->event.pressed) {
uint8_t dtime;
}
return false;
break;
+ case KC_WORKMAN:
+ if (record->event.pressed) {
+ persistent_default_layer_set(1UL << WORKMAN);
+ }
+ return false;
+ break;
+ case KC_MAKEQMK:
+ if (record->event.pressed) {
+ SEND_STRING("make ergodox_ez:drashna-custom:teensy"SS_TAP(X_ENTER));
+ }
+ return false;
+ break;
- }
- return true;
+ }
+ return true;
}
};
-
+LEADER_EXTERNS();
void matrix_scan_user(void) { // runs frequently to update info
uint8_t modifiders = get_mods();
uint8_t layer = biton32(layer_state);
- bool l_dvorak = false;
- bool l_colemak = false;
- static bool has_layer_changed = true;
-
+ static bool has_layer_changed = true;
- if (!skip_leds) {
- ergodox_board_led_off();
- ergodox_right_led_1_off();
- ergodox_right_led_2_off();
- ergodox_right_led_3_off();
+ if (!skip_leds) {
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
- // Since we're not using the LEDs here for layer indication anymore,
- // then lets use them for modifier indicators. Shame we don't have 4...
- // Also, no "else", since we want to know each, independantly.
+ // Since we're not using the LEDs here for layer indication anymore,
+ // then lets use them for modifier indicators. Shame we don't have 4...
+ // Also, no "else", since we want to know each, independantly.
if ( modifiders & MODS_SHIFT_MASK) {
- ergodox_right_led_1_on();
+ ergodox_right_led_2_on();
}
if ( modifiders & MODS_CTRL_MASK) {
- ergodox_right_led_2_on();
+ ergodox_right_led_1_on();
}
if ( modifiders & MODS_ALT_MASK) {
- ergodox_right_led_3_on();
+ ergodox_right_led_3_on();
}
}
uint8_t default_layer = 0;
default_layer = eeconfig_read_default_layer();
- if (default_layer & (1UL << DVORAK)) {
- l_dvorak = true;
- }
- else if (default_layer & (1UL << COLEMAK)) {
- l_colemak = true;
- }
switch (layer) {
case SYMB:
rgblight_set_blue;
break;
case MOUS:
rgblight_set_urine;
- break;
- case COLEMAK:
- rgblight_set_magenta;
- break;
- case DVORAK:
- rgblight_set_green;
+ rgblight_mode(1);
break;
case 7:
rgblight_sethsv (255,255,255);
+ rgblight_mode(1);
break;
default:
- if (l_colemak) {
+ if (default_layer & (1UL << COLEMAK)) {
+ rgblight_set_green;
+ }
+ else if (default_layer & (1UL << DVORAK)) {
rgblight_set_magenta;
}
- else if (l_dvorak) {
- rgblight_set_green;
+ else if (default_layer & (1UL << WORKMAN)) {
+ rgblight_set_purple;
}
else {
rgblight_set_teal;
has_layer_changed = false;
}
- // Run Diablo 3 macro checking code.
+ // Run Diablo 3 macro checking code.
run_diablo_macro_check();
+#ifdef LEADER_KEYS
+ LEADER_DICTIONARY() {
+ leading = false;
+ leader_end();
+ SEQ_ONE_KEY(KC_C) {
+ SEND_STRING("Covecube");
+ }
+ SEQ_TWO_KEYS(KC_S, KC_D) {
+ SEND_STRING("StableBit DrivePool");
+ }
+ SEQ_TWO_KEYS(KC_C, KC_D) {
+ SEND_STRING("StableBit CloudDrive");
+ }
+ SEQ_TWO_KEYS(KC_S, KC_C) {
+ SEND_STRING("StableBit Scanner");
+ }
+ SEQ_TWO_KEYS(KC_S, KC_T) {
+ SEND_STRING("StableBit Troubleshooter");
+ }
+ }
+#endif
};