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.c178
1 files changed, 178 insertions, 0 deletions
diff --git a/keyboards/ckeys/handwire_101/keymaps/default/keymap.c b/keyboards/ckeys/handwire_101/keymaps/default/keymap.c
new file mode 100755
index 000000000..383b3355d
--- /dev/null
+++ b/keyboards/ckeys/handwire_101/keymaps/default/keymap.c
@@ -0,0 +1,178 @@
1#include QMK_KEYBOARD_H
2
3enum layers {
4 _BASE, // base layer
5 _LAYERS, // layer of all layers
6 _MUSIC, // music mode
7 _MUSIC_4_LIFE, // music mode until unplugged
8 _MOUSE, // mousekeys
9 _TERMINAL, // terminal
10 _ADMIN // admin duties
11};
12
13enum custom_keycodes {
14 TERM_ABOUT = SAFE_RANGE,
15 TERM_PRINT,
16 TERM_FLUSH,
17 TERM_HELP,
18 CKEYS_ABOUT,
19};
20
21extern keymap_config_t keymap_config;
22
23const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
24 /* BASE (numpad)
25 * ,-----------------------.
26 * | 7 | 8 | 9 | / | <-- Hold for LAYERS
27 * |-----+-----+-----+-----|
28 * | 4 | 5 | 6 | * |
29 * |-----+-----+-----+-----|
30 * | 1 | 2 | 3 | - |
31 * |-----+-----+-----+-----|
32 * | 0 | . | = | + |
33 * `---------------------- '
34 */
35 [_BASE] = LAYOUT(
36 KC_KP_7, KC_KP_8, KC_KP_9, LT(MO(_LAYERS), KC_PSLS), \
37 KC_KP_4, KC_KP_5, KC_KP_6, KC_PAST, \
38 KC_KP_1, KC_KP_2, KC_KP_3, KC_PMNS, \
39 KC_KP_0, KC_KP_DOT, KC_KP_EQUAL, KC_PPLS \
40 ),
41 /* LAYERS
42 * ,---------------------------.
43 * | MUSIC | | | X |
44 * |---------+-----+-----+-----|
45 * | MOUSE | | | |
46 * |---------+-----+-----+-----|
47 * |TERMINAL | | | |
48 * |---------+-----+-----+-----|
49 * | ADMIN | | | |
50 * `---------------------------'
51 */
52 [_LAYERS] = LAYOUT(
53 TG(_MUSIC), _______, _______, _______, \
54 TG(_MOUSE), _______, _______, _______, \
55 TG(_TERMINAL), _______, _______, _______, \
56 TG(_ADMIN), _______, _______, _______\
57 ),
58 /* MUSIC
59 * ,-----------------------.
60 * | X | | | X |
61 * |-----+-----+-----+-----|
62 * | | | |4EVER|
63 * |-----+-----+-----+-----|
64 * | OFF | | | |
65 * |-----+-----+-----+-----|
66 * | ON | | |MODES|
67 * `---------------------- '
68 */
69 // TODO: Make this music layer the one to jump to other music layers (different octaves)
70 [_MUSIC] = LAYOUT(
71 _______, _______, _______, _______, \
72 _______, _______, _______, TG(_MUSIC_4_LIFE), \
73 MU_OFF, _______, _______, _______, \
74 MU_ON, _______, _______, MU_MOD \
75 ),
76 /* MUSIC_4_LIFE
77 * ,-----------------------.
78 * | ♫ | ♫ | ♫ | ♫ |
79 * |-----+-----+-----+-----|
80 * | ♫ | ♫ | ♫ | ♫ |
81 * |-----+-----+-----+-----|
82 * | ♫ | ♫ | ♫ | ♫ |
83 * |-----+-----+-----+-----|
84 * | ♫ | ♫ | ♫ | ♫ |
85 * `---------------------- '
86 */
87 [_MUSIC_4_LIFE] = LAYOUT(
88 KC_M, KC_M, KC_M, KC_M, \
89 KC_M, KC_M, KC_M, KC_M, \
90 KC_M, KC_M, KC_M, KC_M, \
91 KC_M, KC_M, KC_M, KC_M \
92 ),
93 /* MOUSE
94 * ,-------------------------------------------------.
95 * | BUTTON 5 | | SCROLL UP | X |
96 * |-----------+-----------+------------+------------|
97 * | X |LEFT CLICK | UP |RIGHT CLICK |
98 * |-----------+-----------+------------+------------|
99 * | BUTTON 4 | LEFT | DOWN | RIGHT |
100 * |-----------+-----------+------------+------=-----|
101 * | BUTTON 3 |SCROLL LEFT|SCROLL DOWN |SCROLL RIGHT|
102 * `-------------------------------------------------'
103 */
104 [_MOUSE] = LAYOUT(
105 KC_MS_BTN5, _______, KC_MS_WH_UP, _______, \
106 _______, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, \
107 KC_MS_BTN4, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, \
108 KC_MS_BTN3, KC_MS_WH_LEFT, KC_MS_WH_DOWN, KC_MS_WH_RIGHT \
109 ),
110 /* TERMINAL
111 * ,---------------------------------------.
112 * | |ABOUT| | X |
113 * |------------+-----+----------+---------|
114 * |TERMINAL OFF|PRINT| | |
115 * |------------+-----+----------+---------|
116 * | X |FLUSH| | |
117 * |------------+-----+----------+---------|
118 * |TERMINAL ON |HELP | | |
119 * `--------=======------------------------'
120 */
121 [_TERMINAL] = LAYOUT(
122 _______, TERM_ABOUT, _______, _______, \
123 TERM_OFF, TERM_PRINT, _______, _______, \
124 _______, TERM_FLUSH, _______, _______, \
125 TERM_ON, TERM_HELP , _______, _______\
126 ),
127 /* ADMIN
128 * ,-----------------------------------------.
129 * | RESET | | | X |
130 * |------------+-----+-----------+----------|
131 * |ABOUT CKEYS | | | |
132 * |------------+-----+-----------+----------|
133 * | | |CLICKY UP |CLICKY OFF|
134 * |------------+-----+-----------+----------|
135 * | X | |CLICKY DOWN|CLICKY ON |
136 * `-----------------------------------------'
137 */
138 [_ADMIN] = LAYOUT(
139 RESET, _______, _______, _______, \
140 CKEYS_ABOUT, _______, _______, _______, \
141 _______, _______, _______, CK_OFF, \
142 _______, _______, _______, CK_ON \
143 ),
144};
145
146bool process_record_user(uint16_t keycode, keyrecord_t *record) {
147 switch (keycode) {
148 case TERM_ABOUT:
149 if (record->event.pressed) {
150 // when keycode TERM_ABOUT is pressed
151 SEND_STRING("about"SS_TAP(X_ENTER));
152 } else {
153 // when keycode TERM_ABOUT is released
154 }
155 break;
156 case TERM_PRINT:
157 if (record->event.pressed) {
158 SEND_STRING("print"SS_TAP(X_ENTER));
159 } else { }
160 break;
161 case TERM_FLUSH:
162 if (record->event.pressed) {
163 SEND_STRING("flush"SS_TAP(X_ENTER));
164 } else { }
165 break;
166 case TERM_HELP:
167 if (record->event.pressed) {
168 SEND_STRING("help"SS_TAP(X_ENTER));
169 } else { }
170 break;
171 case CKEYS_ABOUT:
172 if (record->event.pressed) {
173 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));
174 } else { }
175 break;
176 }
177 return true;
178};