]> git.donarmstrong.com Git - qmk_firmware.git/blob - layouts/community/60_ansi_split_bs_rshift/talljoe/keymap.c
9f8c3e448622160a06d421df93fe977272384110
[qmk_firmware.git] / layouts / community / 60_ansi_split_bs_rshift / talljoe / keymap.c
1 #include QMK_KEYBOARD_H
2
3 enum layers {
4     _BASE = 0,
5     _WORKMAN,
6     _NORMAN,
7     _DVORAK,
8     _COLMAK,
9     _NAV,
10     _ADJUST,
11     _RESET,
12 };
13
14 #define _______ KC_TRNS
15 #define XXXXXXX KC_NO
16
17 #define NV_SPC  LT(_NAV, KC_SPC)
18
19 #define MO_NAV    MO(_NAV)
20 #define MO_ADJ    MO(_ADJUST)
21 #define MO_ADJ    MO(_ADJUST)
22 #define MO_RST    MO(_RESET)
23 #define TG_ADJ    TG(_ADJUST)
24 #define LY_QWER   DF(_BASE)
25 #define LY_WORK   DF(_WORKMAN)
26 #define LY_NRMN   DF(_NORMAN)
27 #define LY_DVRK   DF(_DVORAK)
28 #define LY_CLMK   DF(_COLMAK)
29 #define TG_NKRO   MAGIC_TOGGLE_NKRO
30
31 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
32   [_BASE] = KM(
33       KC_ESC , KC_1   , KC_2   , KC_3   , KC_4   , KC_5   , KC_6   , KC_7   , KC_8   , KC_9   , KC_0   , KC_MINS, KC_EQL , KC_BSLS, KC_GRV,
34       KC_TAB , KC_Q   , KC_W   , KC_E   , KC_R   , KC_T   , KC_Y   , KC_U   , KC_I   , KC_O   , KC_P   , KC_LBRC, KC_RBRC, KC_BSPC,
35       KC_LCTL, KC_A   , KC_S   , KC_D   , KC_F   , KC_G   , KC_H   , KC_J   , KC_K   , KC_L   , KC_SCLN, KC_QUOT,          KC_ENT ,
36       KC_LSFT, KC_Z   , KC_X   , KC_C   , KC_V   , KC_B   , KC_N   , KC_M   , KC_COMM, KC_DOT , KC_SLSH,          KC_RSFT, MO_ADJ ,
37       KC_LCTL, KC_LGUI, KC_LALT,                            NV_SPC ,                            KC_RALT, KC_RGUI, KC_RCTL, KC_F24 ),
38   [_WORKMAN] = KM(
39       _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
40       _______, KC_Q   , KC_D   , KC_R   , KC_W   , KC_B   , KC_J   , KC_F   , KC_U   , KC_P   , KC_SCLN, _______, _______, _______,
41       _______, KC_A   , KC_S   , KC_H   , KC_T   , KC_G   , KC_Y   , KC_N   , KC_E   , KC_O   , KC_I   , _______,          _______,
42       _______, KC_Z   , KC_X   , KC_M   , KC_C   , KC_V   , KC_K   , KC_L   , KC_COMM, KC_DOT , KC_SLSH,          _______, _______,
43       _______, _______, _______,                            _______,                            _______, _______, _______, _______),
44   [_NORMAN] = KM(
45       _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
46       _______, KC_Q   , KC_W   , KC_D   , KC_F   , KC_K   , KC_J   , KC_U   , KC_R   , KC_L   , KC_SCLN, _______, _______, _______,
47       _______, KC_A   , KC_S   , KC_E   , KC_T   , KC_G   , KC_Y   , KC_N   , KC_I   , KC_O   , KC_H   , _______,          _______,
48       _______, KC_Z   , KC_X   , KC_C   , KC_V   , KC_B   , KC_P   , KC_M   , KC_COMM, KC_DOT , KC_SLSH,          _______, _______,
49       _______, _______, _______,                            _______,                            _______, _______, _______, _______),
50   [_DVORAK] = KM(
51       _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, _______,
52       _______, KC_QUOT, KC_COMM, KC_DOT , KC_P   , KC_Y   , KC_F   , KC_G   , KC_C   , KC_R   , KC_L   , KC_SLSH, KC_EQL , _______,
53       _______, KC_A   , KC_O   , KC_E   , KC_U   , KC_I   , KC_D   , KC_H   , KC_T   , KC_N   , KC_S   , KC_MINS,          _______,
54       _______, KC_SCLN, KC_Q   , KC_J   , KC_K   , KC_X   , KC_B   , KC_M   , KC_W   , KC_V   , KC_Z   ,          _______, _______,
55       _______, _______, _______,                            _______,                            _______, _______, _______, _______),
56   [_COLMAK] = KM(
57       _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
58       _______, KC_Q   , KC_W   , KC_F   , KC_P   , KC_G   , KC_J   , KC_L   , KC_U   , KC_Y   , KC_SCLN, _______, _______, _______,
59       _______, KC_A   , KC_R   , KC_S   , KC_T   , KC_D   , KC_H   , KC_N   , KC_E   , KC_I   , KC_O   , _______,          _______,
60       _______, KC_Z   , KC_X   , KC_C   , KC_V   , KC_B   , KC_K   , KC_M   , KC_COMM, KC_DOT , KC_SLSH,          _______, _______,
61       _______, _______, _______,                            _______,                            _______, _______, _______, _______),
62   [_NAV] = KM(
63       KC_GRV , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
64       XXXXXXX, KC_F1  , KC_F2  , KC_F3  , KC_F4  , KC_VOLU, KC_INS , KC_PGUP, KC_UP  , KC_PGDN, XXXXXXX, XXXXXXX, XXXXXXX, KC_DEL ,
65       XXXXXXX, KC_F5  , KC_F6  , KC_F7  , KC_F8  , KC_MUTE, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END , XXXXXXX,          XXXXXXX,
66       XXXXXXX, KC_F9  , KC_F10 , KC_F11 , KC_F12 , KC_VOLD, KC_END , KC_PGDN, XXXXXXX, XXXXXXX, XXXXXXX,          XXXXXXX, XXXXXXX,
67       _______, _______, _______,                            _______,                            _______, _______, _______, XXXXXXX),
68   [_ADJUST] = KM(
69       MO_RST , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MO_RST ,
70       XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
71       XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,          XXXXXXX,
72       TG_NKRO, LY_QWER, LY_WORK, LY_NRMN, LY_DVRK, LY_CLMK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,          XXXXXXX, TG_ADJ ,
73       XXXXXXX, AG_NORM, AG_SWAP,                            BL_TOGG,                            XXXXXXX, XXXXXXX, XXXXXXX, KC_CAPS),
74   // To Reset hit FN + ` + Esc
75   [_RESET] = KM(
76       RESET  , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET ,
77       XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
78       XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,          XXXXXXX,
79       XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,          XXXXXXX, XXXXXXX,
80       XXXXXXX, XXXXXXX, XXXXXXX,                            XXXXXXX,                            XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX),
81 };
82
83 void matrix_init_user(void) {
84   if (!eeconfig_is_enabled()) {
85     eeconfig_init();
86   }
87 }
88
89 void matrix_scan_user(void) {
90
91 }
92
93 uint32_t default_layer_state_set_kb(uint32_t state) {
94   // persist changes to default layers
95   eeconfig_update_default_layer(state);
96   return state;
97 }