diff options
Diffstat (limited to 'keyboards/keebio/nyquist/keymaps/danielhklein/keymap.c')
-rw-r--r-- | keyboards/keebio/nyquist/keymaps/danielhklein/keymap.c | 173 |
1 files changed, 173 insertions, 0 deletions
diff --git a/keyboards/keebio/nyquist/keymaps/danielhklein/keymap.c b/keyboards/keebio/nyquist/keymaps/danielhklein/keymap.c new file mode 100644 index 000000000..496b1afa3 --- /dev/null +++ b/keyboards/keebio/nyquist/keymaps/danielhklein/keymap.c | |||
@@ -0,0 +1,173 @@ | |||
1 | #include QMK_KEYBOARD_H | ||
2 | |||
3 | /* | ||
4 | Keymap is loosely based on DivergeJM's Nyquist keymap | ||
5 | Major changes made: | ||
6 | - DVORAK, COLEMAK, FUNCTION, MOUSE, and ADJUST layers have been removed | ||
7 | - right 2u key performs backspace, not enter | ||
8 | - LOWER layer controls function keys, media controls, and underglow | ||
9 | - ARROW layer uses JKLI for arrow keys | ||
10 | - Bootmagic enabled and bootmagic initialization key changed from space to enter | ||
11 | */ | ||
12 | |||
13 | extern keymap_config_t keymap_config; | ||
14 | |||
15 | // Each layer gets a name for readability, which is then used in the keymap matrix below. | ||
16 | // The underscores don't mean anything - you can have a layer called STUFF or any other name. | ||
17 | // Layer names don't all need to be of the same length, obviously, and you can also skip them | ||
18 | // entirely and just use numbers. | ||
19 | enum custom_layers { | ||
20 | _QWERTY, | ||
21 | _LOWER, | ||
22 | _RAISE, | ||
23 | _ARROW | ||
24 | }; | ||
25 | |||
26 | enum custom_keycodes { | ||
27 | QWERTY = SAFE_RANGE, | ||
28 | LOWER, | ||
29 | RAISE, | ||
30 | ARROW | ||
31 | }; | ||
32 | |||
33 | // Enable these functions using FUNC(n) macro. | ||
34 | const uint16_t PROGMEM fn_actions[] = { //ACTION_LAYER_TAP_TOGGLE requires that number of taps be defined in *config.h* - default set to 5 | ||
35 | [0] = LT(_LOWER, KC_SPC), //Hold for momentary Lower layer, Tap for Backspace, | ||
36 | [1] = LT(_RAISE, KC_BSPC), //Hold for momentary Raise layer, Tap for Space, | ||
37 | [2] = MO(_ARROW), //Hold for momentary Arrow | ||
38 | }; | ||
39 | |||
40 | #define SPC_LWR FUNC(0) | ||
41 | #define BSP_RSE FUNC(1) | ||
42 | #define ARW FUNC(2) | ||
43 | |||
44 | // Underglow setup | ||
45 | #define RGBLIGHT_SLEEP | ||
46 | #define RGBLIGHT_ANIMATIONS | ||
47 | |||
48 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
49 | |||
50 | /* QWERTY | ||
51 | * .----------------------------------------. .-----------------------------------------. | ||
52 | * | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | | ||
53 | * |-----+------+------+------+------+------| |------+------+------+------+------+------| | ||
54 | * | Tab | Q | W | E | R | T | | Y | U | I | O | P |Enter | | ||
55 | * |-----+------+------+------+------+------| |------+------+------+------+------+------| | ||
56 | * | Caps| A | S | D | F | G | | H | J | K | L | ; | " | | ||
57 | * |-----+------+------+------+------+------| |------+------+------+------+------+------| | ||
58 | * |Lshft| Z | X | C | V | B | | N | M | , | . | / |Rshft | | ||
59 | * |-----+------+------+------+------+------| |------+------+------+------+------+------| | ||
60 | * |Arrow| LCtrl| LAlt | LGui | Bspc/Raise | | Spc/Lower | RGui | RAlt | RCtrl| Del | | ||
61 | * `----------------------------------------' '-----------------------------------------' | ||
62 | */ | ||
63 | |||
64 | [_QWERTY] = LAYOUT( | ||
65 | KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, | ||
66 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_ENT, | ||
67 | KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | ||
68 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, | ||
69 | ARW, KC_LCTL, KC_LALT, KC_LGUI, BSP_RSE, BSP_RSE, SPC_LWR, SPC_LWR, KC_RGUI, KC_RALT, KC_RCTL, KC_DEL | ||
70 | ), | ||
71 | |||
72 | /* Raise | ||
73 | * ,-----------------------------------------. .-----------------------------------------. | ||
74 | * | | | | | | | | = | / | * | - | \ | ` | | ||
75 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
76 | * | | | | | | | | 7 | 8 | 9 | + | [ | ] | | ||
77 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
78 | * | | | | | | | | 4 | 5 | 6 | Enter| | | | ||
79 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
80 | * | Lshft| | | | | | | 1 | 2 | 3 | Space| | | | ||
81 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
82 | * | | | | LGui | | | 0 | . | Bspc | | | | ||
83 | * `-----------------------------------------' `-----------------------------------------' | ||
84 | */ | ||
85 | |||
86 | [_RAISE] = LAYOUT( | ||
87 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PEQL, KC_PSLS, KC_PAST, KC_MINS, KC_BSLS, KC_GRV, | ||
88 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_7, KC_8, KC_9, KC_PPLS, KC_LBRC, KC_RBRC, | ||
89 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_4, KC_5, KC_6, KC_PENT, XXXXXXX, XXXXXXX, | ||
90 | _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_1, KC_2, KC_3, KC_SPC, XXXXXXX, XXXXXXX, | ||
91 | XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, KC_0, KC_0, KC_DOT, KC_BSPC, XXXXXXX, XXXXXXX | ||
92 | ), | ||
93 | |||
94 | /* Lower | ||
95 | * ,-----------------------------------------. .-----------------------------------------. | ||
96 | * | F1 | F2 | F3 | F4 | F5 | F6 | | | | | | | | | ||
97 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
98 | * | F7 | F8 | F9 | F10 | F11 | F12 | | | | | | | | | ||
99 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
100 | * | >/|| | Mute | Vol- | Vol+ | |<< | >>| | | | | | | | | | ||
101 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
102 | * |RGB IO|RGB >>|RGB <<|Hue++ |Hue-- | | | | | | | | | | ||
103 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
104 | * |Sat++ |Sat-- |Val++ |Val-- | | | | | | | | | ||
105 | * `-----------------------------------------' `-----------------------------------------' | ||
106 | */ | ||
107 | |||
108 | [_LOWER] = LAYOUT( | ||
109 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
110 | KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
111 | KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
112 | RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_HUD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
113 | RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX | ||
114 | ), | ||
115 | |||
116 | /* Arrow | ||
117 | * ,-----------------------------------------. ,----------------------------------------. | ||
118 | * | | | | | | | | | | | | | | | ||
119 | * |------+------+------+------+------+------| |-----+------+------+------+------+------| | ||
120 | * | | | | | | | | | | Up | | | | | ||
121 | * |------+------+------+------+------+------| |-----+------+------+------+------+------| | ||
122 | * | | | | | | | | | Left | Down |Right | | | | ||
123 | * |------+------+------+------+------+------| |-----+------+------+------+------+------| | ||
124 | * | | | | | | | | | | | | | | | ||
125 | * |------+------+------+------+------+------| |-----+------+------+------+------+------| | ||
126 | * | | | | Gui | | | | | | | | | ||
127 | * `-----------------------------------------' `----------------------------------------' | ||
128 | */ | ||
129 | |||
130 | [_ARROW] = LAYOUT( | ||
131 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
132 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, | ||
133 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, | ||
134 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
135 | _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX | ||
136 | ), | ||
137 | |||
138 | }; | ||
139 | |||
140 | void persistent_default_layer_set(uint16_t default_layer) { | ||
141 | eeconfig_update_default_layer(default_layer); | ||
142 | default_layer_set(default_layer); | ||
143 | } | ||
144 | |||
145 | /* Cases to switch default layer to QWERTY, COLEMAK or DVORAK | ||
146 | and to access ADJUST layer to access the switch keys */ | ||
147 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
148 | switch (keycode) { | ||
149 | case QWERTY: | ||
150 | if (record->event.pressed) { | ||
151 | set_single_persistent_default_layer(_QWERTY); | ||
152 | } | ||
153 | return false; | ||
154 | break; | ||
155 | case LOWER: | ||
156 | if (record->event.pressed) { | ||
157 | layer_on(_LOWER); | ||
158 | } else { | ||
159 | layer_off(_LOWER); | ||
160 | } | ||
161 | return false; | ||
162 | break; | ||
163 | case RAISE: | ||
164 | if (record->event.pressed) { | ||
165 | layer_on(_RAISE); | ||
166 | } else { | ||
167 | layer_off(_RAISE); | ||
168 | } | ||
169 | return false; | ||
170 | break; | ||
171 | } | ||
172 | return true; | ||
173 | } | ||