aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosh Asplund <joshuata@users.noreply.github.com>2018-04-19 11:30:45 -0500
committerDrashna Jaelre <drashna@live.com>2018-04-19 09:30:45 -0700
commit5ec3bd9e40a9f04a05d23569fc1a402927e1a5c2 (patch)
treedb733ed38254135c8e6d3d29d0da53f2c2821217
parentd3c6da7afff15fa493d7a6c8b00ec6e4ac7274f3 (diff)
downloadqmk_firmware-5ec3bd9e40a9f04a05d23569fc1a402927e1a5c2.tar.gz
qmk_firmware-5ec3bd9e40a9f04a05d23569fc1a402927e1a5c2.zip
Adds default IC keymap (#2677)
-rw-r--r--keyboards/ergodox_infinity/keymaps/input_club/README.md23
-rw-r--r--keyboards/ergodox_infinity/keymaps/input_club/keymap.c267
2 files changed, 290 insertions, 0 deletions
diff --git a/keyboards/ergodox_infinity/keymaps/input_club/README.md b/keyboards/ergodox_infinity/keymaps/input_club/README.md
new file mode 100644
index 000000000..31ae23ac4
--- /dev/null
+++ b/keyboards/ergodox_infinity/keymaps/input_club/README.md
@@ -0,0 +1,23 @@
1# Input Club ErgoDox Infinity Layout
2
3A basic ErgoDox layout that duplicates the default Input Club layout
4
5## Features
6
7Base Layers
8
9- QWERTY
10- Function Keys
11- Numpad
12
13## Building and flashing
14
151. Put your board in DFU mode with either the button on the bottom, or with a software key in your current firmware
162. Flash left half:
17 ```bash
18 make ergodox_infinity:input_club:dfu-util
19 ```
203. Flash right half:
21 ```bash
22 make ergodox_infinity:input_club:dfu-util MASTER=right
23 ```
diff --git a/keyboards/ergodox_infinity/keymaps/input_club/keymap.c b/keyboards/ergodox_infinity/keymaps/input_club/keymap.c
new file mode 100644
index 000000000..e77319d2c
--- /dev/null
+++ b/keyboards/ergodox_infinity/keymaps/input_club/keymap.c
@@ -0,0 +1,267 @@
1#include QMK_KEYBOARD_H
2#include "debug.h"
3#include "action_layer.h"
4#include "version.h"
5
6#define L0 0 // default layer
7#define L1 1
8#define L2 2
9
10enum custom_keycodes {
11 PLACEHOLDER = SAFE_RANGE, // can always be here
12 EPRM,
13 VRSN,
14 RGB_SLD
15};
16
17const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
18[L0] = LAYOUT_ergodox( // layer 0 : default
19/*
20 * left hand
21 * +-------+-----+-----+-----+-----+-----+-----+
22 * | = | 0 | 2 | 3 | 4 | 5 | ESC |
23 * +-------+-----+-----+-----+-----+-----+-----+
24 * | \ | Q | W | E | R | T |LCK-1|
25 * +-------+-----+-----+-----+-----+-----+ |
26 * | TAB | A | S | D | F | G +-----+
27 * +-------+-----+-----+-----+-----+-----+ f1 |
28 * | LSHIFT| Z | X | C | V | B | |
29 * +-+-----+-----+-----+-----+-----+-----+-----+
30 * |LGUI | ` | \ |LEFT |RIGHT|
31 * +-----+-----+-----+-----+-----+ +-----+-----+
32 * |LCTRL| LALT|
33 * +-----+-----+-----+
34 * | | | HOME|
35 * |BKSPC| DEL +-----+
36 * | | | END |
37 * +-----+-----+-----+
38 */
39 KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC,
40 KC_BSLS, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(L1),
41 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G,
42 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(L1),
43 KC_LGUI, KC_GRV, KC_BSLS, KC_LEFT, KC_RGHT,
44 KC_LCTL, KC_LALT,
45 KC_HOME,
46 KC_BSPC, KC_DELT, KC_END,
47/* right hand
48 * +-----+-----+-----+-----+-----+-----+-------+
49 * |LCK-2| 6 | 7 | 8 | 9 | 0 | - |
50 * +-----+-----+-----+-----+-----+-----+-------+
51 * | [ | Y | U | I | O | P | ] |
52 * | +-----+-----+-----+-----+-----+-------+
53 * +-----+ H | J | K | L | ; | ' |
54 * | f1 +-----+-----+-----+-----+-----+-------+
55 * | | N | M | , | . | / | RSHIFT|
56 * +-----+-----+-----+-----+-----+-----+-----+-+
57 * |LEFT |DOWN | UP |RIGHT| RGUI|
58 * +-----+-----+ +-----+-----+-----+-----+-----+
59 * | RALT|RCTRL|
60 * +-----+-----+-----+
61 * | PGUP| | |
62 * +-----+ ENT | SPC |
63 * | PGDN| | |
64 * +-----+-----+-----+
65 */
66 TG(L2), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
67 KC_LBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_RBRC,
68 KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
69 MO(L1), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
70 KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_RGUI,
71 KC_RALT, KC_RCTL,
72 KC_PGUP,
73 KC_PGDN, KC_ENT, KC_SPC
74 ),
75
76[L1] = LAYOUT_ergodox( // layer 1 : function layers
77/* left hand
78 * +-------+-----+-----+-----+-----+-----+-----+
79 * | | f1 | f2 | f3 | f4 | f5 | f11 |
80 * +-------+-----+-----+-----+-----+-----+-----+
81 * | | | | | | | |
82 * +-------+-----+-----+-----+-----+-----+ |
83 * | | | | | | +-----+
84 * +-------+-----+-----+-----+-----+-----+ |
85 * | | | | | | | |
86 * +-+-----+-----+-----+-----+-----+-----+-----+
87 * | | | | | |
88 * +-----+-----+-----+-----+-----+ +-----+-----+
89 * | | |
90 * +-----+-----+-----+
91 * | | | |
92 * | | +-----+
93 * | | | |
94 * +-----+-----+-----+
95 */
96 KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
97 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
98 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
99 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
100 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
101 KC_TRNS, KC_TRNS,
102 KC_TRNS,
103 KC_TRNS, KC_TRNS, KC_TRNS,
104/* right hand
105 * +-----+-----+-----+-----+-----+-----+-------+
106 * | f12 | f6 | f7 | f8 | f9 | f10 | |
107 * +-----+-----+-----+-----+-----+-----+-------+
108 * | | | | | | | |
109 * | +-----+-----+-----+-----+-----+-------+
110 * +-----+ | | | | | |
111 * | +-----+-----+-----+-----+-----+-------+
112 * | | | | | | | |
113 * +-----+-----+-----+-----+-----+-----+-----+-+
114 * | | | | | |
115 * +-----+-----+ +-----+-----+-----+-----+-----+
116 * | | |
117 * +-----+-----+-----+
118 * | | | |
119 * +-----+ | |
120 * | | | |
121 * +-----+-----+-----+
122 */
123 KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS,
124 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
125 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
126 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
127 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
128 KC_TRNS, KC_TRNS,
129 KC_TRNS,
130 KC_TRNS, KC_TRNS, KC_TRNS
131),
132[L2] = LAYOUT_ergodox(
133/* Left hand
134 * +-------+-----+-----+-----+-----+-----+-----+
135 * | FLASH | | | | | | |
136 * +-------+-----+-----+-----+-----+-----+-----+
137 * | | | | | | | |
138 * +-------+-----+-----+-----+-----+-----+ |
139 * | | | | | | +-----+
140 * +-------+-----+-----+-----+-----+-----+ |
141 * | | | | | | | |
142 * +-+-----+-----+-----+-----+-----+-----+-----+
143 * | | | | | |
144 * +-----+-----+-----+-----+-----+ +-----+-----+
145 * | | |
146 * +-----+-----+-----+
147 * | | | |
148 * | | +-----+
149 * | | | |
150 * +-----+-----+-----+
151 */
152 RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
153 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
154 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
155 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
156 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
157 KC_TRNS, KC_TRNS,
158 KC_TRNS,
159 KC_TRNS, KC_TRNS, KC_TRNS,
160/* right hand
161 * +-----+-----+-----+-----+-----+-----+-------+
162 * | | |NMLCK| P/ | P* | P- | |
163 * +-----+-----+-----+-----+-----+-----+-------+
164 * | | | P7 | P8 | P9 | P+ | |
165 * | +-----+-----+-----+-----+-----+-------+
166 * +-----+ | P4 | P5 | P6 | P+ | |
167 * | +-----+-----+-----+-----+-----+-------+
168 * | | | P1 | P2 | P3 |PENT | |
169 * +-----+-----+-----+-----+-----+-----+-----+-+
170 * | | | P. |PENT | |
171 * +-----+-----+ +-----+-----+-----+-----+-----+
172 * | | |
173 * +-----+-----+-----+
174 * | | | |
175 * +-----+ | P0 |
176 * | | | |
177 * +-----+-----+-----+
178 */
179 KC_TRNS, KC_TRNS, KC_NUMLOCK, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS, KC_TRNS,
180 KC_TRNS, KC_TRNS, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS, KC_TRNS,
181 KC_TRNS, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_PLUS, KC_TRNS,
182 KC_TRNS, KC_TRNS, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_ENTER, KC_TRNS,
183 KC_TRNS, KC_TRNS, KC_KP_DOT, KC_KP_ENTER, KC_TRNS,
184 KC_TRNS, KC_TRNS,
185 KC_TRNS,
186 KC_TRNS, KC_TRNS, KC_KP_0
187),
188};
189
190const uint16_t PROGMEM fn_actions[] = {
191 [1] = ACTION_LAYER_TAP_TOGGLE(L1) // FN1 - Momentary Layer 1 (Function)
192};
193
194const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
195{
196 // MACRODOWN only works in this function
197 switch(id) {
198 case 0:
199 if (record->event.pressed) {
200 SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
201 }
202 break;
203 case 1:
204 if (record->event.pressed) { // For resetting EEPROM
205 eeconfig_init();
206 }
207 break;
208 }
209 return MACRO_NONE;
210};
211
212bool process_record_user(uint16_t keycode, keyrecord_t *record) {
213 switch (keycode) {
214 // dynamically generate these.
215 case EPRM:
216 if (record->event.pressed) {
217 eeconfig_init();
218 }
219 return false;
220 break;
221 case VRSN:
222 if (record->event.pressed) {
223 SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
224 }
225 return false;
226 break;
227 case RGB_SLD:
228 if (record->event.pressed) {
229 #ifdef RGBLIGHT_ENABLE
230 rgblight_mode(1);
231 #endif
232 }
233 return false;
234 break;
235 }
236 return true;
237}
238
239// Runs just one time when the keyboard initializes.
240void matrix_init_user(void) {
241
242};
243
244
245// Runs constantly in the background, in a loop.
246void matrix_scan_user(void) {
247
248 uint8_t layer = biton32(layer_state);
249
250 ergodox_board_led_off();
251 ergodox_right_led_1_off();
252 ergodox_right_led_2_off();
253 ergodox_right_led_3_off();
254 switch (layer) {
255 // TODO: Make this relevant to the ErgoDox EZ.
256 case 1:
257 ergodox_right_led_1_on();
258 break;
259 case 2:
260 ergodox_right_led_2_on();
261 break;
262 default:
263 // none
264 break;
265 }
266
267};