aboutsummaryrefslogtreecommitdiff
path: root/keyboards/ergodash
diff options
context:
space:
mode:
authoromkbd <takuya.electronics@gmail.com>2018-07-01 05:13:34 +0900
committerDrashna Jaelre <drashna@live.com>2018-06-30 13:13:34 -0700
commit87d9bb461ba65edf74b95a29617ff96389f223cc (patch)
tree63095d2f965058a43196be56658039bc6b5fc60e /keyboards/ergodash
parent155375ea3267c90e006fa04fe78106ce3c5e7c9f (diff)
downloadqmk_firmware-87d9bb461ba65edf74b95a29617ff96389f223cc.tar.gz
qmk_firmware-87d9bb461ba65edf74b95a29617ff96389f223cc.zip
ErgoDash Hardware Update (#3269)
* Hardware update Backlight enable Change pin Add 2keys (68→70) * change readme * support rev1 change keymap path * move ergodash.h
Diffstat (limited to 'keyboards/ergodash')
-rw-r--r--keyboards/ergodash/readme.md11
-rw-r--r--keyboards/ergodash/rev1/ergodash.h (renamed from keyboards/ergodash/ergodash.h)1
-rw-r--r--keyboards/ergodash/rev1/keymaps/default/config.h (renamed from keyboards/ergodash/keymaps/default/config.h)0
-rw-r--r--keyboards/ergodash/rev1/keymaps/default/keymap.c (renamed from keyboards/ergodash/keymaps/default/keymap.c)0
-rw-r--r--keyboards/ergodash/rev1/keymaps/default/rules.mk (renamed from keyboards/ergodash/keymaps/default/rules.mk)0
-rw-r--r--keyboards/ergodash/rev2/config.h95
-rw-r--r--keyboards/ergodash/rev2/ergodash.h26
-rw-r--r--keyboards/ergodash/rev2/keymaps/default/config.h44
-rw-r--r--keyboards/ergodash/rev2/keymaps/default/keymap.c159
-rw-r--r--keyboards/ergodash/rev2/keymaps/default/rules.mk0
-rw-r--r--keyboards/ergodash/rev2/rev2.c39
-rw-r--r--keyboards/ergodash/rev2/rev2.h66
-rw-r--r--keyboards/ergodash/rev2/rules.mk1
-rw-r--r--keyboards/ergodash/rules.mk2
14 files changed, 439 insertions, 5 deletions
diff --git a/keyboards/ergodash/readme.md b/keyboards/ergodash/readme.md
index 4b84b4802..d0d1dcb56 100644
--- a/keyboards/ergodash/readme.md
+++ b/keyboards/ergodash/readme.md
@@ -1,13 +1,18 @@
1# ErgoDash 1# ErgoDash
2 2
3![ErgoDash](https://i.imgur.com/ZyI592o.jpg) 3![ErgoDash](https://github.com/omkbd/picture/blob/master/IMG_20180630_1702141.jpg)
4 4
5Keyboard Maintainer: [omkbd](https://github.com/omkbd) [@omkbd](https://twitter.com/omkbd) 5Keyboard Maintainer: [omkbd](https://github.com/omkbd) [@omkbd](https://twitter.com/omkbd)
6Hardware Supported: ErgoDash PCB, Pro Micro ATmega32u4 6Hardware Supported: ErgoDash PCB, Pro Micro ATmega32u4
7Hardware Availability: In preparation 7Hardware Availability: Order your own [yourself](https://github.com/omkbd/ErgoDash)
8
8 9
9Make example for this keyboard (after setting up your build environment): 10Make example for this keyboard (after setting up your build environment):
10 11
11 make ergodash/rev1:default 12 make ergodash/rev2:default
12 13
13See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. 14See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
15
16# Layout
17![layout](https://github.com/omkbd/picture/blob/master/ergodash-layout.png)
18![PCB](https://github.com/omkbd/picture/blob/master/IMG_20180630_2022231.jpg)
diff --git a/keyboards/ergodash/ergodash.h b/keyboards/ergodash/rev1/ergodash.h
index ebb6b614e..b9489d577 100644
--- a/keyboards/ergodash/ergodash.h
+++ b/keyboards/ergodash/rev1/ergodash.h
@@ -7,7 +7,6 @@
7 #include "rev1.h" 7 #include "rev1.h"
8#endif 8#endif
9 9
10
11// Used to create a keymap using only KC_ prefixed keys 10// Used to create a keymap using only KC_ prefixed keys
12#define LAYOUT_kc( \ 11#define LAYOUT_kc( \
13 L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \ 12 L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
diff --git a/keyboards/ergodash/keymaps/default/config.h b/keyboards/ergodash/rev1/keymaps/default/config.h
index 7e7fe4f69..7e7fe4f69 100644
--- a/keyboards/ergodash/keymaps/default/config.h
+++ b/keyboards/ergodash/rev1/keymaps/default/config.h
diff --git a/keyboards/ergodash/keymaps/default/keymap.c b/keyboards/ergodash/rev1/keymaps/default/keymap.c
index 1464fd20e..1464fd20e 100644
--- a/keyboards/ergodash/keymaps/default/keymap.c
+++ b/keyboards/ergodash/rev1/keymaps/default/keymap.c
diff --git a/keyboards/ergodash/keymaps/default/rules.mk b/keyboards/ergodash/rev1/keymaps/default/rules.mk
index e69de29bb..e69de29bb 100644
--- a/keyboards/ergodash/keymaps/default/rules.mk
+++ b/keyboards/ergodash/rev1/keymaps/default/rules.mk
diff --git a/keyboards/ergodash/rev2/config.h b/keyboards/ergodash/rev2/config.h
new file mode 100644
index 000000000..c84d76e14
--- /dev/null
+++ b/keyboards/ergodash/rev2/config.h
@@ -0,0 +1,95 @@
1/*
2Copyright 2012 Jun Wako <wakojun@gmail.com>
3Copyright 2015 Jack Humbert
4
5This program is free software: you can redistribute it and/or modify
6it under the terms of the GNU General Public License as published by
7the Free Software Foundation, either version 2 of the License, or
8(at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#ifndef REV2_CONFIG_H
20#define REV2_CONFIG_H
21
22#include "config_common.h"
23
24/* USB Device descriptor parameter */
25#define VENDOR_ID 0xFEED
26#define PRODUCT_ID 0x6060
27#define DEVICE_VER 0x0100
28#define MANUFACTURER Omkbd
29#define PRODUCT ErgoDash
30#define DESCRIPTION Power
31
32/* key matrix size */
33// Rows are doubled-up
34#define MATRIX_ROWS 10
35#define MATRIX_COLS 7
36
37// wiring of each half
38#define MATRIX_ROW_PINS { D4, D7, E6, B4, B5 }
39#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 }
40// #define MATRIX_COL_PINS { B2, B3, B1, F7, F6, F5, F4 } //uncomment this line and comment line above if you need to reverse left-to-right key order
41
42/* define tapping term */
43#define TAPPING_TERM 120
44
45/* define if matrix has ghost */
46//#define MATRIX_HAS_GHOST
47
48/* number of backlight levels */
49#ifdef BACKLIGHT_ENABLE
50 #define BACKLIGHT_PIN B6
51 #define BACKLIGHT_LEVELS 7
52 #define BACKLIGHT_BREATHING
53 #define BREATHING_PERIOD 4
54#endif
55
56/* Set 0 if debouncing isn't needed */
57#define DEBOUNCING_DELAY 5
58
59/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
60#define LOCKING_SUPPORT_ENABLE
61/* Locking resynchronize hack */
62#define LOCKING_RESYNC_ENABLE
63
64/* key combination for command */
65#define IS_COMMAND() ( \
66 keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
67)
68
69/* ws2812 RGB LED */
70#define RGB_DI_PIN D3
71#define RGBLIGHT_TIMER
72#define RGBLED_NUM 24 // Number of LEDs
73#define ws2812_PORTREG PORTD
74#define ws2812_DDRREG DDRD
75
76/*
77 * Feature disable options
78 * These options are also useful to firmware size reduction.
79 */
80
81/* disable debug print */
82// #define NO_DEBUG
83
84/* disable print */
85// #define NO_PRINT
86
87/* disable action features */
88//#define NO_ACTION_LAYER
89//#define NO_ACTION_TAPPING
90//#define NO_ACTION_ONESHOT
91//#define NO_ACTION_MACRO
92//#define NO_ACTION_FUNCTION
93
94
95#endif
diff --git a/keyboards/ergodash/rev2/ergodash.h b/keyboards/ergodash/rev2/ergodash.h
new file mode 100644
index 000000000..0a96d5eb3
--- /dev/null
+++ b/keyboards/ergodash/rev2/ergodash.h
@@ -0,0 +1,26 @@
1#ifndef ERGODASH_H
2#define ERGODASH_H
3
4#include "quantum.h"
5
6#ifdef KEYBOARD_ergodash_rev2
7 #include "rev2.h"
8#endif
9
10// Used to create a keymap using only KC_ prefixed keys
11#define LAYOUT_kc( \
12 L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
13 L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
14 L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
15 L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \
16 L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \
17 ) \
18 LAYOUT( \
19 KC_##L00, KC_##L01, KC_##L02, KC_##L03, KC_##L04, KC_##L05, KC_##L06, KC_##R00, KC_##R01, KC_##R02, KC_##R03, KC_##R04, KC_##R05, KC_##R06, \
20 KC_##L10, KC_##L11, KC_##L12, KC_##L13, KC_##L14, KC_##L15, KC_##L16, KC_##R10, KC_##R11, KC_##R12, KC_##R13, KC_##R14, KC_##R15, KC_##R16, \
21 KC_##L20, KC_##L21, KC_##L22, KC_##L23, KC_##L24, KC_##L25, KC_##L26, KC_##R20, KC_##R21, KC_##R22, KC_##R23, KC_##R24, KC_##R25, KC_##R26, \
22 KC_##L30, KC_##L31, KC_##L32, KC_##L33, KC_##L34, KC_##L35, KC_##L36, KC_##R30, KC_##R31, KC_##R32, KC_##R33, KC_##R34, KC_##R35, KC_##R36, \
23 KC_##L40, KC_##L41, KC_##L42, KC_##L43, KC_##L44, KC_##L45, KC_##L46, KC_##R40, KC_##R41, KC_##R42, KC_##R43, KC_##R44, KC_##R45, KC_##R46 \
24 )
25
26#endif
diff --git a/keyboards/ergodash/rev2/keymaps/default/config.h b/keyboards/ergodash/rev2/keymaps/default/config.h
new file mode 100644
index 000000000..7e7fe4f69
--- /dev/null
+++ b/keyboards/ergodash/rev2/keymaps/default/config.h
@@ -0,0 +1,44 @@
1/*
2This is the c configuration file for the keymap
3
4Copyright 2012 Jun Wako <wakojun@gmail.com>
5Copyright 2015 Jack Humbert
6
7This program is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 2 of the License, or
10(at your option) any later version.
11
12This program is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with this program. If not, see <http://www.gnu.org/licenses/>.
19*/
20
21#ifndef CONFIG_USER_H
22#define CONFIG_USER_H
23
24#include "../../config.h"
25
26/* Use I2C or Serial, not both */
27
28#define USE_SERIAL
29// #define USE_I2C
30
31/* Select hand configuration */
32
33#define MASTER_LEFT
34// #define MASTER_RIGHT
35// #define EE_HANDS
36
37#endif
38
39#undef RGBLED_NUM
40#define RGBLIGHT_ANIMATIONS
41#define RGBLED_NUM 24
42#define RGBLIGHT_HUE_STEP 10
43#define RGBLIGHT_SAT_STEP 17
44#define RGBLIGHT_VAL_STEP 17
diff --git a/keyboards/ergodash/rev2/keymaps/default/keymap.c b/keyboards/ergodash/rev2/keymaps/default/keymap.c
new file mode 100644
index 000000000..dc1f6eedd
--- /dev/null
+++ b/keyboards/ergodash/rev2/keymaps/default/keymap.c
@@ -0,0 +1,159 @@
1#include QMK_KEYBOARD_H
2#include "action_layer.h"
3#include "eeconfig.h"
4
5extern keymap_config_t keymap_config;
6
7#define _QWERTY 0
8#define _LOWER 1
9#define _RAISE 2
10#define _ADJUST 16
11
12enum custom_keycodes {
13 QWERTY = SAFE_RANGE,
14 LOWER,
15 RAISE,
16 ADJUST,
17};
18
19// Fillers to make layering more clear
20#define _______ KC_TRNS
21#define XXXXXXX KC_NO
22#define KC_JPN LALT(KC_GRV)
23
24const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
25
26 /* Qwerty
27 * ,----------------------------------------------------------------------------------------------------------------------.
28 * | ESC | 1 | 2 | 3 | 4 | 5 | [ | | ] | 6 | 7 | 8 | 9 | 0 | Caps |
29 * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
30 * | ` | Q | W | E | R | T | - | | = | Y | U | I | O | P | \ |
31 * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
32 * | Tab | A | S | D | F | G | Del | | Bksp | H | J | K | L | ; | " |
33 * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
34 * | Shift| Z | X | C | V | B | JPN | | Enter| N | M | , | . | / | Shift|
35 * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
36 * | Ctrl | GUI | ALt |Adjust|||||||| Lower| Space| |||||||| | Enter| Raise|||||||| Left | Down | Up | Right|
37 * ,----------------------------------------------------------------------------------------------------------------------.
38 */
39 [_QWERTY] = LAYOUT( \
40 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LBRC, KC_RBRC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_CAPS, \
41 KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_MINS, KC_EQL , KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, \
42 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_DEL , KC_BSPC, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
43 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_JPN , KC_ENT , KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
44 KC_LCTL, KC_LGUI, KC_LALT, ADJUST, LOWER, KC_SPC ,_______, _______,KC_ENT , RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
45 ),
46
47 /* Lower
48 * ,----------------------------------------------------------------------------------------------------------------------.
49 * | F11 | F1 | F2 | F3 | F4 | F5 | { | | } | F6 | F7 | F8 | F9 | F10 | F12 |
50 * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
51 * | ~ | ! | @ | # | $ | % | _ | | + | ^ | & | * | ( | ) | | |
52 * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
53 * | Tab | 1 | 2 | 3 | 4 | 5 | Del | | Bksp | H | J | K | L | : | " |
54 * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
55 * | Shift| 6 | 7 | 8 | 9 | 0 | JPN | | Enter| N | M | < | > | ? | Shift|
56 * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
57 * | Ctrl | GUI | ALt |Adjust|||||||| Lower| Space| |||||||| | Enter| Raise|||||||| Home |PageDn|PageUp| End |
58 * ,----------------------------------------------------------------------------------------------------------------------.
59 */
60 [_LOWER] = LAYOUT(
61 KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_LCBR, KC_RCBR, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, \
62 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_UNDS, KC_PLUS, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE, \
63 KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_DEL , KC_BSPC, KC_H, KC_J, KC_K, KC_L, KC_COLN, KC_DQT , \
64 KC_LSFT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_JPN , KC_ENT , KC_N, KC_M, KC_LT, KC_GT, KC_QUES, KC_RSFT, \
65 KC_LCTL, KC_LGUI, KC_LALT, ADJUST, LOWER, KC_SPC ,_______, _______,KC_ENT , RAISE, KC_HOME, KC_PGDN, KC_PGUP, KC_END \
66 ),
67
68 /* Raise
69 * ,----------------------------------------------------------------------------------------------------------------------.
70 * | F11 | F1 | F2 | F3 | F4 | F5 | { | | } | F6 | F7 | F8 | F9 | F10 | F12 |
71 * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
72 * | ~ | ! | @ | # | $ | % | _ | | + | ^ | & | * | ( | ) | | |
73 * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
74 * | Tab | 1 | 2 | 3 | 4 | 5 | Del | | Bksp | H | J | K | L | : | " |
75 * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
76 * | Shift| 6 | 7 | 8 | 9 | 0 | JPN | | Enter| N | M | < | > | ? | Shift|
77 * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
78 * | Ctrl | GUI | ALt |Adjust|||||||| Lower| Space| |||||||| | Enter| Raise|||||||| Home |PageDn|PageUp| End |
79 * ,----------------------------------------------------------------------------------------------------------------------.
80 */
81 [_RAISE] = LAYOUT(
82 KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_LCBR, KC_RCBR, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, \
83 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_UNDS, KC_PLUS, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE, \
84 KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_DEL , KC_BSPC, KC_H, KC_J, KC_K, KC_L, KC_COLN, KC_DQT , \
85 KC_LSFT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_JPN , KC_ENT , KC_N, KC_M, KC_LT, KC_GT, KC_QUES, KC_RSFT, \
86 KC_LCTL, KC_LGUI, KC_LALT, ADJUST, LOWER, KC_SPC ,_______, _______,KC_ENT , RAISE, KC_HOME, KC_PGDN, KC_PGUP, KC_END \
87 ),
88
89 /* Adjust
90 * ,----------------------------------------------------------------------------------------------------------------------.
91 * | | | | | | | | | | | | | | | |
92 * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
93 * | | Reset|RGB ON| MODE| HUE-| HUE+| | | | SAT-| SAT+| VAL-| VAL+| | |
94 * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
95 * | | | | | | | | | | | | | | | |
96 * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
97 * | | | | | | | | | | | | | | | |
98 * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
99 * | | | | |||||||| | | |||||||| | | |||||||| | | | |
100 * ,----------------------------------------------------------------------------------------------------------------------.
101 */
102 [_ADJUST] = LAYOUT(
103 _______, _______, _______, _______, _______, _______,_______, _______, _______, _______, _______, _______, _______, _______, \
104 _______, RESET , RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI,_______, _______, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, _______, \
105 _______, _______, BL_TOGG, BL_BRTG, BL_INC , BL_DEC ,_______, _______, _______, _______, _______, _______, _______, _______, \
106 _______, _______, _______, _______, _______, _______,_______, _______, _______, _______, _______, _______, _______, _______, \
107 _______, _______, _______, _______, _______,_______,_______, _______,_______, _______, _______, _______, _______, _______ \
108 )
109};
110
111#ifdef AUDIO_ENABLE
112float tone_qwerty[][2] = SONG(QWERTY_SOUND);
113#endif
114
115void persistent_default_layer_set(uint16_t default_layer) {
116 eeconfig_update_default_layer(default_layer);
117 default_layer_set(default_layer);
118}
119
120bool process_record_user(uint16_t keycode, keyrecord_t *record) {
121 switch (keycode) {
122 case QWERTY:
123 if (record->event.pressed) {
124 print("mode just switched to qwerty and this is a huge string\n");
125 set_single_persistent_default_layer(_QWERTY);
126 }
127 return false;
128 break;
129 case LOWER:
130 if (record->event.pressed) {
131 layer_on(_LOWER);
132 update_tri_layer(_LOWER, _RAISE, _ADJUST);
133 } else {
134 layer_off(_LOWER);
135 update_tri_layer(_LOWER, _RAISE, _ADJUST);
136 }
137 return false;
138 break;
139 case RAISE:
140 if (record->event.pressed) {
141 layer_on(_RAISE);
142 update_tri_layer(_LOWER, _RAISE, _ADJUST);
143 } else {
144 layer_off(_RAISE);
145 update_tri_layer(_LOWER, _RAISE, _ADJUST);
146 }
147 return false;
148 break;
149 case ADJUST:
150 if (record->event.pressed) {
151 layer_on(_ADJUST);
152 } else {
153 layer_off(_ADJUST);
154 }
155 return false;
156 break;
157 }
158 return true;
159}
diff --git a/keyboards/ergodash/rev2/keymaps/default/rules.mk b/keyboards/ergodash/rev2/keymaps/default/rules.mk
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/keyboards/ergodash/rev2/keymaps/default/rules.mk
diff --git a/keyboards/ergodash/rev2/rev2.c b/keyboards/ergodash/rev2/rev2.c
new file mode 100644
index 000000000..5e787921c
--- /dev/null
+++ b/keyboards/ergodash/rev2/rev2.c
@@ -0,0 +1,39 @@
1#include "ergodash.h"
2
3#ifdef AUDIO_ENABLE
4 float tone_startup[][2] = SONG(STARTUP_SOUND);
5 float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
6#endif
7
8#ifdef SSD1306OLED
9void led_set_kb(uint8_t usb_led) {
10 // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
11 led_set_user(usb_led);
12}
13#endif
14
15void matrix_init_kb(void) {
16
17 #ifdef AUDIO_ENABLE
18 _delay_ms(20); // gets rid of tick
19 PLAY_SONG(tone_startup);
20 #endif
21
22 // // green led on
23 // DDRD |= (1<<5);
24 // PORTD &= ~(1<<5);
25
26 // // orange led on
27 // DDRB |= (1<<0);
28 // PORTB &= ~(1<<0);
29
30 matrix_init_user();
31};
32
33void shutdown_user(void) {
34 #ifdef AUDIO_ENABLE
35 PLAY_SONG(tone_goodbye);
36 _delay_ms(150);
37 stop_all_notes();
38 #endif
39}
diff --git a/keyboards/ergodash/rev2/rev2.h b/keyboards/ergodash/rev2/rev2.h
new file mode 100644
index 000000000..55135adca
--- /dev/null
+++ b/keyboards/ergodash/rev2/rev2.h
@@ -0,0 +1,66 @@
1#ifndef REV1_H
2#define REV1_H
3
4#include "ergodash.h"
5
6//void promicro_bootloader_jmp(bool program);
7#include "quantum.h"
8
9
10#ifdef USE_I2C
11#include <stddef.h>
12#ifdef __AVR__
13 #include <avr/io.h>
14 #include <avr/interrupt.h>
15#endif
16#endif
17
18//void promicro_bootloader_jmp(bool program);
19
20#ifndef FLIP_HALF
21// Standard Keymap
22// (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
23#define LAYOUT( \
24 L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
25 L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
26 L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
27 L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \
28 L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \
29 ) \
30 { \
31 { L00, L01, L02, L03, L04, L05, L06 }, \
32 { L10, L11, L12, L13, L14, L15, L16 }, \
33 { L20, L21, L22, L23, L24, L25, L26 }, \
34 { L30, L31, L32, L33, L34, L35, L36 }, \
35 { L40, L41, L42, L43, L44, L45, L46 }, \
36 { R06, R05, R04, R03, R02, R01, R00 }, \
37 { R16, R15, R14, R13, R12, R11, R10 }, \
38 { R26, R25, R24, R23, R22, R21, R20 }, \
39 { R36, R35, R34, R33, R32, R31, R30 }, \
40 { R46, R45, R44, R43, R42, R41, R40 } \
41 }
42#else
43// Keymap with right side flipped
44// (TRRS jack on both halves are to the right)
45#define LAYOUT( \
46 L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
47 L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
48 L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
49 L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \
50 L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \
51 ) \
52 { \
53 { L00, L01, L02, L03, L04, L05, L06 }, \
54 { L10, L11, L12, L13, L14, L15, L16 }, \
55 { L20, L21, L22, L23, L24, L25, L26 }, \
56 { L30, L31, L32, L33, L34, L35, L36 }, \
57 { L40, L41, L42, L43, L44, L45, L46 }, \
58 { R00, R01, R02, R03, R04, R05, R06 }, \
59 { R10, R11, R12, R13, R14, R15, R16 }, \
60 { R20, R21, R22, R23, R24, R25, R26 }, \
61 { R30, R31, R32, R33, R34, R35, R36 }, \
62 { R40, R41, R42, R43, R44, R45, R46 } \
63 }
64#endif
65
66#endif
diff --git a/keyboards/ergodash/rev2/rules.mk b/keyboards/ergodash/rev2/rules.mk
new file mode 100644
index 000000000..bd518d8f2
--- /dev/null
+++ b/keyboards/ergodash/rev2/rules.mk
@@ -0,0 +1 @@
BACKLIGHT_ENABLE = yes
diff --git a/keyboards/ergodash/rules.mk b/keyboards/ergodash/rules.mk
index d81fa98a9..fc06d60e2 100644
--- a/keyboards/ergodash/rules.mk
+++ b/keyboards/ergodash/rules.mk
@@ -72,4 +72,4 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
72 72
73CUSTOM_MATRIX = yes 73CUSTOM_MATRIX = yes
74 74
75DEFAULT_FOLDER = ergodash/rev1 75DEFAULT_FOLDER = ergodash/rev2