Last active
May 21, 2018 09:48
-
-
Save gwash/3a381acf4f45474e97f68f899cc20cb7 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include "gwash.h" | |
#include "mousekey.h" | |
const uint16_t PROGMEM fn_actions[] = { | |
[FN_SWP_HNDS] = ACTION_SWAP_HANDS_TAP_TOGGLE(), | |
[1] = ACTION_LAYER_TAP_TOGGLE(1) | |
}; | |
qk_tap_dance_action_t tap_dance_actions[] = { | |
[TD_SCOLON_COLON] = ACTION_TAP_DANCE_DOUBLE(KC_SCOLON,KC_COLN), | |
}; | |
bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |
switch (keycode) { | |
case EPRM: | |
if (record->event.pressed) { | |
eeconfig_init(); | |
} | |
return false; | |
break; | |
case KC_MS_NE: | |
if (record->event.pressed) { | |
mousekey_on(KC_MS_N); | |
mousekey_on(KC_MS_E); | |
} else { | |
mousekey_off(KC_MS_N); | |
mousekey_off(KC_MS_E); | |
} | |
return false; | |
break; | |
case KC_MS_SE: | |
if (record->event.pressed) { | |
mousekey_on(KC_MS_S); | |
mousekey_on(KC_MS_E); | |
} else { | |
mousekey_off(KC_MS_S); | |
mousekey_off(KC_MS_E); | |
} | |
return false; | |
break; | |
case KC_MS_SW: | |
if (record->event.pressed) { | |
mousekey_on(KC_MS_S); | |
mousekey_on(KC_MS_W); | |
} else { | |
mousekey_off(KC_MS_S); | |
mousekey_off(KC_MS_W); | |
} | |
return false; | |
break; | |
case KC_MS_NW: | |
if (record->event.pressed) { | |
mousekey_on(KC_MS_N); | |
mousekey_on(KC_MS_W); | |
} else { | |
mousekey_off(KC_MS_N); | |
mousekey_off(KC_MS_W); | |
} | |
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; | |
} | |
return true; | |
} | |
LEADER_EXTERNS(); | |
void matrix_scan_user(void) { | |
uint8_t layer = biton32(layer_state); | |
led_black(); | |
switch (layer) { | |
case QWERTY: | |
led_white(); | |
break; | |
case NUMERIC: | |
led_red(); | |
break; | |
case FUNCTION: | |
led_green(); | |
break; | |
case NAVIGATION: | |
led_blue(); | |
break; | |
case 5: | |
led_yellow(); | |
break; | |
case 6: | |
led_magenta(); | |
break; | |
case 7: | |
led_cyan(); | |
break; | |
default: | |
break; | |
} | |
LEADER_DICTIONARY() { | |
leading = false; | |
leader_end(); | |
SEQ_ONE_KEY(KC_B) { | |
set_single_persistent_default_layer(BASE); | |
} | |
SEQ_ONE_KEY(KC_C) { | |
register_code(KC_CALC); | |
unregister_code(KC_CALC); | |
} | |
SEQ_ONE_KEY(KC_E) { | |
register_code(KC_EXECUTE); | |
unregister_code(KC_EXECUTE); | |
} | |
SEQ_ONE_KEY(KC_F) { | |
register_code(KC_FILEMANAGER); | |
unregister_code(KC_FILEMANAGER); | |
} | |
SEQ_ONE_KEY(KC_P) { | |
register_code(KC_MEDIA_PLAY_PAUSE); | |
unregister_code(KC_MEDIA_PLAY_PAUSE); | |
} | |
SEQ_TWO_KEYS(KC_P, KC_P) { | |
register_code(KC_MEDIA_NEXT_TRACK); | |
unregister_code(KC_MEDIA_NEXT_TRACK); | |
} | |
SEQ_ONE_KEY(KC_T) { | |
register_code(MOD_LGUI); | |
register_code(KC_O); | |
unregister_code(KC_O); | |
unregister_code(MOD_LGUI); | |
register_code(KC_T); | |
unregister_code(KC_T); | |
} | |
SEQ_ONE_KEY(KC_Q) { | |
set_single_persistent_default_layer(QWERTY); | |
} | |
} | |
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*TODO | |
* layers: tab for one shot, double tab to toggle, hold to toggle | |
* modifiers: tab kc, double tab to toggle, hold to toggle | |
* diagonal mouse keys | |
* forking layer stack | |
* */ | |
#ifndef USERSPACE | |
#define USERSPACE | |
#include QMK_KEYBOARD_H | |
#include "quantum.h" | |
#undef TAPPING_TERM | |
#undef TAPPING_TOGGLE | |
#undef LEADER_TIMEOUT | |
#undef NO_DEBUG | |
#undef NO_PRINT | |
#define NO_DEBUG | |
#define NO_PRINT | |
//#define NO_ACTION_LAYER | |
//#define NO_ACTION_TAPPING | |
//#define NO_ACTION_ONESHOT | |
//#define NO_ACTION_MACRO | |
//#define NO_ACTION_FUNCTION | |
//#define DEBUG_MATRIX_SCAN_RATE | |
//#define NO_AUTO_SHIFT_ALPHA | |
//#define NO_AUTO_SHIFT_NUMERIC | |
//#define AUTO_SHIFT_TIMEOUT 110 | |
#define PERMISSIVE_HOLD | |
#define PREVENT_STUCK_MODIFIERS | |
#define IGNORE_MOD_TAP_INTERRUPT | |
#define MOUSEKEY_DELAY 0 | |
#define MOUSEKEY_TIME_TO_MAX 60 | |
#define MOUSEKEY_MAX_SPEED 7 | |
#define MOUSEKEY_WHEEL_DELAY 0 | |
#define TAPPING_TOGGLE 1 | |
#define TAPPING_TERM 180 | |
#define LEADER_TIMEOUT 2000 | |
//#define LONGPRESS_DELAY 150 | |
//#define LAYER_TOGGLE_DELAY 50 | |
//x11 keycodes | |
#define KC_FILEMANAGER KC_MY_COMPUTER | |
#define KC_TOOLS KC_F13 | |
#define KC_LAUNCH5 KC_F14 | |
#define KC_LAUNCH6 KC_F15 | |
#define KC_LAUNCH7 KC_F16 | |
#define KC_LAUNCH8 KC_F17 | |
#define KC_LAUNCH9 KC_F18 | |
#define KC_AUDIO_MIC_MUTE KC_F20 | |
#define KC_TOUCHPAD_TOGGLE KC_F21 | |
#define KC_TOUCHPAD_ON KC_F22 | |
#define KC_TOUCHPAD_OFF KC_F23 | |
#define KC_CANCEL KC_STOP | |
#define KC_REDO KC_AGAIN | |
//directional mouse codes | |
#define KC_MS_N KC_MS_UP | |
#define KC_MS_E KC_MS_RIGHT | |
#define KC_MS_S KC_MS_DOWN | |
#define KC_MS_W KC_MS_LEFT | |
//#define KC_MS_NE (KC_MS_N | KC_MS_E) | |
//#define KC_MS_SE (KC_MS_S | KC_MS_E) | |
//#define KC_MS_SW (KC_MS_S | KC_MS_W) | |
//#define KC_MS_NW (KC_MS_N | KC_MS_W) | |
enum layers { | |
BASE = 0, | |
QWERTY, | |
NUMERIC, | |
FUNCTION, | |
NAVIGATION, | |
}; | |
enum keycodes { | |
PLACEHOLDER = SAFE_RANGE, | |
EPRM, | |
VRSN, | |
RGB_SLD, | |
KC_MS_NE, | |
KC_MS_SE, | |
KC_MS_SW, | |
KC_MS_NW, | |
}; | |
enum acts_fn { | |
FN_SWP_HNDS = 0, | |
}; | |
enum acts_td { | |
TD_COMMA_DOT = 0, | |
TD_SCOLON_COLON, | |
}; | |
void led_black(void); | |
void led_red(void); | |
void led_green(void); | |
void led_blue(void); | |
void led_yellow(void); | |
void led_magenta(void); | |
void led_cyan(void); | |
void led_white(void); | |
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include "mitosis.h" | |
#include "gwash.h" | |
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |
/* Keymap 0: BASE | |
* | |
* ,---------------------------------------. ,---------------------------------------. | |
* | Q | P | U | J | Z | | ; | W | D | G | X | | |
* |-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------| | |
* | A | N | I | O | , | | . | T | H | S | R | | |
* |-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------| | |
* | Y/Ctl | V/Alt | K | B | ' | | / | C | F | M/AlGr| L/Ctl | | |
* `-------+=======+=======+=======+=======' '=======+=======+=======+=======+-------' | |
* | Left | Right |Esc/Ctl| -/GUI | |Ins/GUI|Ent/Ctl| Down | Up | | |
* |-------+-------+-------+-------| |-------+-------+-------+-------| | |
* | SwpHnd| \/Alt | Tab/L2| E/Shft| |Sp/Shft| BSp/L3| `/AlGr| SwpHnd| | |
* `-------------------------------' `-------------------------------' | |
*/ | |
[BASE] = { | |
{ KC_Q, KC_P, KC_U, KC_J, KC_Z, KC_SCLN,KC_W, KC_D, KC_G, KC_X }, | |
{ KC_A, KC_N, KC_I, KC_O, KC_COMMA, KC_DOT, KC_T, KC_H, KC_S, KC_R }, | |
{ CTL_T(KC_Y),ALT_T(KC_V),KC_K,KC_B,KC_QUOT, KC_SLASH,KC_C,KC_F,ALGR_T(KC_M),RCTL_T(KC_L)}, | |
{ XXXXXXX,KC_LEFT,KC_RGHT,CTL_T(KC_ESC), LGUI_T(KC_MINS),RGUI_T(KC_INSERT),RCTL_T(KC_ENT),KC_DOWN,KC_UP,XXXXXXX }, | |
{ XXXXXXX,F(FN_SWP_HNDS),ALT_T(KC_BSLS),LT(NUMERIC,KC_TAB),LSFT_T(KC_E), | |
RSFT_T(KC_SPC),LT(FUNCTION,KC_BSPC),ALGR_T(KC_GRV),F(FN_SWP_HNDS),XXXXXXX } | |
}, | |
[QWERTY] = { | |
{ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P }, | |
{ KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN }, | |
{ CTL_T(KC_Z),ALT_T(KC_X),KC_C,KC_V,KC_B, KC_N, KC_M, KC_COMM,ALGR_T(KC_DOT),RCTL_T(KC_SLSH) }, | |
{ XXXXXXX,_______,_______,_______,_______, _______,_______,_______,_______,XXXXXXX }, | |
{ XXXXXXX,_______,_______,_______,LSFT_T(KC_SPC), _______,_______,_______,_______,XXXXXXX } | |
}, | |
[NUMERIC] = { | |
{ KC_ESC, KC_LBRC,KC_LPRN,KC_PPLS,KC_PSLS, KC_PAST,KC_PMNS,KC_RPRN,KC_RBRC,KC_NLCK }, | |
{ KC_0, KC_1, KC_2, KC_3, KC_4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9 }, | |
{ CTL_T(KC_5),ALT_T(KC_6),KC_7,KC_8,KC_9, KC_P0, KC_P1, KC_P2, ALGR_T(KC_P3),RCTL_T(KC_P4) }, | |
{ XXXXXXX,KC_END, KC_HOME,CTL_T(KC_DELT),LGUI_T(KC_EQL), RGUI_T(KC_PDOT),RCTL_T(KC_PENT),KC_PGDN,KC_PGUP,XXXXXXX }, | |
{ XXXXXXX,_______,_______,XXXXXXX,LSFT_T(KC_CALC), _______,_______,_______,_______,XXXXXXX } | |
}, | |
[FUNCTION] = { | |
{ KC_SLCK,KC_VOLU,KC_MUTE,KC_VOLD,_______, _______,KC_MPRV,KC_MPLY,KC_MNXT,KC_CAPS }, | |
{ KC_F10, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9 }, | |
{ CTL_T(KC_F11),ALT_T(KC_F12),_______,_______,_______, _______,_______,_______,KC_SLEP,KC_PWR }, | |
{ XXXXXXX,_______,_______,_______,KC_LEAD, KC_APP, _______,_______,_______,XXXXXXX }, | |
{ XXXXXXX,_______,_______,TT(NAVIGATION),LSFT_T(KC_EXEC), RESET,XXXXXXX,ALGR_T(KC_PSCR),_______,XXXXXXX } | |
}, | |
[NAVIGATION] = { | |
{ _______,_______,_______,_______,KC_ACL0, KC_BTN3,KC_MS_NW,KC_BTN1,KC_BTN2,KC_MS_NE }, | |
{ KC_LEFT,KC_DOWN,KC_UP, KC_RGHT,KC_ACL1, KC_WH_U,KC_MS_W,KC_MS_S,KC_MS_N,KC_MS_E }, | |
{ _______,_______,_______,_______,KC_ACL2, KC_WH_D,KC_MS_SW,KC_WH_L,KC_WH_R,KC_MS_SE }, | |
{ XXXXXXX,KC_BTN4,KC_BTN5,_______,_______, _______,_______,_______,_______,XXXXXXX }, | |
{ XXXXXXX,_______,_______,TT(NAVIGATION),LSFT_T(KC_SPC), _______,_______,_______,_______,XXXXXXX } | |
}, | |
}; | |
void led_black (void) { | |
set_led_off; | |
} | |
void led_red (void) { | |
set_led_red; | |
} | |
void led_green (void) { | |
set_led_green; | |
} | |
void led_blue (void) { | |
set_led_blue; | |
} | |
void led_yellow (void) { | |
set_led_yellow; | |
} | |
void led_magenta (void) { | |
set_led_magenta; | |
} | |
void led_cyan (void) { | |
set_led_cyan; | |
} | |
void led_white (void) { | |
set_led_white; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment