aboutsummaryrefslogtreecommitdiff
path: root/keyboard/ergodox/keymaps/keymap_default.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboard/ergodox/keymaps/keymap_default.c')
-rw-r--r--keyboard/ergodox/keymaps/keymap_default.c76
1 files changed, 76 insertions, 0 deletions
diff --git a/keyboard/ergodox/keymaps/keymap_default.c b/keyboard/ergodox/keymaps/keymap_default.c
new file mode 100644
index 000000000..7b54b481a
--- /dev/null
+++ b/keyboard/ergodox/keymaps/keymap_default.c
@@ -0,0 +1,76 @@
1#include "ergodox.h"
2#include "debug.h"
3
4#define DEFAULT_LAYER 0
5#define COLEMAK_LAYER 1
6#define DVORAK_LAYER 2
7#define LOWER_LAYER 1
8#define RAISE_LAYER 4
9
10const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
11[DEFAULT_LAYER] = KEYMAP( // layer 0 : default
12 // left hand
13 KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC,
14 KC_BSLS,KC_Q, KC_W, KC_E, KC_R, KC_T, KC_FN2,
15 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G,
16 KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_FN1,
17 KC_LGUI,KC_GRV, KC_BSLS,KC_LEFT,KC_RGHT,
18 KC_LCTL,KC_LALT,
19 KC_HOME,
20 KC_BSPC,KC_DEL, KC_END,
21 // right hand
22 KC_FN3, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
23 KC_LBRC,KC_Y, KC_U, KC_I, KC_O, KC_P, KC_RBRC,
24 KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,
25 KC_FN1, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT,
26 KC_LEFT,KC_DOWN,KC_UP, KC_RGHT,KC_RGUI,
27 KC_RALT,KC_RCTL,
28 KC_PGUP,
29 KC_PGDN,KC_ENT, KC_SPC
30 ),
31[LOWER_LAYER] = KEYMAP( // layer 0 : default
32 // left hand
33 KC_EQL, KC_1, KC_2, KC_3, LALT(KC_TAB), KC_5, KC_ESC,
34 KC_BSLS,KC_Q, S(KC_W), KC_E, KC_R, KC_T, KC_FN2,
35 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G,
36 KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_FN1,
37 KC_LGUI,KC_GRV, KC_BSLS,KC_LEFT,KC_RGHT,
38 KC_LCTL,KC_LALT,
39 KC_HOME,
40 KC_BSPC,KC_DEL, KC_END,
41 // right hand
42 KC_FN3, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
43 KC_LBRC,KC_Y, KC_U, KC_I, KC_O, KC_P, KC_RBRC,
44 KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,
45 KC_FN1, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT,
46 KC_LEFT,KC_DOWN,KC_UP, KC_RGHT,KC_RGUI,
47 KC_RALT,KC_RCTL,
48 KC_PGUP,
49 KC_PGDN,KC_ENT, KC_SPC
50 )
51};
52
53const uint16_t PROGMEM fn_actions[] = {
54
55 [1] = ACTION_LAYER_MOMENTARY(LOWER_LAYER), // to RAISE
56 [2] = ACTION_LAYER_MOMENTARY(LOWER_LAYER), // to LOWER
57
58 [3] = ACTION_DEFAULT_LAYER_SET(DEFAULT_LAYER),
59 [4] = ACTION_DEFAULT_LAYER_SET(COLEMAK_LAYER),
60 [5] = ACTION_DEFAULT_LAYER_SET(DVORAK_LAYER),
61};
62
63const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
64{
65 // MACRODOWN only works in this function
66 switch(id) {
67 case 0:
68 if (record->event.pressed) {
69 register_code(KC_RSFT);
70 } else {
71 unregister_code(KC_RSFT);
72 }
73 break;
74 }
75 return MACRO_NONE;
76};