aboutsummaryrefslogtreecommitdiff
path: root/keyboards/ckeys/handwire_101/keymaps/default/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/ckeys/handwire_101/keymaps/default/keymap.c')
-rwxr-xr-xkeyboards/ckeys/handwire_101/keymaps/default/keymap.c326
1 files changed, 170 insertions, 156 deletions
diff --git a/keyboards/ckeys/handwire_101/keymaps/default/keymap.c b/keyboards/ckeys/handwire_101/keymaps/default/keymap.c
index 8c65406dd..fdca99fd0 100755
--- a/keyboards/ckeys/handwire_101/keymaps/default/keymap.c
+++ b/keyboards/ckeys/handwire_101/keymaps/default/keymap.c
@@ -1,177 +1,191 @@
1/* Copyright 2019 Branden Byers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
1#include QMK_KEYBOARD_H 17#include QMK_KEYBOARD_H
2 18
3enum layers { 19enum layers {
4 _BASE, // base layer 20 _BASE, // base layer
5 _LAYERS, // layer of all layers 21 _LAYERS, // layer of all layers
6 _MUSIC, // music mode 22 _MUSIC, // music mode
7 _MUSIC_4_LIFE, // music mode until unplugged 23 _MUSIC_4_LIFE, // music mode until unplugged
8 _MOUSE, // mousekeys 24 _MOUSE, // mousekeys
9 _TERMINAL, // terminal 25 _TERMINAL, // terminal
10 _ADMIN // admin duties 26 _ADMIN // admin duties
11}; 27};
12 28
13enum custom_keycodes { 29enum custom_keycodes {
14 TERM_ABOUT = SAFE_RANGE, 30 TERM_ABOUT = SAFE_RANGE,
15 TERM_PRINT, 31 TERM_PRINT,
16 TERM_FLUSH, 32 TERM_FLUSH,
17 TERM_HELP, 33 TERM_HELP,
18 CKEYS_ABOUT, 34 CKEYS_ABOUT,
19}; 35};
20 36
21 37
22const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 38const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
23 /* BASE (numpad) 39 /* BASE (numpad)
24 * ,-----------------------. 40 * ,-----------------------.
25 * | 7 | 8 | 9 | / | <-- Hold for LAYERS 41 * | 7 | 8 | 9 | / | <-- Hold for LAYERS
26 * |-----+-----+-----+-----| 42 * |-----+-----+-----+-----|
27 * | 4 | 5 | 6 | * | 43 * | 4 | 5 | 6 | * |
28 * |-----+-----+-----+-----| 44 * |-----+-----+-----+-----|
29 * | 1 | 2 | 3 | - | 45 * | 1 | 2 | 3 | - |
30 * |-----+-----+-----+-----| 46 * |-----+-----+-----+-----|
31 * | 0 | . | = | + | 47 * | 0 | . | = | + |
32 * `---------------------- ' 48 * `-----------------------'
33 */ 49 */
34 [_BASE] = LAYOUT( 50 [_BASE] = LAYOUT_ortho_4x4(
35 KC_KP_7, KC_KP_8, KC_KP_9, LT(MO(_LAYERS), KC_PSLS), \ 51 KC_P7, KC_P8, KC_P9, LT(_LAYERS, KC_PSLS),
36 KC_KP_4, KC_KP_5, KC_KP_6, KC_PAST, \ 52 KC_P4, KC_P5, KC_P6, KC_PAST,
37 KC_KP_1, KC_KP_2, KC_KP_3, KC_PMNS, \ 53 KC_P1, KC_P2, KC_P3, KC_PMNS,
38 KC_KP_0, KC_KP_DOT, KC_KP_EQUAL, KC_PPLS \ 54 KC_P0, KC_PDOT, KC_PEQL, KC_PPLS
39 ), 55 ),
40 /* LAYERS 56 /* LAYERS
41 * ,---------------------------. 57 * ,---------------------------.
42 * | MUSIC | | | X | 58 * | MUSIC | | | X |
43 * |---------+-----+-----+-----| 59 * |---------+-----+-----+-----|
44 * | MOUSE | | | | 60 * | MOUSE | | | |
45 * |---------+-----+-----+-----| 61 * |---------+-----+-----+-----|
46 * |TERMINAL | | | | 62 * |TERMINAL | | | |
47 * |---------+-----+-----+-----| 63 * |---------+-----+-----+-----|
48 * | ADMIN | | | | 64 * | ADMIN | | | |
49 * `---------------------------' 65 * `---------------------------'
50 */ 66 */
51 [_LAYERS] = LAYOUT( 67 [_LAYERS] = LAYOUT_ortho_4x4(
52 TG(_MUSIC), _______, _______, _______, \ 68 TG(_MUSIC), _______, _______, _______,
53 TG(_MOUSE), _______, _______, _______, \ 69 TG(_MOUSE), _______, _______, _______,
54 TG(_TERMINAL), _______, _______, _______, \ 70 TG(_TERMINAL), _______, _______, _______,
55 TG(_ADMIN), _______, _______, _______\ 71 TG(_ADMIN), _______, _______, _______
56 ), 72 ),
57 /* MUSIC 73 /* MUSIC
58 * ,-----------------------. 74 * ,-----------------------.
59 * | X | | | X | 75 * | X | | | X |
60 * |-----+-----+-----+-----| 76 * |-----+-----+-----+-----|
61 * | | | |4EVER| 77 * | | | |4EVER|
62 * |-----+-----+-----+-----| 78 * |-----+-----+-----+-----|
63 * | OFF | | | | 79 * | OFF | | | |
64 * |-----+-----+-----+-----| 80 * |-----+-----+-----+-----|
65 * | ON | | |MODES| 81 * | ON | | |MODES|
66 * `---------------------- ' 82 * `-----------------------'
67 */ 83 */
68 // TODO: Make this music layer the one to jump to other music layers (different octaves) 84 // TODO: Make this music layer the one to jump to other music layers (different octaves)
69 [_MUSIC] = LAYOUT( 85 [_MUSIC] = LAYOUT_ortho_4x4(
70 _______, _______, _______, _______, \ 86 _______, _______, _______, _______,
71 _______, _______, _______, TG(_MUSIC_4_LIFE), \ 87 _______, _______, _______, TG(_MUSIC_4_LIFE),
72 MU_OFF, _______, _______, _______, \ 88 MU_OFF, _______, _______, _______,
73 MU_ON, _______, _______, MU_MOD \ 89 MU_ON, _______, _______, MU_MOD
74 ), 90 ),
75 /* MUSIC_4_LIFE 91 /* MUSIC_4_LIFE
76 * ,-----------------------. 92 * ,-----------------------.
77 * | ♫ | ♫ | ♫ | ♫ | 93 * | ♫ | ♫ | ♫ | ♫ |
78 * |-----+-----+-----+-----| 94 * |-----+-----+-----+-----|
79 * | ♫ | ♫ | ♫ | ♫ | 95 * | ♫ | ♫ | ♫ | ♫ |
80 * |-----+-----+-----+-----| 96 * |-----+-----+-----+-----|
81 * | ♫ | ♫ | ♫ | ♫ | 97 * | ♫ | ♫ | ♫ | ♫ |
82 * |-----+-----+-----+-----| 98 * |-----+-----+-----+-----|
83 * | ♫ | ♫ | ♫ | ♫ | 99 * | ♫ | ♫ | ♫ | ♫ |
84 * `---------------------- ' 100 * `-----------------------'
85 */ 101 */
86 [_MUSIC_4_LIFE] = LAYOUT( 102 [_MUSIC_4_LIFE] = LAYOUT_ortho_4x4(
87 KC_M, KC_M, KC_M, KC_M, \ 103 KC_M, KC_M, KC_M, KC_M,
88 KC_M, KC_M, KC_M, KC_M, \ 104 KC_M, KC_M, KC_M, KC_M,
89 KC_M, KC_M, KC_M, KC_M, \ 105 KC_M, KC_M, KC_M, KC_M,
90 KC_M, KC_M, KC_M, KC_M \ 106 KC_M, KC_M, KC_M, KC_M
91 ), 107 ),
92 /* MOUSE 108 /* MOUSE
93 * ,-------------------------------------------------. 109 * ,-------------------------------------------------.
94 * | BUTTON 5 | | SCROLL UP | X | 110 * | BUTTON 5 | | SCROLL UP | X |
95 * |-----------+-----------+------------+------------| 111 * |-----------+-----------+------------+------------|
96 * | X |LEFT CLICK | UP |RIGHT CLICK | 112 * | X |LEFT CLICK | UP |RIGHT CLICK |
97 * |-----------+-----------+------------+------------| 113 * |-----------+-----------+------------+------------|
98 * | BUTTON 4 | LEFT | DOWN | RIGHT | 114 * | BUTTON 4 | LEFT | DOWN | RIGHT |
99 * |-----------+-----------+------------+------=-----| 115 * |-----------+-----------+------------+------=-----|
100 * | BUTTON 3 |SCROLL LEFT|SCROLL DOWN |SCROLL RIGHT| 116 * | BUTTON 3 |SCROLL LEFT|SCROLL DOWN |SCROLL RIGHT|
101 * `-------------------------------------------------' 117 * `-------------------------------------------------'
102 */ 118 */
103 [_MOUSE] = LAYOUT( 119 [_MOUSE] = LAYOUT_ortho_4x4(
104 KC_MS_BTN5, _______, KC_MS_WH_UP, _______, \ 120 KC_BTN5, _______, KC_WH_U, _______,
105 _______, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, \ 121 _______, KC_BTN1, KC_MS_U, KC_BTN2,
106 KC_MS_BTN4, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, \ 122 KC_BTN4, KC_MS_L, KC_MS_D, KC_MS_R,
107 KC_MS_BTN3, KC_MS_WH_LEFT, KC_MS_WH_DOWN, KC_MS_WH_RIGHT \ 123 KC_BTN3, KC_WH_L, KC_WH_D, KC_WH_R
108 ), 124 ),
109 /* TERMINAL 125 /* TERMINAL
110 * ,---------------------------------------. 126 * ,---------------------------------------.
111 * | |ABOUT| | X | 127 * | |ABOUT| | X |
112 * |------------+-----+----------+---------| 128 * |------------+-----+----------+---------|
113 * |TERMINAL OFF|PRINT| | | 129 * |TERMINAL OFF|PRINT| | |
114 * |------------+-----+----------+---------| 130 * |------------+-----+----------+---------|
115 * | X |FLUSH| | | 131 * | X |FLUSH| | |
116 * |------------+-----+----------+---------| 132 * |------------+-----+----------+---------|
117 * |TERMINAL ON |HELP | | | 133 * |TERMINAL ON |HELP | | |
118 * `--------=======------------------------' 134 * `--------=======------------------------'
119 */ 135 */
120 [_TERMINAL] = LAYOUT( 136 [_TERMINAL] = LAYOUT_ortho_4x4(
121 _______, TERM_ABOUT, _______, _______, \ 137 _______, TERM_ABOUT, _______, _______,
122 TERM_OFF, TERM_PRINT, _______, _______, \ 138 TERM_OFF, TERM_PRINT, _______, _______,
123 _______, TERM_FLUSH, _______, _______, \ 139 _______, TERM_FLUSH, _______, _______,
124 TERM_ON, TERM_HELP , _______, _______\ 140 TERM_ON, TERM_HELP , _______, _______
125 ), 141 ),
126 /* ADMIN 142 /* ADMIN
127 * ,-----------------------------------------. 143 * ,-----------------------------------------.
128 * | RESET | | | X | 144 * | RESET | | | X |
129 * |------------+-----+-----------+----------| 145 * |------------+-----+-----------+----------|
130 * |ABOUT CKEYS | | | | 146 * |ABOUT CKEYS | | | |
131 * |------------+-----+-----------+----------| 147 * |------------+-----+-----------+----------|
132 * | | |CLICKY UP |CLICKY OFF| 148 * | | |CLICKY UP |CLICKY OFF|
133 * |------------+-----+-----------+----------| 149 * |------------+-----+-----------+----------|
134 * | X | |CLICKY DOWN|CLICKY ON | 150 * | X | |CLICKY DOWN|CLICKY ON |
135 * `-----------------------------------------' 151 * `-----------------------------------------'
136 */ 152 */
137 [_ADMIN] = LAYOUT( 153 [_ADMIN] = LAYOUT_ortho_4x4(
138 RESET, _______, _______, _______, \ 154 RESET, _______, _______, _______,
139 CKEYS_ABOUT, _______, _______, _______, \ 155 CKEYS_ABOUT, _______, _______, _______,
140 _______, _______, _______, CK_OFF, \ 156 _______, _______, _______, CK_OFF,
141 _______, _______, _______, CK_ON \ 157 _______, _______, _______, CK_ON
142 ), 158 ),
143}; 159};
144 160
145bool process_record_user(uint16_t keycode, keyrecord_t *record) { 161bool process_record_user(uint16_t keycode, keyrecord_t *record) {
146 switch (keycode) { 162 switch (keycode) {
147 case TERM_ABOUT: 163 case TERM_ABOUT:
148 if (record->event.pressed) { 164 if (record->event.pressed) {
149 // when keycode TERM_ABOUT is pressed 165 // when keycode TERM_ABOUT is pressed
150 SEND_STRING("about"SS_TAP(X_ENTER)); 166 SEND_STRING("about\n");
151 } else { 167 }
152 // when keycode TERM_ABOUT is released 168 break;
153 } 169 case TERM_PRINT:
154 break; 170 if (record->event.pressed) {
155 case TERM_PRINT: 171 SEND_STRING("print\n");
156 if (record->event.pressed) { 172 }
157 SEND_STRING("print"SS_TAP(X_ENTER)); 173 break;
158 } else { } 174 case TERM_FLUSH:
159 break; 175 if (record->event.pressed) {
160 case TERM_FLUSH: 176 SEND_STRING("flush\n");
161 if (record->event.pressed) { 177 }
162 SEND_STRING("flush"SS_TAP(X_ENTER)); 178 break;
163 } else { } 179 case TERM_HELP:
164 break; 180 if (record->event.pressed) {
165 case TERM_HELP: 181 SEND_STRING("help\n");
166 if (record->event.pressed) { 182 }
167 SEND_STRING("help"SS_TAP(X_ENTER)); 183 break;
168 } else { } 184 case CKEYS_ABOUT:
169 break; 185 if (record->event.pressed) {
170 case CKEYS_ABOUT: 186 SEND_STRING("https://cKeys.org\nMaking people smile one keyboard at a time.\ncKeys is a volunteer-run 501(c)(3) nonprofit organization.\n");
171 if (record->event.pressed) { 187 }
172 SEND_STRING("https://cKeys.org"SS_TAP(X_ENTER)"Making people smile one keyboard at a time."SS_TAP(X_ENTER)"cKeys is a volunteer-run 501(c)(3) nonprofit organization."SS_TAP(X_ENTER)); 188 break;
173 } else { } 189 }
174 break; 190 return true;
175 }
176 return true;
177}; 191};