diff options
author | Josh Asplund <joshuata@users.noreply.github.com> | 2018-04-19 11:30:45 -0500 |
---|---|---|
committer | Drashna Jaelre <drashna@live.com> | 2018-04-19 09:30:45 -0700 |
commit | 5ec3bd9e40a9f04a05d23569fc1a402927e1a5c2 (patch) | |
tree | db733ed38254135c8e6d3d29d0da53f2c2821217 | |
parent | d3c6da7afff15fa493d7a6c8b00ec6e4ac7274f3 (diff) | |
download | qmk_firmware-5ec3bd9e40a9f04a05d23569fc1a402927e1a5c2.tar.gz qmk_firmware-5ec3bd9e40a9f04a05d23569fc1a402927e1a5c2.zip |
Adds default IC keymap (#2677)
-rw-r--r-- | keyboards/ergodox_infinity/keymaps/input_club/README.md | 23 | ||||
-rw-r--r-- | keyboards/ergodox_infinity/keymaps/input_club/keymap.c | 267 |
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 | |||
3 | A basic ErgoDox layout that duplicates the default Input Club layout | ||
4 | |||
5 | ## Features | ||
6 | |||
7 | Base Layers | ||
8 | |||
9 | - QWERTY | ||
10 | - Function Keys | ||
11 | - Numpad | ||
12 | |||
13 | ## Building and flashing | ||
14 | |||
15 | 1. Put your board in DFU mode with either the button on the bottom, or with a software key in your current firmware | ||
16 | 2. Flash left half: | ||
17 | ```bash | ||
18 | make ergodox_infinity:input_club:dfu-util | ||
19 | ``` | ||
20 | 3. 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 | |||
10 | enum custom_keycodes { | ||
11 | PLACEHOLDER = SAFE_RANGE, // can always be here | ||
12 | EPRM, | ||
13 | VRSN, | ||
14 | RGB_SLD | ||
15 | }; | ||
16 | |||
17 | const 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 | |||
190 | const uint16_t PROGMEM fn_actions[] = { | ||
191 | [1] = ACTION_LAYER_TAP_TOGGLE(L1) // FN1 - Momentary Layer 1 (Function) | ||
192 | }; | ||
193 | |||
194 | const 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 | |||
212 | bool 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. | ||
240 | void matrix_init_user(void) { | ||
241 | |||
242 | }; | ||
243 | |||
244 | |||
245 | // Runs constantly in the background, in a loop. | ||
246 | void 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 | }; | ||