aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack Humbert <jack.humb@gmail.com>2017-01-04 23:41:29 -0500
committerGitHub <noreply@github.com>2017-01-04 23:41:29 -0500
commit6a59dfb4c6e4401600a1ef6f48fce810b238fce4 (patch)
tree9791ed9ada13d271eaf99bc5b161d85cf248d079
parentad290946f29846da67d5ff4f8b0f8f8cd319725a (diff)
parenta85aefd27af5d890d9e2dbf25513b84bfef8dfb0 (diff)
downloadqmk_firmware-6a59dfb4c6e4401600a1ef6f48fce810b238fce4.tar.gz
qmk_firmware-6a59dfb4c6e4401600a1ef6f48fce810b238fce4.zip
Merge pull request #984 from deadcyclo/master
Added the deadcyclo layout
-rw-r--r--keyboards/ergodox/keymaps/deadcyclo/keymap.c273
-rw-r--r--keyboards/ergodox/keymaps/deadcyclo/readme.md10
2 files changed, 283 insertions, 0 deletions
diff --git a/keyboards/ergodox/keymaps/deadcyclo/keymap.c b/keyboards/ergodox/keymaps/deadcyclo/keymap.c
new file mode 100644
index 000000000..d75c805bf
--- /dev/null
+++ b/keyboards/ergodox/keymaps/deadcyclo/keymap.c
@@ -0,0 +1,273 @@
1#include "ergodox.h"
2#include "debug.h"
3#include "action_layer.h"
4#include "version.h"
5
6#define BASE 0 // default layer
7#define SYMB 1 // symbols
8#define MDIA 2 // media keys
9#define NAVG 3 // navigation
10
11enum custom_keycodes {
12 PLACEHOLDER = SAFE_RANGE, // can always be here
13 EPRM,
14 VRSN,
15 RGB_SLD
16};
17
18// TODO: Get rid of of keys I don't want. Make others that I do. Set up lots of makros (Using hyper (and meh)) keys (where to put them?)
19// TODO: Need to change hotkeys for lastpass, and potentially make my own keys for them on one of my layers
20const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
21/* Keymap 0: Basic layer
22 *
23 * ,--------------------------------------------------. ,--------------------------------------------------.
24 * | Esc/L3 | 1 | 2 | 3 | 4 | 5 | 6 | | 6 | 7 | 8 | 9 | 0 | - | =/L3 |
25 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
26 * | Tab/L1 | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \/L1 |
27 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
28 * | LCtrl | A | S | D | F | G |------| |------| H | J | K | L |; / L2| ctrl/'|
29 * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
30 * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift |
31 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
32 * |Grv/L1| '" |AltShf| Lalt | Ralt | | Lalt | Ralt | [ | ] | ~/L1 |
33 * `----------------------------------' `----------------------------------'
34 * ,-------------. ,-------------.
35 * | App | Home | | PgUp | Ins |
36 * ,------|------|------| |------+--------+------.
37 * | | | End | | PgDn | | |
38 * | Space| TAB |------| |------| BSPC |Enter |
39 * | | | [ | | ] | | |
40 * `--------------------' `----------------------'
41 */
42// If it accepts an argument (i.e, is a function), it doesn't need KC_.
43// Otherwise, it needs KC_*
44[BASE] = KEYMAP( // layer 0 : default
45 // left hand
46 LT(NAVG,KC_ESC), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
47 LT(SYMB,KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB),
48 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G,
49 KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO),
50 LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_RALT,KC_LALT,
51 ALT_T(KC_APP), KC_HOME,
52 KC_END,
53 KC_SPC,KC_TAB,KC_LBRC,
54 // right hand
55 KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, LT(NAVG,KC_EQL),
56 TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, LT(SYMB, KC_BSLS),
57 KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),CTL_T(KC_QUOT),
58 MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT,
59 KC_LALT, KC_RALT,KC_LBRC,KC_RBRC, LT(SYMB,KC_TILD),
60 KC_PGUP, KC_INS,
61 KC_PGDN,
62 KC_RBRC,KC_BSPC, KC_ENT
63 ),
64/* Keymap 1: Symbol Layer
65 *
66 * ,--------------------------------------------------. ,--------------------------------------------------.
67 * | | F1 | F2 | F3 | F4 | F5 | F6 | | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
68 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
69 * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | |
70 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
71 * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
72 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
73 * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
74 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
75 * | | | | | | | | . | 0 | = | |
76 * `----------------------------------' `----------------------------------'
77 * ,-------------. ,-------------.
78 * | | | | | |
79 * ,------|------|------| |------+------+------.
80 * | | | | | | | |
81 * | | |------| |------| DEL | |
82 * | | | | | | | |
83 * `--------------------' `--------------------'
84 */
85// SYMBOLS
86[SYMB] = KEYMAP(
87 // left hand
88 KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
89 KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
90 KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
91 KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS,
92 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
93 KC_TRNS,KC_TRNS,
94 KC_TRNS,
95 KC_TRNS,KC_TRNS,KC_TRNS,
96 // right hand
97 KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
98 KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_TRNS,
99 KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS,
100 KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS,
101 KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS,
102 KC_TRNS, KC_TRNS,
103 KC_TRNS,
104 KC_TRNS, KC_DEL, KC_TRNS
105),
106/* Keymap 2: Media and mouse keys
107 *
108 * ,--------------------------------------------------. ,--------------------------------------------------.
109 * | | | | | | | | | | | | | | | |
110 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
111 * | | | | MsUp | | | | | | | | | | | |
112 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
113 * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
114 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
115 * | | | | | | | | | | | | Prev | Next | | |
116 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
117 * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
118 * `----------------------------------' `----------------------------------'
119 * ,-------------. ,-------------.
120 * | | | | | |
121 * ,------|------|------| |------+------+------.
122 * | | | | | | |Brwser|
123 * | | |------| |------| |Back |
124 * | | | | | | | |
125 * `--------------------' `--------------------'
126 */
127// MEDIA AND MOUSE
128[MDIA] = KEYMAP(
129 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
130 KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
131 KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
132 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
133 KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
134 KC_TRNS, KC_TRNS,
135 KC_TRNS,
136 KC_TRNS, KC_TRNS, KC_TRNS,
137 // right hand
138 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
139 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
140 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
141 KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
142 KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
143 KC_TRNS, KC_TRNS,
144 KC_TRNS,
145 KC_TRNS, KC_TRNS, KC_WBAK
146),
147
148/* Keymap 3: Navigation TODO: Printscreen, pg up down, home, end, others? Insert for example
149 *
150 * ,--------------------------------------------------. ,--------------------------------------------------.
151 * | | VER | | | | | | | | | | | | | |
152 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
153 * | | | | up | | | | | | | | | | | |
154 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
155 * | | | left | down | right| |------| |------| | | | | | |
156 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
157 * | | | | | | | | | | | | | | | |
158 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
159 * | | | | | | | | | | | |
160 * `----------------------------------' `----------------------------------'
161 * ,-------------. ,-------------.
162 * | | | | | |
163 * ,------|------|------| |------+------+------.
164 * | | | | | | | |
165 * | | |------| |------| | |
166 * | | | | | | | |
167 * `--------------------' `--------------------'
168 */
169// NAVIGATION
170[NAVG] = KEYMAP(
171 KC_TRNS, VRSN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
172 KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS,
173 KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS,
174 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
175 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
176 KC_TRNS, KC_TRNS,
177 KC_TRNS,
178 KC_TRNS, KC_TRNS, KC_TRNS,
179 // right hand
180 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
181 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
182 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
183 KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_TRNS, KC_TRNS, KC_TRNS,
184 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
185 KC_TRNS, KC_TRNS,
186 KC_TRNS,
187 KC_TRNS, KC_TRNS, KC_TRNS
188),
189};
190
191const uint16_t PROGMEM fn_actions[] = {
192 [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols)
193};
194
195const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
196{
197 // MACRODOWN only works in this function
198 switch(id) {
199 case 0:
200 if (record->event.pressed) {
201 SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
202 }
203 break;
204 case 1:
205 if (record->event.pressed) { // For resetting EEPROM
206 eeconfig_init();
207 }
208 break;
209 }
210 return MACRO_NONE;
211};
212
213bool process_record_user(uint16_t keycode, keyrecord_t *record) {
214 switch (keycode) {
215 // dynamically generate these.
216 case EPRM:
217 if (record->event.pressed) {
218 eeconfig_init();
219 }
220 return false;
221 break;
222 case VRSN:
223 if (record->event.pressed) {
224 SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
225 }
226 return false;
227 break;
228 case RGB_SLD:
229 if (record->event.pressed) {
230 #ifdef RGBLIGHT_ENABLE
231 rgblight_mode(1);
232 #endif
233 }
234 return false;
235 break;
236 }
237 return true;
238}
239
240// Runs just one time when the keyboard initializes.
241void matrix_init_user(void) {
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 case 1:
256 ergodox_right_led_1_on();
257 break;
258 case 2:
259 ergodox_right_led_2_on();
260 break;
261 case 3:
262 ergodox_right_led_3_on();
263 break;
264 case 4:
265 ergodox_right_led_1_on(); // TODO: Make a fourth layer
266 ergodox_right_led_3_on();
267 break;
268 default:
269 // none
270 break;
271 }
272
273};
diff --git a/keyboards/ergodox/keymaps/deadcyclo/readme.md b/keyboards/ergodox/keymaps/deadcyclo/readme.md
new file mode 100644
index 000000000..915507440
--- /dev/null
+++ b/keyboards/ergodox/keymaps/deadcyclo/readme.md
@@ -0,0 +1,10 @@
1# ErgoDox EZ 1337 configuration
2
3Custom layout based on the default layout. Intended for interational users of us intl-altgr layout. Note that
4some common keys might be missing, as this layout is intented to be used on *nix systems by users familiar
5with their system. The layout is geared towards avoiding using the rat (mouse for those of you who are
6unfamiliar with tiling window managers) as much as possibly.
7
8# Changelog
9
10- 02.01.2017 Added delete key on second layer