summaryrefslogtreecommitdiff
path: root/keyboards/omkbd
diff options
context:
space:
mode:
authorpeepeetee <43021794+peepeetee@users.noreply.github.com>2022-02-01 10:11:18 +0800
committerGitHub <noreply@github.com>2022-01-31 18:11:18 -0800
commit8515d12e2088fb8a3284a3ae239cc4fc945643e7 (patch)
tree2cb6c2067669c8626be3c4021b2e405028e236d7 /keyboards/omkbd
parent658d211804adfb9af31ea246a1e1e786ecab2a9f (diff)
downloadqmk_firmware-8515d12e2088fb8a3284a3ae239cc4fc945643e7.tar.gz
qmk_firmware-8515d12e2088fb8a3284a3ae239cc4fc945643e7.zip
[Keyboard] move @omkbd 's boards to /omkbd (#16116)
Diffstat (limited to 'keyboards/omkbd')
-rw-r--r--keyboards/omkbd/ergodash/.noci0
-rw-r--r--keyboards/omkbd/ergodash/config.h21
-rw-r--r--keyboards/omkbd/ergodash/ergodash.c1
-rw-r--r--keyboards/omkbd/ergodash/ergodash.h11
-rw-r--r--keyboards/omkbd/ergodash/mini/.noci0
-rw-r--r--keyboards/omkbd/ergodash/mini/config.h82
-rw-r--r--keyboards/omkbd/ergodash/mini/info.json10
-rw-r--r--keyboards/omkbd/ergodash/mini/keymaps/default/config.h33
-rw-r--r--keyboards/omkbd/ergodash/mini/keymaps/default/keymap.c125
-rw-r--r--keyboards/omkbd/ergodash/mini/keymaps/default/rules.mk3
-rw-r--r--keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/config.h33
-rw-r--r--keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/keymap.c141
-rw-r--r--keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/readme.md62
-rw-r--r--keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/rules.mk3
-rw-r--r--keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/config.h33
-rw-r--r--keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/keymap.c111
-rw-r--r--keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/readme.md4
-rw-r--r--keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/rules.mk4
-rw-r--r--keyboards/omkbd/ergodash/mini/mini.c6
-rw-r--r--keyboards/omkbd/ergodash/mini/mini.h51
-rw-r--r--keyboards/omkbd/ergodash/mini/readme.md18
-rw-r--r--keyboards/omkbd/ergodash/mini/rules.mk3
-rw-r--r--keyboards/omkbd/ergodash/readme.md32
-rw-r--r--keyboards/omkbd/ergodash/rev1/.noci0
-rw-r--r--keyboards/omkbd/ergodash/rev1/config.h86
-rw-r--r--keyboards/omkbd/ergodash/rev1/info.json364
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/333fred/config.h29
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/333fred/keymap.c79
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/333fred/rules.mk5
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/default/config.h33
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/default/keymap.c153
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/default/rules.mk3
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/config.h33
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/keyboard-layout-editor.json460
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/keymap.c124
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/rules.mk3
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/ifohancroft/config.h21
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/ifohancroft/keymap.c104
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/ifohancroft/readme.md14
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/ifohancroft/rules.mk4
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/config.h33
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/keymap.c219
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/m47ch4ns_keymap.json1
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/readme.md73
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/rules.mk3
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/config.h36
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/keymap.c18
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/layers.json1
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/readme.md13
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/rules.mk3
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/config.h36
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/keymap.c199
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/readme.md89
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/rules.mk3
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/config.h33
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/keymap.c24
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/readme.md4
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/rules.mk3
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/yet-another-developer/config.h67
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/yet-another-developer/keymap.c157
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/yet-another-developer/rules.mk23
-rw-r--r--keyboards/omkbd/ergodash/rev1/rev1.c32
-rw-r--r--keyboards/omkbd/ergodash/rev1/rev1.h139
-rw-r--r--keyboards/omkbd/ergodash/rev1/rules.mk3
-rw-r--r--keyboards/omkbd/ergodash/rules.mk22
-rw-r--r--keyboards/omkbd/runner3680/3x6/.noci0
-rw-r--r--keyboards/omkbd/runner3680/3x6/3x6.c1
-rw-r--r--keyboards/omkbd/runner3680/3x6/3x6.h19
-rw-r--r--keyboards/omkbd/runner3680/3x6/config.h69
-rw-r--r--keyboards/omkbd/runner3680/3x6/info.json49
-rw-r--r--keyboards/omkbd/runner3680/3x6/keymaps/default/config.h9
-rw-r--r--keyboards/omkbd/runner3680/3x6/keymaps/default/keymap.c85
-rw-r--r--keyboards/omkbd/runner3680/3x6/rules.mk0
-rw-r--r--keyboards/omkbd/runner3680/3x7/.noci0
-rw-r--r--keyboards/omkbd/runner3680/3x7/3x7.c1
-rw-r--r--keyboards/omkbd/runner3680/3x7/3x7.h19
-rw-r--r--keyboards/omkbd/runner3680/3x7/config.h69
-rw-r--r--keyboards/omkbd/runner3680/3x7/info.json55
-rw-r--r--keyboards/omkbd/runner3680/3x7/keymaps/default/config.h9
-rw-r--r--keyboards/omkbd/runner3680/3x7/keymaps/default/keymap.c85
-rw-r--r--keyboards/omkbd/runner3680/3x7/rules.mk0
-rw-r--r--keyboards/omkbd/runner3680/3x8/.noci0
-rw-r--r--keyboards/omkbd/runner3680/3x8/3x8.c1
-rw-r--r--keyboards/omkbd/runner3680/3x8/3x8.h19
-rw-r--r--keyboards/omkbd/runner3680/3x8/config.h69
-rw-r--r--keyboards/omkbd/runner3680/3x8/info.json61
-rw-r--r--keyboards/omkbd/runner3680/3x8/keymaps/default/config.h9
-rw-r--r--keyboards/omkbd/runner3680/3x8/keymaps/default/keymap.c87
-rw-r--r--keyboards/omkbd/runner3680/3x8/rules.mk0
-rw-r--r--keyboards/omkbd/runner3680/4x6/.noci0
-rw-r--r--keyboards/omkbd/runner3680/4x6/4x6.c1
-rw-r--r--keyboards/omkbd/runner3680/4x6/4x6.h22
-rw-r--r--keyboards/omkbd/runner3680/4x6/config.h69
-rw-r--r--keyboards/omkbd/runner3680/4x6/info.json62
-rw-r--r--keyboards/omkbd/runner3680/4x6/keymaps/default/config.h9
-rw-r--r--keyboards/omkbd/runner3680/4x6/keymaps/default/keymap.c91
-rw-r--r--keyboards/omkbd/runner3680/4x6/rules.mk0
-rw-r--r--keyboards/omkbd/runner3680/4x7/.noci0
-rw-r--r--keyboards/omkbd/runner3680/4x7/4x7.c1
-rw-r--r--keyboards/omkbd/runner3680/4x7/4x7.h22
-rw-r--r--keyboards/omkbd/runner3680/4x7/config.h69
-rw-r--r--keyboards/omkbd/runner3680/4x7/info.json70
-rw-r--r--keyboards/omkbd/runner3680/4x7/keymaps/default/config.h9
-rw-r--r--keyboards/omkbd/runner3680/4x7/keymaps/default/keymap.c91
-rw-r--r--keyboards/omkbd/runner3680/4x7/rules.mk0
-rw-r--r--keyboards/omkbd/runner3680/4x8/.noci0
-rw-r--r--keyboards/omkbd/runner3680/4x8/4x8.c1
-rw-r--r--keyboards/omkbd/runner3680/4x8/4x8.h22
-rw-r--r--keyboards/omkbd/runner3680/4x8/config.h69
-rw-r--r--keyboards/omkbd/runner3680/4x8/info.json78
-rw-r--r--keyboards/omkbd/runner3680/4x8/keymaps/default/config.h9
-rw-r--r--keyboards/omkbd/runner3680/4x8/keymaps/default/keymap.c91
-rw-r--r--keyboards/omkbd/runner3680/4x8/rules.mk0
-rw-r--r--keyboards/omkbd/runner3680/5x6/.noci0
-rw-r--r--keyboards/omkbd/runner3680/5x6/5x6.c1
-rw-r--r--keyboards/omkbd/runner3680/5x6/5x6.h25
-rw-r--r--keyboards/omkbd/runner3680/5x6/config.h69
-rw-r--r--keyboards/omkbd/runner3680/5x6/info.json75
-rw-r--r--keyboards/omkbd/runner3680/5x6/keymaps/default/config.h9
-rw-r--r--keyboards/omkbd/runner3680/5x6/keymaps/default/keymap.c97
-rw-r--r--keyboards/omkbd/runner3680/5x6/rules.mk0
-rw-r--r--keyboards/omkbd/runner3680/5x6_5x8/.noci0
-rw-r--r--keyboards/omkbd/runner3680/5x6_5x8/5x6_5x8.c52
-rw-r--r--keyboards/omkbd/runner3680/5x6_5x8/5x6_5x8.h41
-rw-r--r--keyboards/omkbd/runner3680/5x6_5x8/config.h84
-rw-r--r--keyboards/omkbd/runner3680/5x6_5x8/info.json85
-rw-r--r--keyboards/omkbd/runner3680/5x6_5x8/keymaps/default/config.h25
-rw-r--r--keyboards/omkbd/runner3680/5x6_5x8/keymaps/default/keymap.c71
-rw-r--r--keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/config.h26
-rw-r--r--keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/keymap.c60
-rw-r--r--keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/rules.mk3
-rw-r--r--keyboards/omkbd/runner3680/5x6_5x8/keymaps/jis/config.h25
-rw-r--r--keyboards/omkbd/runner3680/5x6_5x8/keymaps/jis/keymap.c72
-rw-r--r--keyboards/omkbd/runner3680/5x6_5x8/keymaps/via/config.h25
-rw-r--r--keyboards/omkbd/runner3680/5x6_5x8/keymaps/via/keymap.c71
-rw-r--r--keyboards/omkbd/runner3680/5x6_5x8/keymaps/via/rules.mk1
-rw-r--r--keyboards/omkbd/runner3680/5x6_5x8/rules.mk1
-rw-r--r--keyboards/omkbd/runner3680/5x7/.noci0
-rw-r--r--keyboards/omkbd/runner3680/5x7/5x7.c1
-rw-r--r--keyboards/omkbd/runner3680/5x7/5x7.h25
-rw-r--r--keyboards/omkbd/runner3680/5x7/config.h69
-rw-r--r--keyboards/omkbd/runner3680/5x7/info.json85
-rw-r--r--keyboards/omkbd/runner3680/5x7/keymaps/default/config.h9
-rw-r--r--keyboards/omkbd/runner3680/5x7/keymaps/default/keymap.c97
-rw-r--r--keyboards/omkbd/runner3680/5x7/rules.mk0
-rw-r--r--keyboards/omkbd/runner3680/5x8/.noci0
-rw-r--r--keyboards/omkbd/runner3680/5x8/5x8.c1
-rw-r--r--keyboards/omkbd/runner3680/5x8/5x8.h25
-rw-r--r--keyboards/omkbd/runner3680/5x8/config.h69
-rw-r--r--keyboards/omkbd/runner3680/5x8/info.json95
-rw-r--r--keyboards/omkbd/runner3680/5x8/keymaps/JIS/config.h9
-rw-r--r--keyboards/omkbd/runner3680/5x8/keymaps/JIS/keymap.c99
-rw-r--r--keyboards/omkbd/runner3680/5x8/keymaps/default/config.h9
-rw-r--r--keyboards/omkbd/runner3680/5x8/keymaps/default/keymap.c97
-rw-r--r--keyboards/omkbd/runner3680/5x8/rules.mk0
-rw-r--r--keyboards/omkbd/runner3680/config.h3
-rw-r--r--keyboards/omkbd/runner3680/readme.md15
-rw-r--r--keyboards/omkbd/runner3680/rules.mk22
-rw-r--r--keyboards/omkbd/runner3680/runner3680.c1
-rw-r--r--keyboards/omkbd/runner3680/runner3680.h43
160 files changed, 6730 insertions, 0 deletions
diff --git a/keyboards/omkbd/ergodash/.noci b/keyboards/omkbd/ergodash/.noci
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/omkbd/ergodash/.noci
diff --git a/keyboards/omkbd/ergodash/config.h b/keyboards/omkbd/ergodash/config.h
new file mode 100644
index 0000000000..cfb6bf4ffc
--- /dev/null
+++ b/keyboards/omkbd/ergodash/config.h
@@ -0,0 +1,21 @@
+/*
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
diff --git a/keyboards/omkbd/ergodash/ergodash.c b/keyboards/omkbd/ergodash/ergodash.c
new file mode 100644
index 0000000000..51e6dbf08f
--- /dev/null
+++ b/keyboards/omkbd/ergodash/ergodash.c
@@ -0,0 +1 @@
+#include "ergodash.h"
diff --git a/keyboards/omkbd/ergodash/ergodash.h b/keyboards/omkbd/ergodash/ergodash.h
new file mode 100644
index 0000000000..8c8bd3cdc3
--- /dev/null
+++ b/keyboards/omkbd/ergodash/ergodash.h
@@ -0,0 +1,11 @@
+#pragma once
+
+#include "quantum.h"
+
+#ifdef KEYBOARD_omkbd_ergodash_rev1
+ #include "rev1.h"
+#endif // #ifdef KEYBOARD_ergodash_rev1
+
+#ifdef KEYBOARD_omkbd_ergodash_mini
+ #include "mini.h"
+#endif
diff --git a/keyboards/omkbd/ergodash/mini/.noci b/keyboards/omkbd/ergodash/mini/.noci
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/omkbd/ergodash/mini/.noci
diff --git a/keyboards/omkbd/ergodash/mini/config.h b/keyboards/omkbd/ergodash/mini/config.h
new file mode 100644
index 0000000000..b936e0f54e
--- /dev/null
+++ b/keyboards/omkbd/ergodash/mini/config.h
@@ -0,0 +1,82 @@
+/*
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x6060
+#define DEVICE_VER 0x0100
+#define MANUFACTURER Omkbd
+#define PRODUCT ErgoDashmini
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 8
+#define MATRIX_COLS 7
+
+// wiring of each half
+#define MATRIX_ROW_PINS { D7, E6, B4, B5 }
+#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 }
+// #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
+
+#define DIODE_DIRECTION COL2ROW
+
+/* define tapping term */
+#define TAPPING_TERM 120
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+#define AUDIO_PIN C6
+
+/* number of backlight levels */
+#ifdef BACKLIGHT_ENABLE
+ #define BACKLIGHT_PIN B6
+ #define BACKLIGHT_LEVELS 7
+// #define BACKLIGHT_BREATHING
+// #define BREATHING_PERIOD 4
+#endif
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* ws2812 RGB LED */
+#define RGB_DI_PIN D3
+#define RGBLIGHT_ANIMATIONS
+#define RGBLED_NUM 20
+#define RGBLIGHT_SPLIT
+#define RGBLED_SPLIT { 10, 10 } // Number of LEDs
+
+#define SOFT_SERIAL_PIN D0
+#define SELECT_SOFT_SERIAL_SPEED 1
+/*Sets the protocol speed when using serial communication*/
+//Speeds:
+//0: about 189kbps (Experimental only)
+//1: about 137kbps (default)
+//2: about 75kbps
+//3: about 39kbps
+//4: about 26kbps
+//5: about 20kbps
diff --git a/keyboards/omkbd/ergodash/mini/info.json b/keyboards/omkbd/ergodash/mini/info.json
new file mode 100644
index 0000000000..1a0c1766f6
--- /dev/null
+++ b/keyboards/omkbd/ergodash/mini/info.json
@@ -0,0 +1,10 @@
+{
+ "keyboard_name": "ErgoDash mini",
+ "url": "",
+ "maintainer": "qmk",
+ "layouts": {
+ "LAYOUT": {
+ "layout": [{"label":"L00", "x":0, "y":1.375}, {"label":"L01", "x":1, "y":1.375}, {"label":"L02", "x":2, "y":1.125}, {"label":"L03", "x":3, "y":1}, {"label":"L04", "x":4, "y":1.125}, {"label":"L05", "x":5, "y":1.25}, {"label":"L06", "x":6, "y":1.75}, {"label":"R00", "x":11, "y":1.75}, {"label":"R01", "x":12, "y":1.25}, {"label":"R02", "x":13, "y":1.125}, {"label":"R03", "x":14, "y":1}, {"label":"R04", "x":15, "y":1.125}, {"label":"R05", "x":16, "y":1.375}, {"label":"R06", "x":17, "y":1.375}, {"label":"L10", "x":0, "y":2.375}, {"label":"L11", "x":1, "y":2.375}, {"label":"L12", "x":2, "y":2.125}, {"label":"L13", "x":3, "y":2}, {"label":"L14", "x":4, "y":2.125}, {"label":"L15", "x":5, "y":2.25}, {"label":"L16", "x":6, "y":2.75}, {"label":"R10", "x":11, "y":2.75}, {"label":"R11", "x":12, "y":2.25}, {"label":"R12", "x":13, "y":2.125}, {"label":"R13", "x":14, "y":2}, {"label":"R14", "x":15, "y":2.125}, {"label":"R15", "x":16, "y":2.375}, {"label":"R16", "x":17, "y":2.375}, {"label":"L20", "x":0, "y":3.375}, {"label":"L21", "x":1, "y":3.375}, {"label":"L22", "x":2, "y":3.125}, {"label":"L23", "x":3, "y":3}, {"label":"L24", "x":4, "y":3.125}, {"label":"L25", "x":5, "y":3.25}, {"label":"L26", "x":6.5, "y":4.25}, {"label":"R20", "x":10.5, "y":4.25}, {"label":"R21", "x":12, "y":3.25}, {"label":"R22", "x":13, "y":3.125}, {"label":"R23", "x":14, "y":3}, {"label":"R24", "x":15, "y":3.125}, {"label":"R25", "x":16, "y":3.375}, {"label":"R26", "x":17, "y":3.375}, {"label":"L30", "x":0, "y":4.375}, {"label":"L31", "x":1, "y":4.375}, {"label":"L32", "x":2, "y":4.125}, {"label":"L33", "x":3, "y":4}, {"label":"L34", "x":5.5, "y":5.25}, {"label":"L35", "x":6.5, "y":5.25}, {"label":"L36", "x":7.5, "y":4.25, "h":2}, {"label":"R30", "x":9.5, "y":4.25, "h":2}, {"label":"R31", "x":10.5, "y":5.25}, {"label":"R32", "x":11.5, "y":5.25}, {"label":"R33", "x":14, "y":4}, {"label":"R34", "x":15, "y":4.125}, {"label":"R35", "x":16, "y":4.375}, {"label":"R36", "x":17, "y":4.375}]
+ }
+ }
+}
diff --git a/keyboards/omkbd/ergodash/mini/keymaps/default/config.h b/keyboards/omkbd/ergodash/mini/keymaps/default/config.h
new file mode 100644
index 0000000000..df04873a97
--- /dev/null
+++ b/keyboards/omkbd/ergodash/mini/keymaps/default/config.h
@@ -0,0 +1,33 @@
+/*
+This is the c configuration file for the keymap
+
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+
+/* Use I2C or Serial, not both */
+
+#define USE_SERIAL
+// #define USE_I2C
+
+/* Select hand configuration */
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
diff --git a/keyboards/omkbd/ergodash/mini/keymaps/default/keymap.c b/keyboards/omkbd/ergodash/mini/keymaps/default/keymap.c
new file mode 100644
index 0000000000..064584e43a
--- /dev/null
+++ b/keyboards/omkbd/ergodash/mini/keymaps/default/keymap.c
@@ -0,0 +1,125 @@
+#include QMK_KEYBOARD_H
+
+
+#define _QWERTY 0
+#define _LOWER 1
+#define _RAISE 2
+#define _ADJUST 16
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+ LOWER,
+ RAISE,
+ ADJUST,
+};
+
+#define EISU LALT(KC_GRV)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* Qwerty
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ * | Esc | Q | W | E | R | T | - | | = | Y | U | I | O | P | \ |
+ * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+ * | Tab | A | S | D | F | G | [ | | ] | H | J | K | L | ; | " |
+ * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | Space| | Enter| N | M | , | . | / | Shift|
+ * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
+ * | Ctrl | GUI | ALt | EISU |||||||| Lower| Space|Delete|||||||| Bksp | Enter| Raise|||||||| Left | Down | Up | Right|
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ */
+ [_QWERTY] = LAYOUT(
+ KC_ESC, 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,
+ KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_SPC , KC_ENT , KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, EISU, LOWER, KC_SPC , KC_DEL, KC_BSPC,KC_ENT , RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ ),
+
+ /* Lower
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ * | ` | ! | @ | # | $ | % | _ | | + | ^ | & | * | ( | ) | | |
+ * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+ * | ~ | 1 | 2 | 3 | 4 | 5 | { | | } | Left | Down | Up | Right| : | " |
+ * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+ * | Shift| 6 | 7 | 8 | 9 | 0 | Space| | Enter| N | M | < | > | ? | Shift|
+ * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
+ * | Ctrl | GUI | ALt | EISU |||||||| Lower| Space|Delete|||||||| Bksp | Enter| Raise|||||||| Home |PageDn|PageUp| End |
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ */
+ [_LOWER] = LAYOUT(
+ KC_GRV , 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,
+ KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LCBR, KC_RCBR, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, KC_COLN, KC_DQT ,
+ KC_LSFT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_SPC , KC_ENT , KC_N, KC_M, KC_LT, KC_GT, KC_QUES, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, EISU, LOWER, KC_SPC , KC_DEL, KC_BSPC,KC_ENT , RAISE, KC_HOME, KC_PGDN, KC_PGUP, KC_END
+ ),
+
+ /* Raise
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ * | ` | ! | @ | # | $ | % | _ | | + | ^ | & | * | ( | ) | | |
+ * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+ * | ~ | F1 | F2 | F3 | F4 | F5 | { | | } | Left | Down | Up | Right| : | " |
+ * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+ * | Shift| F6 | F7 | F8 | F9 | F10 | Space| | Enter| N | M | < | > | ? | Shift|
+ * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
+ * | Ctrl | F11 | F12 | EISU |||||||| Lower| Space|Delete|||||||| Bksp | Enter| Raise|||||||| Home |PageDn|PageUp| End |
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ */
+ [_RAISE] = LAYOUT(
+ KC_GRV , 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,
+ KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_LCBR, KC_RCBR, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, KC_COLN, KC_DQT ,
+ KC_LSFT, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_SPC , KC_ENT , KC_N, KC_M, KC_LT, KC_GT, KC_QUES, KC_RSFT,
+ KC_LCTL, KC_F11 , KC_F12, EISU, LOWER, KC_SPC , KC_DEL, KC_BSPC,KC_ENT , RAISE, KC_HOME, KC_PGDN, KC_PGUP, KC_END
+ ),
+
+ /* Adjust
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ * | | Reset|RGB ON| MODE| HUE-| HUE+| | | | SAT-| SAT+| VAL-| VAL+| | |
+ * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | | | | |
+ * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
+ * | | | | |||||||| | | |||||||| | | |||||||| | | | |
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ */
+ [_ADJUST] = LAYOUT(
+ _______, RESET , RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI,_______, _______, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, _______,
+ _______, _______, BL_TOGG, BL_BRTG, BL_INC , BL_DEC ,_______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,_______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,_______,_______, _______,_______, _______, _______, _______, _______, _______
+ )
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case LOWER:
+ if (record->event.pressed) {
+ layer_on(_LOWER);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ } else {
+ layer_off(_LOWER);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ }
+ return false;
+ break;
+ case RAISE:
+ if (record->event.pressed) {
+ layer_on(_RAISE);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ } else {
+ layer_off(_RAISE);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ }
+ return false;
+ break;
+ case ADJUST:
+ if (record->event.pressed) {
+ layer_on(_ADJUST);
+ } else {
+ layer_off(_ADJUST);
+ }
+ return false;
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/omkbd/ergodash/mini/keymaps/default/rules.mk b/keyboards/omkbd/ergodash/mini/keymaps/default/rules.mk
new file mode 100644
index 0000000000..bb9e33b082
--- /dev/null
+++ b/keyboards/omkbd/ergodash/mini/keymaps/default/rules.mk
@@ -0,0 +1,3 @@
+BACKLIGHT_ENABLE = no
+RGBLIGHT_ENABLE = no
+AUDIO_ENABLE = no
diff --git a/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/config.h b/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/config.h
new file mode 100644
index 0000000000..df04873a97
--- /dev/null
+++ b/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/config.h
@@ -0,0 +1,33 @@
+/*
+This is the c configuration file for the keymap
+
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+
+/* Use I2C or Serial, not both */
+
+#define USE_SERIAL
+// #define USE_I2C
+
+/* Select hand configuration */
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
diff --git a/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/keymap.c b/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/keymap.c
new file mode 100644
index 0000000000..7224af7a00
--- /dev/null
+++ b/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/keymap.c
@@ -0,0 +1,141 @@
+/* Copyright 2020 Toyoshima Hidenori <t@toyo.dev>
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 2 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>
+*/
+
+#include QMK_KEYBOARD_H
+
+enum layers {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _ADJUST,
+};
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+ LOWER,
+ RAISE,
+ ADJUST,
+};
+
+#define EISU LALT(KC_GRV)
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* Qwerty
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ * | TAB | Q | W | E | R | T | - | | = | Y | U | I | O | P | \ |
+ * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+ * | Ctrl | A | S | D | F | G | [ | | ] | H | J | K | L | ; | ' |
+ * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | GUI | | GUI | N | M | , | . | / | Shift|
+ * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
+ * | Ctrl | ESC | ALt | ESC |||||||| Shift| Raise| Space|||||||| enter| Lower| Bcspc|||||||| Left | Down | Up | Right|
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ */
+ [_QWERTY] = LAYOUT(
+ KC_TAB, 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,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LGUI, KC_RGUI, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LCTL, KC_ESC, KC_LALT, KC_ESC, KC_LSFT, RAISE, KC_SPC, KC_ENT, LOWER, KC_BSPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ ),
+
+ /* Lower
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ * | ~ | 1 | 2 | 3 | 4 | 5 | _ | | + | 6 | 7 | 8 | 9 | 0 | | |
+ * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+ * | Ctrl | ^ | & | * | ( | ) | { | | } | Left | Down | Up | Right| : | " |
+ * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+ * | Shift| ! | @ | # | $ | % | GUI | | GUI | - | = | < | > | ? | Shift|
+ * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
+ * | Ctrl | ESC | ALt | EISU |||||||| kana | Raise| Space|||||||| Enter| Lower|Delete|||||||| Home |PageDn|PageUp| End |
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ */
+ [_LOWER] = LAYOUT(
+ KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_UNDS, KC_PLUS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PIPE,
+ KC_LCTL, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_LCBR, KC_RCBR, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_COLN, KC_DQT ,
+ KC_LSFT, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_LGUI, KC_RGUI, KC_MINS, KC_EQL, KC_LT, KC_GT, KC_QUES, KC_RSFT,
+ KC_LCTL, KC_ESC, KC_LALT, KC_LANG2, KC_LANG1,RAISE, KC_SPC, KC_ENT, LOWER, KC_DEL, KC_HOME,KC_PGDN, KC_PGUP, KC_END
+ ),
+
+ /* Raise
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | _ | | + | 6 | 7 | 8 | 9 | 0 | | |
+ * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+ * | Ctrl | ^ | & | * | ( | ) | { | | } | Left | Down | Up | Right| : | " |
+ * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+ * | Shift| ! | @ | # | $ | % | GUI | | GUI | _ | + | < | > | ? | Shift|
+ * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
+ * | Ctrl | ESC | ALt | EISU |||||||| kana | Raise| Space|||||||| Enter| Lower|Delete|||||||| Home |PageDn|PageUp| End |
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ */
+ [_RAISE] = LAYOUT(
+ KC_GRV , KC_1, KC_2, KC_3, KC_4, KC_5, KC_UNDS, KC_PLUS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PIPE,
+ KC_LCTL, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_LCBR, KC_RCBR, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_COLN, KC_DQT ,
+ KC_LSFT, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_LGUI, KC_RGUI, KC_UNDS, KC_PLUS, KC_LT, KC_GT, KC_QUES, KC_RSFT,
+ KC_LCTL, KC_ESC, KC_LALT, KC_LANG2, KC_LANG1,RAISE, KC_SPC, KC_ENT, LOWER, KC_DEL, KC_HOME, KC_PGDN, KC_PGUP, KC_END
+ ),
+
+ /* Adjust
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ * | | Reset|RGB ON| MODE| HUE-| HUE+| | | | SAT-| SAT+| VAL-| VAL+| | |
+ * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | |
+ * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+ * | F1 | F2 | F3 | F4 | F5 | F6 | | | | F7 | F8 | F9 | F10 | F11 | F12 |
+ * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
+ * | | | | |||||||| | | |||||||| | | |||||||| | | | |
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ */
+ [_ADJUST] = LAYOUT(
+ _______, RESET , RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI,_______, _______, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, _______,
+ _______, _______, BL_TOGG, BL_BRTG, BL_INC , BL_DEC ,_______, _______, _______, _______, _______, _______, _______, _______,
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6 ,_______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ _______, _______, _______, _______, _______,_______,_______, _______,_______, _______, _______, _______, _______, _______
+ )
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case LOWER:
+ if (record->event.pressed) {
+ layer_on(_LOWER);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ } else {
+ layer_off(_LOWER);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ }
+ return false;
+ break;
+ case RAISE:
+ if (record->event.pressed) {
+ layer_on(_RAISE);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ } else {
+ layer_off(_RAISE);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ }
+ return false;
+ break;
+ case ADJUST:
+ if (record->event.pressed) {
+ layer_on(_ADJUST);
+ } else {
+ layer_off(_ADJUST);
+ }
+ return false;
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/readme.md b/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/readme.md
new file mode 100644
index 0000000000..ebc13043a7
--- /dev/null
+++ b/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/readme.md
@@ -0,0 +1,62 @@
+# ToyoshimaHidenori's keymap for Ergodash mini
+
+This is the ToyoshimaHidenori's keymap configuration for Ergodash mini.
+There are four layers, QWERTY(default), LOWER, RAISE and ADJSUT.
+
+## Layers
+
+### Qwerty
+
+```
+,----------------------------------------------------------------------------------------------------------------------.
+| TAB | Q | W | E | R | T | - | | = | Y | U | I | O | P | \ |
+|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+| Ctrl | A | S | D | F | G | [ | | ] | H | J | K | L | ; | ' |
+|------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+| Shift| Z | X | C | V | B | GUI | | GUI | N | M | , | . | / | Shift|
+|-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
+| Ctrl | ESC | ALt | ESC |||||||| Shift| Raise| Space|||||||| enter| Lower| Bcspc|||||||| Left | Down | Up | Right|
+,----------------------------------------------------------------------------------------------------------------------.
+```
+
+### Lower
+
+```
+,----------------------------------------------------------------------------------------------------------------------.
+| ~ | 1 | 2 | 3 | 4 | 5 | _ | | + | 6 | 7 | 8 | 9 | 0 | | |
+|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+| Ctrl | ^ | & | * | ( | ) | { | | } | Left | Down | Up | Right| : | " |
+|------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+| Shift| ! | @ | # | $ | % | GUI | | GUI | - | = | < | > | ? | Shift|
+|-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
+| Ctrl | ESC | ALt | EISU |||||||| kana | Raise| Space|||||||| Enter| Lower|Delete|||||||| Home |PageDn|PageUp| End |
+,----------------------------------------------------------------------------------------------------------------------.
+```
+
+### Raise
+
+```
+,----------------------------------------------------------------------------------------------------------------------.
+| ` | 1 | 2 | 3 | 4 | 5 | _ | | + | 6 | 7 | 8 | 9 | 0 | | |
+|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+| Ctrl | ^ | & | * | ( | ) | { | | } | Left | Down | Up | Right| : | " |
+|------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+| Shift| ! | @ | # | $ | % | GUI | | GUI | _ | + | < | > | ? | Shift|
+|-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
+| Ctrl | ESC | ALt | EISU |||||||| kana | Raise| Space|||||||| Enter| Lower|Delete|||||||| Home |PageDn|PageUp| End |
+,----------------------------------------------------------------------------------------------------------------------.
+```
+
+### Adjust
+
+```
+,----------------------------------------------------------------------------------------------------------------------.
+| | Reset|RGB ON| MODE| HUE-| HUE+| | | | SAT-| SAT+| VAL-| VAL+| | |
+|------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+| | | | | | | | | | | |
+|------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+| F1 | F2 | F3 | F4 | F5 | F6 | | | | F7 | F8 | F9 | F10 | F11 | F12 |
+|-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
+| | | | |||||||| | | |||||||| | | |||||||| | | | |
+,----------------------------------------------------------------------------------------------------------------------.
+```
diff --git a/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/rules.mk b/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/rules.mk
new file mode 100644
index 0000000000..11b62b9bff
--- /dev/null
+++ b/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/rules.mk
@@ -0,0 +1,3 @@
+BACKLIGHT_ENABLE = yes
+RGBLIGHT_ENABLE = yes
+AUDIO_ENABLE = no
diff --git a/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/config.h b/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/config.h
new file mode 100644
index 0000000000..df04873a97
--- /dev/null
+++ b/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/config.h
@@ -0,0 +1,33 @@
+/*
+This is the c configuration file for the keymap
+
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+
+/* Use I2C or Serial, not both */
+
+#define USE_SERIAL
+// #define USE_I2C
+
+/* Select hand configuration */
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
diff --git a/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/keymap.c b/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/keymap.c
new file mode 100644
index 0000000000..98c56c8d16
--- /dev/null
+++ b/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/keymap.c
@@ -0,0 +1,111 @@
+/* Copyright 2021 Yoshihiro Saito
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ */
+
+#include QMK_KEYBOARD_H
+
+enum layers {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _ADJUST,
+};
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+ LOWER,
+ RAISE,
+ ADJUST,
+};
+
+// Shift + ( = <
+const key_override_t left_paren_angle_bracket_override = ko_make_basic(MOD_MASK_SHIFT, KC_LEFT_PAREN, KC_LEFT_ANGLE_BRACKET);
+
+// Shift + ) = >
+const key_override_t right_paren_angle_bracket_override = ko_make_basic(MOD_MASK_SHIFT, KC_RIGHT_PAREN, KC_RIGHT_ANGLE_BRACKET);
+
+const key_override_t **key_overrides = (const key_override_t *[]){
+ &left_paren_angle_bracket_override,
+ &right_paren_angle_bracket_override,
+ NULL
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Qwerty */
+ [_QWERTY] = LAYOUT(
+ KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LPRN, KC_RPRN, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_DEL,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, XXXXXXX, XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LGUI, LOWER, CTL_T(KC_SPC), KC_SFTENT, RAISE, KC_RGUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+ ),
+
+ /* Lower */
+ [_LOWER] = LAYOUT(
+ XXXXXXX, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_F11, KC_GRV, KC_CIRC, KC_AMPR, KC_ASTR, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F12, KC_TILD, KC_BSLS, KC_MINS, KC_EQL, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, KC_PIPE, KC_UNDS, KC_PLUS, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, _______, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+ ),
+
+ /* Raise */
+ [_RAISE] = LAYOUT(
+ XXXXXXX, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, XXXXXXX, XXXXXXX, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, _______, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+ ),
+
+ /* Adjust */
+ [_ADJUST] = LAYOUT(
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______ ,_______, _______, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+ ),
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case LOWER:
+ if (record->event.pressed) {
+ layer_on(_LOWER);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ } else {
+ layer_off(_LOWER);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ }
+ return false;
+ break;
+ case RAISE:
+ if (record->event.pressed) {
+ layer_on(_RAISE);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ } else {
+ layer_off(_RAISE);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ }
+ return false;
+ break;
+ case ADJUST:
+ if (record->event.pressed) {
+ layer_on(_ADJUST);
+ } else {
+ layer_off(_ADJUST);
+ }
+ return false;
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/readme.md b/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/readme.md
new file mode 100644
index 0000000000..67a6ed9b90
--- /dev/null
+++ b/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/readme.md
@@ -0,0 +1,4 @@
+# yoshimaru46's keymap for Ergodash mini
+
+This is the yoshimaru46's keymap configuration for Ergodash mini.
+There are three layers, QWERTY(default), LOWER, and RAISE.
diff --git a/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/rules.mk b/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/rules.mk
new file mode 100644
index 0000000000..f85c6a4151
--- /dev/null
+++ b/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/rules.mk
@@ -0,0 +1,4 @@
+BACKLIGHT_ENABLE = no
+RGBLIGHT_ENABLE = no
+AUDIO_ENABLE = no
+KEY_OVERRIDE_ENABLE = yes
diff --git a/keyboards/omkbd/ergodash/mini/mini.c b/keyboards/omkbd/ergodash/mini/mini.c
new file mode 100644
index 0000000000..3aa9e74cce
--- /dev/null
+++ b/keyboards/omkbd/ergodash/mini/mini.c
@@ -0,0 +1,6 @@
+#include "ergodash.h"
+
+#ifdef AUDIO_ENABLE
+ float tone_startup[][2] = SONG(STARTUP_SOUND);
+ float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
+#endif
diff --git a/keyboards/omkbd/ergodash/mini/mini.h b/keyboards/omkbd/ergodash/mini/mini.h
new file mode 100644
index 0000000000..4aca15775b
--- /dev/null
+++ b/keyboards/omkbd/ergodash/mini/mini.h
@@ -0,0 +1,51 @@
+#pragma once
+
+#include "ergodash.h"
+
+#include "quantum.h"
+
+#ifdef USE_I2C
+#include <stddef.h>
+#ifdef __AVR__
+ #include <avr/io.h>
+ #include <avr/interrupt.h>
+#endif
+#endif
+
+#ifndef FLIP_HALF
+// Standard Keymap
+// (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
+# define LAYOUT( \
+ L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
+ L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
+ L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
+ L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36 \
+) { \
+ { L00, L01, L02, L03, L04, L05, L06 }, \
+ { L10, L11, L12, L13, L14, L15, L16 }, \
+ { L20, L21, L22, L23, L24, L25, L26 }, \
+ { L30, L31, L32, L33, L34, L35, L36 }, \
+ { R06, R05, R04, R03, R02, R01, R00 }, \
+ { R16, R15, R14, R13, R12, R11, R10 }, \
+ { R26, R25, R24, R23, R22, R21, R20 }, \
+ { R36, R35, R34, R33, R32, R31, R30 } \
+}
+#else
+// Keymap with right side flipped
+// (TRRS jack on both halves are to the right)
+# define LAYOUT( \
+ L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
+ L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
+ L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
+ L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36 \
+) { \
+ { L00, L01, L02, L03, L04, L05, L06 }, \
+ { L10, L11, L12, L13, L14, L15, L16 }, \
+ { L20, L21, L22, L23, L24, L25, L26 }, \
+ { L30, L31, L32, L33, L34, L35, L36 }, \
+ { R00, R01, R02, R03, R04, R05, R06 }, \
+ { R10, R11, R12, R13, R14, R15, R16 }, \
+ { R20, R21, R22, R23, R24, R25, R26 }, \
+ { R30, R31, R32, R33, R34, R35, R36 } \
+}
+#endif
diff --git a/keyboards/omkbd/ergodash/mini/readme.md b/keyboards/omkbd/ergodash/mini/readme.md
new file mode 100644
index 0000000000..273935f3e3
--- /dev/null
+++ b/keyboards/omkbd/ergodash/mini/readme.md
@@ -0,0 +1,18 @@
+# ErgoDash mini
+
+![ErgoDash mini](https://github.com/omkbd/picture/blob/master/Ergodashmini.jpg)
+
+Keyboard Maintainer: [omkbd](https://github.com/omkbd) [@omkbd](https://twitter.com/omkbd)
+Hardware Supported: ErgoDash mini PCB, Pro Micro ATmega32u4
+Hardware Availability: Order your own [yourself](https://github.com/omkbd/ErgoDash)
+
+
+Make example for this keyboard (after setting up your build environment):
+
+ make omkbd/ergodash/mini:default
+
+See [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.
+
+# Layout
+![layout](https://github.com/omkbd/picture/blob/master/ergodashmini-layout.png)
+![PCB](https://github.com/omkbd/picture/blob/master/Ergodashmini_PCB.jpg)
diff --git a/keyboards/omkbd/ergodash/mini/rules.mk b/keyboards/omkbd/ergodash/mini/rules.mk
new file mode 100644
index 0000000000..bb9e33b082
--- /dev/null
+++ b/keyboards/omkbd/ergodash/mini/rules.mk
@@ -0,0 +1,3 @@
+BACKLIGHT_ENABLE = no
+RGBLIGHT_ENABLE = no
+AUDIO_ENABLE = no
diff --git a/keyboards/omkbd/ergodash/readme.md b/keyboards/omkbd/ergodash/readme.md
new file mode 100644
index 0000000000..4260397a99
--- /dev/null
+++ b/keyboards/omkbd/ergodash/readme.md
@@ -0,0 +1,32 @@
+# ErgoDash
+
+![ErgoDash](https://github.com/omkbd/picture/blob/master/Ergodash.jpg)
+
+Keyboard Maintainer: [omkbd](https://github.com/omkbd) [@omkbd](https://twitter.com/omkbd)
+Hardware Supported: ErgoDash PCB, Pro Micro ATmega32u4
+Hardware Availability: Order your own [yourself](https://github.com/omkbd/ErgoDash)
+
+
+Make example for this keyboard (after setting up your build environment):
+
+ make omkbd/ergodash/rev1:default
+
+See [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.
+
+Install Example: (for pro micro)
+ `make omkbd/ergodash/rev1:default:avrdude`
+
+Note:
+ "rev1" is for PCB ver 1.0,1.1,1.2
+ **The original Rev 1 was owned only by the designer. Therefore, Rev1 has been removed. Since the current PCB is Rev1, we changed Rev2 to Rev1 to match the firmware version.**
+
+
+# Layout
+![layout](https://github.com/omkbd/picture/blob/master/ergodash-layout.png)
+
+Layout Note:
+- In thumb cluster, it is not possible to use all 5 positions as small keys. (as pictured)
+- The top 2 1u keys in the thumb cluster share the same connection.
+- 2u key (center) position shares with the lower 1u key position
+
+![PCB](https://github.com/omkbd/picture/blob/master/Ergodash_PCB.jpg)
diff --git a/keyboards/omkbd/ergodash/rev1/.noci b/keyboards/omkbd/ergodash/rev1/.noci
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/.noci
diff --git a/keyboards/omkbd/ergodash/rev1/config.h b/keyboards/omkbd/ergodash/rev1/config.h
new file mode 100644
index 0000000000..07282cdad2
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/config.h
@@ -0,0 +1,86 @@
+/*
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x6060
+#define DEVICE_VER 0x0100
+#define MANUFACTURER Omkbd
+#define PRODUCT ErgoDash
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 10
+#define MATRIX_COLS 7
+
+// wiring of each half
+#define MATRIX_ROW_PINS { D4, D7, E6, B4, B5 }
+#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 }
+// #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
+
+#define DIODE_DIRECTION COL2ROW
+
+/* define tapping term */
+#define TAPPING_TERM 120
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+#define AUDIO_PIN C6
+
+/* number of backlight levels */
+#ifdef BACKLIGHT_ENABLE
+ #define BACKLIGHT_PIN B6
+ #define BACKLIGHT_LEVELS 7
+// #define BACKLIGHT_BREATHING
+// #define BREATHING_PERIOD 4
+#endif
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* ws2812 RGB LED */
+#define RGB_DI_PIN D3
+#define RGBLIGHT_ANIMATIONS
+#define RGBLED_NUM 24
+#define RGBLIGHT_SPLIT
+#define RGBLED_SPLIT { 12, 12 } // Number of LEDs
+
+// The LEDs on the slave half go in reverse order
+#define RGBLIGHT_LED_MAP { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, \
+ 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12}
+
+#define SOFT_SERIAL_PIN D0
+#define SELECT_SOFT_SERIAL_SPEED 1
+/*Sets the protocol speed when using serial communication*/
+//Speeds:
+//0: about 189kbps (Experimental only)
+//1: about 137kbps (default)
+//2: about 75kbps
+//3: about 39kbps
+//4: about 26kbps
+//5: about 20kbps
diff --git a/keyboards/omkbd/ergodash/rev1/info.json b/keyboards/omkbd/ergodash/rev1/info.json
new file mode 100644
index 0000000000..bb491b5f50
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/info.json
@@ -0,0 +1,364 @@
+{
+ "keyboard_name": "ErgoDash rev1.2",
+ "url": "",
+ "maintainer": "qmk",
+ "layouts": {
+ "LAYOUT_4key": {
+ "layout": [
+ {"y": 0.375, "x": 0.5, "label": "L00"},
+ {"y": 0.375, "x": 1.5, "label": "L01"},
+ {"y": 0.125, "x": 2.5, "label": "L02"},
+ {"y": 0, "x": 3.5, "label": "L03"},
+ {"y": 0.125, "x": 4.5, "label": "L04"},
+ {"y": 0.25, "x": 5.5, "label": "L05"},
+ {"y": 0.75, "x": 6.5, "label": "L06"},
+ {"y": 0.75, "x": 12, "label": "R00"},
+ {"y": 0.25, "x": 13, "label": "R01"},
+ {"y": 0.125, "x": 14, "label": "R02"},
+ {"y": 0, "x": 15, "label": "R03"},
+ {"y": 0.125, "x": 16, "label": "R04"},
+ {"y": 0.375, "x": 17, "label": "R05"},
+ {"y": 0.375, "x": 18, "label": "R06"},
+ {"y": 1.375, "x": 0.5, "label": "L10"},
+ {"y": 1.375, "x": 1.5, "label": "L11"},
+ {"y": 1.125, "x": 2.5, "label": "L12"},
+ {"y": 1, "x": 3.5, "label": "L13"},
+ {"y": 1.125, "x": 4.5, "label": "L14"},
+ {"y": 1.25, "x": 5.5, "label": "L15"},
+ {"y": 1.75, "x": 6.5, "label": "L16"},
+ {"y": 1.75, "x": 12, "label": "R10"},
+ {"y": 1.25, "x": 13, "label": "R11"},
+ {"y": 1.125, "x": 14, "label": "R12"},
+ {"y": 1, "x": 15, "label": "R13"},
+ {"y": 1.125, "x": 16, "label": "R14"},
+ {"y": 1.375, "x": 17, "label": "R15"},
+ {"y": 1.375, "x": 18, "label": "R16"},
+ {"y": 2.375, "x": 0.5, "label": "L20"},
+ {"y": 2.375, "x": 1.5, "label": "L21"},
+ {"y": 2.125, "x": 2.5, "label": "L22"},
+ {"y": 2, "x": 3.5, "label": "L23"},
+ {"y": 2.125, "x": 4.5, "label": "L24"},
+ {"y": 2.25, "x": 5.5, "label": "L25"},
+ {"y": 2.75, "x": 6.5, "label": "L26"},
+ {"y": 2.75, "x": 12, "label": "R20"},
+ {"y": 2.25, "x": 13, "label": "R21"},
+ {"y": 2.125, "x": 14, "label": "R22"},
+ {"y": 2, "x": 15, "label": "R23"},
+ {"y": 2.125, "x": 16, "label": "R24"},
+ {"y": 2.375, "x": 17, "label": "R25"},
+ {"y": 2.375, "x": 18, "label": "R26"},
+ {"y": 3.375, "x": 0.5, "label": "L30"},
+ {"y": 3.375, "x": 1.5, "label": "L31"},
+ {"y": 3.125, "x": 2.5, "label": "L32"},
+ {"y": 3, "x": 3.5, "label": "L33"},
+ {"y": 3.125, "x": 4.5, "label": "L34"},
+ {"y": 3.25, "x": 5.5, "label": "L35"},
+ {"y": 4, "x": 6.5, "label": "L36"},
+ {"y": 4, "x": 12, "label": "R30"},
+ {"y": 3.25, "x": 13, "label": "R31"},
+ {"y": 3.125, "x": 14, "label": "R32"},
+ {"y": 3, "x": 15, "label": "R33"},
+ {"y": 3.125, "x": 16, "label": "R34"},
+ {"y": 3.375, "x": 17, "label": "R35"},
+ {"y": 3.375, "x": 18, "label": "R36"},
+ {"y": 4.375, "x": 0.5, "label": "L40"},
+ {"y": 4.375, "x": 1.5, "label": "L41"},
+ {"y": 4.125, "x": 2.5, "label": "L42"},
+ {"y": 4, "x": 3.5, "label": "L43"},
+ {"y": 5, "x": 5.5, "label": "L44"},
+ {"y": 5, "x": 6.5, "label": "L45"},
+ {"h": 2, "y": 4, "x": 7.5, "label": "L46"},
+ {"h": 2, "y": 4, "x": 11, "label": "R40"},
+ {"y": 5, "x": 12, "label": "R41"},
+ {"y": 5, "x": 13, "label": "R42"},
+ {"y": 4, "x": 15, "label": "R43"},
+ {"y": 4.125, "x": 16, "label": "R44"},
+ {"y": 4.375, "x": 17, "label": "R45"},
+ {"y": 4.375, "x": 18, "label": "R46"}]
+ },
+ "LAYOUT_4key_2u_inner": {
+ "layout": [
+ {"y": 0.375, "x": 0.5, "label": "L00"},
+ {"y": 0.375, "x": 1.5, "label": "L01"},
+ {"y": 0.125, "x": 2.5, "label": "L02"},
+ {"y": 0, "x": 3.5, "label": "L03"},
+ {"y": 0.125, "x": 4.5, "label": "L04"},
+ {"y": 0.25, "x": 5.5, "label": "L05"},
+ {"y": 0.75, "x": 6.5, "label": "L06"},
+ {"y": 0.75, "x": 12, "label": "R00"},
+ {"y": 0.25, "x": 13, "label": "R01"},
+ {"y": 0.125, "x": 14, "label": "R02"},
+ {"y": 0, "x": 15, "label": "R03"},
+ {"y": 0.125, "x": 16, "label": "R04"},
+ {"y": 0.375, "x": 17, "label": "R05"},
+ {"y": 0.375, "x": 18, "label": "R06"},
+ {"y": 1.375, "x": 0.5, "label": "L10"},
+ {"y": 1.375, "x": 1.5, "label": "L11"},
+ {"y": 1.125, "x": 2.5, "label": "L12"},
+ {"y": 1, "x": 3.5, "label": "L13"},
+ {"y": 1.125, "x": 4.5, "label": "L14"},
+ {"y": 1.25, "x": 5.5, "label": "L15"},
+ {"y": 1.75, "x": 6.5, "label": "L16"},
+ {"y": 1.75, "x": 12, "label": "R10"},
+ {"y": 1.25, "x": 13, "label": "R11"},
+ {"y": 1.125, "x": 14, "label": "R12"},
+ {"y": 1, "x": 15, "label": "R13"},
+ {"y": 1.125, "x": 16, "label": "R14"},
+ {"y": 1.375, "x": 17, "label": "R15"},
+ {"y": 1.375, "x": 18, "label": "R16"},
+ {"y": 2.375, "x": 0.5, "label": "L20"},
+ {"y": 2.375, "x": 1.5, "label": "L21"},
+ {"y": 2.125, "x": 2.5, "label": "L22"},
+ {"y": 2, "x": 3.5, "label": "L23"},
+ {"y": 2.125, "x": 4.5, "label": "L24"},
+ {"y": 2.25, "x": 5.5, "label": "L25"},
+ {"y": 2.75, "x": 6.5, "label": "L26"},
+ {"y": 2.75, "x": 12, "label": "R20"},
+ {"y": 2.25, "x": 13, "label": "R21"},
+ {"y": 2.125, "x": 14, "label": "R22"},
+ {"y": 2, "x": 15, "label": "R23"},
+ {"y": 2.125, "x": 16, "label": "R24"},
+ {"y": 2.375, "x": 17, "label": "R25"},
+ {"y": 2.375, "x": 18, "label": "R26"},
+ {"y": 3.375, "x": 0.5, "label": "L30"},
+ {"y": 3.375, "x": 1.5, "label": "L31"},
+ {"y": 3.125, "x": 2.5, "label": "L32"},
+ {"y": 3, "x": 3.5, "label": "L33"},
+ {"y": 3.125, "x": 4.5, "label": "L34"},
+ {"y": 3.25, "x": 5.5, "label": "L35"},
+ {"y": 4, "x": 7.5, "label": "L36"},
+ {"y": 4, "x": 11, "label": "R30"},
+ {"y": 3.25, "x": 13, "label": "R31"},
+ {"y": 3.125, "x": 14, "label": "R32"},
+ {"y": 3, "x": 15, "label": "R33"},
+ {"y": 3.125, "x": 16, "label": "R34"},
+ {"y": 3.375, "x": 17, "label": "R35"},
+ {"y": 3.375, "x": 18, "label": "R36"},
+ {"y": 4.375, "x": 0.5, "label": "L40"},
+ {"y": 4.375, "x": 1.5, "label": "L41"},
+ {"y": 4.125, "x": 2.5, "label": "L42"},
+ {"y": 4, "x": 3.5, "label": "L43"},
+ {"y": 5, "x": 5.5, "label": "L44"},
+ {"h": 2, "y": 4, "x": 6.5, "label": "L45"},
+ {"y": 5, "x": 7.5, "label": "L46"},
+ {"y": 5, "x": 11, "label": "R40"},
+ {"h": 2, "y": 4, "x": 12, "label": "R41"},
+ {"y": 5, "x": 13, "label": "R42"},
+ {"y": 4, "x": 15, "label": "R43"},
+ {"y": 4.125, "x": 16, "label": "R44"},
+ {"y": 4.375, "x": 17, "label": "R45"},
+ {"y": 4.375, "x": 18, "label": "R46"}]
+ },
+ "LAYOUT_3key_2us": {
+ "layout": [
+ {"y": 0.375, "x": 0.5, "label": "L00"},
+ {"y": 0.375, "x": 1.5, "label": "L01"},
+ {"y": 0.125, "x": 2.5, "label": "L02"},
+ {"y": 0, "x": 3.5, "label": "L03"},
+ {"y": 0.125, "x": 4.5, "label": "L04"},
+ {"y": 0.25, "x": 5.5, "label": "L05"},
+ {"y": 0.75, "x": 6.5, "label": "L06"},
+ {"y": 0.75, "x": 12, "label": "R00"},
+ {"y": 0.25, "x": 13, "label": "R01"},
+ {"y": 0.125, "x": 14, "label": "R02"},
+ {"y": 0, "x": 15, "label": "R03"},
+ {"y": 0.125, "x": 16, "label": "R04"},
+ {"y": 0.375, "x": 17, "label": "R05"},
+ {"y": 0.375, "x": 18, "label": "R06"},
+ {"y": 1.375, "x": 0.5, "label": "L10"},
+ {"y": 1.375, "x": 1.5, "label": "L11"},
+ {"y": 1.125, "x": 2.5, "label": "L12"},
+ {"y": 1, "x": 3.5, "label": "L13"},
+ {"y": 1.125, "x": 4.5, "label": "L14"},
+ {"y": 1.25, "x": 5.5, "label": "L15"},
+ {"y": 1.75, "x": 6.5, "label": "L16"},
+ {"y": 1.75, "x": 12, "label": "R10"},
+ {"y": 1.25, "x": 13, "label": "R11"},
+ {"y": 1.125, "x": 14, "label": "R12"},
+ {"y": 1, "x": 15, "label": "R13"},
+ {"y": 1.125, "x": 16, "label": "R14"},
+ {"y": 1.375, "x": 17, "label": "R15"},
+ {"y": 1.375, "x": 18, "label": "R16"},
+ {"y": 2.375, "x": 0.5, "label": "L20"},
+ {"y": 2.375, "x": 1.5, "label": "L21"},
+ {"y": 2.125, "x": 2.5, "label": "L22"},
+ {"y": 2, "x": 3.5, "label": "L23"},
+ {"y": 2.125, "x": 4.5, "label": "L24"},
+ {"y": 2.25, "x": 5.5, "label": "L25"},
+ {"y": 2.75, "x": 6.5, "label": "L26"},
+ {"y": 2.75, "x": 12, "label": "R20"},
+ {"y": 2.25, "x": 13, "label": "R21"},
+ {"y": 2.125, "x": 14, "label": "R22"},
+ {"y": 2, "x": 15, "label": "R23"},
+ {"y": 2.125, "x": 16, "label": "R24"},
+ {"y": 2.375, "x": 17, "label": "R25"},
+ {"y": 2.375, "x": 18, "label": "R26"},
+ {"y": 3.375, "x": 0.5, "label": "L30"},
+ {"y": 3.375, "x": 1.5, "label": "L31"},
+ {"y": 3.125, "x": 2.5, "label": "L32"},
+ {"y": 3, "x": 3.5, "label": "L33"},
+ {"y": 3.125, "x": 4.5, "label": "L34"},
+ {"y": 3.25, "x": 5.5, "label": "L35"},
+ {"y": 3.25, "x": 13, "label": "R31"},
+ {"y": 3.125, "x": 14, "label": "R32"},
+ {"y": 3, "x": 15, "label": "R33"},
+ {"y": 3.125, "x": 16, "label": "R34"},
+ {"y": 3.375, "x": 17, "label": "R35"},
+ {"y": 3.375, "x": 18, "label": "R36"},
+ {"y": 4.375, "x": 0.5, "label": "L40"},
+ {"y": 4.375, "x": 1.5, "label": "L41"},
+ {"y": 4.125, "x": 2.5, "label": "L42"},
+ {"y": 4, "x": 3.5, "label": "L43"},
+ {"y": 5, "x": 5.5, "label": "L44"},
+ {"h": 2, "y": 4, "x": 6.5, "label": "L45"},
+ {"h": 2, "y": 4, "x": 7.5, "label": "L46"},
+ {"h": 2, "y": 4, "x": 11, "label": "R40"},
+ {"h": 2, "y": 4, "x": 12, "label": "R41"},
+ {"y": 5, "x": 13, "label": "R42"},
+ {"y": 4, "x": 15, "label": "R43"},
+ {"y": 4.125, "x": 16, "label": "R44"},
+ {"y": 4.375, "x": 17, "label": "R45"},
+ {"y": 4.375, "x": 18, "label": "R46"}]
+ },
+ "LAYOUT_3key_1us": {
+ "layout": [
+ {"y": 0.375, "x": 0.5, "label": "L00"},
+ {"y": 0.375, "x": 1.5, "label": "L01"},
+ {"y": 0.125, "x": 2.5, "label": "L02"},
+ {"y": 0, "x": 3.5, "label": "L03"},
+ {"y": 0.125, "x": 4.5, "label": "L04"},
+ {"y": 0.25, "x": 5.5, "label": "L05"},
+ {"y": 0.75, "x": 6.5, "label": "L06"},
+ {"y": 0.75, "x": 12, "label": "R00"},
+ {"y": 0.25, "x": 13, "label": "R01"},
+ {"y": 0.125, "x": 14, "label": "R02"},
+ {"y": 0, "x": 15, "label": "R03"},
+ {"y": 0.125, "x": 16, "label": "R04"},
+ {"y": 0.375, "x": 17, "label": "R05"},
+ {"y": 0.375, "x": 18, "label": "R06"},
+ {"y": 1.375, "x": 0.5, "label": "L10"},
+ {"y": 1.375, "x": 1.5, "label": "L11"},
+ {"y": 1.125, "x": 2.5, "label": "L12"},
+ {"y": 1, "x": 3.5, "label": "L13"},
+ {"y": 1.125, "x": 4.5, "label": "L14"},
+ {"y": 1.25, "x": 5.5, "label": "L15"},
+ {"y": 1.75, "x": 6.5, "label": "L16"},
+ {"y": 1.75, "x": 12, "label": "R10"},
+ {"y": 1.25, "x": 13, "label": "R11"},
+ {"y": 1.125, "x": 14, "label": "R12"},
+ {"y": 1, "x": 15, "label": "R13"},
+ {"y": 1.125, "x": 16, "label": "R14"},
+ {"y": 1.375, "x": 17, "label": "R15"},
+ {"y": 1.375, "x": 18, "label": "R16"},
+ {"y": 2.375, "x": 0.5, "label": "L20"},
+ {"y": 2.375, "x": 1.5, "label": "L21"},
+ {"y": 2.125, "x": 2.5, "label": "L22"},
+ {"y": 2, "x": 3.5, "label": "L23"},
+ {"y": 2.125, "x": 4.5, "label": "L24"},
+ {"y": 2.25, "x": 5.5, "label": "L25"},
+ {"y": 2.75, "x": 6.5, "label": "L26"},
+ {"y": 2.75, "x": 12, "label": "R20"},
+ {"y": 2.25, "x": 13, "label": "R21"},
+ {"y": 2.125, "x": 14, "label": "R22"},
+ {"y": 2, "x": 15, "label": "R23"},
+ {"y": 2.125, "x": 16, "label": "R24"},
+ {"y": 2.375, "x": 17, "label": "R25"},
+ {"y": 2.375, "x": 18, "label": "R26"},
+ {"y": 3.375, "x": 0.5, "label": "L30"},
+ {"y": 3.375, "x": 1.5, "label": "L31"},
+ {"y": 3.125, "x": 2.5, "label": "L32"},
+ {"y": 3, "x": 3.5, "label": "L33"},
+ {"y": 3.125, "x": 4.5, "label": "L34"},
+ {"y": 3.25, "x": 5.5, "label": "L35"},
+ {"y": 4, "x": 6.5, "label": "L36"},
+ {"y": 4, "x": 12, "label": "R30"},
+ {"y": 3.25, "x": 13, "label": "R31"},
+ {"y": 3.125, "x": 14, "label": "R32"},
+ {"y": 3, "x": 15, "label": "R33"},
+ {"y": 3.125, "x": 16, "label": "R34"},
+ {"y": 3.375, "x": 17, "label": "R35"},
+ {"y": 3.375, "x": 18, "label": "R36"},
+ {"y": 4.375, "x": 0.5, "label": "L40"},
+ {"y": 4.375, "x": 1.5, "label": "L41"},
+ {"y": 4.125, "x": 2.5, "label": "L42"},
+ {"y": 4, "x": 3.5, "label": "L43"},
+ {"y": 5, "x": 5.5, "label": "L44"},
+ {"y": 5, "x": 6.5, "label": "L45"},
+ {"y": 5, "x": 12, "label": "R41"},
+ {"y": 5, "x": 13, "label": "R42"},
+ {"y": 4, "x": 15, "label": "R43"},
+ {"y": 4.125, "x": 16, "label": "R44"},
+ {"y": 4.375, "x": 17, "label": "R45"},
+ {"y": 4.375, "x": 18, "label": "R46"}]
+ },
+ "LAYOUT_2key": {
+ "layout": [
+ {"y": 0.375, "x": 0.5, "label": "L00"},
+ {"y": 0.375, "x": 1.5, "label": "L01"},
+ {"y": 0.125, "x": 2.5, "label": "L02"},
+ {"y": 0, "x": 3.5, "label": "L03"},
+ {"y": 0.125, "x": 4.5, "label": "L04"},
+ {"y": 0.25, "x": 5.5, "label": "L05"},
+ {"y": 0.75, "x": 6.5, "label": "L06"},
+ {"y": 0.75, "x": 12, "label": "R00"},
+ {"y": 0.25, "x": 13, "label": "R01"},
+ {"y": 0.125, "x": 14, "label": "R02"},
+ {"y": 0, "x": 15, "label": "R03"},
+ {"y": 0.125, "x": 16, "label": "R04"},
+ {"y": 0.375, "x": 17, "label": "R05"},
+ {"y": 0.375, "x": 18, "label": "R06"},
+ {"y": 1.375, "x": 0.5, "label": "L10"},
+ {"y": 1.375, "x": 1.5, "label": "L11"},
+ {"y": 1.125, "x": 2.5, "label": "L12"},
+ {"y": 1, "x": 3.5, "label": "L13"},
+ {"y": 1.125, "x": 4.5, "label": "L14"},
+ {"y": 1.25, "x": 5.5, "label": "L15"},
+ {"y": 1.75, "x": 6.5, "label": "L16"},
+ {"y": 1.75, "x": 12, "label": "R10"},
+ {"y": 1.25, "x": 13, "label": "R11"},
+ {"y": 1.125, "x": 14, "label": "R12"},
+ {"y": 1, "x": 15, "label": "R13"},
+ {"y": 1.125, "x": 16, "label": "R14"},
+ {"y": 1.375, "x": 17, "label": "R15"},
+ {"y": 1.375, "x": 18, "label": "R16"},
+ {"y": 2.375, "x": 0.5, "label": "L20"},
+ {"y": 2.375, "x": 1.5, "label": "L21"},
+ {"y": 2.125, "x": 2.5, "label": "L22"},
+ {"y": 2, "x": 3.5, "label": "L23"},
+ {"y": 2.125, "x": 4.5, "label": "L24"},
+ {"y": 2.25, "x": 5.5, "label": "L25"},
+ {"y": 2.75, "x": 6.5, "label": "L26"},
+ {"y": 2.75, "x": 12, "label": "R20"},
+ {"y": 2.25, "x": 13, "label": "R21"},
+ {"y": 2.125, "x": 14, "label": "R22"},
+ {"y": 2, "x": 15, "label": "R23"},
+ {"y": 2.125, "x": 16, "label": "R24"},
+ {"y": 2.375, "x": 17, "label": "R25"},
+ {"y": 2.375, "x": 18, "label": "R26"},
+ {"y": 3.375, "x": 0.5, "label": "L30"},
+ {"y": 3.375, "x": 1.5, "label": "L31"},
+ {"y": 3.125, "x": 2.5, "label": "L32"},
+ {"y": 3, "x": 3.5, "label": "L33"},
+ {"y": 3.125, "x": 4.5, "label": "L34"},
+ {"y": 3.25, "x": 5.5, "label": "L35"},
+ {"y": 3.25, "x": 13, "label": "R31"},
+ {"y": 3.125, "x": 14, "label": "R32"},
+ {"y": 3, "x": 15, "label": "R33"},
+ {"y": 3.125, "x": 16, "label": "R34"},
+ {"y": 3.375, "x": 17, "label": "R35"},
+ {"y": 3.375, "x": 18, "label": "R36"},
+ {"y": 4.375, "x": 0.5, "label": "L40"},
+ {"y": 4.375, "x": 1.5, "label": "L41"},
+ {"y": 4.125, "x": 2.5, "label": "L42"},
+ {"y": 4, "x": 3.5, "label": "L43"},
+ {"y": 5, "x": 5.5, "label": "L44"},
+ {"h": 2, "y": 4, "x": 6.5, "label": "L45"},
+ {"h": 2, "y": 4, "x": 12, "label": "R41"},
+ {"y": 5, "x": 13, "label": "R42"},
+ {"y": 4, "x": 15, "label": "R43"},
+ {"y": 4.125, "x": 16, "label": "R44"},
+ {"y": 4.375, "x": 17, "label": "R45"},
+ {"y": 4.375, "x": 18, "label": "R46"}]
+ }
+ }
+}
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/333fred/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/333fred/config.h
new file mode 100644
index 0000000000..a8ad1e4fe7
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/333fred/config.h
@@ -0,0 +1,29 @@
+/*
+ Copyright (c) 2020 Fred Silberberg
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all
+ copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+*/
+
+#pragma once
+
+#define USE_SERIAL
+#define MASTER_LEFT
+
+#undef TAPPING_TERM
+#define TAPPING_TERM 200
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/333fred/keymap.c b/keyboards/omkbd/ergodash/rev1/keymaps/333fred/keymap.c
new file mode 100644
index 0000000000..8fb5d0db26
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/333fred/keymap.c
@@ -0,0 +1,79 @@
+/*
+ Copyright (c) 2020 Fred Silberberg
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all
+ copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+*/
+
+#include QMK_KEYBOARD_H
+#include "333fred.h"
+
+extern keymap_config_t keymap_config;
+
+// Use an expanded macro with VA_ARGS to ensure that the common
+// rows get expanded out before getting passed to the LAYOUT
+// macro.
+
+#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [BASE] = LAYOUT_wrapper( \
+ ROW5_LEFT_BASE, KC_F5, KC_F6, ROW5_RGHT_BASE,
+ ROW4_LEFT_BASE, TG(GAME), TG(GAME_ARROW), ROW4_RGHT_BASE,
+ ROW3_LEFT_BASE, KC_LGUI, KC_BSPC, ROW3_RGHT_BASE,
+ ROW2_LEFT_BASE, TD(TD_COPY_PASTE), KC_UP , ROW2_RGHT_BASE,
+ ROW1_LEFT_BASE, KC_BSPC, TD(TD_SYM_VIM), KC_DEL, KC_ENT, KC_SPC , KC_DOWN, ROW1_RGHT_BASE
+ ),
+
+ [SYMB] = LAYOUT_wrapper(
+ ROW5_LEFT_SYMB, _______, _______, ROW5_RGHT_SYMB,
+ ROW4_LEFT_SYMB, PSCREEN_APP, _______, ROW4_RGHT_SYMB,
+ ROW3_LEFT_SYMB, KC_PSCR, KC_VOLU, ROW3_RGHT_SYMB,
+ ROW2_LEFT_SYMB, _______, KC_VOLD, ROW2_RGHT_SYMB,
+ ROW1_LEFT_SYMB, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, ROW1_RGHT_SYMB
+ ),
+
+ [VIM] = LAYOUT_wrapper(
+ ROW5_LEFT_VIM, _______, _______, ROW5_RGHT_VIM,
+ ROW4_LEFT_VIM, _______, _______, ROW4_RGHT_VIM,
+ ROW3_LEFT_VIM, _______, _______, ROW3_RGHT_VIM,
+ ROW2_LEFT_VIM, _______, _______, ROW2_RGHT_VIM,
+ ROW1_LEFT_VIM, _______, _______, _______, _______, _______, _______, ROW1_RGHT_VIM
+ ),
+
+ [GAME] = LAYOUT_wrapper(
+ KC_ESC, SIX_TRNS, _______, SIX_TRNS,
+ SIX_TRNS, _______, _______, SIX_TRNS,
+ KC_LCTL, FOUR_TRNS, _______, KC_F6, _______, SIX_TRNS,
+ KC_LSFT, KC_Z, FOUR_TRNS, KC_F5, _______, SIX_TRNS,
+ KC_ENT, _______, KC_LOCK, KC_BSPC, KC_LALT, KC_SPC, OSM(SYMB), _______, SIX_TRNS
+ ),
+
+ [GAME_ARROW] = LAYOUT_wrapper(
+ KC_ESC, SIX_TRNS, _______, SIX_TRNS,
+ _______, _______, KC_UP, _______, _______, _______, _______, _______, SIX_TRNS,
+ KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_F6, _______, SIX_TRNS,
+ KC_LSFT, KC_Z, FOUR_TRNS, KC_F5, _______, SIX_TRNS,
+ KC_ENT, _______, KC_LOCK, KC_BSPC, KC_LALT, KC_SPC, OSM(SYMB), _______, SIX_TRNS
+ )
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ tap_dance_process_keycode(keycode);
+ return !try_handle_macro(keycode, record);
+}
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/333fred/rules.mk b/keyboards/omkbd/ergodash/rev1/keymaps/333fred/rules.mk
new file mode 100644
index 0000000000..2a91ad3ba4
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/333fred/rules.mk
@@ -0,0 +1,5 @@
+BACKLIGHT_ENABLE = no
+RGBLIGHT_ENABLE = yes
+AUDIO_ENABLE = no
+KEY_LOCK_ENABLE = yes
+CONSOLE_ENABLE = no
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/default/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/default/config.h
new file mode 100644
index 0000000000..df04873a97
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/default/config.h
@@ -0,0 +1,33 @@
+/*
+This is the c configuration file for the keymap
+
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+
+/* Use I2C or Serial, not both */
+
+#define USE_SERIAL
+// #define USE_I2C
+
+/* Select hand configuration */
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/default/keymap.c b/keyboards/omkbd/ergodash/rev1/keymaps/default/keymap.c
new file mode 100644
index 0000000000..68c5e52708
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/default/keymap.c
@@ -0,0 +1,153 @@
+#include QMK_KEYBOARD_H
+
+
+#define _QWERTY 0
+#define _LOWER 1
+#define _RAISE 2
+#define _ADJUST 16
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+ LOWER,
+ RAISE,
+ ADJUST,
+};
+
+#define EISU LALT(KC_GRV)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* Qwerty
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ * | ESC | 1 | 2 | 3 | 4 | 5 | [ | | ] | 6 | 7 | 8 | 9 | 0 |Pscree|
+ * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+ * | ` | Q | W | E | R | T | - | | = | Y | U | I | O | P | \ |
+ * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+ * | Tab | A | S | D | F | G | Del | | Bksp | H | J | K | L | ; | " |
+ * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | Space| | Enter| N | M | , | . | / | Shift|
+ * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
+ * | Ctrl | GUI | ALt | EISU |||||||| Lower| Space| Del |||||||| Bksp | Enter| Raise|||||||| Left | Down | Up | Right|
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ */
+ [_QWERTY] = LAYOUT(
+ 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_PSCR,
+ 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,
+ 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,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_SPC , KC_ENT , KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, EISU, LOWER, KC_SPC ,KC_DEL, KC_BSPC,KC_ENT , RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ ),
+
+ /* Lower
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ * | F11 | F1 | F2 | F3 | F4 | F5 | { | | } | F6 | F7 | F8 | F9 | F10 | F12 |
+ * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+ * | ~ | ! | @ | # | $ | % | _ | | + | ^ | & | * | ( | ) | | |
+ * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+ * | Tab | 1 | 2 | 3 | 4 | 5 | Del | | Bksp | H | J | K | L | : | " |
+ * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+ * | Shift| 6 | 7 | 8 | 9 | 0 | Space| | Enter| N | M | < | > | ? | Shift|
+ * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
+ * | Ctrl | GUI | ALt | EISU |||||||| Lower| Space| Del |||||||| Bksp | Enter| Raise|||||||| Home |PageDn|PageUp| End |
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ */
+ [_LOWER] = LAYOUT(
+ 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,
+ 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,
+ 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 ,
+ KC_LSFT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_SPC , KC_ENT , KC_N, KC_M, KC_LT, KC_GT, KC_QUES, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, EISU, LOWER, KC_SPC ,KC_DEL, KC_BSPC,KC_ENT , RAISE, KC_HOME, KC_PGDN, KC_PGUP, KC_END
+ ),
+
+ /* Raise
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ * | F11 | F1 | F2 | F3 | F4 | F5 | { | | } | F6 | F7 | F8 | F9 | F10 | F12 |
+ * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+ * | ~ | ! | @ | # | $ | % | _ | | + | ^ | & | * | ( | ) | | |
+ * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+ * | Tab | 1 | 2 | 3 | 4 | 5 | Del | | Bksp | H | J | K | L | : | " |
+ * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+ * | Shift| 6 | 7 | 8 | 9 | 0 | Space| | Enter| N | M | < | > | ? | Shift|
+ * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
+ * | Ctrl | GUI | ALt | EISU |||||||| Lower| Space| Del |||||||| Bksp | Enter| Raise|||||||| Home |PageDn|PageUp| End |
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ */
+ [_RAISE] = LAYOUT(
+ 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,
+ 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,
+ 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 ,
+ KC_LSFT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_SPC , KC_ENT , KC_N, KC_M, KC_LT, KC_GT, KC_QUES, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, EISU, LOWER, KC_SPC ,KC_DEL, KC_BSPC,KC_ENT , RAISE, KC_HOME, KC_PGDN, KC_PGUP, KC_END
+ ),
+
+ /* Adjust
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+ * | | Reset|RGB ON| MODE| HUE-| HUE+| | | | SAT-| SAT+| VAL-| VAL+| | |
+ * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+ * | | | BL ON| BRTG| INC| DEC| | | | | | | | | |
+ * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | | | | |
+ * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
+ * | | | | |||||||| | | |||||||| | | |||||||| | | | |
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ */
+ [_ADJUST] = LAYOUT(
+ _______, _______, _______, _______, _______, _______,_______, _______, _______, _______, _______, _______, _______, _______,
+ _______, RESET , RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI,_______, _______, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, _______,
+ _______, _______, BL_TOGG, BL_BRTG, BL_INC , BL_DEC ,_______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,_______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,_______,_______, _______,_______, _______, _______, _______, _______, _______
+ )
+};
+
+#ifdef AUDIO_ENABLE
+float tone_qwerty[][2] = SONG(QWERTY_SOUND);
+#endif
+
+void persistent_default_layer_set(uint16_t default_layer) {
+ eeconfig_update_default_layer(default_layer);
+ default_layer_set(default_layer);
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case QWERTY:
+ if (record->event.pressed) {
+ print("mode just switched to qwerty and this is a huge string\n");
+ set_single_persistent_default_layer(_QWERTY);
+ }
+ return false;
+ break;
+ case LOWER:
+ if (record->event.pressed) {
+ layer_on(_LOWER);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ } else {
+ layer_off(_LOWER);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ }
+ return false;
+ break;
+ case RAISE:
+ if (record->event.pressed) {
+ layer_on(_RAISE);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ } else {
+ layer_off(_RAISE);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ }
+ return false;
+ break;
+ case ADJUST:
+ if (record->event.pressed) {
+ layer_on(_ADJUST);
+ } else {
+ layer_off(_ADJUST);
+ }
+ return false;
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/default/rules.mk b/keyboards/omkbd/ergodash/rev1/keymaps/default/rules.mk
new file mode 100644
index 0000000000..bb9e33b082
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/default/rules.mk
@@ -0,0 +1,3 @@
+BACKLIGHT_ENABLE = no
+RGBLIGHT_ENABLE = no
+AUDIO_ENABLE = no
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/config.h
new file mode 100644
index 0000000000..df04873a97
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/config.h
@@ -0,0 +1,33 @@
+/*
+This is the c configuration file for the keymap
+
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+
+/* Use I2C or Serial, not both */
+
+#define USE_SERIAL
+// #define USE_I2C
+
+/* Select hand configuration */
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/keyboard-layout-editor.json b/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/keyboard-layout-editor.json
new file mode 100644
index 0000000000..8f8d308553
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/keyboard-layout-editor.json
@@ -0,0 +1,460 @@
+[
+ {
+ "name": "gsm-ErgoDash",
+ "notes": "Front Legend = \"Adust\" layer (both lower and Raise)\n\n\nLayout Positions are an aproximation and not exact"
+ },
+ [
+ {
+ "x": 3,
+ "t": "#0000ff\n#ff0000"
+ },
+ "\nF3\n\n\n\n\n\n\n\n3 #",
+ {
+ "x": 11
+ },
+ "\nF8\n\n\n\n\n\n\n\n8 *"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 2
+ },
+ "\nF2\n\n\n\n\n\n\n\n2 @",
+ {
+ "x": 1
+ },
+ "\nF4\n\n\n\n\n\n\n\n4 $",
+ {
+ "x": 9
+ },
+ "\nF7\n\n\n\n\n\n\n\n7 &",
+ {
+ "x": 1
+ },
+ "\nF9\n\n\n\n\n\n\n\n9 ("
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 5
+ },
+ "\nF5\n\n\n\n\n\n\n\n5 %",
+ {
+ "x": 7
+ },
+ "\nF6\n\n\n\n\n\n\n\n6 &"
+ ],
+ [
+ {
+ "y": -0.875,
+ "t": "#000000",
+ "a": 3
+ },
+ "Esc\n\n\n\nreset",
+ {
+ "t": "#0000ff\n#ff0000",
+ "a": 4
+ },
+ "\nF1\n\n\n\n\n\n\n\n1 !",
+ {
+ "x": 15
+ },
+ "\nF10\n\n\n\n\n\n\n\n0 )",
+ {
+ "t": "#000000",
+ "a": 7,
+ "fa": [
+ 2
+ ]
+ },
+ "Bksp"
+ ],
+ [
+ {
+ "y": -0.625,
+ "x": 6,
+ "f": 3
+ },
+ "= +",
+ {
+ "x": 5,
+ "f": 3
+ },
+ "- _"
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 3,
+ "f": 3
+ },
+ "E",
+ {
+ "x": 11,
+ "f": 3
+ },
+ "I"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 2,
+ "t": "#0000ff\n#ff0000\n\n\n\n\n\n\n\n\n#ff0000",
+ "a": 4,
+ "f": 3
+ },
+ "PgUP\nUP\n\n\n\n\n\n\n\nW",
+ {
+ "x": 1,
+ "t": "#000000",
+ "a": 3,
+ "f": 3
+ },
+ "R\n\n\n\nrgb_tog",
+ {
+ "x": 9,
+ "a": 7,
+ "f": 3
+ },
+ "U",
+ {
+ "x": 1,
+ "f": 3
+ },
+ "O"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 5,
+ "a": 3,
+ "f": 3
+ },
+ "T\n\n\n\nbl_tog",
+ {
+ "x": 7,
+ "a": 7,
+ "f": 3
+ },
+ "Y"
+ ],
+ [
+ {
+ "y": -0.875,
+ "f": 3
+ },
+ "Tab",
+ {
+ "f": 3
+ },
+ "Q",
+ {
+ "x": 15,
+ "f": 3
+ },
+ "P",
+ {
+ "f": 3
+ },
+ "] }"
+ ],
+ [
+ {
+ "y": -0.625,
+ "x": 6
+ },
+ "",
+ {
+ "x": 5,
+ "f": 3
+ },
+ "[ {"
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 3,
+ "t": "#0000ff\n#ff0000\n\n\n\n\n\n\n\n\n#ff0000",
+ "a": 0,
+ "f": 3
+ },
+ "End\nRIGHT\n\n\nrgb_sai\n\n\n\n\nD",
+ {
+ "x": 11,
+ "t": "#000000",
+ "a": 7,
+ "f": 3
+ },
+ "K"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 2,
+ "t": "#0000ff\n#ff0000\n\n\n\n\n\n\n\n\n#ff0000",
+ "a": 0,
+ "f": 3
+ },
+ "PgDwn\nDOWN\n\n\nrgb_hai\n\n\n\n\nS",
+ {
+ "x": 1,
+ "t": "#000000",
+ "a": 3,
+ "f": 3
+ },
+ "F\n\n\n\nrgb_val",
+ {
+ "x": 9,
+ "a": 7,
+ "f": 3
+ },
+ "J",
+ {
+ "x": 1,
+ "f": 3
+ },
+ "L"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 5,
+ "a": 3,
+ "f": 3
+ },
+ "G\n\n\n\nbl_inc",
+ {
+ "x": 7,
+ "a": 7,
+ "f": 3
+ },
+ "H"
+ ],
+ [
+ {
+ "y": -0.875,
+ "c": "#0000ff",
+ "t": "#ffffffff",
+ "f": 3
+ },
+ "Raise",
+ {
+ "c": "#cccccc",
+ "t": "#0000ff\n#ff0000\n\n\n\n\n\n\n\n\n#ff0000",
+ "a": 4,
+ "f": 3
+ },
+ "Home\nLEFT\n\n\n\n\n\n\n\nA",
+ {
+ "x": 15,
+ "t": "#000000",
+ "a": 7,
+ "f": 3
+ },
+ ": ;",
+ {
+ "f": 3
+ },
+ "' \""
+ ],
+ [
+ {
+ "y": -0.625,
+ "x": 6
+ },
+ "",
+ {
+ "x": 5
+ },
+ ""
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 3,
+ "a": 3,
+ "f": 3
+ },
+ "C\n\n\n\nrgb_sad",
+ {
+ "x": 11,
+ "a": 7,
+ "f": 3
+ },
+ ", <"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 2,
+ "a": 3,
+ "f": 3
+ },
+ "X\n\n\n\nrgb_sad",
+ {
+ "x": 1,
+ "f": 3
+ },
+ "V\n\n\n\nrgb_vad",
+ {
+ "x": 9,
+ "a": 7,
+ "f": 3
+ },
+ "M",
+ {
+ "x": 1,
+ "f": 3
+ },
+ ". >"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 5,
+ "a": 3,
+ "f": 3
+ },
+ "B\n\n\n\nbl_dec",
+ {
+ "x": 7,
+ "a": 7,
+ "f": 3
+ },
+ "N"
+ ],
+ [
+ {
+ "y": -0.875,
+ "a": 3,
+ "f": 3
+ },
+ "Shift\n\n\n\neep_rst",
+ {
+ "a": 7,
+ "f": 3
+ },
+ "Z",
+ {
+ "x": 15,
+ "f": 3
+ },
+ "/ ?",
+ {
+ "f": 3
+ },
+ "Shift"
+ ],
+ [
+ {
+ "y": -0.25,
+ "x": 2,
+ "f": 3
+ },
+ "Alt",
+ {
+ "x": 13,
+ "f": 3
+ },
+ "DOWN"
+ ],
+ [
+ {
+ "y": -0.9749999999999996,
+ "x": 3.5,
+ "f": 3
+ },
+ "Ctrl",
+ {
+ "x": 10.15,
+ "f": 3
+ },
+ "LEFT"
+ ],
+ [
+ {
+ "y": -0.7750000000000004,
+ "f": 3
+ },
+ "`~",
+ {
+ "f": 3
+ },
+ "\\|",
+ {
+ "x": 15,
+ "f": 3
+ },
+ "UP",
+ {
+ "f": 3
+ },
+ "RIGHT"
+ ],
+ [
+ {
+ "r": 30,
+ "rx": 6.5,
+ "ry": 4.25,
+ "y": -0.25,
+ "x": -0.2999999999999998,
+ "c": "#eb7c15",
+ "f": 3,
+ "h": 2
+ },
+ "Space",
+ {
+ "c": "#cccccc",
+ "f": 3
+ },
+ "Del"
+ ],
+ [
+ {
+ "x": -1.2999999999999998,
+ "c": "#ff0000",
+ "f": 3
+ },
+ "Lower",
+ {
+ "x": 1,
+ "c": "#cccccc",
+ "t": "#0000ff\n#ff0000",
+ "a": 4
+ },
+ "\nApp\n\n\n\n\n\n\n\nOS"
+ ],
+ [
+ {
+ "r": -30,
+ "rx": 13,
+ "y": -0.5,
+ "x": -2,
+ "t": "#000000",
+ "a": 7,
+ "f": 3
+ },
+ "PrtScr",
+ {
+ "c": "#eb7c15",
+ "f": 3,
+ "h": 2
+ },
+ "Space"
+ ],
+ [
+ {
+ "x": -2,
+ "c": "#cccccc",
+ "f": 3
+ },
+ "Enter",
+ {
+ "x": 1,
+ "c": "#0000ff",
+ "t": "#ffffff",
+ "f": 3
+ },
+ "Raise"
+ ]
+] \ No newline at end of file
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/keymap.c b/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/keymap.c
new file mode 100644
index 0000000000..ea79ae194b
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/keymap.c
@@ -0,0 +1,124 @@
+#include QMK_KEYBOARD_H
+
+enum custom_keycodes {
+ LOWER = SAFE_RANGE,
+ RAISE,
+};
+
+enum layer_names {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _ADJUST,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* Qwerty
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ * | ESC | 1 | 2 | 3 | 4 | 5 | = | | - | 6 | 7 | 8 | 9 | 0 |Backsp|
+ * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+ * | Tab | Q | W | E | R | T | | | [ | Y | U | I | O | P | ] |
+ * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+ * | Raise| A | S | D | F | G | | | | H | J | K | L | ; | " |
+ * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B |||||||| Del | | |||||||| N | M | , | . | / | Shift|
+ * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
+ * | ` | \ | ALt | Ctrl |||||||| Lower| Space| LGui|||||||| Enter| Space| Raise|||||||| Left | Down | Up | Right|
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ */
+ [_QWERTY] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EQL, KC_MINS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, KC_LBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_RBRC,
+ RAISE, KC_A, KC_S, KC_D, KC_F, KC_G, XXXXXXX, XXXXXXX, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DEL, KC_PSCR, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_GRV,KC_BSLS, KC_LALT, KC_LCTL, LOWER, KC_SPC,KC_LGUI, KC_ENT ,KC_SPC , RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ ),
+
+ /* Lower
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | |
+ * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+ * | | | Up | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+ * | Raise| Left | Down | Rght | | | | | | | | | | | |
+ * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+ * | Shift| | | | | |||||||| | | |||||||| | | | | | Shift|
+ * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
+ * | | | | |||||||| Lower| Space| |||||||| | Space| Raise|||||||| | | | |
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ */
+ [_LOWER] = LAYOUT(
+ XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX,
+ XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ RAISE, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RSFT,
+ XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX, LOWER, KC_SPC ,XXXXXXX, XXXXXXX, KC_SPC , RAISE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+ ),
+
+ /* Raise
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+ * | | | PgUp | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+ * | Raise| Home | PgDwn| End | | | | | | | | | | | |
+ * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+ * | Shift| | | | | |||||||| | | |||||||| | | | | | Shift|
+ * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
+ * | | | | |||||||| Lower| Space| |||||||| |Space | Raise|||||||| | | | |
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ */
+ [_RAISE] = LAYOUT(
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ RAISE, KC_HOME,KC_PGDOWN, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RSFT,
+ XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX, LOWER, KC_SPC ,XXXXXXX, XXXXXXX, KC_SPC , RAISE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+ ),
+
+ /* Adjust (Both Raise and Lower Together)
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ * | Reset| | | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+ * | | | | |rgbtog|bl_tog| | | | | | | | | |
+ * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+ * | Raise| |rgbhui|rgbsai|rgbvai|bl_inc| | | | | | | | | |
+ * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+ *|EEP_RST| |rgbhud|rgbdec|rgbvad|bl_dec|||||||| | | |||||||| | | | | | Shift|
+ * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
+ * | | | | |||||||| Lower| Space| |||||||| | Space| Raise|||||||| | | | |
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ */
+ [_ADJUST] = LAYOUT(
+ RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, BL_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ RAISE, XXXXXXX, RGB_HUI, RGB_SAI, RGB_VAI, BL_INC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ EEP_RST, XXXXXXX, RGB_HUD, RGB_SAD, RGB_VAD, BL_DEC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RSFT,
+ XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX, LOWER, KC_SPC ,XXXXXXX, XXXXXXX, KC_SPC, RAISE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+ )
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case LOWER:
+ if (record->event.pressed) {
+ layer_on(_LOWER);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ } else {
+ layer_off(_LOWER);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ }
+ return false;
+ case RAISE:
+ if (record->event.pressed) {
+ layer_on(_RAISE);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ } else {
+ layer_off(_RAISE);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ }
+ return false;
+ }
+ return true;
+}
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/rules.mk b/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/rules.mk
new file mode 100644
index 0000000000..11b62b9bff
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/rules.mk
@@ -0,0 +1,3 @@
+BACKLIGHT_ENABLE = yes
+RGBLIGHT_ENABLE = yes
+AUDIO_ENABLE = no
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/ifohancroft/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/ifohancroft/config.h
new file mode 100644
index 0000000000..9a0d0e54f7
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/ifohancroft/config.h
@@ -0,0 +1,21 @@
+/* Copyright 2021 IFo Hancroft
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+// place overrides here
+#define USB_POLLING_INTERVAL_MS 1
+#define FORCE_NKRO
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/ifohancroft/keymap.c b/keyboards/omkbd/ergodash/rev1/keymaps/ifohancroft/keymap.c
new file mode 100644
index 0000000000..a489c3f4dc
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/ifohancroft/keymap.c
@@ -0,0 +1,104 @@
+/* Copyright 2021 IFo Hancroft
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* Default Layer
+ * ---------------------------------------------------------------------------------------------------------------------------------------------------------
+ * | ` || 1 || 2 || 3 || 4 || 5 || - || || = || 6 || 7 || 8 || 9 || 0 || Del |
+ * |-------------------------------------------------------------------------------------------------------------------------------------------------------|
+ * | Tab || Q || W || E || R || T || [ || || ] || Y || U || I || O || P || \ |
+ * |-------------------------------------------------------------------------------------------------------------------------------------------------------|
+ * | ESC || A || S || D || F || G || " || || " || H || J || K || L || ; || Enter |
+ * |-------------------------------------------------------------------------------------------------------------------------------------------------------|
+ * | Shift || Z || X || C || V || B || || || || N || M || , || . || / || Shift |
+ * |-------------------------------------------------------------------------------------------------------------------------------------------------------|
+ * | Ctrl || Super || Alt || MO(2) || || MO(1) || Bkspc || Space || || Space || Bkspc || MO(1) || || Left || Down || Up || Right |
+ * ---------------------------------------------------------------------------------------------------------------------------------------------------------
+ */
+ LAYOUT_3key_2us(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_QUOT, KC_QUOT, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, MO(2), MO(1), KC_BSPC, KC_SPC, KC_SPC, KC_BSPC, MO(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ ),
+
+ /* Function Layer
+ * ---------------------------------------------------------------------------------------------------------------------------------------------------------
+ * | || F1 || F2 || F3 || F4 || F5 || F6 || || F7 || F8 || F9 || F10 || F11 || F12 || |
+ * |-------------------------------------------------------------------------------------------------------------------------------------------------------|
+ * | || || || || || || || || || || || || || || |
+ * |-------------------------------------------------------------------------------------------------------------------------------------------------------|
+ * | || || || || || || || || || || || || || || |
+ * |-------------------------------------------------------------------------------------------------------------------------------------------------------|
+ * | || || || || || || || || || || || || || || |
+ * |-------------------------------------------------------------------------------------------------------------------------------------------------------|
+ * | || || || || || || || || || || || || || || || || |
+ * ---------------------------------------------------------------------------------------------------------------------------------------------------------
+ */
+ LAYOUT_3key_2us(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ /* Left Right Hand Layer
+ * ---------------------------------------------------------------------------------------------------------------------------------------------------------
+ * | Del || 0 || 9 || 8 || 7 || 6 || = || || || || || || || || |
+ * |-------------------------------------------------------------------------------------------------------------------------------------------------------|
+ * | \ || P || O || I || U || Y || ] || || || || || || || || |
+ * |-------------------------------------------------------------------------------------------------------------------------------------------------------|
+ * | Enter || ; || L || K || J || H || || || || || || || || || |
+ * |-------------------------------------------------------------------------------------------------------------------------------------------------------|
+ * | || / || . || , || M || N || || || || || || || || || |
+ * |-------------------------------------------------------------------------------------------------------------------------------------------------------|
+ * | || || || || || || || || || || || || || || || || |
+ * ---------------------------------------------------------------------------------------------------------------------------------------------------------
+ */
+ LAYOUT_3key_2us(
+ KC_DEL, KC_0, KC_9, KC_8, KC_7, KC_6, KC_EQL, _______, _______, _______, _______, _______, _______, _______,
+ KC_BSLS, KC_P, KC_O, KC_I, KC_U, KC_Y, KC_RBRC, _______, _______, _______, _______, _______, _______, _______,
+ KC_ENT, KC_SCLN, KC_L, KC_K, KC_J, KC_H, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_SLSH, KC_DOT, KC_COMM, KC_M, KC_N, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ /* Empty Layer
+ * ---------------------------------------------------------------------------------------------------------------------------------------------------------
+ * | || || || || || || || || || || || || || || |
+ * |-------------------------------------------------------------------------------------------------------------------------------------------------------|
+ * | || || || || || || || || || || || || || || |
+ * |-------------------------------------------------------------------------------------------------------------------------------------------------------|
+ * | || || || || || || || || || || || || || || |
+ * |-------------------------------------------------------------------------------------------------------------------------------------------------------|
+ * | || || || || || || || || || || || || || || |
+ * |-------------------------------------------------------------------------------------------------------------------------------------------------------|
+ * | || || || || || || || || || || || || || || || || |
+ * ---------------------------------------------------------------------------------------------------------------------------------------------------------
+ */
+ LAYOUT_3key_2us(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/ifohancroft/readme.md b/keyboards/omkbd/ergodash/rev1/keymaps/ifohancroft/readme.md
new file mode 100644
index 0000000000..aab6984af7
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/ifohancroft/readme.md
@@ -0,0 +1,14 @@
+![IFo Hancroft ErgoDash Layout Image](https://i.imgur.com/vANNhro.png)
+
+# IFo Hancroft's ErgoDash Layout
+
+ - Layer 1: A standard ANSI QWERTY layer.
+ - Layer 2: A function layer. It contains just the F1-F12 keys.
+ - Layer 3: A mirror of the right hand part of Layer 1, on the left hand, so I don't have to get my hand off the mouse when in CAD.
+ - Layer 4: An empty layer in-case I need something on-the-fly so I can remap with VIA.
+
+This keymap also sets the polling rate of the keyboard to 1ms, disables the EXTRAKEY feature, and enables the following features:
+
+ - COMMAND
+ - NKRO (forced on)
+ - VIA
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/ifohancroft/rules.mk b/keyboards/omkbd/ergodash/rev1/keymaps/ifohancroft/rules.mk
new file mode 100644
index 0000000000..298b2a89cf
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/ifohancroft/rules.mk
@@ -0,0 +1,4 @@
+EXTRAKEY_ENABLE = no
+COMMAND_ENABLE = yes
+NKRO_ENABLE = yes
+VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/config.h
new file mode 100644
index 0000000000..df04873a97
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/config.h
@@ -0,0 +1,33 @@
+/*
+This is the c configuration file for the keymap
+
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+
+/* Use I2C or Serial, not both */
+
+#define USE_SERIAL
+// #define USE_I2C
+
+/* Select hand configuration */
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/keymap.c b/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/keymap.c
new file mode 100644
index 0000000000..4b102157d5
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/keymap.c
@@ -0,0 +1,219 @@
+#include QMK_KEYBOARD_H
+#include "keymap_jp.h"
+
+// clang-format off
+enum layers { _QWERTY, _LOWER, _RAISE, _ADJUST };
+
+enum custom_keycodes { JP = SAFE_RANGE, US, SHIFT, LOWER, RAISE, ADJUST,
+ CSTM_0, CSTM_1, CSTM_2, CSTM_3, CSTM_4, CSTM_5, CSTM_6, CSTM_7, CSTM_8, CSTM_9,
+ CIRC, AT, LBRC, RBRC, BSLS, AMPR, QUOT, LPRN, RPRN, EQL, TILD, PIPE, GRV, LCBR,
+ PLUS, ASTR, RCBR, UNDS, MINS, SCLN, COMM, DOT, SLSH, EXLM, HASH, DLR, PERC, DEL };
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Qwerty
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ * | ESC | 1 | 2 | 3 | 4 | 5 | ZKHK | | ZKHK | 6 | 7 | 8 | 9 | 0 | ` |
+ * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+ * | TAB | Q | W | E | R | T | MHEN | |HENKAN| Y | U | I | O | P | \ |
+ * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+ * | CTRL | A | S | D | F | G | EISU | <- ONLY FOR MAC -> | KANA | H | J | K | L | ; | ' |
+ * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+ * | SHIFT| Z | X | C | V | B | SHIFT| | SHIFT| N | M | , | . | / | SHIFT|
+ * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
+ * | SHIFT|ADJUST| ALT | GUI |||||||| LOWER| SPACE| |||||||| | ENTER| RAISE|||||||| GUI | ALT |ADJUST| SHIFT|
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ */
+ [_QWERTY] = LAYOUT( \
+ KC_ESC, CSTM_1, CSTM_2, CSTM_3, CSTM_4, CSTM_5, JP_KANA, JP_KANA, CSTM_6, CSTM_7, CSTM_8, CSTM_9, CSTM_0, GRV , \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, JP_MHEN, JP_HENK, KC_Y, KC_U, KC_I, KC_O, KC_P, BSLS , \
+ KC_LGUI, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LANG2, JP_LANG1,KC_H, KC_J, KC_K, KC_L, SCLN, QUOT , \
+ SHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, SHIFT , SHIFT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SHIFT , \
+ SHIFT, ADJUST, KC_LALT, KC_LCTL, LOWER, KC_SPC ,XXXXXXX, XXXXXXX,KC_ENT , RAISE, KC_LCTL, KC_LALT, ADJUST, SHIFT \
+ ),
+
+ /* Lower
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ * | F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 |
+ * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+ * | ~ | ! | @ | # | $ | % | | | | ^ | & | * | ( | ) | | |
+ * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+ * | | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | |
+ * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+ * | |||||||||||||||||||||| - | _ | | | | + | = | [ | ] |||||||| |
+ * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
+ * | | | | |||||||| | ESC | |||||||| | BKSP | |||||||| | | | |
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ */
+ [_LOWER] = LAYOUT(
+ KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12 , \
+ TILD, EXLM, AT, HASH, DLR, PERC, _______, _______, CIRC, AMPR, ASTR, LPRN, RPRN, PIPE , \
+ _______, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0 , _______, \
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, MINS, UNDS, _______, _______, PLUS, EQL, LBRC, RBRC, XXXXXXX, _______, \
+ _______, _______, _______, _______, _______, KC_ESC ,_______, _______,KC_BSPC, _______, _______, _______, _______, _______ \
+ ),
+
+ /* Raise
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ * | F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 |
+ * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+ * | ~ | ! | @ | # | $ | % | | | | ^ | & | * | ( | ) | | |
+ * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+ * | | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | |
+ * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+ * | |||||||| [ | ] | - | _ | | | | + | = |||||||||||||||||||||| |
+ * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
+ * | | | | |||||||| | ESC | |||||||| | BKSP | |||||||| | | | |
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ */
+ [_RAISE] = LAYOUT(
+ KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12 , \
+ TILD, EXLM, AT, HASH, DLR, PERC, _______, _______, CIRC, AMPR, ASTR, LPRN, RPRN, PIPE , \
+ _______, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0 , _______, \
+ _______, XXXXXXX, LBRC, RBRC, MINS, UNDS, _______, _______, PLUS, EQL, XXXXXXX, XXXXXXX, XXXXXXX, _______, \
+ _______, _______, _______, _______, _______, KC_ESC ,_______, _______,KC_BSPC, _______, _______, _______, _______, _______ \
+ ),
+
+ /* Adjust
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ * | | | | | | | US | | JP | | | | | | |
+ * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+ * | | HOME |PAGEDN|PAGEUP| END |||||||| | | | LEFT | DOWN | UP | RIGHT|||||||| |
+ * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+ * | | | { | } | | | | | | | | { | } | | |
+ * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
+ * | | | | |||||||| | | |||||||| | | |||||||| | | | |
+ * ,----------------------------------------------------------------------------------------------------------------------.
+ */
+ [_ADJUST] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, US , JP, _______, _______, _______, _______, _______, _______, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
+ _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, XXXXXXX, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, _______, \
+ _______, _______, LCBR, RCBR, _______, _______, _______, _______, _______, _______, LCBR, RCBR, _______, _______, \
+ _______, _______, _______, _______, _______, _______,_______, _______,_______, _______, _______, _______, _______, _______ \
+ )};
+// clang-format on
+
+#ifdef AUDIO_ENABLE
+float tone_qwerty[][2] = SONG(QWERTY_SOUND);
+#endif
+
+#define JP_LAYOUT true
+#define US_LAYOUT false
+
+#ifdef MASTER_LEFT
+bool LAYOUT_STATUS = US_LAYOUT;
+#else
+bool LAYOUT_STATUS = JP_LAYOUT;
+#endif
+
+bool SHIFT_PRESSED = false;
+
+void persistent_default_layer_set(uint16_t default_layer) {
+ eeconfig_update_default_layer(default_layer);
+ default_layer_set(default_layer);
+}
+
+#define SEND_STRING_RESTORE(STR) (SHIFT_PRESSED ? SEND_STRING(STR SS_DOWN(X_LSHIFT)) : SEND_STRING(STR SS_UP(X_LSHIFT)))
+
+#define KEY(CODE) (record->event.pressed ? SEND_STRING(SS_DOWN(X_##CODE)) : SEND_STRING_RESTORE(SS_UP(X_##CODE)))
+
+#define KEY_SHIFT(CODE) (record->event.pressed ? SEND_STRING(SS_DOWN(X_LSHIFT) SS_DOWN(X_##CODE)) : SEND_STRING_RESTORE(SS_UP(X_##CODE)))
+
+#define KEY_UPSHIFT(CODE) (record->event.pressed ? SEND_STRING(SS_UP(X_LSHIFT) SS_DOWN(X_##CODE)) : SEND_STRING_RESTORE(SS_UP(X_##CODE)))
+
+#define SHIFT_DU(CODE_DOWN, CODE_UP) (SHIFT_PRESSED ? CODE_DOWN : CODE_UP)
+#define CASE_US(CODE, US, JP) \
+ case CODE: \
+ (LAYOUT_STATUS == JP_LAYOUT ? JP : US); \
+ return false;
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ CASE_US(CSTM_0, KEY(0), SHIFT_DU(KEY_SHIFT(9), KEY(0)));
+ CASE_US(CSTM_1, KEY(1), KEY(1));
+ CASE_US(CSTM_2, KEY(2), SHIFT_DU(KEY_UPSHIFT(LBRACKET), KEY(2)));
+ CASE_US(CSTM_3, KEY(3), KEY(3));
+ CASE_US(CSTM_4, KEY(4), KEY(4));
+ CASE_US(CSTM_5, KEY(5), KEY(5));
+ CASE_US(CSTM_6, KEY(6), SHIFT_DU(KEY_UPSHIFT(EQUAL), KEY(6)));
+ CASE_US(CSTM_7, KEY(7), SHIFT_DU(KEY_SHIFT(6), KEY(7)));
+ CASE_US(CSTM_8, KEY(8), SHIFT_DU(KEY_SHIFT(QUOTE), KEY(8)));
+ CASE_US(CSTM_9, KEY(9), SHIFT_DU(KEY_SHIFT(8), KEY(9)));
+ CASE_US(DEL, KEY(DELETE), KEY_UPSHIFT(BSPACE));
+ CASE_US(TILD, KEY_SHIFT(GRAVE), KEY_SHIFT(EQUAL));
+ CASE_US(EXLM, KEY_SHIFT(1), KEY_SHIFT(1));
+ CASE_US(AT, KEY_SHIFT(2), KEY(LBRACKET));
+ CASE_US(HASH, KEY_SHIFT(3), KEY_SHIFT(3));
+ CASE_US(DLR, KEY_SHIFT(4), KEY_SHIFT(4));
+ CASE_US(PERC, KEY_SHIFT(5), KEY_SHIFT(5));
+ CASE_US(CIRC, KEY_SHIFT(6), KEY(EQUAL));
+ CASE_US(AMPR, KEY_SHIFT(7), KEY_SHIFT(6));
+ CASE_US(ASTR, KEY_SHIFT(8), KEY_SHIFT(QUOTE));
+ CASE_US(LPRN, KEY_SHIFT(9), KEY_SHIFT(8));
+ CASE_US(RPRN, KEY_SHIFT(0), KEY_SHIFT(9));
+ CASE_US(LBRC, KEY(LBRACKET), SHIFT_DU(KEY_SHIFT(RBRACKET), KEY(RBRACKET)));
+ CASE_US(RBRC, KEY(RBRACKET), SHIFT_DU(KEY_SHIFT(NONUS_HASH), KEY(NONUS_HASH)));
+ CASE_US(LCBR, KEY_SHIFT(LBRACKET), KEY_SHIFT(RBRACKET));
+ CASE_US(RCBR, KEY_SHIFT(RBRACKET), KEY_SHIFT(NONUS_HASH));
+ CASE_US(GRV, KEY(GRAVE), SHIFT_DU(KEY_SHIFT(EQUAL), KEY_SHIFT(LBRACKET)));
+ CASE_US(BSLS, KEY(BSLASH), SHIFT_DU(KEY_SHIFT(INT3), KEY(INT3)));
+ CASE_US(PIPE, KEY_SHIFT(BSLASH), KEY_SHIFT(INT3));
+ CASE_US(MINS, KEY(MINUS), SHIFT_DU(KEY_SHIFT(INT1), KEY(MINUS)));
+ CASE_US(UNDS, KEY_SHIFT(MINUS), KEY_SHIFT(INT1));
+ CASE_US(EQL, KEY(EQUAL), SHIFT_DU(KEY_SHIFT(SCOLON), KEY_SHIFT(MINUS)));
+ CASE_US(PLUS, KEY_SHIFT(EQUAL), KEY_SHIFT(SCOLON));
+ CASE_US(SCLN, KEY(SCOLON), SHIFT_DU(KEY_UPSHIFT(QUOTE), KEY(SCOLON)));
+ CASE_US(QUOT, KEY(QUOTE), SHIFT_DU(KEY_SHIFT(2), KEY_SHIFT(7)));
+ case JP:
+ if (record->event.pressed) {
+ LAYOUT_STATUS = JP_LAYOUT;
+ }
+ return false;
+ break;
+ case US:
+ if (record->event.pressed) {
+ LAYOUT_STATUS = US_LAYOUT;
+ }
+ return false;
+ break;
+ case SHIFT:
+ if (record->event.pressed) {
+ SEND_STRING(SS_DOWN(X_LSHIFT));
+ SHIFT_PRESSED = true;
+ } else {
+ SEND_STRING(SS_UP(X_LSHIFT));
+ SHIFT_PRESSED = false;
+ }
+ return false;
+ break;
+ case LOWER:
+ if (record->event.pressed) {
+ layer_on(_LOWER);
+ } else {
+ layer_off(_LOWER);
+ }
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ return false;
+ break;
+ case RAISE:
+ if (record->event.pressed) {
+ layer_on(_RAISE);
+ } else {
+ layer_off(_RAISE);
+ }
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ return false;
+ break;
+ case ADJUST:
+ if (record->event.pressed) {
+ layer_on(_ADJUST);
+ } else {
+ layer_off(_ADJUST);
+ }
+ return false;
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/m47ch4ns_keymap.json b/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/m47ch4ns_keymap.json
new file mode 100644
index 0000000000..1f5eee6014
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/m47ch4ns_keymap.json
@@ -0,0 +1 @@
+{"keyboard":"ergodash/rev1","keymap":"m47ch4ns_keymap","layout":"LAYOUT_3key_1us","layers":[["KC_ESC","KC_1","KC_2","KC_3","KC_4","KC_5","KC_NO","KC_NO","KC_6","KC_7","KC_8","KC_9","KC_0","KC_GRV","KC_TAB","KC_Q","KC_W","KC_E","KC_R","KC_T","KC_NO","KC_NO","KC_Y","KC_U","KC_I","KC_O","KC_P","KC_BSLS","KC_LCTL","KC_A","KC_S","KC_D","KC_F","KC_G","KC_NO","KC_NO","KC_H","KC_J","KC_K","KC_L","KC_SCLN","KC_QUOT","KC_LSFT","KC_Z","KC_X","KC_C","KC_V","KC_B","KC_LSFT","KC_RSFT","KC_N","KC_M","KC_COMM","KC_DOT","KC_SLSH","KC_RSFT","KC_LSFT","ANY(ADJUST)","KC_LALT","KC_LGUI","ANY(LOWER)","KC_SPC","KC_ENT","ANY(RAISE)","KC_RGUI","KC_RALT","ANY(ADJUST)","KC_RSFT"],["KC_F11","KC_F1","KC_F2","KC_F3","KC_F4","KC_F5","KC_TRNS","KC_TRNS","KC_F6","KC_F7","KC_F8","KC_F9","KC_F10","KC_F12","KC_TRNS","KC_EXLM","KC_AT","KC_HASH","KC_DLR","KC_PERC","KC_TRNS","KC_TRNS","KC_CIRC","KC_AMPR","KC_ASTR","KC_LPRN","KC_RPRN","KC_PIPE","KC_TRNS","KC_1","KC_2","KC_3","KC_4","KC_5","KC_TRNS","KC_TRNS","KC_6","KC_7","KC_8","KC_9","KC_0","KC_TRNS","KC_TRNS","KC_NO","KC_NO","KC_NO","KC_MINS","KC_UNDS","KC_TRNS","KC_TRNS","KC_PLUS","KC_EQL","KC_LBRC","KC_RBRC","KC_NO","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_ESC","KC_BSPC","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"],["KC_F11","KC_F1","KC_F2","KC_F3","KC_F4","KC_F5","KC_TRNS","KC_TRNS","KC_F6","KC_F7","KC_F8","KC_F9","KC_F10","KC_F12","KC_TRNS","KC_EXLM","KC_AT","KC_HASH","KC_DLR","KC_PERC","KC_TRNS","KC_TRNS","KC_CIRC","KC_AMPR","KC_ASTR","KC_LPRN","KC_RPRN","KC_PIPE","KC_TRNS","KC_1","KC_2","KC_3","KC_4","KC_5","KC_TRNS","KC_TRNS","KC_6","KC_7","KC_8","KC_9","KC_0","KC_TRNS","KC_TRNS","KC_NO","KC_LBRC","KC_RBRC","KC_MINS","KC_UNDS","KC_TRNS","KC_TRNS","KC_PLUS","KC_EQL","KC_NO","KC_NO","KC_NO","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_ESC","KC_BSPC","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"],["KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_HOME","KC_PGDN","KC_PGUP","KC_END","KC_TRNS","KC_TRNS","KC_TRNS","KC_LEFT","KC_DOWN","KC_UP","KC_RGHT","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_LCBR","KC_RCBR","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"]],"author":"","notes":""} \ No newline at end of file
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/readme.md b/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/readme.md
new file mode 100644
index 0000000000..598f258e1c
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/readme.md
@@ -0,0 +1,73 @@
+# m47ch4n's keymap for Ergodash rev1
+
+This is the m47ch4n's keymap configuration for Ergodash rev1.
+There are four layers, QWERTY(default), LOWER, RAISE and ADJSUT.
+
+## Layers
+
+### Qwerty
+
+```
+,----------------------------------------------------------------------------------------------------------------------.
+| ESC | 1 | 2 | 3 | 4 | 5 | ZKHK | | ZKHK | 6 | 7 | 8 | 9 | 0 | ` |
+|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+| TAB | Q | W | E | R | T | MHEN | |HENKAN| Y | U | I | O | P | \ |
+|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+| CTRL | A | S | D | F | G | EISU |<-- ONLY FOR MAC -->| KANA | H | J | K | L | ; | ' |
+|------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+| SHIFT| Z | X | C | V | B | SHIFT| | SHIFT| N | M | , | . | / | SHIFT|
+|-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
+| SHIFT|ADJUST| ALT | GUI |||||||| LOWER| SPACE| |||||||| | ENTER| RAISE|||||||| GUI | ALT |ADJUST| SHIFT|
+,----------------------------------------------------------------------------------------------------------------------.
+```
+
+### Lower
+
+```
+,----------------------------------------------------------------------------------------------------------------------.
+| F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 |
+|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+| ~ | ! | @ | # | $ | % | | | | ^ | & | * | ( | ) | | |
+|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+| | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | |
+|------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+| |||||||||||||||||||||| - | _ | | | | + | = | [ | ] |||||||| |
+|-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
+| | | | |||||||| | ESC | |||||||| | BKSP | |||||||| | | | |
+,----------------------------------------------------------------------------------------------------------------------.
+```
+
+### Raise
+
+```
+,----------------------------------------------------------------------------------------------------------------------.
+| F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 |
+|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+| ~ | ! | @ | # | $ | % | | | | ^ | & | * | ( | ) | | |
+|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+| | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | |
+|------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+| |||||||| [ | ] | - | _ | | | | + | = |||||||||||||||||||||| |
+|-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
+| | | | |||||||| | ESC | |||||||| | BKSP | |||||||| | | | |
+,----------------------------------------------------------------------------------------------------------------------.
+```
+
+### Adjust
+
+```
+,----------------------------------------------------------------------------------------------------------------------.
+| | | | | | | US | | JP | | | | | | |
+|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+| | | | | | | | | | | | | | | |
+|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
+| | HOME |PAGEDN|PAGEUP| END |||||||| | | | LEFT | DOWN | UP | RIGHT|||||||| |
+|------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
+| | | { | } | | | | | | | | { | } | | |
+|-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
+| | | | |||||||| | | |||||||| | | |||||||| | | | |
+,----------------------------------------------------------------------------------------------------------------------.
+```
+
+If your pc connect this keyboard with JIS(JP) layout, you should press JP MODE key.
+
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/rules.mk b/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/rules.mk
new file mode 100644
index 0000000000..bb9e33b082
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/rules.mk
@@ -0,0 +1,3 @@
+BACKLIGHT_ENABLE = no
+RGBLIGHT_ENABLE = no
+AUDIO_ENABLE = no
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/config.h
new file mode 100644
index 0000000000..b5c45669d4
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/config.h
@@ -0,0 +1,36 @@
+/*
+This is the c configuration file for the keymap
+
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+
+/* Use I2C or Serial, not both */
+
+#define USE_SERIAL
+// #define USE_I2C
+
+/* Select hand configuration */
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
+
+#undef TAPPING_TERM
+#define TAPPING_TERM 300 \ No newline at end of file
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/keymap.c b/keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/keymap.c
new file mode 100644
index 0000000000..61cac97b0d
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/keymap.c
@@ -0,0 +1,18 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_3key_2us(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_EQL, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_PGUP, KC_LBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_ENT,
+ LCA_T(KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_PGDN, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_GRV, KC_SPC, LT(1,KC_DEL), KC_HOME, KC_END, KC_BSLS, KC_LEFT, KC_RGHT, KC_DOWN, KC_UP
+ ),
+ [1] = LAYOUT_3key_2us(
+ KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F12, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LSFT(KC_HOME), LSFT(KC_END), KC_TRNS, LALT(LSFT(KC_LEFT)), LALT(LSFT(KC_RIGHT)), LALT(LSFT(KC_DOWN)), LALT(LSFT(KC_UP))
+ )
+};
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/layers.json b/keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/layers.json
new file mode 100644
index 0000000000..d6f647622b
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/layers.json
@@ -0,0 +1 @@
+[["KC_ESC", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_EQL", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_BSPC", "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_PGUP", "KC_LBRC", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_ENT", "LCA_T(KC_CAPS)", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_PGDN", "KC_RBRC", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_LCTL", "KC_LGUI", "KC_LALT", "MO(1)", "KC_GRV", "KC_SPC", "LT(1,KC_DEL)", "KC_HOME", "KC_END", "KC_BSLS", "KC_LEFT", "KC_RGHT", "KC_DOWN", "KC_UP"], ["KC_TRNS", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F12", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_PSCR", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "LSFT(KC_HOME)", "LSFT(KC_END)", "KC_TRNS", "LALT(LSFT(KC_LEFT))", "LALT(LSFT(KC_RIGHT))", "LALT(LSFT(KC_DOWN))", "LALT(LSFT(KC_UP))"]] \ No newline at end of file
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/readme.md b/keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/readme.md
new file mode 100644
index 0000000000..f3ba6752ad
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/readme.md
@@ -0,0 +1,13 @@
+# Generated Keymap Layout
+
+This layout was generated by the QMK API. You can find the JSON data used to
+generate this keymap in the file layers.json.
+
+To make use of this file you will need follow the following steps:
+
+* Download or Clone QMK Firmware: <https://github.com/qmk/qmk_firmware/>
+* Extract QMK Firmware to a location on your hard drive
+* Copy this folder into `keyboards/ergodash/rev1/keymaps/`
+* You are now ready to compile or use your keymap with the source
+
+More information can be found in the QMK docs: <https://docs.qmk.fm>
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/rules.mk b/keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/rules.mk
new file mode 100644
index 0000000000..bb9e33b082
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/rules.mk
@@ -0,0 +1,3 @@
+BACKLIGHT_ENABLE = no
+RGBLIGHT_ENABLE = no
+AUDIO_ENABLE = no
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/config.h
new file mode 100644
index 0000000000..4dcefdbcc6
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/config.h
@@ -0,0 +1,36 @@
+/*
+This is the c configuration file for the keymap
+
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+
+/* Use I2C or Serial, not both */
+
+#define USE_SERIAL
+// #define USE_I2C
+
+/* Select hand configuration */
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
+
+#define LEADER_PER_KEY_TIMING
+#define LEADER_TIMEOUT 250 \ No newline at end of file
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/keymap.c b/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/keymap.c
new file mode 100644
index 0000000000..9c450bca97
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/keymap.c
@@ -0,0 +1,199 @@
+#include QMK_KEYBOARD_H
+
+
+enum layers {
+ _WINDOWS,
+ _LINUX,
+ _NUMPAD,
+ _LOWER,
+ _RAISE,
+ _ADJUST,
+};
+
+enum custom_keycodes {
+ WINDOWS = SAFE_RANGE,
+ LINUX,
+ NUMPAD,
+ LOWER,
+ RAISE,
+ ADJUST
+};
+
+#define CTL_ENT MT(MOD_RCTL, KC_PENT)
+#define NUMPAD MO(_NUMPAD)
+#define SHELL LCA(KC_T)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* Windows Qwerty
+ * .---------------------------------------------------------------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | - | | = | 6 | 7 | 8 | 9 | 0 |BSpace |
+ * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+ * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ |
+ * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+ * | Esc | A | S | D | F | G | Home | | Del | H | J | K | L | : | ' |
+ * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+ * | Shift | Z | X | C | V | B | - | | = | N | M | , | . | / | Shift |
+ * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+ * | LCtrl | LGUI | LAlt |Numpad ||||||||| Space | Lower | Enter ||||||||| Enter | Raise |BSpace ||||||||| F5 | RAlt | RGui |Ctl/Ent|
+ * .---------------------------------------------------------------------------------------------------------------------------------------.
+ */
+ [_WINDOWS] = LAYOUT( \
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, \
+ KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_HOME, KC_DEL, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MINS, KC_EQL, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
+ KC_LCTL, KC_LGUI, KC_LALT, NUMPAD, KC_SPC, LOWER, KC_ENT, KC_ENT, RAISE, KC_BSPC, KC_F5, KC_RALT, KC_RGUI, CTL_ENT \
+ ),
+
+ /* Linux Qwerty
+ * .---------------------------------------------------------------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | - | | = | 6 | 7 | 8 | 9 | 0 |BSpace |
+ * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+ * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ |
+ * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+ * | Esc | A | S | D | F | G | Home | | Del | H | J | K | L | : | ' |
+ * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+ * | Shift | Z | X | C | V | B | - | | = | N | M | , | . | / | Shift |
+ * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+ * | LCtrl | LGUI | LAlt |Numpad ||||||||| Space | Lower | Enter ||||||||| Enter | Raise |BSpace ||||||||| Shell | RAlt | RGui |Ctl/Ent|
+ * .---------------------------------------------------------------------------------------------------------------------------------------.
+ */
+ [_LINUX] = LAYOUT( \
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, \
+ KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_HOME, KC_DEL, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MINS, KC_EQL, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
+ KC_LCTL, KC_LGUI, KC_LALT, NUMPAD, KC_SPC, LOWER, KC_ENT, KC_ENT, RAISE, KC_BSPC, SHELL, KC_RALT, KC_RGUI, CTL_ENT \
+ ),
+
+ /* Numpad
+ * .---------------------------------------------------------------------------------------------------------------------------------------.
+ * |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|NumLock| / | * | - |XXXXXXX|
+ * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+ * |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX| 7 | 8 | 9 | |XXXXXXX|
+ * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+ + +-------|
+ * |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX| 4 | 5 | 6 | |XXXXXXX|
+ * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+ * |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX| 1 | 2 | 3 | |XXXXXXX|
+ * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+ Enter +-------|
+ * |XXXXXXX|XXXXXXX|XXXXXXX|Numpad |||||||||XXXXXXX|XXXXXXX|XXXXXXX|||||||||XXXXXXX|XXXXXXX|XXXXXXX||||||||| 0 | . | | Enter |
+ * .---------------------------------------------------------------------------------------------------------------------------------------.
+ */
+ [_NUMPAD] = LAYOUT( \
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, KC_BSPC, \
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS, XXXXXXX, \
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, XXXXXXX, \
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, XXXXXXX, \
+ XXXXXXX, XXXXXXX, XXXXXXX, NUMPAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_KP_0, KC_PDOT, KC_PENT, KC_PENT \
+ ),
+
+ /* Lower
+ * .---------------------------------------------------------------------------------------------------------------------------------------.
+ * | F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 |
+ * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+ * | | | | ( | { | [ | | | | ] | } | ) | | | |
+ * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+ * | | | | | |PageUp | | | | | | | | | |
+ * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+ * | |VolDown| VolUp | | |PageDwn| | | | | | | | | |
+ * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+ * | | | | ||||||||| | Lower | ||||||||| | Raise | ||||||||| | | | |
+ * .---------------------------------------------------------------------------------------------------------------------------------------.
+ */
+ [_LOWER] = LAYOUT( \
+ KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, \
+ _______, _______, _______, KC_LPRN, KC_LCBR, KC_LBRC, _______, _______, KC_RBRC, KC_RCBR, KC_RPRN, _______, _______, _______, \
+ _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, \
+ KC_CAPS, KC_VOLD, KC_VOLU, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, KC_CAPS, \
+ _______, _______, _______, _______, _______, LOWER, _______, _______, RAISE, _______, _______, _______, _______, _______ \
+ ),
+
+ /* Raise
+ * .---------------------------------------------------------------------------------------------------------------------------------------.
+ * | F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 |
+ * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+ * | | | | ( | { | [ | | | | ] | } | ) | | | |
+ * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+ * | | | | | | | End | | | Left | Down | Up | Right | | |
+ * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+ * | | | | | | | | | | | | | | | |
+ * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+ * | | | | ||||||||| | Lower | ||||||||| | Raise | ||||||||| | | | |
+ * .---------------------------------------------------------------------------------------------------------------------------------------.
+ */
+ [_RAISE] = LAYOUT( \
+ KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, \
+ _______, _______, _______, KC_LPRN, KC_LCBR, KC_LBRC, _______, _______, KC_RBRC, KC_RCBR, KC_RPRN, _______, _______, _______, \
+ _______, _______, _______, _______, _______, _______, KC_END, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, \
+ KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_MPLY, KC_CAPS, \
+ _______, _______, _______, _______, _______, LOWER, _______, _______, RAISE, _______, _______, _______, _______, _______ \
+ ),
+
+ /* Adjust
+ * .---------------------------------------------------------------------------------------------------------------------------------------.
+ * |XXXXXXX|Windows| Linux |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|
+ * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+ * |XXXXXXX|XXXXXXX|XXXXXXX| Cycle |On/Off |XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|On/Off | Cycle |XXXXXXX|XXXXXXX|XXXXXXX|
+ * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+ * | Reset |XXXXXXX|XXXXXXX|Breathe| Inc |XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|Hue inc|Sat inc| Inc |XXXXXXX|XXXXXXX|
+ * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+ * |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| Dec |XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|Hue dec|Sat dec| Dec |XXXXXXX|XXXXXXX|
+ * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+ * |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|||||||||XXXXXXX| Lower |XXXXXXX|||||||||XXXXXXX| Raise |XXXXXXX|||||||||XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|
+ * .---------------------------------------------------------------------------------------------------------------------------------------.
+ */
+ [_ADJUST] = LAYOUT( \
+ XXXXXXX, WINDOWS, LINUX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ XXXXXXX, XXXXXXX, XXXXXXX, BL_STEP, BL_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, \
+ RESET, XXXXXXX, XXXXXXX, BL_BRTG, BL_INC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, \
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, \
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LOWER, XXXXXXX, XXXXXXX, RAISE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \
+ )
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case WINDOWS:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_WINDOWS);
+ }
+ return false;
+ break;
+ case LINUX:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_LINUX);
+ }
+ return false;
+ break;
+ case LOWER:
+ if (record->event.pressed) {
+ layer_on(_LOWER);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ } else {
+ layer_off(_LOWER);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ }
+ return false;
+ break;
+ case RAISE:
+ if (record->event.pressed) {
+ layer_on(_RAISE);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ } else {
+ layer_off(_RAISE);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ }
+ return false;
+ break;
+ case ADJUST:
+ if (record->event.pressed) {
+ layer_on(_ADJUST);
+ } else {
+ layer_off(_ADJUST);
+ }
+ return false;
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/readme.md b/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/readme.md
new file mode 100644
index 0000000000..7ab665a8d4
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/readme.md
@@ -0,0 +1,89 @@
+# ShadowProgr's layout for ErgoDash
+
+There are 2 different QWERTY base layers for use with Windows and Linux OSes. Beside those 2 there are also a numpad layer and 3 modifier layers (lower, raise and adjust).
+
+## Layouts
+### Windows
+```
+.---------------------------------------------------------------------------------------------------------------------------------------.
+| ` | 1 | 2 | 3 | 4 | 5 | - | | = | 6 | 7 | 8 | 9 | 0 |BSpace |
+|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+| Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ |
+|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+| Esc | A | S | D | F | G | Home | | Del | H | J | K | L | : | ' |
+|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+| Shift | Z | X | C | V | B | - | | = | N | M | , | . | / | Shift |
+|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+| LCtrl | LGUI | LAlt |Numpad ||||||||| Space | Lower | Enter ||||||||| Enter | Raise |BSpace ||||||||| F5 | RAlt | RGui |Ctl/Ent|
+.---------------------------------------------------------------------------------------------------------------------------------------.
+```
+### Linux
+```
+.---------------------------------------------------------------------------------------------------------------------------------------.
+| ` | 1 | 2 | 3 | 4 | 5 | - | | = | 6 | 7 | 8 | 9 | 0 |BSpace |
+|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+| Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ |
+|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+| Esc | A | S | D | F | G | Home | | Del | H | J | K | L | : | ' |
+|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+| Shift | Z | X | C | V | B | - | | = | N | M | , | . | / | Shift |
+|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+| LCtrl | LGUI | LAlt |Numpad ||||||||| Space | Lower | Enter ||||||||| Enter | Raise |BSpace ||||||||| Shell | RAlt | RGui |Ctl/Ent|
+.---------------------------------------------------------------------------------------------------------------------------------------.
+```
+### Numpad
+```
+.---------------------------------------------------------------------------------------------------------------------------------------.
+|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|NumLock| / | * | - |XXXXXXX|
+|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX| 7 | 8 | 9 | |XXXXXXX|
+|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+ + +-------|
+|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX| 4 | 5 | 6 | |XXXXXXX|
+|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX| 1 | 2 | 3 | |XXXXXXX|
+|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+ Enter +-------|
+|XXXXXXX|XXXXXXX|XXXXXXX|Numpad |||||||||XXXXXXX|XXXXXXX|XXXXXXX|||||||||XXXXXXX|XXXXXXX|XXXXXXX||||||||| 0 | . | | Enter |
+.---------------------------------------------------------------------------------------------------------------------------------------.
+```
+### Lower
+```
+.---------------------------------------------------------------------------------------------------------------------------------------.
+| F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 |
+|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+| | | | ( | { | [ | | | | ] | } | ) | | | |
+|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+| | | | | |PageUp | | | | | | | | | |
+|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+| |VolDown| VolUp | | |PageDwn| | | | | | | | | |
+|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+| | | | ||||||||| | Lower | ||||||||| | Raise | ||||||||| | | | |
+.---------------------------------------------------------------------------------------------------------------------------------------.
+```
+### Raise
+```
+.---------------------------------------------------------------------------------------------------------------------------------------.
+| F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 |
+|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+| | | | ( | { | [ | | | | ] | } | ) | | | |
+|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+| | | | | | | End | | | Left | Down | Up | Right | | |
+|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+| | | | | | | | | | | | | | | |
+|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+| | | | ||||||||| | Lower | ||||||||| | Raise | ||||||||| | | | |
+.---------------------------------------------------------------------------------------------------------------------------------------.
+```
+### Adjust
+```
+.---------------------------------------------------------------------------------------------------------------------------------------.
+|XXXXXXX|Windows| Linux |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|
+|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+|XXXXXXX|XXXXXXX|XXXXXXX| Cycle |On/Off |XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|On/Off | Cycle |XXXXXXX|XXXXXXX|XXXXXXX|
+|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+| Reset |XXXXXXX|XXXXXXX|Breathe| Inc |XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|Hue inc|Sat inc| Inc |XXXXXXX|XXXXXXX|
+|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| Dec |XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|Hue dec|Sat dec| Dec |XXXXXXX|XXXXXXX|
+|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
+|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|||||||||XXXXXXX| Lower |XXXXXXX|||||||||XXXXXXX| Raise |XXXXXXX|||||||||XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|
+.---------------------------------------------------------------------------------------------------------------------------------------.
+``` \ No newline at end of file
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/rules.mk b/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/rules.mk
new file mode 100644
index 0000000000..30d8419904
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/rules.mk
@@ -0,0 +1,3 @@
+BACKLIGHT_ENABLE = yes
+RGBLIGHT_ENABLE = yes
+AUDIO_ENABLE = no \ No newline at end of file
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/config.h
new file mode 100644
index 0000000000..df04873a97
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/config.h
@@ -0,0 +1,33 @@
+/*
+This is the c configuration file for the keymap
+
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+
+/* Use I2C or Serial, not both */
+
+#define USE_SERIAL
+// #define USE_I2C
+
+/* Select hand configuration */
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/keymap.c b/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/keymap.c
new file mode 100644
index 0000000000..6d080f2af1
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/keymap.c
@@ -0,0 +1,24 @@
+#include QMK_KEYBOARD_H
+#include "keymap_german.h"
+
+enum layers {
+ _QWERTZ,
+ _MOD,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QWERTZ] = LAYOUT(
+ _______ ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,_______ , KC_RSFT ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,_______ ,
+ KC_ESC ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_BSPC , KC_DEL ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,DE_ADIA ,
+ KC_TAB ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,DE_UNDS , KC_LALT ,KC_H ,KC_J ,KC_K ,KC_L ,DE_EQL ,DE_ODIA ,
+ _______ ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_SPC , KC_ENT ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,DE_SS ,DE_UDIA ,
+ _______ ,_______ ,_______ ,_______ , KC_LCTL ,KC_SPC ,KC_LSFT , MO(_MOD),KC_ENT ,KC_LGUI , _______ ,_______ ,_______ ,_______
+ ),
+ [_MOD] = LAYOUT(
+ KC_F11 ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,RGB_MOD , RESET ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F12 ,
+ DE_CIRC ,DE_QUOT ,DE_DQUO ,DE_LCBR ,DE_RCBR ,DE_GRV ,RGB_TOG , _______ ,DE_PERC ,DE_PLUS ,DE_MINS ,DE_ASTR ,DE_SLSH ,DE_BSLS ,
+ DE_TILD ,DE_EXLM ,DE_DLR ,DE_LPRN ,DE_RPRN ,DE_AMPR ,RGB_M_P , _______ ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT ,DE_QUES ,DE_PIPE ,
+ _______ ,DE_AT ,DE_EURO ,DE_LBRC ,DE_RBRC ,_______ ,_______ , _______ ,DE_HASH ,DE_LABK ,DE_SCLN ,DE_COLN ,DE_RABK ,DE_SECT ,
+ _______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ , _______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______
+ ),
+}; \ No newline at end of file
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/readme.md b/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/readme.md
new file mode 100644
index 0000000000..54ee4d4f1f
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/readme.md
@@ -0,0 +1,4 @@
+# Tw1t611 Ergodash Layout
+
+This is a german layout for the ergodash keyboard. The Umlauts are placed on the right side.
+It uses two layers and has vim like aligned arrow keys.
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/rules.mk b/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/rules.mk
new file mode 100644
index 0000000000..bb9e33b082
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/rules.mk
@@ -0,0 +1,3 @@
+BACKLIGHT_ENABLE = no
+RGBLIGHT_ENABLE = no
+AUDIO_ENABLE = no
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/yet-another-developer/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/yet-another-developer/config.h
new file mode 100644
index 0000000000..1005c48046
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/yet-another-developer/config.h
@@ -0,0 +1,67 @@
+/*
+This is the c configuration file for the keymap
+
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+
+/* Use I2C or Serial, not both */
+#define USE_SERIAL
+// #define USE_I2C
+
+/* Select hand configuration */
+
+//#define MASTER_LEFT
+#define MASTER_RIGHT /* Cable connected to the right split keyboard */
+// #define EE_HANDS
+
+#define AUTO_SHIFT_TIMEOUT 210
+
+#define TAPPING_TERM_PER_KEY
+
+// https://beta.docs.qmk.fm/features/feature_leader_key
+//#define LEADER_PER_KEY_TIMING
+//#define LEADER_TIMEOUT 280
+
+// https://docs.qmk.fm/#/feature_mouse_keys
+#define MK_3_SPEED // Constant Speed Mode
+
+#define MOUSEKEY_DELAY 300
+#define MOUSEKEY_INTERVAL 16
+#define MOUSEKEY_MAX_SPEED 3
+#define MOUSEKEY_TIME_TO_MAX 60
+#define MK_C_OFFSET_0 4
+#define MK_C_INTERVAL_0 28
+#define MK_C_OFFSET_1 8
+#define MK_C_INTERVAL_1 16
+#define MK_C_OFFSET_2 20
+#define MK_C_INTERVAL_2 16
+
+#define MOUSEKEY_WHEEL_MAX_SPEED 4
+#define MOUSEKEY_WHEEL_TIME_TO_MAX 40
+
+#define MK_W_OFFSET_0 1
+#define MK_W_INTERVAL_0 120
+#define MK_W_OFFSET_1 1
+#define MK_W_INTERVAL_1 100
+#define MK_W_OFFSET_2 1
+#define MK_W_INTERVAL_2 60
+
+//#define STARTUP_RESET_EEPROM // EMERGENCY
+
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/yet-another-developer/keymap.c b/keyboards/omkbd/ergodash/rev1/keymaps/yet-another-developer/keymap.c
new file mode 100644
index 0000000000..1d51227ccf
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/yet-another-developer/keymap.c
@@ -0,0 +1,157 @@
+#include QMK_KEYBOARD_H
+#include "yet-another-developer.h"
+
+#ifndef UNICODE_ENABLE
+# define UC(x) KC_NO
+#endif
+
+extern keymap_config_t keymap_config;
+
+#define EISU LALT(KC_GRV)
+
+#define LAYOUT_ergodash_pretty_wrapper(...) LAYOUT_ergodash_pretty(__VA_ARGS__)
+
+ /* Keymap: BASE layer
+ *
+ * ,----------------------------------------------------. ,----------------------------------------------------.
+ * | ESC | 1 | 2 | 3 | 4 | 5 | [ | | ] | 6 | 7 | 8 | 9 | 0 | Pscree |
+ * |--------+--------+------+------+------+-------------| |------+------+------+------+------+--------+--------|
+ * | ` | K01 | K02 | K03 | K04 | K05 | - | | = | K06 | K07 | K08 | K09 | K0A | \ |
+ * |--------+--------+------+------+------+------|------| |------|------+------+------+------+--------+--------|
+ * | Tab | K11 | K12 | K13 | K14 | K15 | { | | } | K16 | K17 | K18 | K19 | K1A | " |
+ * |--------+--------+------+------+------+------|------' `------|------+------+------+------+--------+--------|
+ * | LShift | K21 | K22 | K23 | K24 | K25 | | K26 | K27 | K28 | K29 | K2A | RShift |
+ * |--------+--------+------+------+------+------' `------+------+------+------+--------+--------|
+ * | LCtrl | GUI | Alt | Alt | | LEFT | DOWN | UP | RIGHT |
+ * `-------------------------------' `-------------------------------'
+ * ,--------------. ,--------------.
+ * | Lower| | | | Raise |
+ * ,-------| / | Del | | Bksp + / +-------.
+ * |CMD/Spc| Space| | | | Enter |CMD/Spc|
+ * `----------------------' `----------------------'
+ */
+#define LAYOUT_ergodash_pretty_base( \
+ K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \
+ K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \
+ K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \
+ ) \
+ LAYOUT_ergodash_pretty_wrapper( \
+ KC_ESC, ________________NUMBER_LEFT________________, KC_LBRC, KC_RBRC, ________________NUMBER_RIGHT_______________, KC_PSCR, \
+ KC_GRV, K01, K02, K03, K04, K05, KC_MINS, KC_EQL, K06, K07, K08, K09, K0A, KC_BSLS, \
+ KC_TAB, K11, K12, K13, K14, K15, KC_LCBR, KC_RCBR, K16, K17, K18, K19, K1A, KC_QUOT, \
+ OS_LSFT, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, OS_RSFT, \
+ KC_LCTL, KC_LGUI, KC_LALT, KC_LALT, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, \
+ LT(_LOWER, KC_SPC), LT(_RAISE, KC_ENT), \
+ OS_LGUI,LT(_LOWER, KC_SPC),KC_DEL, KC_BSPC, LT(_RAISE, KC_ENT), OS_RGUI \
+ )
+
+#define LAYOUT_ergodash_pretty_base_wrapper(...) LAYOUT_ergodash_pretty_base(__VA_ARGS__)
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_QWERTY] = LAYOUT_ergodash_pretty_base_wrapper(
+ _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
+ _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
+ _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
+ ),
+
+/* Keymap: COLEMAK layer
+ *
+ * ,----------------------------------------------------. ,----------------------------------------------------.
+ * | ESC | 1 | 2 | 3 | 4 | 5 | [ | | ] | 6 | 7 | 8 | 9 | 0 | - |
+ * |--------+--------+------+------+------+-------------| |------+------+------+------+------+--------+--------|
+ * | ` | Q | W | F | P | G | - | | = | J | L | U | Y | ; | \ |
+ * |--------+--------+------+------+------+------|------| |------|------+------+------+------+--------+--------|
+ * | Tab | A | R | S | T | D | Del | | Bksp | H | N | E | I | O | ' |
+ * |--------+--------+------+------+------+------|------' `------|------+------+------+------+--------+--------|
+ * | LShift | Z | X | C | V | B | | K | M | , < | . > | / | RShift |
+ * |--------+--------+------+------+------+------' `------+------+------+------+--------+--------|
+ * | Ctrl | GUI | Alt | EISU | | LEFT | DOWN | UP | RIGHT |
+ * `-------------------------------' `-------------------------------'
+ * ,--------------. ,--------------.
+ * | Lower| | | | Raise |
+ * ,-------| / | Del | | Bksp + / +-------.
+ * |CMD/Spc| Space| | | | Enter |CMD/Spc|
+ * `----------------------' `----------------------'
+ */
+
+
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+ [_COLEMAK] = LAYOUT_ergodash_pretty_base_wrapper(
+ _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
+ _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
+ _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
+ ),
+
+ [_DVORAK] = LAYOUT_ergodash_pretty_base_wrapper(
+ _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
+ _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
+ _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
+ ),
+
+ [_WORKMAN] = LAYOUT_ergodash_pretty_base_wrapper(
+ _________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
+ _________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
+ _________________WORKMAN_L3________________, _________________WORKMAN_R3________________
+ ),
+
+#ifdef UNICODEMAP_ENABLE
+ [_UNICODE] = LAYOUT_ergodash_pretty_base_wrapper(
+ _______________UNICODE_L1__________________, _______________UNICODE_R1__________________,
+ _______________UNICODE_L2__________________, _______________UNICODE_R2__________________,
+ _______________UNICODE_L3__________________, _______________UNICODE_R3__________________
+ ),
+#endif
+
+ [_LOWER] = LAYOUT_ergodash_pretty_wrapper(
+ KC_F11, _________________FUNC_LEFT_________________, KC_RST , KC_RST , _________________FUNC_RIGHT________________, KC_F12,
+ KC_TILD, _________________LOWER_L1__________________, _______, _______, _________________LOWER_R1__________________, KC_PIPE,
+ _______, _________________LOWER_L2__________________, _______, _______, _________________LOWER_R2__________________, KC_DQUO,
+ _______, _________________LOWER_L3__________________, _________________LOWER_R3__________________, KC_PSCR,
+ _______, _______, _______, _______, _______, _______, _______, KC_PAUS,
+ _______, _______,
+ _______, _______, _______, _______, _______, _______
+ ),
+
+ [_RAISE] = LAYOUT_ergodash_pretty_wrapper(
+ KC_F12, _________________FUNC_LEFT_________________, KC_RST, KC_RST , _________________FUNC_RIGHT________________, KC_F11,
+ KC_GRV, _________________RAISE_L1__________________, _______, _______, _________________RAISE_R1__________________, KC_BSLS,
+ _______, _________________RAISE_L2__________________, _______, _______, _________________RAISE_R2__________________, KC_QUOT,
+ _______, _________________RAISE_L3__________________, _________________RAISE_R3__________________, KC_PSCR,
+ _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END,
+ _______, _______,
+ _______, _______, _______, _______, _______, _______
+ ),
+
+ [_ADJUST] = LAYOUT_ergodash_pretty_wrapper(
+ KC_MAKE, _______, _______, _______, _______, _______, _______, KC_NUKE, _______, _______, _______, _______, _______, KC_RST,
+ VRSN, _________________ADJUST_L1_________________, _______, _______, _________________ADJUST_R1_________________, EEP_RST,
+ _______, _________________ADJUST_L2_________________, _______, _______, _________________ADJUST_R2_________________, _______,
+ _______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______,
+ _______, _______, _______, _______, _______, _______
+ ),
+};
+
+#ifdef AUDIO_ENABLE
+float tone_qwerty[][2] = SONG(QWERTY_SOUND);
+#endif
+
+void persistent_default_layer_set(uint16_t default_layer) {
+ eeconfig_update_default_layer(default_layer);
+ default_layer_set(default_layer);
+}
+
+bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
+ return true;
+}
+void matrix_init_keymap(void) {
+#ifdef STARTUP_RESET_EEPROM
+ eeconfig_init();
+#endif
+}
+
+//
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/yet-another-developer/rules.mk b/keyboards/omkbd/ergodash/rev1/keymaps/yet-another-developer/rules.mk
new file mode 100644
index 0000000000..a7d4fcaac3
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/yet-another-developer/rules.mk
@@ -0,0 +1,23 @@
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+
+# Device
+AUDIO_ENABLE = no
+
+RGBLIGHT_ENABLE = no
+BACKLIGHT_ENABLE = no
+INDICATOR_LIGHTS = no
+
+# QMK Features
+AUTO_SHIFT_ENABLE = no
+MOUSEKEY_ENABLE = no
+CONSOLE_ENABLE = no # Console for debug(+400)
+COMMAND_ENABLE = no # Commands for debug and configuration
+LEADER_ENABLE = yes # default is yes
+TAP_DANCE_ENABLE = no #(+1254)
+UNICODE_ENABLE = no #(+1134)
+UNICODEMAP_ENABLE = no
+NKRO_ENABLE = no
+MACROS_ENABLED = no
+
+# User Defined Features
+NO_SECRETS = no
diff --git a/keyboards/omkbd/ergodash/rev1/rev1.c b/keyboards/omkbd/ergodash/rev1/rev1.c
new file mode 100644
index 0000000000..00f81cae11
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/rev1.c
@@ -0,0 +1,32 @@
+#include "ergodash.h"
+
+#ifdef AUDIO_ENABLE
+ float tone_startup[][2] = SONG(STARTUP_SOUND);
+ float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
+#endif
+
+void matrix_init_kb(void) {
+
+ #ifdef AUDIO_ENABLE
+ _delay_ms(20); // gets rid of tick
+ PLAY_SONG(tone_startup);
+ #endif
+
+ // // green led on
+ // DDRD |= (1<<5);
+ // PORTD &= ~(1<<5);
+
+ // // orange led on
+ // DDRB |= (1<<0);
+ // PORTB &= ~(1<<0);
+
+ matrix_init_user();
+};
+
+void shutdown_user(void) {
+ #ifdef AUDIO_ENABLE
+ PLAY_SONG(tone_goodbye);
+ _delay_ms(150);
+ stop_all_notes();
+ #endif
+}
diff --git a/keyboards/omkbd/ergodash/rev1/rev1.h b/keyboards/omkbd/ergodash/rev1/rev1.h
new file mode 100644
index 0000000000..7f094534cc
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/rev1.h
@@ -0,0 +1,139 @@
+#pragma once
+
+#include "ergodash.h"
+
+#include "quantum.h"
+
+#ifdef USE_I2C
+#include <stddef.h>
+#ifdef __AVR__
+ #include <avr/io.h>
+ #include <avr/interrupt.h>
+#endif
+#endif
+
+#define XXX KC_NO
+
+#ifndef FLIP_HALF
+// Standard Keymap
+// (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
+# define LAYOUT_4key( \
+ L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
+ L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
+ L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
+ L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \
+ L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \
+) { \
+ { L00, L01, L02, L03, L04, L05, L06 }, \
+ { L10, L11, L12, L13, L14, L15, L16 }, \
+ { L20, L21, L22, L23, L24, L25, L26 }, \
+ { L30, L31, L32, L33, L34, L35, L36 }, \
+ { L40, L41, L42, L43, L44, L45, L46 }, \
+ { R06, R05, R04, R03, R02, R01, R00 }, \
+ { R16, R15, R14, R13, R12, R11, R10 }, \
+ { R26, R25, R24, R23, R22, R21, R20 }, \
+ { R36, R35, R34, R33, R32, R31, R30 }, \
+ { R46, R45, R44, R43, R42, R41, R40 } \
+}
+
+// Just defined for configurator support, the matrix is identical to LAYOUT_4key
+# define LAYOUT_4key_2u_inner( \
+ L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
+ L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
+ L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
+ L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \
+ L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \
+) { \
+ { L00, L01, L02, L03, L04, L05, L06 }, \
+ { L10, L11, L12, L13, L14, L15, L16 }, \
+ { L20, L21, L22, L23, L24, L25, L26 }, \
+ { L30, L31, L32, L33, L34, L35, L36 }, \
+ { L40, L41, L42, L43, L44, L45, L46 }, \
+ { R06, R05, R04, R03, R02, R01, R00 }, \
+ { R16, R15, R14, R13, R12, R11, R10 }, \
+ { R26, R25, R24, R23, R22, R21, R20 }, \
+ { R36, R35, R34, R33, R32, R31, R30 }, \
+ { R46, R45, R44, R43, R42, R41, R40 } \
+}
+
+# define LAYOUT_3key_2us( \
+ L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
+ L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
+ L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
+ L30, L31, L32, L33, L34, L35, R31, R32, R33, R34, R35, R36, \
+ L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \
+) { \
+ { L00, L01, L02, L03, L04, L05, L06 }, \
+ { L10, L11, L12, L13, L14, L15, L16 }, \
+ { L20, L21, L22, L23, L24, L25, L26 }, \
+ { L30, L31, L32, L33, L34, L35, XXX }, \
+ { L40, L41, L42, L43, L44, L45, L46 }, \
+ { R06, R05, R04, R03, R02, R01, R00 }, \
+ { R16, R15, R14, R13, R12, R11, R10 }, \
+ { R26, R25, R24, R23, R22, R21, R20 }, \
+ { R36, R35, R34, R33, R32, R31, XXX }, \
+ { R46, R45, R44, R43, R42, R41, R40 } \
+}
+
+# define LAYOUT_3key_1us( \
+ L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
+ L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
+ L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
+ L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \
+ L40, L41, L42, L43, L44, L45, R41, R42, R43, R44, R45, R46 \
+) { \
+ { L00, L01, L02, L03, L04, L05, L06 }, \
+ { L10, L11, L12, L13, L14, L15, L16 }, \
+ { L20, L21, L22, L23, L24, L25, L26 }, \
+ { L30, L31, L32, L33, L34, L35, L36 }, \
+ { L40, L41, L42, L43, L44, L45, XXX }, \
+ { R06, R05, R04, R03, R02, R01, R00 }, \
+ { R16, R15, R14, R13, R12, R11, R10 }, \
+ { R26, R25, R24, R23, R22, R21, R20 }, \
+ { R36, R35, R34, R33, R32, R31, R30 }, \
+ { R46, R45, R44, R43, R42, R41, XXX } \
+}
+
+# define LAYOUT_2key( \
+ L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
+ L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
+ L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
+ L30, L31, L32, L33, L34, L35, R31, R32, R33, R34, R35, R36, \
+ L40, L41, L42, L43, L44, L45, R41, R42, R43, R44, R45, R46 \
+) { \
+ { L00, L01, L02, L03, L04, L05, L06 }, \
+ { L10, L11, L12, L13, L14, L15, L16 }, \
+ { L20, L21, L22, L23, L24, L25, L26 }, \
+ { L30, L31, L32, L33, L34, L35, XXX }, \
+ { L40, L41, L42, L43, L44, L45, XXX }, \
+ { R06, R05, R04, R03, R02, R01, R00 }, \
+ { R16, R15, R14, R13, R12, R11, R10 }, \
+ { R26, R25, R24, R23, R22, R21, R20 }, \
+ { R36, R35, R34, R33, R32, R31, XXX }, \
+ { R46, R45, R44, R43, R42, R41, XXX } \
+}
+
+#define LAYOUT LAYOUT_4key
+
+#else
+// Keymap with right side flipped
+// (TRRS jack on both halves are to the right)
+# define LAYOUT( \
+ L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
+ L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
+ L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
+ L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \
+ L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \
+) { \
+ { L00, L01, L02, L03, L04, L05, L06 }, \
+ { L10, L11, L12, L13, L14, L15, L16 }, \
+ { L20, L21, L22, L23, L24, L25, L26 }, \
+ { L30, L31, L32, L33, L34, L35, L36 }, \
+ { L40, L41, L42, L43, L44, L45, L46 }, \
+ { R00, R01, R02, R03, R04, R05, R06 }, \
+ { R10, R11, R12, R13, R14, R15, R16 }, \
+ { R20, R21, R22, R23, R24, R25, R26 }, \
+ { R30, R31, R32, R33, R34, R35, R36 }, \
+ { R40, R41, R42, R43, R44, R45, R46 } \
+}
+#endif
diff --git a/keyboards/omkbd/ergodash/rev1/rules.mk b/keyboards/omkbd/ergodash/rev1/rules.mk
new file mode 100644
index 0000000000..bb9e33b082
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rev1/rules.mk
@@ -0,0 +1,3 @@
+BACKLIGHT_ENABLE = no
+RGBLIGHT_ENABLE = no
+AUDIO_ENABLE = no
diff --git a/keyboards/omkbd/ergodash/rules.mk b/keyboards/omkbd/ergodash/rules.mk
new file mode 100644
index 0000000000..5c44a74433
--- /dev/null
+++ b/keyboards/omkbd/ergodash/rules.mk
@@ -0,0 +1,22 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+AUDIO_ENABLE = no # Audio output
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
+
+SPLIT_KEYBOARD = yes # Enables split keyboard support
+
+DEFAULT_FOLDER = omkbd/ergodash/rev1
diff --git a/keyboards/omkbd/runner3680/3x6/.noci b/keyboards/omkbd/runner3680/3x6/.noci
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/omkbd/runner3680/3x6/.noci
diff --git a/keyboards/omkbd/runner3680/3x6/3x6.c b/keyboards/omkbd/runner3680/3x6/3x6.c
new file mode 100644
index 0000000000..1f375c3ecb
--- /dev/null
+++ b/keyboards/omkbd/runner3680/3x6/3x6.c
@@ -0,0 +1 @@
+#include "3x6.h"
diff --git a/keyboards/omkbd/runner3680/3x6/3x6.h b/keyboards/omkbd/runner3680/3x6/3x6.h
new file mode 100644
index 0000000000..c197c6de2c
--- /dev/null
+++ b/keyboards/omkbd/runner3680/3x6/3x6.h
@@ -0,0 +1,19 @@
+#pragma once
+
+#include "runner3680.h"
+
+#include "quantum.h"
+
+#define LAYOUT( \
+ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
+ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
+ L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25 \
+ ) \
+ { \
+ { L00, L01, L02, L03, L04, L05 }, \
+ { L10, L11, L12, L13, L14, L15 }, \
+ { L20, L21, L22, L23, L24, L25 }, \
+ { R05, R04, R03, R02, R01, R00 }, \
+ { R15, R14, R13, R12, R11, R10 }, \
+ { R25, R24, R23, R22, R21, R20 } \
+ }
diff --git a/keyboards/omkbd/runner3680/3x6/config.h b/keyboards/omkbd/runner3680/3x6/config.h
new file mode 100644
index 0000000000..af8e6eb32b
--- /dev/null
+++ b/keyboards/omkbd/runner3680/3x6/config.h
@@ -0,0 +1,69 @@
+/* Copyright 2019 omkbd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x0000
+#define DEVICE_VER 0x0005
+#define MANUFACTURER Omkbd
+#define PRODUCT runner3680
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 6
+
+// wiring of each half
+#define MATRIX_ROW_PINS { D4, C6, D7 }
+#define MATRIX_COL_PINS { F6, F7, B1, B3, B2 ,B6 }
+// #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6} //uncomment this line and comment line above if you need to reverse left-to-right key order
+
+#define DIODE_DIRECTION COL2ROW
+
+/* define tapping term */
+#define TAPPING_TERM 120
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* ws2812 RGB LED */
+#define RGB_DI_PIN D3
+#define RGBLIGHT_ANIMATIONS
+#define RGBLED_NUM 36
+#define RGBLIGHT_SPLIT
+#define RGBLED_SPLIT { 18, 18 } // Number of LEDs
+#define RGBLIGHT_LIMIT_VAL 100
+
+#define SOFT_SERIAL_PIN D2
+#define SELECT_SOFT_SERIAL_SPEED 1
+/*Sets the protocol speed when using serial communication*/
+//Speeds:
+//0: about 189kbps (Experimental only)
+//1: about 137kbps (default)
+//2: about 75kbps
+//3: about 39kbps
+//4: about 26kbps
+//5: about 20kbps
diff --git a/keyboards/omkbd/runner3680/3x6/info.json b/keyboards/omkbd/runner3680/3x6/info.json
new file mode 100644
index 0000000000..c54fe46106
--- /dev/null
+++ b/keyboards/omkbd/runner3680/3x6/info.json
@@ -0,0 +1,49 @@
+{
+ "keyboard_name": "runner3680 3x6",
+ "url": "",
+ "maintainer": "omkbd",
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+ {"x":4, "y":1},
+ {"x":5, "y":1},
+ {"x":7, "y":1},
+ {"x":8, "y":1},
+ {"x":9, "y":1},
+ {"x":10, "y":1},
+ {"x":11, "y":1},
+ {"x":12, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+ {"x":4, "y":2},
+ {"x":5, "y":2},
+ {"x":7, "y":2},
+ {"x":8, "y":2},
+ {"x":9, "y":2},
+ {"x":10, "y":2},
+ {"x":11, "y":2},
+ {"x":12, "y":2}
+ ]
+ }
+ }
+}
diff --git a/keyboards/omkbd/runner3680/3x6/keymaps/default/config.h b/keyboards/omkbd/runner3680/3x6/keymaps/default/config.h
new file mode 100644
index 0000000000..43a82f38a0
--- /dev/null
+++ b/keyboards/omkbd/runner3680/3x6/keymaps/default/config.h
@@ -0,0 +1,9 @@
+#pragma once
+
+//#define USE_MATRIX_I2C
+
+/* Select hand configuration */
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
diff --git a/keyboards/omkbd/runner3680/3x6/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/3x6/keymaps/default/keymap.c
new file mode 100644
index 0000000000..99ab7ff2d7
--- /dev/null
+++ b/keyboards/omkbd/runner3680/3x6/keymaps/default/keymap.c
@@ -0,0 +1,85 @@
+#include QMK_KEYBOARD_H
+
+
+#ifdef RGBLIGHT_ENABLE
+//Following line allows macro to read current RGB settings
+extern rgblight_config_t rgblight_config;
+rgblight_config_t RGB_current_config;
+#endif
+
+enum layer_number {
+ _QWERTY = 0,
+ _ADJUST
+};
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+ ADJUST,
+ RGBRST
+};
+
+// Fillers to make layering more clear
+#define EISU LALT(KC_GRV)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* QWERTY
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | Tab | Q | W | E | R | T | | Y | U | I | O | P | [ |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Esc | A | S | D | F | G | | H | J | K | L | ; | " |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | | N | M | , | . | / | \ |
+ * `-----------------------------------------' `-----------------------------------------'
+ */
+ [_QWERTY] = LAYOUT(
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
+ KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS
+ ),
+
+ /* Adjust
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | |RGBRST| RESET| | | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | TOG | HUI | SAI | VAI | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | MOD | HUD | SAD | VAD | | | | | | | | |
+ * `-----------------------------------------' `-----------------------------------------'
+ */
+ [_ADJUST] = LAYOUT(
+ _______, RGBRST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case QWERTY:
+ if (record->event.pressed) {
+ print("mode just switched to qwerty and this is a huge string\n");
+ set_single_persistent_default_layer(_QWERTY);
+ }
+ break;
+
+ case ADJUST:
+ if (record->event.pressed) {
+ layer_on(_ADJUST);
+ } else {
+ layer_off(_ADJUST);
+ }
+ break;
+
+ case RGBRST:
+ #ifdef RGBLIGHT_ENABLE
+ if (record->event.pressed) {
+ eeconfig_update_rgblight_default();
+ rgblight_enable();
+ RGB_current_config = rgblight_config;
+ }
+ #endif
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/omkbd/runner3680/3x6/rules.mk b/keyboards/omkbd/runner3680/3x6/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/omkbd/runner3680/3x6/rules.mk
diff --git a/keyboards/omkbd/runner3680/3x7/.noci b/keyboards/omkbd/runner3680/3x7/.noci
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/omkbd/runner3680/3x7/.noci
diff --git a/keyboards/omkbd/runner3680/3x7/3x7.c b/keyboards/omkbd/runner3680/3x7/3x7.c
new file mode 100644
index 0000000000..5246953b58
--- /dev/null
+++ b/keyboards/omkbd/runner3680/3x7/3x7.c
@@ -0,0 +1 @@
+#include "3x7.h"
diff --git a/keyboards/omkbd/runner3680/3x7/3x7.h b/keyboards/omkbd/runner3680/3x7/3x7.h
new file mode 100644
index 0000000000..2e07bc3b35
--- /dev/null
+++ b/keyboards/omkbd/runner3680/3x7/3x7.h
@@ -0,0 +1,19 @@
+#pragma once
+
+#include "runner3680.h"
+
+#include "quantum.h"
+
+#define LAYOUT( \
+ L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
+ L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
+ L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26 \
+ ) \
+ { \
+ { L00, L01, L02, L03, L04, L05, L06 }, \
+ { L10, L11, L12, L13, L14, L15, L16 }, \
+ { L20, L21, L22, L23, L24, L25, L26 }, \
+ { R06, R05, R04, R03, R02, R01, R00 }, \
+ { R16, R15, R14, R13, R12, R11, R10 }, \
+ { R26, R25, R24, R23, R22, R21, R20 } \
+ }
diff --git a/keyboards/omkbd/runner3680/3x7/config.h b/keyboards/omkbd/runner3680/3x7/config.h
new file mode 100644
index 0000000000..789dda45fd
--- /dev/null
+++ b/keyboards/omkbd/runner3680/3x7/config.h
@@ -0,0 +1,69 @@
+/* Copyright 2019 omkbd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x0000
+#define DEVICE_VER 0x0005
+#define MANUFACTURER Omkbd
+#define PRODUCT runner3680
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 7
+
+// wiring of each half
+#define MATRIX_ROW_PINS { D4, C6, D7 }
+#define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B2 ,B6 }
+// #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5 } //uncomment this line and comment line above if you need to reverse left-to-right key order
+
+#define DIODE_DIRECTION COL2ROW
+
+/* define tapping term */
+#define TAPPING_TERM 120
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* ws2812 RGB LED */
+#define RGB_DI_PIN D3
+#define RGBLIGHT_ANIMATIONS
+#define RGBLED_NUM 42
+#define RGBLIGHT_SPLIT
+#define RGBLED_SPLIT { 21, 21 } // Number of LEDs
+#define RGBLIGHT_LIMIT_VAL 100
+
+#define SOFT_SERIAL_PIN D2
+#define SELECT_SOFT_SERIAL_SPEED 1
+/*Sets the protocol speed when using serial communication*/
+//Speeds:
+//0: about 189kbps (Experimental only)
+//1: about 137kbps (default)
+//2: about 75kbps
+//3: about 39kbps
+//4: about 26kbps
+//5: about 20kbps
diff --git a/keyboards/omkbd/runner3680/3x7/info.json b/keyboards/omkbd/runner3680/3x7/info.json
new file mode 100644
index 0000000000..1a5ac8221e
--- /dev/null
+++ b/keyboards/omkbd/runner3680/3x7/info.json
@@ -0,0 +1,55 @@
+{
+ "keyboard_name": "runner3680 3x7",
+ "url": "",
+ "maintainer": "omkbd",
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+ {"x":4, "y":1},
+ {"x":5, "y":1},
+ {"x":6, "y":1},
+ {"x":8, "y":1},
+ {"x":9, "y":1},
+ {"x":10, "y":1},
+ {"x":11, "y":1},
+ {"x":12, "y":1},
+ {"x":13, "y":1},
+ {"x":14, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+ {"x":4, "y":2},
+ {"x":5, "y":2},
+ {"x":6, "y":2},
+ {"x":8, "y":2},
+ {"x":9, "y":2},
+ {"x":10, "y":2},
+ {"x":11, "y":2},
+ {"x":12, "y":2},
+ {"x":13, "y":2},
+ {"x":14, "y":2}
+ ]
+ }
+ }
+}
diff --git a/keyboards/omkbd/runner3680/3x7/keymaps/default/config.h b/keyboards/omkbd/runner3680/3x7/keymaps/default/config.h
new file mode 100644
index 0000000000..43a82f38a0
--- /dev/null
+++ b/keyboards/omkbd/runner3680/3x7/keymaps/default/config.h
@@ -0,0 +1,9 @@
+#pragma once
+
+//#define USE_MATRIX_I2C
+
+/* Select hand configuration */
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
diff --git a/keyboards/omkbd/runner3680/3x7/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/3x7/keymaps/default/keymap.c
new file mode 100644
index 0000000000..795999cf5b
--- /dev/null
+++ b/keyboards/omkbd/runner3680/3x7/keymaps/default/keymap.c
@@ -0,0 +1,85 @@
+#include QMK_KEYBOARD_H
+
+
+#ifdef RGBLIGHT_ENABLE
+//Following line allows macro to read current RGB settings
+extern rgblight_config_t rgblight_config;
+rgblight_config_t RGB_current_config;
+#endif
+
+enum layer_number {
+ _QWERTY = 0,
+ _ADJUST
+};
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+ ADJUST,
+ RGBRST
+};
+
+// Fillers to make layering more clear
+#define EISU LALT(KC_GRV)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* QWERTY
+ * ,------------------------------------------------. ,------------------------------------------------.
+ * | F4 | Tab | Q | W | E | R | T | | Y | U | I | O | P | [ | ] |
+ * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
+ * | F6 | Esc | A | S | D | F | G | | H | J | K | L | ; | " | Enter|
+ * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
+ * | F8 | Shift| Z | X | C | V | B | | N | M | , | . | / | \ | Up |
+ * `------------------------------------------------' `------------------------------------------------'
+ */
+ [_QWERTY] = LAYOUT(
+ KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
+ KC_F6, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS, KC_UP
+ ),
+
+ /* Adjust
+ * ,------------------------------------------------. ,------------------------------------------------.
+ * | | |RGBRST| RESET| | | | | | | | | | | |
+ * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
+ * | | | TOG | HUI | SAI | VAI | | | | | | | | | |
+ * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
+ * | | | MOD | HUD | SAD | VAD | | | | | | | | | |
+ * `------------------------------------------------' `------------------------------------------------'
+ */
+ [_ADJUST] = LAYOUT(
+ _______, _______, RGBRST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case QWERTY:
+ if (record->event.pressed) {
+ print("mode just switched to qwerty and this is a huge string\n");
+ set_single_persistent_default_layer(_QWERTY);
+ }
+ break;
+
+ case ADJUST:
+ if (record->event.pressed) {
+ layer_on(_ADJUST);
+ } else {
+ layer_off(_ADJUST);
+ }
+ break;
+
+ case RGBRST:
+ #ifdef RGBLIGHT_ENABLE
+ if (record->event.pressed) {
+ eeconfig_update_rgblight_default();
+ rgblight_enable();
+ RGB_current_config = rgblight_config;
+ }
+ #endif
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/omkbd/runner3680/3x7/rules.mk b/keyboards/omkbd/runner3680/3x7/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/omkbd/runner3680/3x7/rules.mk
diff --git a/keyboards/omkbd/runner3680/3x8/.noci b/keyboards/omkbd/runner3680/3x8/.noci
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/omkbd/runner3680/3x8/.noci
diff --git a/keyboards/omkbd/runner3680/3x8/3x8.c b/keyboards/omkbd/runner3680/3x8/3x8.c
new file mode 100644
index 0000000000..8ea77001c5
--- /dev/null
+++ b/keyboards/omkbd/runner3680/3x8/3x8.c
@@ -0,0 +1 @@
+#include "3x8.h"
diff --git a/keyboards/omkbd/runner3680/3x8/3x8.h b/keyboards/omkbd/runner3680/3x8/3x8.h
new file mode 100644
index 0000000000..c5856d0034
--- /dev/null
+++ b/keyboards/omkbd/runner3680/3x8/3x8.h
@@ -0,0 +1,19 @@
+#pragma once
+
+#include "runner3680.h"
+
+#include "quantum.h"
+
+#define LAYOUT( \
+ L00, L01, L02, L03, L04, L05, L06, L07, R00, R01, R02, R03, R04, R05, R06, R07, \
+ L10, L11, L12, L13, L14, L15, L16, L17, R10, R11, R12, R13, R14, R15, R16, R17, \
+ L20, L21, L22, L23, L24, L25, L26, L27, R20, R21, R22, R23, R24, R25, R26, R27 \
+ ) \
+ { \
+ { L00, L01, L02, L03, L04, L05, L06, L07 }, \
+ { L10, L11, L12, L13, L14, L15, L16, L17 }, \
+ { L20, L21, L22, L23, L24, L25, L26, L27 }, \
+ { R07, R06, R05, R04, R03, R02, R01, R00 }, \
+ { R17, R16, R15, R14, R13, R12, R11, R10 }, \
+ { R27, R26, R25, R24, R23, R22, R21, R20 } \
+ }
diff --git a/keyboards/omkbd/runner3680/3x8/config.h b/keyboards/omkbd/runner3680/3x8/config.h
new file mode 100644
index 0000000000..b1d1db1171
--- /dev/null
+++ b/keyboards/omkbd/runner3680/3x8/config.h
@@ -0,0 +1,69 @@
+/* Copyright 2019 omkbd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x0000
+#define DEVICE_VER 0x0005
+#define MANUFACTURER Omkbd
+#define PRODUCT runner3680
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 8
+
+// wiring of each half
+#define MATRIX_ROW_PINS { D4, C6, D7 }
+#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 ,B6 }
+// #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4 } //uncomment this line and comment line above if you need to reverse left-to-right key order
+
+#define DIODE_DIRECTION COL2ROW
+
+/* define tapping term */
+#define TAPPING_TERM 120
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* ws2812 RGB LED */
+#define RGB_DI_PIN D3
+#define RGBLIGHT_ANIMATIONS
+#define RGBLED_NUM 48
+#define RGBLIGHT_SPLIT
+#define RGBLED_SPLIT { 24, 24 } // Number of LEDs
+#define RGBLIGHT_LIMIT_VAL 100
+
+#define SOFT_SERIAL_PIN D2
+#define SELECT_SOFT_SERIAL_SPEED 1
+/*Sets the protocol speed when using serial communication*/
+//Speeds:
+//0: about 189kbps (Experimental only)
+//1: about 137kbps (default)
+//2: about 75kbps
+//3: about 39kbps
+//4: about 26kbps
+//5: about 20kbps
diff --git a/keyboards/omkbd/runner3680/3x8/info.json b/keyboards/omkbd/runner3680/3x8/info.json
new file mode 100644
index 0000000000..d8e71f97e0
--- /dev/null
+++ b/keyboards/omkbd/runner3680/3x8/info.json
@@ -0,0 +1,61 @@
+{
+ "keyboard_name": "runner3680 3x8",
+ "url": "",
+ "maintainer": "omkbd",
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":7, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14, "y":0},
+ {"x":15, "y":0},
+ {"x":16, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+ {"x":4, "y":1},
+ {"x":5, "y":1},
+ {"x":6, "y":1},
+ {"x":7, "y":1},
+ {"x":9, "y":1},
+ {"x":10, "y":1},
+ {"x":11, "y":1},
+ {"x":12, "y":1},
+ {"x":13, "y":1},
+ {"x":14, "y":1},
+ {"x":15, "y":1},
+ {"x":16, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+ {"x":4, "y":2},
+ {"x":5, "y":2},
+ {"x":6, "y":2},
+ {"x":7, "y":2},
+ {"x":9, "y":2},
+ {"x":10, "y":2},
+ {"x":11, "y":2},
+ {"x":12, "y":2},
+ {"x":13, "y":2},
+ {"x":14, "y":2},
+ {"x":15, "y":2},
+ {"x":16, "y":2}
+ ]
+ }
+ }
+}
diff --git a/keyboards/omkbd/runner3680/3x8/keymaps/default/config.h b/keyboards/omkbd/runner3680/3x8/keymaps/default/config.h
new file mode 100644
index 0000000000..43a82f38a0
--- /dev/null
+++ b/keyboards/omkbd/runner3680/3x8/keymaps/default/config.h
@@ -0,0 +1,9 @@
+#pragma once
+
+//#define USE_MATRIX_I2C
+
+/* Select hand configuration */
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
diff --git a/keyboards/omkbd/runner3680/3x8/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/3x8/keymaps/default/keymap.c
new file mode 100644
index 0000000000..ae5d2ba650
--- /dev/null
+++ b/keyboards/omkbd/runner3680/3x8/keymaps/default/keymap.c
@@ -0,0 +1,87 @@
+#include QMK_KEYBOARD_H
+
+
+#ifdef RGBLIGHT_ENABLE
+//Following line allows macro to read current RGB settings
+extern rgblight_config_t rgblight_config;
+rgblight_config_t RGB_current_config;
+#endif
+
+enum layer_number {
+ _QWERTY = 0,
+ _ADJUST
+};
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+ ADJUST,
+ RGBRST
+};
+
+// Fillers to make layering more clear
+#define EISU LALT(KC_GRV)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* QWERTY
+ * ,-------------------------------------------------------. ,--------------------------------------------------------.
+ * | F3 | F4 | Tab | Q | W | E | R | T | | Y | U | I | O | P | [ | ] | Bksp |
+ * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | F5 | F6 | Esc | A | S | D | F | G | | H | J | K | L | ; | " | Enter| Enter|
+ * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | F7 | F8 | Shift| Z | X | C | V | B | | N | M | , | . | / | \ | Up | Shift|
+ * `-------------------------------------------------------' `-------------------------------------------------------'
+ */
+ [_QWERTY] = LAYOUT(
+ KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
+ KC_F5, KC_F6, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_ENT,
+ KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS, KC_UP, KC_RSFT
+ ),
+
+ /* Adjust
+ * ,-------------------------------------------------------. ,--------------------------------------------------------.
+ * | | | |RGBRST| RESET| | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | | | | TOG | HUI | SAI | VAI | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | | | | MOD | HUD | SAD | VAD | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | | | | | | |
+ * `-------------------------------------------------------' `-------------------------------------------------------'
+ */
+ [_ADJUST] = LAYOUT(
+ _______, _______, _______, RGBRST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case QWERTY:
+ if (record->event.pressed) {
+ print("mode just switched to qwerty and this is a huge string\n");
+ set_single_persistent_default_layer(_QWERTY);
+ }
+ break;
+
+ case ADJUST:
+ if (record->event.pressed) {
+ layer_on(_ADJUST);
+ } else {
+ layer_off(_ADJUST);
+ }
+ break;
+
+ case RGBRST:
+ #ifdef RGBLIGHT_ENABLE
+ if (record->event.pressed) {
+ eeconfig_update_rgblight_default();
+ rgblight_enable();
+ RGB_current_config = rgblight_config;
+ }
+ #endif
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/omkbd/runner3680/3x8/rules.mk b/keyboards/omkbd/runner3680/3x8/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/omkbd/runner3680/3x8/rules.mk
diff --git a/keyboards/omkbd/runner3680/4x6/.noci b/keyboards/omkbd/runner3680/4x6/.noci
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/omkbd/runner3680/4x6/.noci
diff --git a/keyboards/omkbd/runner3680/4x6/4x6.c b/keyboards/omkbd/runner3680/4x6/4x6.c
new file mode 100644
index 0000000000..5e68c1a9fa
--- /dev/null
+++ b/keyboards/omkbd/runner3680/4x6/4x6.c
@@ -0,0 +1 @@
+#include "4x6.h"
diff --git a/keyboards/omkbd/runner3680/4x6/4x6.h b/keyboards/omkbd/runner3680/4x6/4x6.h
new file mode 100644
index 0000000000..dfc3a977b7
--- /dev/null
+++ b/keyboards/omkbd/runner3680/4x6/4x6.h
@@ -0,0 +1,22 @@
+#pragma once
+
+#include "runner3680.h"
+
+#include "quantum.h"
+
+#define LAYOUT( \
+ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
+ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
+ L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
+ L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \
+ ) \
+ { \
+ { L00, L01, L02, L03, L04, L05 }, \
+ { L10, L11, L12, L13, L14, L15 }, \
+ { L20, L21, L22, L23, L24, L25 }, \
+ { L30, L31, L32, L33, L34, L35 }, \
+ { R05, R04, R03, R02, R01, R00 }, \
+ { R15, R14, R13, R12, R11, R10 }, \
+ { R25, R24, R23, R22, R21, R20 }, \
+ { R35, R34, R33, R32, R31, R30 } \
+ }
diff --git a/keyboards/omkbd/runner3680/4x6/config.h b/keyboards/omkbd/runner3680/4x6/config.h
new file mode 100644
index 0000000000..12596acd9a
--- /dev/null
+++ b/keyboards/omkbd/runner3680/4x6/config.h
@@ -0,0 +1,69 @@
+/* Copyright 2019 omkbd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x0000
+#define DEVICE_VER 0x0005
+#define MANUFACTURER Omkbd
+#define PRODUCT runner3680
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 8
+#define MATRIX_COLS 6
+
+// wiring of each half
+#define MATRIX_ROW_PINS { D4, C6, D7, E6 }
+#define MATRIX_COL_PINS { F6, F7, B1, B3, B2 ,B6 }
+// #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6} //uncomment this line and comment line above if you need to reverse left-to-right key order
+
+#define DIODE_DIRECTION COL2ROW
+
+/* define tapping term */
+#define TAPPING_TERM 120
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* ws2812 RGB LED */
+#define RGB_DI_PIN D3
+#define RGBLIGHT_ANIMATIONS
+#define RGBLED_NUM 48
+#define RGBLIGHT_SPLIT
+#define RGBLED_SPLIT { 24, 24 } // Number of LEDs
+#define RGBLIGHT_LIMIT_VAL 100
+
+#define SOFT_SERIAL_PIN D2
+#define SELECT_SOFT_SERIAL_SPEED 1
+/*Sets the protocol speed when using serial communication*/
+//Speeds:
+//0: about 189kbps (Experimental only)
+//1: about 137kbps (default)
+//2: about 75kbps
+//3: about 39kbps
+//4: about 26kbps
+//5: about 20kbps
diff --git a/keyboards/omkbd/runner3680/4x6/info.json b/keyboards/omkbd/runner3680/4x6/info.json
new file mode 100644
index 0000000000..41ea3e0061
--- /dev/null
+++ b/keyboards/omkbd/runner3680/4x6/info.json
@@ -0,0 +1,62 @@
+{
+ "keyboard_name": "runner3680 4x6",
+ "url": "",
+ "maintainer": "omkbd",
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+ {"x":4, "y":1},
+ {"x":5, "y":1},
+ {"x":7, "y":1},
+ {"x":8, "y":1},
+ {"x":9, "y":1},
+ {"x":10, "y":1},
+ {"x":11, "y":1},
+ {"x":12, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+ {"x":4, "y":2},
+ {"x":5, "y":2},
+ {"x":7, "y":2},
+ {"x":8, "y":2},
+ {"x":9, "y":2},
+ {"x":10, "y":2},
+ {"x":11, "y":2},
+ {"x":12, "y":2},
+
+ {"x":0, "y":3},
+ {"x":1, "y":3},
+ {"x":2, "y":3},
+ {"x":3, "y":3},
+ {"x":4, "y":3},
+ {"x":5, "y":3},
+ {"x":7, "y":3},
+ {"x":8, "y":3},
+ {"x":9, "y":3},
+ {"x":10, "y":3},
+ {"x":11, "y":3},
+ {"x":12, "y":3}
+ ]
+ }
+ }
+}
diff --git a/keyboards/omkbd/runner3680/4x6/keymaps/default/config.h b/keyboards/omkbd/runner3680/4x6/keymaps/default/config.h
new file mode 100644
index 0000000000..43a82f38a0
--- /dev/null
+++ b/keyboards/omkbd/runner3680/4x6/keymaps/default/config.h
@@ -0,0 +1,9 @@
+#pragma once
+
+//#define USE_MATRIX_I2C
+
+/* Select hand configuration */
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
diff --git a/keyboards/omkbd/runner3680/4x6/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/4x6/keymaps/default/keymap.c
new file mode 100644
index 0000000000..d0c07ddd04
--- /dev/null
+++ b/keyboards/omkbd/runner3680/4x6/keymaps/default/keymap.c
@@ -0,0 +1,91 @@
+#include QMK_KEYBOARD_H
+
+
+#ifdef RGBLIGHT_ENABLE
+//Following line allows macro to read current RGB settings
+extern rgblight_config_t rgblight_config;
+rgblight_config_t RGB_current_config;
+#endif
+
+enum layer_number {
+ _QWERTY = 0,
+ _ADJUST
+};
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+ ADJUST,
+ RGBRST
+};
+
+// Fillers to make layering more clear
+#define EISU LALT(KC_GRV)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* QWERTY
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | Tab | Q | W | E | R | T | | Y | U | I | O | P | [ |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Esc | A | S | D | F | G | | H | J | K | L | ; | " |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | | N | M | , | . | / | \ |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Ctrl | GUI | Alt | EISU | Del | Space| | Enter| Bksp | EISU | ESC |Adjust| Left |
+ * `-----------------------------------------' `-----------------------------------------'
+ */
+ [_QWERTY] = LAYOUT(
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
+ KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS,
+ KC_LCTL, KC_LGUI, KC_LALT, EISU, KC_DEL, KC_SPC, KC_ENT, KC_BSPC, EISU, KC_ESC, ADJUST, KC_LEFT
+ ),
+
+ /* Adjust
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | |RGBRST| RESET| | | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | TOG | HUI | SAI | VAI | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | MOD | HUD | SAD | VAD | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | | | | | | | | | | | | |
+ * `-----------------------------------------' `-----------------------------------------'
+ */
+ [_ADJUST] = LAYOUT(
+ _______, RGBRST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case QWERTY:
+ if (record->event.pressed) {
+ print("mode just switched to qwerty and this is a huge string\n");
+ set_single_persistent_default_layer(_QWERTY);
+ }
+ break;
+
+ case ADJUST:
+ if (record->event.pressed) {
+ layer_on(_ADJUST);
+ } else {
+ layer_off(_ADJUST);
+ }
+ break;
+
+ case RGBRST:
+ #ifdef RGBLIGHT_ENABLE
+ if (record->event.pressed) {
+ eeconfig_update_rgblight_default();
+ rgblight_enable();
+ RGB_current_config = rgblight_config;
+ }
+ #endif
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/omkbd/runner3680/4x6/rules.mk b/keyboards/omkbd/runner3680/4x6/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/omkbd/runner3680/4x6/rules.mk
diff --git a/keyboards/omkbd/runner3680/4x7/.noci b/keyboards/omkbd/runner3680/4x7/.noci
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/omkbd/runner3680/4x7/.noci
diff --git a/keyboards/omkbd/runner3680/4x7/4x7.c b/keyboards/omkbd/runner3680/4x7/4x7.c
new file mode 100644
index 0000000000..568fc2dacd
--- /dev/null
+++ b/keyboards/omkbd/runner3680/4x7/4x7.c
@@ -0,0 +1 @@
+#include "4x7.h"
diff --git a/keyboards/omkbd/runner3680/4x7/4x7.h b/keyboards/omkbd/runner3680/4x7/4x7.h
new file mode 100644
index 0000000000..7bd43e1114
--- /dev/null
+++ b/keyboards/omkbd/runner3680/4x7/4x7.h
@@ -0,0 +1,22 @@
+#pragma once
+
+#include "runner3680.h"
+
+#include "quantum.h"
+
+#define LAYOUT( \
+ L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
+ L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
+ L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
+ L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36 \
+ ) \
+ { \
+ { L00, L01, L02, L03, L04, L05, L06 }, \
+ { L10, L11, L12, L13, L14, L15, L16 }, \
+ { L20, L21, L22, L23, L24, L25, L26 }, \
+ { L30, L31, L32, L33, L34, L35, L36 }, \
+ { R06, R05, R04, R03, R02, R01, R00 }, \
+ { R16, R15, R14, R13, R12, R11, R10 }, \
+ { R26, R25, R24, R23, R22, R21, R20 }, \
+ { R36, R35, R34, R33, R32, R31, R30 } \
+ }
diff --git a/keyboards/omkbd/runner3680/4x7/config.h b/keyboards/omkbd/runner3680/4x7/config.h
new file mode 100644
index 0000000000..bbfdd383c0
--- /dev/null
+++ b/keyboards/omkbd/runner3680/4x7/config.h
@@ -0,0 +1,69 @@
+/* Copyright 2019 omkbd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x0000
+#define DEVICE_VER 0x0005
+#define MANUFACTURER Omkbd
+#define PRODUCT runner3680
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 8
+#define MATRIX_COLS 7
+
+// wiring of each half
+#define MATRIX_ROW_PINS { D4, C6, D7, E6 }
+#define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B2 ,B6 }
+// #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5 } //uncomment this line and comment line above if you need to reverse left-to-right key order
+
+#define DIODE_DIRECTION COL2ROW
+
+/* define tapping term */
+#define TAPPING_TERM 120
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* ws2812 RGB LED */
+#define RGB_DI_PIN D3
+#define RGBLIGHT_ANIMATIONS
+#define RGBLED_NUM 56
+#define RGBLIGHT_SPLIT
+#define RGBLED_SPLIT { 28, 28 } // Number of LEDs
+#define RGBLIGHT_LIMIT_VAL 100
+
+#define SOFT_SERIAL_PIN D2
+#define SELECT_SOFT_SERIAL_SPEED 1
+/*Sets the protocol speed when using serial communication*/
+//Speeds:
+//0: about 189kbps (Experimental only)
+//1: about 137kbps (default)
+//2: about 75kbps
+//3: about 39kbps
+//4: about 26kbps
+//5: about 20kbps
diff --git a/keyboards/omkbd/runner3680/4x7/info.json b/keyboards/omkbd/runner3680/4x7/info.json
new file mode 100644
index 0000000000..43876dd57e
--- /dev/null
+++ b/keyboards/omkbd/runner3680/4x7/info.json
@@ -0,0 +1,70 @@
+{
+ "keyboard_name": "runner3680 4x7",
+ "url": "",
+ "maintainer": "omkbd",
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+ {"x":4, "y":1},
+ {"x":5, "y":1},
+ {"x":6, "y":1},
+ {"x":8, "y":1},
+ {"x":9, "y":1},
+ {"x":10, "y":1},
+ {"x":11, "y":1},
+ {"x":12, "y":1},
+ {"x":13, "y":1},
+ {"x":14, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+ {"x":4, "y":2},
+ {"x":5, "y":2},
+ {"x":6, "y":2},
+ {"x":8, "y":2},
+ {"x":9, "y":2},
+ {"x":10, "y":2},
+ {"x":11, "y":2},
+ {"x":12, "y":2},
+ {"x":13, "y":2},
+ {"x":14, "y":2},
+
+ {"x":0, "y":3},
+ {"x":1, "y":3},
+ {"x":2, "y":3},
+ {"x":3, "y":3},
+ {"x":4, "y":3},
+ {"x":5, "y":3},
+ {"x":6, "y":3},
+ {"x":8, "y":3},
+ {"x":9, "y":3},
+ {"x":10, "y":3},
+ {"x":11, "y":3},
+ {"x":12, "y":3},
+ {"x":13, "y":3},
+ {"x":14, "y":3}
+ ]
+ }
+ }
+}
diff --git a/keyboards/omkbd/runner3680/4x7/keymaps/default/config.h b/keyboards/omkbd/runner3680/4x7/keymaps/default/config.h
new file mode 100644
index 0000000000..43a82f38a0
--- /dev/null
+++ b/keyboards/omkbd/runner3680/4x7/keymaps/default/config.h
@@ -0,0 +1,9 @@
+#pragma once
+
+//#define USE_MATRIX_I2C
+
+/* Select hand configuration */
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
diff --git a/keyboards/omkbd/runner3680/4x7/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/4x7/keymaps/default/keymap.c
new file mode 100644
index 0000000000..95e2a67ebe
--- /dev/null
+++ b/keyboards/omkbd/runner3680/4x7/keymaps/default/keymap.c
@@ -0,0 +1,91 @@
+#include QMK_KEYBOARD_H
+
+
+#ifdef RGBLIGHT_ENABLE
+//Following line allows macro to read current RGB settings
+extern rgblight_config_t rgblight_config;
+rgblight_config_t RGB_current_config;
+#endif
+
+enum layer_number {
+ _QWERTY = 0,
+ _ADJUST
+};
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+ ADJUST,
+ RGBRST
+};
+
+// Fillers to make layering more clear
+#define EISU LALT(KC_GRV)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* QWERTY
+ * ,------------------------------------------------. ,------------------------------------------------.
+ * | F4 | Tab | Q | W | E | R | T | | Y | U | I | O | P | [ | ] |
+ * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
+ * | F6 | Esc | A | S | D | F | G | | H | J | K | L | ; | " | Enter|
+ * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
+ * | F8 | Shift| Z | X | C | V | B | | N | M | , | . | / | \ | Up |
+ * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
+ * | F10 | Ctrl | GUI | Alt | EISU | Del | Space| | Enter| Bksp | EISU | ESC |Adjust| Left | Down |
+ * `------------------------------------------------' `------------------------------------------------'
+ */
+ [_QWERTY] = LAYOUT(
+ KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
+ KC_F6, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS, KC_UP,
+ KC_F10, KC_LCTL, KC_LGUI, KC_LALT, EISU, KC_DEL, KC_SPC, KC_ENT, KC_BSPC, EISU, KC_ESC, ADJUST, KC_LEFT, KC_DOWN
+ ),
+
+ /* Adjust
+ * ,------------------------------------------------. ,------------------------------------------------.
+ * | | |RGBRST| RESET| | | | | | | | | | | |
+ * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
+ * | | | TOG | HUI | SAI | VAI | | | | | | | | | |
+ * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
+ * | | | MOD | HUD | SAD | VAD | | | | | | | | | |
+ * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | | | | |
+ * `------------------------------------------------' `------------------------------------------------'
+ */
+ [_ADJUST] = LAYOUT(
+ _______, _______, RGBRST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case QWERTY:
+ if (record->event.pressed) {
+ print("mode just switched to qwerty and this is a huge string\n");
+ set_single_persistent_default_layer(_QWERTY);
+ }
+ break;
+
+ case ADJUST:
+ if (record->event.pressed) {
+ layer_on(_ADJUST);
+ } else {
+ layer_off(_ADJUST);
+ }
+ break;
+
+ case RGBRST:
+ #ifdef RGBLIGHT_ENABLE
+ if (record->event.pressed) {
+ eeconfig_update_rgblight_default();
+ rgblight_enable();
+ RGB_current_config = rgblight_config;
+ }
+ #endif
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/omkbd/runner3680/4x7/rules.mk b/keyboards/omkbd/runner3680/4x7/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/omkbd/runner3680/4x7/rules.mk
diff --git a/keyboards/omkbd/runner3680/4x8/.noci b/keyboards/omkbd/runner3680/4x8/.noci
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/omkbd/runner3680/4x8/.noci
diff --git a/keyboards/omkbd/runner3680/4x8/4x8.c b/keyboards/omkbd/runner3680/4x8/4x8.c
new file mode 100644
index 0000000000..2667548078
--- /dev/null
+++ b/keyboards/omkbd/runner3680/4x8/4x8.c
@@ -0,0 +1 @@
+#include "4x8.h"
diff --git a/keyboards/omkbd/runner3680/4x8/4x8.h b/keyboards/omkbd/runner3680/4x8/4x8.h
new file mode 100644
index 0000000000..bc95b439b0
--- /dev/null
+++ b/keyboards/omkbd/runner3680/4x8/4x8.h
@@ -0,0 +1,22 @@
+#pragma once
+
+#include "runner3680.h"
+
+#include "quantum.h"
+
+#define LAYOUT( \
+ L00, L01, L02, L03, L04, L05, L06, L07, R00, R01, R02, R03, R04, R05, R06, R07, \
+ L10, L11, L12, L13, L14, L15, L16, L17, R10, R11, R12, R13, R14, R15, R16, R17, \
+ L20, L21, L22, L23, L24, L25, L26, L27, R20, R21, R22, R23, R24, R25, R26, R27, \
+ L30, L31, L32, L33, L34, L35, L36, L37, R30, R31, R32, R33, R34, R35, R36, R37 \
+ ) \
+ { \
+ { L00, L01, L02, L03, L04, L05, L06, L07 }, \
+ { L10, L11, L12, L13, L14, L15, L16, L17 }, \
+ { L20, L21, L22, L23, L24, L25, L26, L27 }, \
+ { L30, L31, L32, L33, L34, L35, L36, L37 }, \
+ { R07, R06, R05, R04, R03, R02, R01, R00 }, \
+ { R17, R16, R15, R14, R13, R12, R11, R10 }, \
+ { R27, R26, R25, R24, R23, R22, R21, R20 }, \
+ { R37, R36, R35, R34, R33, R32, R31, R30 } \
+ }
diff --git a/keyboards/omkbd/runner3680/4x8/config.h b/keyboards/omkbd/runner3680/4x8/config.h
new file mode 100644
index 0000000000..82e2dc7ee8
--- /dev/null
+++ b/keyboards/omkbd/runner3680/4x8/config.h
@@ -0,0 +1,69 @@
+/* Copyright 2019 omkbd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x0000
+#define DEVICE_VER 0x0005
+#define MANUFACTURER Omkbd
+#define PRODUCT runner3680
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 8
+#define MATRIX_COLS 8
+
+// wiring of each half
+#define MATRIX_ROW_PINS { D4, C6, D7, E6 }
+#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 ,B6 }
+// #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4 } //uncomment this line and comment line above if you need to reverse left-to-right key order
+
+#define DIODE_DIRECTION COL2ROW
+
+/* define tapping term */
+#define TAPPING_TERM 120
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* ws2812 RGB LED */
+#define RGB_DI_PIN D3
+#define RGBLIGHT_ANIMATIONS
+#define RGBLED_NUM 64
+#define RGBLIGHT_SPLIT
+#define RGBLED_SPLIT { 32, 32 } // Number of LEDs
+#define RGBLIGHT_LIMIT_VAL 100
+
+#define SOFT_SERIAL_PIN D2
+#define SELECT_SOFT_SERIAL_SPEED 1
+/*Sets the protocol speed when using serial communication*/
+//Speeds:
+//0: about 189kbps (Experimental only)
+//1: about 137kbps (default)
+//2: about 75kbps
+//3: about 39kbps
+//4: about 26kbps
+//5: about 20kbps
diff --git a/keyboards/omkbd/runner3680/4x8/info.json b/keyboards/omkbd/runner3680/4x8/info.json
new file mode 100644
index 0000000000..4502a86404
--- /dev/null
+++ b/keyboards/omkbd/runner3680/4x8/info.json
@@ -0,0 +1,78 @@
+{
+ "keyboard_name": "runner3680 4x8",
+ "url": "",
+ "maintainer": "omkbd",
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":7, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14, "y":0},
+ {"x":15, "y":0},
+ {"x":16, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+ {"x":4, "y":1},
+ {"x":5, "y":1},
+ {"x":6, "y":1},
+ {"x":7, "y":1},
+ {"x":9, "y":1},
+ {"x":10, "y":1},
+ {"x":11, "y":1},
+ {"x":12, "y":1},
+ {"x":13, "y":1},
+ {"x":14, "y":1},
+ {"x":15, "y":1},
+ {"x":16, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+ {"x":4, "y":2},
+ {"x":5, "y":2},
+ {"x":6, "y":2},
+ {"x":7, "y":2},
+ {"x":9, "y":2},
+ {"x":10, "y":2},
+ {"x":11, "y":2},
+ {"x":12, "y":2},
+ {"x":13, "y":2},
+ {"x":14, "y":2},
+ {"x":15, "y":2},
+ {"x":16, "y":2},
+
+ {"x":0, "y":3},
+ {"x":1, "y":3},
+ {"x":2, "y":3},
+ {"x":3, "y":3},
+ {"x":4, "y":3},
+ {"x":5, "y":3},
+ {"x":6, "y":3},
+ {"x":7, "y":3},
+ {"x":9, "y":3},
+ {"x":10, "y":3},
+ {"x":11, "y":3},
+ {"x":12, "y":3},
+ {"x":13, "y":3},
+ {"x":14, "y":3},
+ {"x":15, "y":3},
+ {"x":16, "y":3}
+ ]
+ }
+ }
+}
diff --git a/keyboards/omkbd/runner3680/4x8/keymaps/default/config.h b/keyboards/omkbd/runner3680/4x8/keymaps/default/config.h
new file mode 100644
index 0000000000..43a82f38a0
--- /dev/null
+++ b/keyboards/omkbd/runner3680/4x8/keymaps/default/config.h
@@ -0,0 +1,9 @@
+#pragma once
+
+//#define USE_MATRIX_I2C
+
+/* Select hand configuration */
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
diff --git a/keyboards/omkbd/runner3680/4x8/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/4x8/keymaps/default/keymap.c
new file mode 100644
index 0000000000..5ff0c0d691
--- /dev/null
+++ b/keyboards/omkbd/runner3680/4x8/keymaps/default/keymap.c
@@ -0,0 +1,91 @@
+#include QMK_KEYBOARD_H
+
+
+#ifdef RGBLIGHT_ENABLE
+//Following line allows macro to read current RGB settings
+extern rgblight_config_t rgblight_config;
+rgblight_config_t RGB_current_config;
+#endif
+
+enum layer_number {
+ _QWERTY = 0,
+ _ADJUST
+};
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+ ADJUST,
+ RGBRST
+};
+
+// Fillers to make layering more clear
+#define EISU LALT(KC_GRV)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* QWERTY
+ * ,-------------------------------------------------------. ,--------------------------------------------------------.
+ * | F3 | F4 | Tab | Q | W | E | R | T | | Y | U | I | O | P | [ | ] | Bksp |
+ * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | F5 | F6 | Esc | A | S | D | F | G | | H | J | K | L | ; | " | Enter| Enter|
+ * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | F7 | F8 | Shift| Z | X | C | V | B | | N | M | , | . | / | \ | Up | Shift|
+ * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | F9 | F10 | Ctrl | GUI | Alt | EISU | Del | Space| | Enter| Bksp | EISU | ESC |Adjust| Left | Down | Right|
+ * `-------------------------------------------------------' `-------------------------------------------------------'
+ */
+ [_QWERTY] = LAYOUT(
+ KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
+ KC_F5, KC_F6, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_ENT,
+ KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS, KC_UP, KC_RSFT,
+ KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, EISU, KC_DEL, KC_SPC, KC_ENT, KC_BSPC, EISU, KC_ESC, ADJUST, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ /* Adjust
+ * ,-------------------------------------------------------. ,--------------------------------------------------------.
+ * | | | |RGBRST| RESET| | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | | | | TOG | HUI | SAI | VAI | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | | | | MOD | HUD | SAD | VAD | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | | | | | | |
+ * `-------------------------------------------------------' `-------------------------------------------------------'
+ */
+ [_ADJUST] = LAYOUT(
+ _______, _______, _______, RGBRST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case QWERTY:
+ if (record->event.pressed) {
+ print("mode just switched to qwerty and this is a huge string\n");
+ set_single_persistent_default_layer(_QWERTY);
+ }
+ break;
+
+ case ADJUST:
+ if (record->event.pressed) {
+ layer_on(_ADJUST);
+ } else {
+ layer_off(_ADJUST);
+ }
+ break;
+
+ case RGBRST:
+ #ifdef RGBLIGHT_ENABLE
+ if (record->event.pressed) {
+ eeconfig_update_rgblight_default();
+ rgblight_enable();
+ RGB_current_config = rgblight_config;
+ }
+ #endif
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/omkbd/runner3680/4x8/rules.mk b/keyboards/omkbd/runner3680/4x8/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/omkbd/runner3680/4x8/rules.mk
diff --git a/keyboards/omkbd/runner3680/5x6/.noci b/keyboards/omkbd/runner3680/5x6/.noci
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x6/.noci
diff --git a/keyboards/omkbd/runner3680/5x6/5x6.c b/keyboards/omkbd/runner3680/5x6/5x6.c
new file mode 100644
index 0000000000..0e9d5481c4
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x6/5x6.c
@@ -0,0 +1 @@
+#include "5x6.h"
diff --git a/keyboards/omkbd/runner3680/5x6/5x6.h b/keyboards/omkbd/runner3680/5x6/5x6.h
new file mode 100644
index 0000000000..5a6e70c209
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x6/5x6.h
@@ -0,0 +1,25 @@
+#pragma once
+
+#include "runner3680.h"
+
+#include "quantum.h"
+
+#define LAYOUT( \
+ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
+ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
+ L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
+ L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
+ L40, L41, L42, L43, L44, L45, R40, R41, R42, R43, R44, R45 \
+ ) \
+ { \
+ { L00, L01, L02, L03, L04, L05 }, \
+ { L10, L11, L12, L13, L14, L15 }, \
+ { L20, L21, L22, L23, L24, L25 }, \
+ { L30, L31, L32, L33, L34, L35 }, \
+ { L40, L41, L42, L43, L44, L45 }, \
+ { R05, R04, R03, R02, R01, R00 }, \
+ { R15, R14, R13, R12, R11, R10 }, \
+ { R25, R24, R23, R22, R21, R20 }, \
+ { R35, R34, R33, R32, R31, R30 }, \
+ { R45, R44, R43, R42, R41, R40 } \
+ }
diff --git a/keyboards/omkbd/runner3680/5x6/config.h b/keyboards/omkbd/runner3680/5x6/config.h
new file mode 100644
index 0000000000..d2f288546d
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x6/config.h
@@ -0,0 +1,69 @@
+/* Copyright 2019 omkbd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x0000
+#define DEVICE_VER 0x0005
+#define MANUFACTURER Omkbd
+#define PRODUCT runner3680
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 10
+#define MATRIX_COLS 6
+
+// wiring of each half
+#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 }
+#define MATRIX_COL_PINS { F6, F7, B1, B3, B2 ,B6 }
+// #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6} //uncomment this line and comment line above if you need to reverse left-to-right key order
+
+#define DIODE_DIRECTION COL2ROW
+
+/* define tapping term */
+#define TAPPING_TERM 120
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* ws2812 RGB LED */
+#define RGB_DI_PIN D3
+#define RGBLIGHT_ANIMATIONS
+#define RGBLED_NUM 60
+#define RGBLIGHT_SPLIT
+#define RGBLED_SPLIT { 30, 30 } // Number of LEDs
+#define RGBLIGHT_LIMIT_VAL 100
+
+#define SOFT_SERIAL_PIN D2
+#define SELECT_SOFT_SERIAL_SPEED 1
+/*Sets the protocol speed when using serial communication*/
+//Speeds:
+//0: about 189kbps (Experimental only)
+//1: about 137kbps (default)
+//2: about 75kbps
+//3: about 39kbps
+//4: about 26kbps
+//5: about 20kbps
diff --git a/keyboards/omkbd/runner3680/5x6/info.json b/keyboards/omkbd/runner3680/5x6/info.json
new file mode 100644
index 0000000000..02c65ec7cc
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x6/info.json
@@ -0,0 +1,75 @@
+{
+ "keyboard_name": "runner3680 5x6",
+ "url": "",
+ "maintainer": "omkbd",
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+ {"x":4, "y":1},
+ {"x":5, "y":1},
+ {"x":7, "y":1},
+ {"x":8, "y":1},
+ {"x":9, "y":1},
+ {"x":10, "y":1},
+ {"x":11, "y":1},
+ {"x":12, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+ {"x":4, "y":2},
+ {"x":5, "y":2},
+ {"x":7, "y":2},
+ {"x":8, "y":2},
+ {"x":9, "y":2},
+ {"x":10, "y":2},
+ {"x":11, "y":2},
+ {"x":12, "y":2},
+
+ {"x":0, "y":3},
+ {"x":1, "y":3},
+ {"x":2, "y":3},
+ {"x":3, "y":3},
+ {"x":4, "y":3},
+ {"x":5, "y":3},
+ {"x":7, "y":3},
+ {"x":8, "y":3},
+ {"x":9, "y":3},
+ {"x":10, "y":3},
+ {"x":11, "y":3},
+ {"x":12, "y":3},
+
+ {"x":0, "y":4},
+ {"x":1, "y":4},
+ {"x":2, "y":4},
+ {"x":3, "y":4},
+ {"x":4, "y":4},
+ {"x":5, "y":4},
+ {"x":7, "y":4},
+ {"x":8, "y":4},
+ {"x":9, "y":4},
+ {"x":10, "y":4},
+ {"x":11, "y":4},
+ {"x":12, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/omkbd/runner3680/5x6/keymaps/default/config.h b/keyboards/omkbd/runner3680/5x6/keymaps/default/config.h
new file mode 100644
index 0000000000..43a82f38a0
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x6/keymaps/default/config.h
@@ -0,0 +1,9 @@
+#pragma once
+
+//#define USE_MATRIX_I2C
+
+/* Select hand configuration */
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
diff --git a/keyboards/omkbd/runner3680/5x6/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/5x6/keymaps/default/keymap.c
new file mode 100644
index 0000000000..e183b3cbfc
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x6/keymaps/default/keymap.c
@@ -0,0 +1,97 @@
+#include QMK_KEYBOARD_H
+
+
+#ifdef RGBLIGHT_ENABLE
+//Following line allows macro to read current RGB settings
+extern rgblight_config_t rgblight_config;
+rgblight_config_t RGB_current_config;
+#endif
+
+enum layer_number {
+ _QWERTY = 0,
+ _ADJUST
+};
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+ ADJUST,
+ RGBRST
+};
+
+// Fillers to make layering more clear
+#define EISU LALT(KC_GRV)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* QWERTY
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Tab | Q | W | E | R | T | | Y | U | I | O | P | [ |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Esc | A | S | D | F | G | | H | J | K | L | ; | " |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | | N | M | , | . | / | \ |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Ctrl | GUI | Alt | EISU | Del | Space| | Enter| Bksp | EISU | ESC |Adjust| Left |
+ * `-----------------------------------------' `-----------------------------------------'
+ */
+ [_QWERTY] = LAYOUT(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
+ KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS,
+ KC_LCTL, KC_LGUI, KC_LALT, EISU, KC_DEL, KC_SPC, KC_ENT, KC_BSPC, EISU, KC_ESC, ADJUST, KC_LEFT
+ ),
+
+ /* Adjust
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | |RGBRST| RESET| | | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | TOG | HUI | SAI | VAI | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | MOD | HUD | SAD | VAD | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | | | | | | | | | | | | |
+ * `-----------------------------------------' `-----------------------------------------'
+ */
+ [_ADJUST] = LAYOUT(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ _______, RGBRST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case QWERTY:
+ if (record->event.pressed) {
+ print("mode just switched to qwerty and this is a huge string\n");
+ set_single_persistent_default_layer(_QWERTY);
+ }
+ break;
+
+ case ADJUST:
+ if (record->event.pressed) {
+ layer_on(_ADJUST);
+ } else {
+ layer_off(_ADJUST);
+ }
+ break;
+
+ case RGBRST:
+ #ifdef RGBLIGHT_ENABLE
+ if (record->event.pressed) {
+ eeconfig_update_rgblight_default();
+ rgblight_enable();
+ RGB_current_config = rgblight_config;
+ }
+ #endif
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/omkbd/runner3680/5x6/rules.mk b/keyboards/omkbd/runner3680/5x6/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x6/rules.mk
diff --git a/keyboards/omkbd/runner3680/5x6_5x8/.noci b/keyboards/omkbd/runner3680/5x6_5x8/.noci
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x6_5x8/.noci
diff --git a/keyboards/omkbd/runner3680/5x6_5x8/5x6_5x8.c b/keyboards/omkbd/runner3680/5x6_5x8/5x6_5x8.c
new file mode 100644
index 0000000000..62597d0060
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x6_5x8/5x6_5x8.c
@@ -0,0 +1,52 @@
+/* Copyright 2021 omkbd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "5x6_5x8.h"
+
+#ifdef RGB_MATRIX_ENABLE
+led_config_t g_led_config = { {
+ // Key Matrix to LED Index
+ { NO_LED, NO_LED, 5, 4, 3, 2, 1, 0 },
+ { NO_LED, NO_LED, 6, 7, 8, 9, 10, 11 },
+ { NO_LED, NO_LED, 17, 16, 15, 14, 13, 12 },
+ { NO_LED, NO_LED, 18, 19, 20, 21, 22, 23 },
+ { NO_LED, NO_LED, 29, 28, 27, 26, 25, 24 },
+ { 37, 36, 35, 34, 33, 32, 31, 30 },
+ { 38, 39, 40, 41, 42, 43, 44, 45 },
+ { 53, 52, 51, 50, 49, 48, 47, 46 },
+ { 54, 55, 56, 57, 58, 59, 60, 61 },
+ { 69, 68, 67, 66, 65, 64, 63, 62 }
+}, {
+ // LED Index to Physical Position
+ { 86, 0 }, { 69, 0 }, { 52, 0 }, { 34, 0 }, { 17, 0 }, { 0, 0 },
+ { 0, 16 }, { 17, 16 }, { 34, 16 }, { 52, 16 }, { 69, 16 }, { 86, 16 },
+ { 86, 32 }, { 69, 32 }, { 52, 32 }, { 34, 32 }, { 17, 32 }, { 0, 32 },
+ { 0, 48 }, { 17, 48 }, { 34, 48 }, { 52, 48 }, { 69, 48 }, { 86, 48 },
+ { 86, 64 }, { 69, 64 }, { 52, 64 }, { 34, 64 }, { 17, 64 }, { 0, 64 },
+ { 103, 0 }, { 121, 0 }, { 138, 0 }, { 155, 0 }, { 172, 0 }, { 190, 0 }, { 207, 0 }, { 224, 0 },
+ { 224, 16 }, { 207, 16 }, { 190, 16 }, { 172, 16 }, { 155, 16 }, { 138, 16 }, { 121, 16 }, { 103, 16 },
+ { 103, 32 }, { 121, 32 }, { 138, 32 }, { 155, 32 }, { 172, 32 }, { 190, 32 }, { 207, 32 }, { 224, 32 },
+ { 224, 48 }, { 207, 48 }, { 190, 48 }, { 172, 48 }, { 155, 48 }, { 138, 48 }, { 121, 48 }, { 103, 48 },
+ { 103, 64 }, { 121, 64 }, { 138, 64 }, { 155, 64 }, { 172, 64 }, { 190, 64 }, { 207, 64 }, { 224, 64 }
+}, {
+ // LED Index to Flag
+ LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL,
+ LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL,
+ LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL,
+ LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL,
+ LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL
+} };
+#endif
diff --git a/keyboards/omkbd/runner3680/5x6_5x8/5x6_5x8.h b/keyboards/omkbd/runner3680/5x6_5x8/5x6_5x8.h
new file mode 100644
index 0000000000..afceac0a89
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x6_5x8/5x6_5x8.h
@@ -0,0 +1,41 @@
+/* Copyright 2021 omkbd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "runner3680.h"
+
+#include "quantum.h"
+
+#define LAYOUT( \
+ L02, L03, L04, L05, L06, L07, R00, R01, R02, R03, R04, R05, R06, R07, \
+ L12, L13, L14, L15, L16, L17, R10, R11, R12, R13, R14, R15, R16, R17, \
+ L22, L23, L24, L25, L26, L27, R20, R21, R22, R23, R24, R25, R26, R27, \
+ L32, L33, L34, L35, L36, L37, R30, R31, R32, R33, R34, R35, R36, R37, \
+ L42, L43, L44, L45, L46, L47, R40, R41, R42, R43, R44, R45, R46, R47 \
+ ) \
+ { \
+ { KC_NO, KC_NO, L02, L03, L04, L05, L06, L07 }, \
+ { KC_NO, KC_NO, L12, L13, L14, L15, L16, L17 }, \
+ { KC_NO, KC_NO, L22, L23, L24, L25, L26, L27 }, \
+ { KC_NO, KC_NO, L32, L33, L34, L35, L36, L37 }, \
+ { KC_NO, KC_NO, L42, L43, L44, L45, L46, L47 }, \
+ { R07, R06, R05, R04, R03, R02, R01, R00 }, \
+ { R17, R16, R15, R14, R13, R12, R11, R10 }, \
+ { R27, R26, R25, R24, R23, R22, R21, R20 }, \
+ { R37, R36, R35, R34, R33, R32, R31, R30 }, \
+ { R47, R46, R45, R44, R43, R42, R41, R40 } \
+ }
diff --git a/keyboards/omkbd/runner3680/5x6_5x8/config.h b/keyboards/omkbd/runner3680/5x6_5x8/config.h
new file mode 100644
index 0000000000..815da24950
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x6_5x8/config.h
@@ -0,0 +1,84 @@
+/* Copyright 2021 omkbd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0x3680
+#define PRODUCT_ID 0x5658
+#define DEVICE_VER 0x0005
+#define MANUFACTURER Omkbd
+#define PRODUCT runner3680
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 10
+#define MATRIX_COLS 8
+
+// wiring of each half
+#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 }
+#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 ,B6 }
+// #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4 } //uncomment this line and comment line above if you need to reverse left-to-right key order
+
+#define DIODE_DIRECTION COL2ROW
+
+/* define tapping term */
+#define TAPPING_TERM 120
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* ws2812 RGB LED */
+#define RGB_DI_PIN D3
+#ifdef RGBLIGHT_ENABLE
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+#define RGBLED_NUM 70
+#define RGBLIGHT_SPLIT
+#define RGBLED_SPLIT { 30, 40 } // Number of LEDs
+#define RGBLIGHT_LIMIT_VAL 100
+#endif
+#ifdef RGB_MATRIX_ENABLE
+#define DRIVER_LED_TOTAL 70
+#define RGB_MATRIX_SPLIT { 30, 40 } // Number of LEDs
+#endif
+
+#define SOFT_SERIAL_PIN D2
+#define SELECT_SOFT_SERIAL_SPEED 1
+/*Sets the protocol speed when using serial communication*/
+//Speeds:
+//0: about 189kbps (Experimental only)
+//1: about 137kbps (default)
+//2: about 75kbps
+//3: about 39kbps
+//4: about 26kbps
+//5: about 20kbps
diff --git a/keyboards/omkbd/runner3680/5x6_5x8/info.json b/keyboards/omkbd/runner3680/5x6_5x8/info.json
new file mode 100644
index 0000000000..e8fb4c0927
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x6_5x8/info.json
@@ -0,0 +1,85 @@
+{
+ "keyboard_name": "runner3680 5x6+5x8",
+ "url": "",
+ "maintainer": "omkbd",
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+ {"x":4, "y":1},
+ {"x":5, "y":1},
+ {"x":7, "y":1},
+ {"x":8, "y":1},
+ {"x":9, "y":1},
+ {"x":10, "y":1},
+ {"x":11, "y":1},
+ {"x":12, "y":1},
+ {"x":13, "y":1},
+ {"x":14, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+ {"x":4, "y":2},
+ {"x":5, "y":2},
+ {"x":7, "y":2},
+ {"x":8, "y":2},
+ {"x":9, "y":2},
+ {"x":10, "y":2},
+ {"x":11, "y":2},
+ {"x":12, "y":2},
+ {"x":13, "y":2},
+ {"x":14, "y":2},
+
+ {"x":0, "y":3},
+ {"x":1, "y":3},
+ {"x":2, "y":3},
+ {"x":3, "y":3},
+ {"x":4, "y":3},
+ {"x":5, "y":3},
+ {"x":7, "y":3},
+ {"x":8, "y":3},
+ {"x":9, "y":3},
+ {"x":10, "y":3},
+ {"x":11, "y":3},
+ {"x":12, "y":3},
+ {"x":13, "y":3},
+ {"x":14, "y":3},
+
+ {"x":0, "y":4},
+ {"x":1, "y":4},
+ {"x":2, "y":4},
+ {"x":3, "y":4},
+ {"x":4, "y":4},
+ {"x":5, "y":4},
+ {"x":7, "y":4},
+ {"x":8, "y":4},
+ {"x":9, "y":4},
+ {"x":10, "y":4},
+ {"x":11, "y":4},
+ {"x":12, "y":4},
+ {"x":13, "y":4},
+ {"x":14, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/omkbd/runner3680/5x6_5x8/keymaps/default/config.h b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/default/config.h
new file mode 100644
index 0000000000..a21551badf
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/default/config.h
@@ -0,0 +1,25 @@
+/* Copyright 2021 omkbd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+//#define USE_MATRIX_I2C
+
+/* Select hand configuration */
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
diff --git a/keyboards/omkbd/runner3680/5x6_5x8/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/default/keymap.c
new file mode 100644
index 0000000000..4dafb4b2a3
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/default/keymap.c
@@ -0,0 +1,71 @@
+/* Copyright 2021 omkbd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+enum layer_number {
+ _QWERTY = 0,
+ _ADJUST
+};
+
+// Fillers to make layering more clear
+#define EISU LALT(KC_GRV)
+#define ADJUST MO(_ADJUST)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* QWERTY
+ * ,-----------------------------------------. ,--------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | = | Del |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | Tab | Q | W | E | R | T | | Y | U | I | O | P | [ | ] | Bksp |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | Esc | A | S | D | F | G | | H | J | K | L | ; | " | Enter| Enter|
+ * |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | | N | M | , | . | / | \ | Up | Shift|
+ * |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | Ctrl | GUI | Alt | EISU | Del | Space| | Enter| Bksp | EISU | ESC |Adjust| Left | Down | Right|
+ * `-----------------------------------------' `-------------------------------------------------------'
+ */
+ [_QWERTY] = LAYOUT(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
+ KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS, KC_UP, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, EISU, KC_DEL, KC_SPC, KC_ENT, KC_BSPC, EISU, KC_ESC, ADJUST, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ /* Adjust
+ * ,-----------------------------------------. ,--------------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | F12 | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | | TOG | HUI | SAI | VAI | | | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | | MOD | HUD | SAD | VAD | | | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | | | | |
+ * `-----------------------------------------' `-------------------------------------------------------'
+ */
+ [_ADJUST] = LAYOUT(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/config.h b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/config.h
new file mode 100644
index 0000000000..818ea7d4af
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/config.h
@@ -0,0 +1,26 @@
+/* Copyright 2021 omkbd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+//#define USE_MATRIX_I2C
+
+/* Select hand configuration */
+
+// #define MASTER_LEFT
+// #define MASTER_RIGHT
+#define EE_HANDS
diff --git a/keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/keymap.c b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/keymap.c
new file mode 100644
index 0000000000..2f8aed176c
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/keymap.c
@@ -0,0 +1,60 @@
+/* Copyright 2021 omkbd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+enum layer_number {
+ _QWERTY = 0,
+ _NAV,
+ _SYMBOL,
+ _MEDIA
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_QWERTY] = LAYOUT(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL,
+ KC_LCTL, KC_LALT, KC_LGUI, MO(2), MO(1), KC_SPC, KC_SPC, MO(1), MO(2), KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
+),
+
+[_NAV] = LAYOUT(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
+ KC_TRNS, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_PGUP, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END
+),
+
+[_SYMBOL] = LAYOUT(
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS, KC_BSPC,
+ KC_TRNS, KC_NO, KC_P7, KC_P8, KC_P9, KC_NO, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS, KC_NO, KC_LCBR, KC_RCBR, KC_PIPE,
+ KC_ESC, KC_NO, KC_P4, KC_P5, KC_P6, KC_NO, KC_LCBR, KC_RCBR, KC_MINS, KC_EQL, KC_COLN, KC_DQUO, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_NO, KC_P1, KC_P2, KC_P3, KC_NO, KC_LBRC, KC_RBRC, KC_LT, KC_GT, KC_QUES, KC_TRNS, KC_UP, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_P0, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT
+),
+
+[_MEDIA] = LAYOUT(
+ KC_NO, KC_SLCK, KC_PAUS, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MRWD, KC_MPLY, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO,
+ RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_NO, KC_NO, KC_NO, KC_NO, KC_MPLY, KC_NO, KC_NO, KC_NO,
+ KC_NO, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, RGB_M_P, RGB_M_B, RGB_M_SW, RGB_M_G, KC_NO, KC_NO, KC_MUTE, KC_NO, KC_NO, KC_NO, KC_NO, KC_VOLU, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_MRWD, KC_VOLD, KC_MFFD
+)
+
+};
diff --git a/keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/rules.mk b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/rules.mk
new file mode 100644
index 0000000000..8110dbaa1f
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/rules.mk
@@ -0,0 +1,3 @@
+RGB_MATRIX_ENABLE = yes
+EXTRAKEY_ENABLE = yes
+VIA_ENABLE = yes
diff --git a/keyboards/omkbd/runner3680/5x6_5x8/keymaps/jis/config.h b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/jis/config.h
new file mode 100644
index 0000000000..a21551badf
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/jis/config.h
@@ -0,0 +1,25 @@
+/* Copyright 2021 omkbd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+//#define USE_MATRIX_I2C
+
+/* Select hand configuration */
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
diff --git a/keyboards/omkbd/runner3680/5x6_5x8/keymaps/jis/keymap.c b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/jis/keymap.c
new file mode 100644
index 0000000000..463d847639
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/jis/keymap.c
@@ -0,0 +1,72 @@
+/* Copyright 2021 omkbd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+#include "keymap_jp.h"
+
+enum layer_number {
+ _QWERTY = 0,
+ _ADJUST
+};
+
+// Fillers to make layering more clear
+#define EISU LALT(KC_GRV)
+#define ADJUST MO(_ADJUST)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* QWERTY
+ * ,-----------------------------------------. ,--------------------------------------------------------.
+ * | EISU | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | ^ | \ |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | Tab | Q | W | E | R | T | | Y | U | I | O | P | @ | [ | Bksp |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | Esc | A | S | D | F | G | | H | J | K | L | : | ; | ] | Enter|
+ * |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | | N | M | , | . | / | \ | Up | Shift|
+ * |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | Ctrl | GUI | Alt | MHEN | Del | Space| | Enter| Bksp | HENK |Adjust| F10 | Left | Down | Right|
+ * `-----------------------------------------' `-------------------------------------------------------'
+ */
+ [_QWERTY] = LAYOUT(
+ JP_ZKHK, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, JP_CIRC, JP_YEN,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, JP_LBRC, KC_BSPC,
+ KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, JP_COLN, JP_RBRC, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, JP_BSLS, KC_UP, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_DEL, KC_SPC, KC_ENT, KC_BSPC, KC_HENK, ADJUST, KC_F10, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ /* Adjust
+ * ,-----------------------------------------. ,--------------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | F12 | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | | TOG | HUI | SAI | VAI | | | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | | MOD | HUD | SAD | VAD | | | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | | | | |
+ * `-----------------------------------------' `-------------------------------------------------------'
+ */
+ [_ADJUST] = LAYOUT(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/omkbd/runner3680/5x6_5x8/keymaps/via/config.h b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/via/config.h
new file mode 100644
index 0000000000..a21551badf
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/via/config.h
@@ -0,0 +1,25 @@
+/* Copyright 2021 omkbd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+//#define USE_MATRIX_I2C
+
+/* Select hand configuration */
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
diff --git a/keyboards/omkbd/runner3680/5x6_5x8/keymaps/via/keymap.c b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/via/keymap.c
new file mode 100644
index 0000000000..4dafb4b2a3
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/via/keymap.c
@@ -0,0 +1,71 @@
+/* Copyright 2021 omkbd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+enum layer_number {
+ _QWERTY = 0,
+ _ADJUST
+};
+
+// Fillers to make layering more clear
+#define EISU LALT(KC_GRV)
+#define ADJUST MO(_ADJUST)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* QWERTY
+ * ,-----------------------------------------. ,--------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | = | Del |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | Tab | Q | W | E | R | T | | Y | U | I | O | P | [ | ] | Bksp |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | Esc | A | S | D | F | G | | H | J | K | L | ; | " | Enter| Enter|
+ * |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | | N | M | , | . | / | \ | Up | Shift|
+ * |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | Ctrl | GUI | Alt | EISU | Del | Space| | Enter| Bksp | EISU | ESC |Adjust| Left | Down | Right|
+ * `-----------------------------------------' `-------------------------------------------------------'
+ */
+ [_QWERTY] = LAYOUT(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
+ KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS, KC_UP, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, EISU, KC_DEL, KC_SPC, KC_ENT, KC_BSPC, EISU, KC_ESC, ADJUST, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ /* Adjust
+ * ,-----------------------------------------. ,--------------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | F12 | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | | TOG | HUI | SAI | VAI | | | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | | MOD | HUD | SAD | VAD | | | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | | | | |
+ * `-----------------------------------------' `-------------------------------------------------------'
+ */
+ [_ADJUST] = LAYOUT(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/omkbd/runner3680/5x6_5x8/keymaps/via/rules.mk b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/omkbd/runner3680/5x6_5x8/rules.mk b/keyboards/omkbd/runner3680/5x6_5x8/rules.mk
new file mode 100644
index 0000000000..32afd21635
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x6_5x8/rules.mk
@@ -0,0 +1 @@
+RGB_MATRIX_DRIVER = WS2812
diff --git a/keyboards/omkbd/runner3680/5x7/.noci b/keyboards/omkbd/runner3680/5x7/.noci
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x7/.noci
diff --git a/keyboards/omkbd/runner3680/5x7/5x7.c b/keyboards/omkbd/runner3680/5x7/5x7.c
new file mode 100644
index 0000000000..aae28e450c
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x7/5x7.c
@@ -0,0 +1 @@
+#include "5x7.h"
diff --git a/keyboards/omkbd/runner3680/5x7/5x7.h b/keyboards/omkbd/runner3680/5x7/5x7.h
new file mode 100644
index 0000000000..451ecf6cd4
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x7/5x7.h
@@ -0,0 +1,25 @@
+#pragma once
+
+#include "runner3680.h"
+
+#include "quantum.h"
+
+#define LAYOUT( \
+ L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
+ L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
+ L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
+ L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \
+ L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \
+ ) \
+ { \
+ { L00, L01, L02, L03, L04, L05, L06 }, \
+ { L10, L11, L12, L13, L14, L15, L16 }, \
+ { L20, L21, L22, L23, L24, L25, L26 }, \
+ { L30, L31, L32, L33, L34, L35, L36 }, \
+ { L40, L41, L42, L43, L44, L45, L46 }, \
+ { R06, R05, R04, R03, R02, R01, R00 }, \
+ { R16, R15, R14, R13, R12, R11, R10 }, \
+ { R26, R25, R24, R23, R22, R21, R20 }, \
+ { R36, R35, R34, R33, R32, R31, R30 }, \
+ { R46, R45, R44, R43, R42, R41, R40 } \
+ }
diff --git a/keyboards/omkbd/runner3680/5x7/config.h b/keyboards/omkbd/runner3680/5x7/config.h
new file mode 100644
index 0000000000..6bcbeeda54
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x7/config.h
@@ -0,0 +1,69 @@
+/* Copyright 2019 omkbd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x0000
+#define DEVICE_VER 0x0005
+#define MANUFACTURER Omkbd
+#define PRODUCT runner3680
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 10
+#define MATRIX_COLS 7
+
+// wiring of each half
+#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 }
+#define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B2 ,B6 }
+// #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5 } //uncomment this line and comment line above if you need to reverse left-to-right key order
+
+#define DIODE_DIRECTION COL2ROW
+
+/* define tapping term */
+#define TAPPING_TERM 120
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* ws2812 RGB LED */
+#define RGB_DI_PIN D3
+#define RGBLIGHT_ANIMATIONS
+#define RGBLED_NUM 70
+#define RGBLIGHT_SPLIT
+#define RGBLED_SPLIT { 35, 35 } // Number of LEDs
+#define RGBLIGHT_LIMIT_VAL 100
+
+#define SOFT_SERIAL_PIN D2
+#define SELECT_SOFT_SERIAL_SPEED 1
+/*Sets the protocol speed when using serial communication*/
+//Speeds:
+//0: about 189kbps (Experimental only)
+//1: about 137kbps (default)
+//2: about 75kbps
+//3: about 39kbps
+//4: about 26kbps
+//5: about 20kbps
diff --git a/keyboards/omkbd/runner3680/5x7/info.json b/keyboards/omkbd/runner3680/5x7/info.json
new file mode 100644
index 0000000000..c60177d38c
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x7/info.json
@@ -0,0 +1,85 @@
+{
+ "keyboard_name": "runner3680 5x7",
+ "url": "",
+ "maintainer": "omkbd",
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+ {"x":4, "y":1},
+ {"x":5, "y":1},
+ {"x":6, "y":1},
+ {"x":8, "y":1},
+ {"x":9, "y":1},
+ {"x":10, "y":1},
+ {"x":11, "y":1},
+ {"x":12, "y":1},
+ {"x":13, "y":1},
+ {"x":14, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+ {"x":4, "y":2},
+ {"x":5, "y":2},
+ {"x":6, "y":2},
+ {"x":8, "y":2},
+ {"x":9, "y":2},
+ {"x":10, "y":2},
+ {"x":11, "y":2},
+ {"x":12, "y":2},
+ {"x":13, "y":2},
+ {"x":14, "y":2},
+
+ {"x":0, "y":3},
+ {"x":1, "y":3},
+ {"x":2, "y":3},
+ {"x":3, "y":3},
+ {"x":4, "y":3},
+ {"x":5, "y":3},
+ {"x":6, "y":3},
+ {"x":8, "y":3},
+ {"x":9, "y":3},
+ {"x":10, "y":3},
+ {"x":11, "y":3},
+ {"x":12, "y":3},
+ {"x":13, "y":3},
+ {"x":14, "y":3},
+
+ {"x":0, "y":4},
+ {"x":1, "y":4},
+ {"x":2, "y":4},
+ {"x":3, "y":4},
+ {"x":4, "y":4},
+ {"x":5, "y":4},
+ {"x":6, "y":4},
+ {"x":8, "y":4},
+ {"x":9, "y":4},
+ {"x":10, "y":4},
+ {"x":11, "y":4},
+ {"x":12, "y":4},
+ {"x":13, "y":4},
+ {"x":14, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/omkbd/runner3680/5x7/keymaps/default/config.h b/keyboards/omkbd/runner3680/5x7/keymaps/default/config.h
new file mode 100644
index 0000000000..43a82f38a0
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x7/keymaps/default/config.h
@@ -0,0 +1,9 @@
+#pragma once
+
+//#define USE_MATRIX_I2C
+
+/* Select hand configuration */
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
diff --git a/keyboards/omkbd/runner3680/5x7/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/5x7/keymaps/default/keymap.c
new file mode 100644
index 0000000000..9c6c12fe40
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x7/keymaps/default/keymap.c
@@ -0,0 +1,97 @@
+#include QMK_KEYBOARD_H
+
+
+#ifdef RGBLIGHT_ENABLE
+//Following line allows macro to read current RGB settings
+extern rgblight_config_t rgblight_config;
+rgblight_config_t RGB_current_config;
+#endif
+
+enum layer_number {
+ _QWERTY = 0,
+ _ADJUST
+};
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+ ADJUST,
+ RGBRST
+};
+
+// Fillers to make layering more clear
+#define EISU LALT(KC_GRV)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* QWERTY
+ * ,------------------------------------------------. ,------------------------------------------------.
+ * | F1 | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | = |
+ * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
+ * | F2 | Tab | Q | W | E | R | T | | Y | U | I | O | P | [ | ] |
+ * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
+ * | F3 | Esc | A | S | D | F | G | | H | J | K | L | ; | " | Enter|
+ * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
+ * | F4 | Shift| Z | X | C | V | B | | N | M | , | . | / | \ | Shift|
+ * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
+ * | F5 | Ctrl | GUI | Alt | EISU | Del | Space| | Enter| Bksp | EISU | ESC |Adjust| Left | Down |
+ * `------------------------------------------------' `------------------------------------------------'
+ */
+ [_QWERTY] = LAYOUT(
+ KC_F1, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
+ KC_F2, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
+ KC_F3, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_F4, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS, KC_RSFT,
+ KC_F5, KC_LCTL, KC_LGUI, KC_LALT, EISU, KC_DEL, KC_SPC, KC_ENT, KC_BSPC, ADJUST, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
+ ),
+
+ /* Adjust
+ * ,------------------------------------------------. ,------------------------------------------------.
+ * | | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
+ * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
+ * | | |RGBRST| RESET| | | | | | | | | | | |
+ * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
+ * | | | TOG | HUI | SAI | VAI | | | | | | | | | |
+ * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
+ * | | | MOD | HUD | SAD | VAD | | | | | | | | | |
+ * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | | | | |
+ * `------------------------------------------------' `------------------------------------------------'
+ */
+ [_ADJUST] = LAYOUT(
+ _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ _______, _______, RGBRST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case QWERTY:
+ if (record->event.pressed) {
+ print("mode just switched to qwerty and this is a huge string\n");
+ set_single_persistent_default_layer(_QWERTY);
+ }
+ break;
+
+ case ADJUST:
+ if (record->event.pressed) {
+ layer_on(_ADJUST);
+ } else {
+ layer_off(_ADJUST);
+ }
+ break;
+
+ case RGBRST:
+ #ifdef RGBLIGHT_ENABLE
+ if (record->event.pressed) {
+ eeconfig_update_rgblight_default();
+ rgblight_enable();
+ RGB_current_config = rgblight_config;
+ }
+ #endif
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/omkbd/runner3680/5x7/rules.mk b/keyboards/omkbd/runner3680/5x7/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x7/rules.mk
diff --git a/keyboards/omkbd/runner3680/5x8/.noci b/keyboards/omkbd/runner3680/5x8/.noci
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x8/.noci
diff --git a/keyboards/omkbd/runner3680/5x8/5x8.c b/keyboards/omkbd/runner3680/5x8/5x8.c
new file mode 100644
index 0000000000..3958702572
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x8/5x8.c
@@ -0,0 +1 @@
+#include "5x8.h"
diff --git a/keyboards/omkbd/runner3680/5x8/5x8.h b/keyboards/omkbd/runner3680/5x8/5x8.h
new file mode 100644
index 0000000000..de53a0eb29
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x8/5x8.h
@@ -0,0 +1,25 @@
+#pragma once
+
+#include "runner3680.h"
+
+#include "quantum.h"
+
+#define LAYOUT( \
+ L00, L01, L02, L03, L04, L05, L06, L07, R00, R01, R02, R03, R04, R05, R06, R07, \
+ L10, L11, L12, L13, L14, L15, L16, L17, R10, R11, R12, R13, R14, R15, R16, R17, \
+ L20, L21, L22, L23, L24, L25, L26, L27, R20, R21, R22, R23, R24, R25, R26, R27, \
+ L30, L31, L32, L33, L34, L35, L36, L37, R30, R31, R32, R33, R34, R35, R36, R37, \
+ L40, L41, L42, L43, L44, L45, L46, L47, R40, R41, R42, R43, R44, R45, R46, R47 \
+ ) \
+ { \
+ { L00, L01, L02, L03, L04, L05, L06, L07 }, \
+ { L10, L11, L12, L13, L14, L15, L16, L17 }, \
+ { L20, L21, L22, L23, L24, L25, L26, L27 }, \
+ { L30, L31, L32, L33, L34, L35, L36, L37 }, \
+ { L40, L41, L42, L43, L44, L45, L46, L47 }, \
+ { R07, R06, R05, R04, R03, R02, R01, R00 }, \
+ { R17, R16, R15, R14, R13, R12, R11, R10 }, \
+ { R27, R26, R25, R24, R23, R22, R21, R20 }, \
+ { R37, R36, R35, R34, R33, R32, R31, R30 }, \
+ { R47, R46, R45, R44, R43, R42, R41, R40 } \
+ }
diff --git a/keyboards/omkbd/runner3680/5x8/config.h b/keyboards/omkbd/runner3680/5x8/config.h
new file mode 100644
index 0000000000..29cfba78d1
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x8/config.h
@@ -0,0 +1,69 @@
+/* Copyright 2019 omkbd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x0000
+#define DEVICE_VER 0x0005
+#define MANUFACTURER Omkbd
+#define PRODUCT runner3680
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 10
+#define MATRIX_COLS 8
+
+// wiring of each half
+#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 }
+#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 ,B6 }
+// #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4 } //uncomment this line and comment line above if you need to reverse left-to-right key order
+
+#define DIODE_DIRECTION COL2ROW
+
+/* define tapping term */
+#define TAPPING_TERM 120
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* ws2812 RGB LED */
+#define RGB_DI_PIN D3
+#define RGBLIGHT_ANIMATIONS
+#define RGBLED_NUM 80
+#define RGBLIGHT_SPLIT
+#define RGBLED_SPLIT { 40, 40 } // Number of LEDs
+#define RGBLIGHT_LIMIT_VAL 100
+
+#define SOFT_SERIAL_PIN D2
+#define SELECT_SOFT_SERIAL_SPEED 1
+/*Sets the protocol speed when using serial communication*/
+//Speeds:
+//0: about 189kbps (Experimental only)
+//1: about 137kbps (default)
+//2: about 75kbps
+//3: about 39kbps
+//4: about 26kbps
+//5: about 20kbps
diff --git a/keyboards/omkbd/runner3680/5x8/info.json b/keyboards/omkbd/runner3680/5x8/info.json
new file mode 100644
index 0000000000..70e3cc7833
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x8/info.json
@@ -0,0 +1,95 @@
+{
+ "keyboard_name": "runner3680 5x8",
+ "url": "",
+ "maintainer": "omkbd",
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":7, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14, "y":0},
+ {"x":15, "y":0},
+ {"x":16, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+ {"x":4, "y":1},
+ {"x":5, "y":1},
+ {"x":6, "y":1},
+ {"x":7, "y":1},
+ {"x":9, "y":1},
+ {"x":10, "y":1},
+ {"x":11, "y":1},
+ {"x":12, "y":1},
+ {"x":13, "y":1},
+ {"x":14, "y":1},
+ {"x":15, "y":1},
+ {"x":16, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+ {"x":4, "y":2},
+ {"x":5, "y":2},
+ {"x":6, "y":2},
+ {"x":7, "y":2},
+ {"x":9, "y":2},
+ {"x":10, "y":2},
+ {"x":11, "y":2},
+ {"x":12, "y":2},
+ {"x":13, "y":2},
+ {"x":14, "y":2},
+ {"x":15, "y":2},
+ {"x":16, "y":2},
+
+ {"x":0, "y":3},
+ {"x":1, "y":3},
+ {"x":2, "y":3},
+ {"x":3, "y":3},
+ {"x":4, "y":3},
+ {"x":5, "y":3},
+ {"x":6, "y":3},
+ {"x":7, "y":3},
+ {"x":9, "y":3},
+ {"x":10, "y":3},
+ {"x":11, "y":3},
+ {"x":12, "y":3},
+ {"x":13, "y":3},
+ {"x":14, "y":3},
+ {"x":15, "y":3},
+ {"x":16, "y":3},
+
+ {"x":0, "y":4},
+ {"x":1, "y":4},
+ {"x":2, "y":4},
+ {"x":3, "y":4},
+ {"x":4, "y":4},
+ {"x":5, "y":4},
+ {"x":6, "y":4},
+ {"x":7, "y":4},
+ {"x":9, "y":4},
+ {"x":10, "y":4},
+ {"x":11, "y":4},
+ {"x":12, "y":4},
+ {"x":13, "y":4},
+ {"x":14, "y":4},
+ {"x":15, "y":4},
+ {"x":16, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/omkbd/runner3680/5x8/keymaps/JIS/config.h b/keyboards/omkbd/runner3680/5x8/keymaps/JIS/config.h
new file mode 100644
index 0000000000..43a82f38a0
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x8/keymaps/JIS/config.h
@@ -0,0 +1,9 @@
+#pragma once
+
+//#define USE_MATRIX_I2C
+
+/* Select hand configuration */
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
diff --git a/keyboards/omkbd/runner3680/5x8/keymaps/JIS/keymap.c b/keyboards/omkbd/runner3680/5x8/keymaps/JIS/keymap.c
new file mode 100644
index 0000000000..75ff755651
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x8/keymaps/JIS/keymap.c
@@ -0,0 +1,99 @@
+#include QMK_KEYBOARD_H
+#include "keymap_jp.h"
+
+extern keymap_config_t keymap_config;
+
+#ifdef RGBLIGHT_ENABLE
+//Following line allows macro to read current RGB settings
+extern rgblight_config_t rgblight_config;
+rgblight_config_t RGB_current_config;
+#endif
+
+enum layer_number {
+ _QWERTY = 0,
+ _ADJUST
+};
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+ ADJUST,
+ RGBRST
+};
+
+// Fillers to make layering more clear
+#define EISU LALT(KC_GRV)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* QWERTY
+ * ,-------------------------------------------------------. ,--------------------------------------------------------.
+ * | F1 | F2 | EISU | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | ^ | \ |
+ * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | F3 | F4 | Tab | Q | W | E | R | T | | Y | U | I | O | P | @ | [ | Bksp |
+ * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | F5 | F6 | Esc | A | S | D | F | G | | H | J | K | L | : | ; | ] | Enter|
+ * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | F7 | F8 | Shift| Z | X | C | V | B | | N | M | , | . | / | \ | Up | Shift|
+ * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | F9 | F10 | Ctrl | GUI | Alt | MHEN | Del | Space| | Enter| Bksp | HENK |Adjust| F10 | Left | Down | Right|
+ * `-------------------------------------------------------' `-------------------------------------------------------'
+ */
+ [_QWERTY] = LAYOUT(
+ RGBRST , RGB_TOG, JP_ZKHK, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, JP_CIRC, JP_YEN,
+ RGB_MOD, RGB_SAI, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, JP_LBRC, KC_BSPC,
+ RGB_SAI, RGB_SAD, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, JP_COLN, JP_RBRC, KC_ENT,
+ RGB_VAI, RGB_VAD, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, JP_BSLS, KC_UP, KC_RSFT,
+ _______, _______, KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_DEL, KC_SPC, KC_ENT, KC_BSPC, KC_HENK, ADJUST, KC_F10, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ /* Adjust
+ * ,-------------------------------------------------------. ,--------------------------------------------------------.
+ * | | | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | F12 | |
+ * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | | | |RGBRST| RESET| | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | | | | TOG | HUI | SAI | VAI | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | | | | MOD | HUD | SAD | VAD | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | | | | | | |
+ * `-------------------------------------------------------' `-------------------------------------------------------'
+ */
+ [_ADJUST] = LAYOUT(
+ _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
+ _______, _______, _______, RGBRST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case QWERTY:
+ if (record->event.pressed) {
+ print("mode just switched to qwerty and this is a huge string\n");
+ set_single_persistent_default_layer(_QWERTY);
+ }
+ break;
+
+ case ADJUST:
+ if (record->event.pressed) {
+ layer_on(_ADJUST);
+ } else {
+ layer_off(_ADJUST);
+ }
+ break;
+
+ case RGBRST:
+ #ifdef RGBLIGHT_ENABLE
+ if (record->event.pressed) {
+ eeconfig_update_rgblight_default();
+ rgblight_enable();
+ RGB_current_config = rgblight_config;
+ }
+ #endif
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/omkbd/runner3680/5x8/keymaps/default/config.h b/keyboards/omkbd/runner3680/5x8/keymaps/default/config.h
new file mode 100644
index 0000000000..43a82f38a0
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x8/keymaps/default/config.h
@@ -0,0 +1,9 @@
+#pragma once
+
+//#define USE_MATRIX_I2C
+
+/* Select hand configuration */
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
diff --git a/keyboards/omkbd/runner3680/5x8/keymaps/default/keymap.c b/keyboards/omkbd/runner3680/5x8/keymaps/default/keymap.c
new file mode 100644
index 0000000000..b9efd44ef7
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x8/keymaps/default/keymap.c
@@ -0,0 +1,97 @@
+#include QMK_KEYBOARD_H
+
+
+#ifdef RGBLIGHT_ENABLE
+//Following line allows macro to read current RGB settings
+extern rgblight_config_t rgblight_config;
+rgblight_config_t RGB_current_config;
+#endif
+
+enum layer_number {
+ _QWERTY = 0,
+ _ADJUST
+};
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+ ADJUST,
+ RGBRST
+};
+
+// Fillers to make layering more clear
+#define EISU LALT(KC_GRV)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* QWERTY
+ * ,-------------------------------------------------------. ,--------------------------------------------------------.
+ * | F1 | F2 | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | = | Del |
+ * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | F3 | F4 | Tab | Q | W | E | R | T | | Y | U | I | O | P | [ | ] | Bksp |
+ * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | F5 | F6 | Esc | A | S | D | F | G | | H | J | K | L | ; | " | Enter| Enter|
+ * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | F7 | F8 | Shift| Z | X | C | V | B | | N | M | , | . | / | \ | Up | Shift|
+ * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | F9 | F10 | Ctrl | GUI | Alt | EISU | Del | Space| | Enter| Bksp | EISU | ESC |Adjust| Left | Down | Right|
+ * `-------------------------------------------------------' `-------------------------------------------------------'
+ */
+ [_QWERTY] = LAYOUT(
+ KC_F1, KC_F2, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL,
+ KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
+ KC_F5, KC_F6, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_ENT,
+ KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS, KC_UP, KC_RSFT,
+ KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, EISU, KC_DEL, KC_SPC, KC_ENT, KC_BSPC, EISU, KC_ESC, ADJUST, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ /* Adjust
+ * ,-------------------------------------------------------. ,--------------------------------------------------------.
+ * | | | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | F12 | |
+ * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | | | |RGBRST| RESET| | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | | | | TOG | HUI | SAI | VAI | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | | | | MOD | HUD | SAD | VAD | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | | | | | | |
+ * `-------------------------------------------------------' `-------------------------------------------------------'
+ */
+ [_ADJUST] = LAYOUT(
+ _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
+ _______, _______, _______, RGBRST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case QWERTY:
+ if (record->event.pressed) {
+ print("mode just switched to qwerty and this is a huge string\n");
+ set_single_persistent_default_layer(_QWERTY);
+ }
+ break;
+
+ case ADJUST:
+ if (record->event.pressed) {
+ layer_on(_ADJUST);
+ } else {
+ layer_off(_ADJUST);
+ }
+ break;
+
+ case RGBRST:
+ #ifdef RGBLIGHT_ENABLE
+ if (record->event.pressed) {
+ eeconfig_update_rgblight_default();
+ rgblight_enable();
+ RGB_current_config = rgblight_config;
+ }
+ #endif
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/omkbd/runner3680/5x8/rules.mk b/keyboards/omkbd/runner3680/5x8/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/omkbd/runner3680/5x8/rules.mk
diff --git a/keyboards/omkbd/runner3680/config.h b/keyboards/omkbd/runner3680/config.h
new file mode 100644
index 0000000000..b8c5759db6
--- /dev/null
+++ b/keyboards/omkbd/runner3680/config.h
@@ -0,0 +1,3 @@
+#pragma once
+
+#include "config_common.h"
diff --git a/keyboards/omkbd/runner3680/readme.md b/keyboards/omkbd/runner3680/readme.md
new file mode 100644
index 0000000000..9dd15495a9
--- /dev/null
+++ b/keyboards/omkbd/runner3680/readme.md
@@ -0,0 +1,15 @@
+# runner3680
+
+![runner3680](https://github.com/omkbd/Runner3680/blob/master/Picture/Runner3680.jpg)
+
+A split ortholinear keyboard. Each half is a 5x8 arrangement, with breakable pieces to allow the number of rows to be customized between 3 to 5, and the number of columns to be between 6 to 8.
+
+Keyboard Maintainer: [omkbd](https://github.com/omkbd) [@omkbd](https://twitter.com/omkbd)
+Hardware Supported: Runner3680, Pro Micro ATmega32u4
+Hardware Availability: Order your own [yourself](https://github.com/omkbd/Runner3680)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make omkbd/runner3680/5x8:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/omkbd/runner3680/rules.mk b/keyboards/omkbd/runner3680/rules.mk
new file mode 100644
index 0000000000..1be171295d
--- /dev/null
+++ b/keyboards/omkbd/runner3680/rules.mk
@@ -0,0 +1,22 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = no # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+SPLIT_KEYBOARD = yes # Enables split keyboard support
+
+DEFAULT_FOLDER = omkbd/runner3680/5x8
diff --git a/keyboards/omkbd/runner3680/runner3680.c b/keyboards/omkbd/runner3680/runner3680.c
new file mode 100644
index 0000000000..7d8362363b
--- /dev/null
+++ b/keyboards/omkbd/runner3680/runner3680.c
@@ -0,0 +1 @@
+#include "runner3680.h"
diff --git a/keyboards/omkbd/runner3680/runner3680.h b/keyboards/omkbd/runner3680/runner3680.h
new file mode 100644
index 0000000000..59afecfcfa
--- /dev/null
+++ b/keyboards/omkbd/runner3680/runner3680.h
@@ -0,0 +1,43 @@
+#pragma once
+
+#include "quantum.h"
+
+#ifdef KEYBOARD_omkbd_runner3680_5x8
+ #include "5x8.h"
+#endif
+
+#ifdef KEYBOARD_omkbd_runner3680_5x7
+ #include "5x7.h"
+#endif
+
+#ifdef KEYBOARD_omkbd_runner3680_5x6
+ #include "5x6.h"
+#endif
+
+#ifdef KEYBOARD_omkbd_runner3680_5x6_5x8
+ #include "5x6_5x8.h"
+#endif
+
+#ifdef KEYBOARD_omkbd_runner3680_4x8
+ #include "4x8.h"
+#endif
+
+#ifdef KEYBOARD_omkbd_runner3680_4x7
+ #include "4x7.h"
+#endif
+
+#ifdef KEYBOARD_omkbd_runner3680_4x6
+ #include "4x6.h"
+#endif
+
+#ifdef KEYBOARD_omkbd_runner3680_3x8
+ #include "3x8.h"
+#endif
+
+#ifdef KEYBOARD_omkbd_runner3680_3x7
+ #include "3x7.h"
+#endif
+
+#ifdef KEYBOARD_omkbd_runner3680_3x6
+ #include "3x6.h"
+#endif