aboutsummaryrefslogtreecommitdiff
path: root/keyboard/ergodox/keymaps/keymap_ergodox_ez.c
diff options
context:
space:
mode:
authorJack Humbert <jack.humb@gmail.com>2015-10-26 16:57:45 -0400
committerJack Humbert <jack.humb@gmail.com>2015-10-26 16:57:45 -0400
commit402122744c26704f378cda828d30bf11e8d6dabf (patch)
treec9834b5739f5534cf345e1467d2a34ae9f716e73 /keyboard/ergodox/keymaps/keymap_ergodox_ez.c
parent35a81f5b8b081e1607a7c04489b01f551c3213cc (diff)
downloadqmk_firmware-402122744c26704f378cda828d30bf11e8d6dabf.tar.gz
qmk_firmware-402122744c26704f378cda828d30bf11e8d6dabf.zip
ez with leds
Diffstat (limited to 'keyboard/ergodox/keymaps/keymap_ergodox_ez.c')
-rw-r--r--keyboard/ergodox/keymaps/keymap_ergodox_ez.c210
1 files changed, 210 insertions, 0 deletions
diff --git a/keyboard/ergodox/keymaps/keymap_ergodox_ez.c b/keyboard/ergodox/keymaps/keymap_ergodox_ez.c
new file mode 100644
index 000000000..84a17abdd
--- /dev/null
+++ b/keyboard/ergodox/keymaps/keymap_ergodox_ez.c
@@ -0,0 +1,210 @@
1#include "action_util.h"
2#include "action_layer.h"
3#define KC_SW0 KC_FN0
4#define DEBUG_ACTION
5
6static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
7
8 /* Keymap 0: Basic layer
9 *
10 * ,--------------------------------------------------. ,--------------------------------------------------.
11 * | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - |
12 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
13 * | Del | Q | W | E | R | T | Up | | Up | Y | U | I | O | P | \ |
14 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
15 * | BkSp | A | S | D | F | G |------| |------| H | J | K | L |; / L2| ' |
16 * |--------+------+------+------+------+------| L1 | | L1 |------+------+------+------+------+--------|
17 * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift |
18 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
19 * |Grv/L1| ~L1 | TAB | Left | Right| | Up | Down | [ | ] | ~L1 |
20 * `----------------------------------' `----------------------------------'
21 * ,-------------. ,-------------.
22 * | Rclk | LGui | | Alt |Ctrl/Esc|
23 * ,------|------|------| |------+--------+------.
24 * | | | Home | | PgUp | | |
25 * | Space| Enter|------| |------| Tab |Enter |
26 * | | | End | | PgDn | | |
27 * `--------------------' `----------------------'
28 */
29
30
31 // Basic layer
32
33 KEYMAP(
34 EQL, 1, 2, 3, 4, 5, LEFT,
35 DEL, Q, W, E, R, T, UP,
36 BSPC, A, S, D, F, G,
37 LSFT, FN29, X, C, V, B, FN1,
38 FN30, FN4, TAB, LEFT, RIGHT,
39
40 BTN2,LGUI,
41 HOME,
42 SPC, ENT, END,
43 //RIGHT
44 RIGHT,6, 7, 8, 9, 0, MINS,
45 UP, Y, U, I, O, P, BSLS,
46 H, J, K, L, FN31, QUOT,
47 FN1, N, M, COMM, DOT, FN28, RSFT,
48 UP, DOWN, LBRC, RBRC, FN4,
49 LALT, FN27,
50 PGUP,
51 PGDN, TAB, ENT
52 ),
53
54 /* Keymap 1: Symbol Layer
55 *
56 * ,--------------------------------------------------. ,--------------------------------------------------.
57 * | Flash | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
58 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
59 * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
60 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
61 * | : | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
62 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
63 * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
64 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
65 * | | | | | | | | . | 0 | = | |
66 * `----------------------------------' `----------------------------------'
67 * ,-------------. ,-------------.
68 * | | | | | |
69 * ,------|------|------| |------+------+------.
70 * | | | | | | | |
71 * | | |------| |------| | |
72 * | | | | | | | |
73 * `--------------------' `--------------------'
74 */
75 // SYMBOLS
76 KEYMAP(
77 FN0, F1, F2, F3, F4, F5, TRNS,
78 TRNS, FN7, FN8, FN23, FN24, FN18, TRNS,
79 FN22, FN9, FN10, FN15, FN16, GRV,
80 TRNS, FN11, FN12, LBRC, RBRC, FN17, TRNS,
81 TRNS, TRNS, TRNS, TRNS, TRNS,
82
83 TRNS, TRNS,
84 TRNS,
85 TRNS, TRNS, TRNS,
86 // right hand
87 TRNS, F6, F7, F8, F9, F10, F11,
88 TRNS, UP, 7, 8, 9, FN14, F12,
89 DOWN, 4, 5, 6, FN26, TRNS,
90 TRNS, FN13, 1, 2, 3, BSLS, TRNS,
91 TRNS,DOT, 0, EQL, TRNS,
92 TRNS, TRNS,
93 TRNS,
94 TRNS, TRNS, TRNS
95 ),
96 /* Keymap 2: Media and mouse keys
97 *
98 * ,--------------------------------------------------. ,--------------------------------------------------.
99 * | | | | | | | | | | | | | | | |
100 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
101 * | | | MsUp | | | | | | | | | | | | |
102 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
103 * | |MsLeft|MsDown|MsRght| | |------| |------| | | | Play | | |
104 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
105 * | | | | | | | | | | | | Prev | Next | | |
106 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
107 * | | | | Lclk | Rclk | |VolUp |VolDn | | | |
108 * `----------------------------------' `----------------------------------'
109 * ,-------------. ,-------------.
110 * | | | | | |
111 * ,------|------|------| |------+------+------.
112 * | | | | | | | |
113 * | | |------| |------| | |
114 * | | | | | | | |
115 * `--------------------' `--------------------'
116 */
117 // MEDIA AND MOUSE
118 KEYMAP(
119 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
120 TRNS, TRNS, MS_U, TRNS, TRNS, TRNS, TRNS,
121 TRNS, MS_L, MS_D, MS_R, TRNS, TRNS,
122 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
123 TRNS, TRNS, TRNS, BTN3, BTN2,
124
125 TRNS, TRNS,
126 TRNS,
127 TRNS, TRNS, TRNS,
128 // right hand
129 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
130 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
131 TRNS, TRNS, TRNS, MPLY, TRNS, TRNS,
132 TRNS, TRNS, TRNS, MPRV, MNXT, TRNS, TRNS,
133 VOLU, VOLD, TRNS, TRNS, TRNS,
134 TRNS, TRNS,
135 TRNS,
136 TRNS, TRNS, WBAK
137 ),
138};
139
140/* id for user defined functions */
141enum function_id {
142 TEENSY_KEY,
143};
144
145/*
146 * Fn action definition
147 */
148static const uint16_t PROGMEM fn_actions[] = {
149 [0] = ACTION_FUNCTION(TEENSY_KEY), // FN0 - Teensy key
150 [1] = ACTION_LAYER_INVERT(1, ON_RELEASE), // FN1 - Toggle 1
151 [2] = ACTION_LAYER_TOGGLE(2), // FN2 - Toggle 2
152 [3] = ACTION_LAYER_TOGGLE(3), // FN3 - Toggle 3
153 [4] = ACTION_LAYER_TAP_TOGGLE(1), // FN4 - Momentary Layer 1
154 [5] = ACTION_LAYER_MOMENTARY(2), // FN5 - Momentary L2
155
156 // SYMBOLS
157 ACTION_MODS_KEY(MOD_LSFT, KC_QUOT), // FN6 - "
158 ACTION_MODS_KEY(MOD_LSFT, KC_1), // FN7 - !
159 ACTION_MODS_KEY(MOD_LSFT, KC_2), // FN8 - @
160 ACTION_MODS_KEY(MOD_LSFT, KC_3), // FN9 - #
161 ACTION_MODS_KEY(MOD_LSFT, KC_4), // FN10 - $
162 ACTION_MODS_KEY(MOD_LSFT, KC_5), // FN11 - %
163 ACTION_MODS_KEY(MOD_LSFT, KC_6), // FN12 - ^
164 ACTION_MODS_KEY(MOD_LSFT, KC_7), // FN13 - &
165 ACTION_MODS_KEY(MOD_LSFT, KC_8), // FN14 - *
166 ACTION_MODS_KEY(MOD_LSFT, KC_9), // FN15 - (
167 ACTION_MODS_KEY(MOD_LSFT, KC_0), // FN16 - )
168 ACTION_MODS_KEY(MOD_LSFT, KC_GRV), // FN17 - ~
169 ACTION_MODS_KEY(MOD_LSFT, KC_BSLS), // FN18 - |
170 ACTION_MODS_KEY(MOD_LSFT, KC_MINS), // FN19 - _
171 ACTION_MODS_KEY(MOD_LSFT, KC_COMM), // FN20 - <
172 ACTION_MODS_KEY(MOD_LSFT, KC_DOT), // FN21 - >
173 ACTION_MODS_KEY(MOD_LSFT, KC_SCLN), // FN22 - :
174 ACTION_MODS_KEY(MOD_LSFT, KC_LBRC), // FN23 - {
175 ACTION_MODS_KEY(MOD_LSFT, KC_RBRC), // FN24 - }
176 ACTION_MODS_KEY(MOD_LSFT, KC_SLSH), // FN25 - ?
177 ACTION_MODS_KEY(MOD_LSFT, KC_EQL), // FN26 - +
178
179 ACTION_MODS_TAP_KEY(MOD_LCTL, KC_ESC), // FN27 - Control/esc on tap
180 ACTION_MODS_TAP_KEY(MOD_LCTL, KC_SLSH), // FN28 - slash becomes Ctrl when held (right pinky)
181 ACTION_MODS_TAP_KEY(MOD_LCTL, KC_Z), // FN29 - z becomes Ctrl when held (left pinky)
182
183 // Fancy tapping/toggling
184 ACTION_LAYER_TAP_KEY(1, KC_GRV), // FN30 - Layer 1 when holding backtick key
185 ACTION_LAYER_TAP_KEY(2, KC_SCLN), // FN31 - Layer 2 when holding semicolon key
186
187
188};
189
190void action_function(keyrecord_t *event, uint8_t id, uint8_t opt)
191{
192 print("action_function called\n");
193 print("id = "); phex(id); print("\n");
194 print("opt = "); phex(opt); print("\n");
195 if (id == TEENSY_KEY) {
196 clear_keyboard();
197 print("\n\nJump to bootloader... ");
198 _delay_ms(250);
199 bootloader_jump(); // should not return
200 print("not supported.\n");
201 }
202}
203
204void * matrix_init_user(void) {
205
206};
207
208void * matrix_scan_user(void) {
209
210};