|
|
|
#ifndef USERSPACE
|
|
|
|
#define USERSPACE
|
|
|
|
|
|
|
|
#include "quantum.h"
|
|
|
|
|
|
|
|
enum layers {
|
|
|
|
_BASE = 0,
|
|
|
|
_WORKMAN,
|
|
|
|
_NORMAN,
|
|
|
|
_DVORAK,
|
|
|
|
_COLMAK,
|
|
|
|
_GAME,
|
|
|
|
_NAV,
|
|
|
|
_ADJUST,
|
|
|
|
_RESET,
|
|
|
|
};
|
|
|
|
|
|
|
|
#define KM_(...) KM(__VA_ARGS__)
|
|
|
|
|
|
|
|
#define _______ KC_TRNS
|
|
|
|
#define XXXXXXX KC_NO
|
|
|
|
|
|
|
|
#define AD_GRV LT(_ADJUST, KC_GRV)
|
|
|
|
|
|
|
|
#define MO_NAV MO(_NAV)
|
|
|
|
#define MO_ADJ MO(_ADJUST)
|
|
|
|
#define MO_RST MO(_RESET)
|
|
|
|
#define TG_ADJ TG(_ADJUST)
|
|
|
|
#define TG_GAME TG(_GAME)
|
|
|
|
#define LY_QWER DF(_BASE)
|
|
|
|
#define LY_WORK DF(_WORKMAN)
|
|
|
|
#define LY_NRMN DF(_NORMAN)
|
|
|
|
#define LY_DVRK DF(_DVORAK)
|
|
|
|
#define LY_CLMK DF(_COLMAK)
|
|
|
|
#define TG_NKRO MAGIC_TOGGLE_NKRO
|
|
|
|
#define KC_PTT KC_F24
|
|
|
|
#define MS_MID KC_MS_BTN3
|
|
|
|
|
|
|
|
#define US_CAPS CTL_T(KC_ESC)
|
|
|
|
#define US_QUOT MT(MOD_RCTL, KC_QUOT)
|
|
|
|
#define US_MINS MT(MOD_RCTL, KC_QUOT)
|
|
|
|
|
|
|
|
#ifndef SPACE_COUNT
|
|
|
|
#define SPACE_COUNT 1
|
|
|
|
#endif
|
|
|
|
#if (SPACE_COUNT == 1)
|
|
|
|
#define KC_SPC1 LT(_NAV, KC_SPC)
|
|
|
|
#define NV_SPC1 _______
|
|
|
|
#elif (SPACE_COUNT == 3)
|
|
|
|
#define KC_SPC1 LT(_NAV,KC_ENT)
|
|
|
|
#define NV_SPC1 MT(MOD_LSFT | MOD_LCTL, KC_ENT)
|
|
|
|
#define KC_SPC2 KC_SPC
|
|
|
|
#define NV_SPC2 KC_BSPC
|
|
|
|
#define KC_SPC3 LT(_NAV,KC_SPC)
|
|
|
|
#define NV_SPC3 KC_SPC
|
|
|
|
#else
|
|
|
|
#error "Unsupported space count:" SPACE_COUNT
|
|
|
|
#endif
|
|
|
|
|
|
|
|
enum userspace_custom_keycodes {
|
|
|
|
KC_MAKE = SAFE_RANGE, // can always be here
|
|
|
|
NEW_SAFE_RANGE //use "NEWPLACEHOLDER for keymap specific codes
|
|
|
|
};
|
|
|
|
|
|
|
|
#define SAFE_RANGE NEW_SAFE_RANGE
|
|
|
|
|
|
|
|
#define _________MODS_L__________ KC_LCTL, KC_LGUI, KC_LALT
|
|
|
|
#define ______________MODS_R______________ KC_RALT, KC_RGUI, KC_RCTL, KC_PTT
|
|
|
|
|
|
|
|
#define _________________QWERTY_L1_________________ KC_Q, KC_W, KC_E, KC_R, KC_T
|
|
|
|
#define _________________QWERTY_L2_________________ KC_A, KC_S, KC_D, KC_F, KC_G
|
|
|
|
#define _________________QWERTY_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_B
|
|
|
|
|
|
|
|
#define _________________QWERTY_R1_________________ KC_Y, KC_U, KC_I, KC_O, KC_P
|
|
|
|
#define _________________QWERTY_R2_________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN
|
|
|
|
#define _________________QWERTY_R3_________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLASH
|
|
|
|
|
|
|
|
|
|
|
|
#define _________________COLEMAK_L1________________ KC_Q, KC_W, KC_F, KC_P, KC_G
|
|
|
|
#define _________________COLEMAK_L2________________ KC_A, KC_R, KC_S, KC_T, KC_D
|
|
|
|
#define _________________COLEMAK_L3________________ KC_Z, KC_X, KC_C, KC_V, KC_B
|
|
|
|
|
|
|
|
#define _________________COLEMAK_R1________________ KC_J, KC_L, KC_U, KC_Y, KC_SCLN
|
|
|
|
#define _________________COLEMAK_R2________________ KC_H, KC_N, KC_E, KC_I, KC_O
|
|
|
|
#define _________________COLEMAK_R3________________ KC_K, KC_M, KC_COMM, KC_DOT, KC_SLASH
|
|
|
|
|
|
|
|
|
|
|
|
#define _________________DVORAK_L1_________________ KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y
|
|
|
|
#define _________________DVORAK_L2_________________ KC_A, KC_O, KC_E, KC_U, KC_I
|
|
|
|
#define _________________DVORAK_L3_________________ KC_SCLN, KC_Q, KC_J, KC_K, KC_X
|
|
|
|
|
|
|
|
#define _________________DVORAK_R1_________________ KC_F, KC_G, KC_C, KC_R, KC_L
|
|
|
|
#define _________________DVORAK_R2_________________ KC_D, KC_H, KC_T, KC_N, KC_S
|
|
|
|
#define _________________DVORAK_R3_________________ KC_B, KC_M, KC_W, KC_V, KC_Z
|
|
|
|
|
|
|
|
|
|
|
|
#define _________________WORKMAN_L1________________ KC_Q , KC_D , KC_R , KC_W , KC_B
|
|
|
|
#define _________________WORKMAN_L2________________ KC_A , KC_S , KC_H , KC_T , KC_G
|
|
|
|
#define _________________WORKMAN_L3________________ KC_Z , KC_X , KC_M , KC_C , KC_V
|
|
|
|
|
|
|
|
#define _________________WORKMAN_R1________________ KC_J , KC_F , KC_U , KC_P , KC_SCLN
|
|
|
|
#define _________________WORKMAN_R2________________ KC_Y , KC_N , KC_E , KC_O , KC_I
|
|
|
|
#define _________________WORKMAN_R3________________ KC_K , KC_L , KC_COMM, KC_DOT , KC_SLSH
|
|
|
|
|
|
|
|
#define _________________NORMAN_L1_________________ KC_Q , KC_W , KC_D , KC_F , KC_K
|
|
|
|
#define _________________NORMAN_L2_________________ KC_A , KC_S , KC_E , KC_T , KC_G
|
|
|
|
#define _________________NORMAN_L3_________________ KC_Z , KC_X , KC_C , KC_V , KC_B
|
|
|
|
|
|
|
|
#define _________________NORMAN_R1_________________ KC_J , KC_U , KC_R , KC_L , KC_SCLN
|
|
|
|
#define _________________NORMAN_R2_________________ KC_Y , KC_N , KC_I , KC_O , KC_H
|
|
|
|
#define _________________NORMAN_R3_________________ KC_P , KC_M , KC_COMM, KC_DOT , KC_SLSH
|
|
|
|
|
|
|
|
#define ________________NAVLAYER_L1________________ KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_VOLU
|
|
|
|
#define ________________NAVLAYER_L2________________ KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_MUTE
|
|
|
|
#define ________________NAVLAYER_L3________________ KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_VOLD
|
|
|
|
|
|
|
|
#define ________________NAVLAYER_R1________________ KC_INS , KC_PGUP, KC_UP , KC_PGDN, XXXXXXX
|
|
|
|
#define ________________NAVLAYER_R2________________ KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END
|
|
|
|
#define ________________NAVLAYER_R3________________ KC_END , KC_PGDN, XXXXXXX, XXXXXXX, XXXXXXX
|
|
|
|
|
|
|
|
#define ________________ADJLAYER_L1________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
|
|
|
#define ________________ADJLAYER_L2________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
|
|
|
#define ________________ADJLAYER_L3________________ LY_QWER, LY_WORK, LY_NRMN, LY_DVRK, LY_CLMK
|
|
|
|
|
|
|
|
#define ________________ADJLAYER_R1________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
|
|
|
#define ________________ADJLAYER_R2________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
|
|
|
#define ________________ADJLAYER_R3________________ XXXXXXX, XXXXXXX, XXXXXXX, KC_MAKE, TG_GAME
|
|
|
|
|
|
|
|
#endif
|