summaryrefslogtreecommitdiff
path: root/keyboards/ergodox_ez
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/ergodox_ez')
-rw-r--r--keyboards/ergodox_ez/config.h12
-rw-r--r--keyboards/ergodox_ez/ergodox_ez.c20
-rw-r--r--keyboards/ergodox_ez/ergodox_ez.h31
-rw-r--r--keyboards/ergodox_ez/glow/config.h24
-rw-r--r--keyboards/ergodox_ez/glow/glow.h20
-rw-r--r--keyboards/ergodox_ez/glow/keymaps/glow/keymap.c (renamed from keyboards/ergodox_ez/keymaps/glow/keymap.c)0
-rw-r--r--keyboards/ergodox_ez/glow/keymaps/glow/rules.mk6
-rw-r--r--keyboards/ergodox_ez/glow/keymaps/reactive/config.h (renamed from keyboards/ergodox_ez/keymaps/reactive/config.h)0
-rw-r--r--keyboards/ergodox_ez/glow/keymaps/reactive/keymap.c (renamed from keyboards/ergodox_ez/keymaps/reactive/keymap.c)0
-rw-r--r--keyboards/ergodox_ez/glow/keymaps/reactive/rules.mk7
-rw-r--r--keyboards/ergodox_ez/glow/rules.mk1
-rw-r--r--keyboards/ergodox_ez/keymaps/default/keymap.c4
-rw-r--r--keyboards/ergodox_ez/keymaps/glow/rules.mk6
-rw-r--r--keyboards/ergodox_ez/keymaps/oryx/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/reactive/rules.mk7
-rw-r--r--keyboards/ergodox_ez/keymaps/webusb/keymap.c2
-rw-r--r--keyboards/ergodox_ez/led_i2c.c42
-rw-r--r--keyboards/ergodox_ez/matrix.c3
-rw-r--r--keyboards/ergodox_ez/post_config.h20
-rw-r--r--keyboards/ergodox_ez/readme.md54
-rw-r--r--keyboards/ergodox_ez/rules.mk1
-rw-r--r--keyboards/ergodox_ez/shine/config.h23
-rw-r--r--keyboards/ergodox_ez/shine/rules.mk1
-rw-r--r--keyboards/ergodox_ez/shine/shine.h20
24 files changed, 234 insertions, 72 deletions
diff --git a/keyboards/ergodox_ez/config.h b/keyboards/ergodox_ez/config.h
index fceb1197ff..64289666de 100644
--- a/keyboards/ergodox_ez/config.h
+++ b/keyboards/ergodox_ez/config.h
@@ -1,6 +1,8 @@
/*
Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
+Copyright 2015 ZSA Technology Labs Inc (@zsa)
+Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
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
@@ -21,8 +23,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x1307
+#define VENDOR_ID 0x3297
+#define PRODUCT_ID 0x4974
#define DEVICE_VER 0x0001
#define MANUFACTURER ZSA Technology Labs Inc
#define PRODUCT ErgoDox EZ
@@ -152,8 +154,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
+#define NO_ACTION_MACRO
+#define NO_ACTION_FUNCTION
//#define DEBUG_MATRIX_SCAN_RATE
-
-#endif
diff --git a/keyboards/ergodox_ez/ergodox_ez.c b/keyboards/ergodox_ez/ergodox_ez.c
index ed0de24cc4..a2bbbfe09d 100644
--- a/keyboards/ergodox_ez/ergodox_ez.c
+++ b/keyboards/ergodox_ez/ergodox_ez.c
@@ -1,3 +1,23 @@
+/*
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
+Copyright 2015 ZSA Technology Labs Inc (@zsa)
+Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
+
+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 "ergodox_ez.h"
extern inline void ergodox_board_led_on(void);
diff --git a/keyboards/ergodox_ez/ergodox_ez.h b/keyboards/ergodox_ez/ergodox_ez.h
index 5754dc8ae1..a10e0fee63 100644
--- a/keyboards/ergodox_ez/ergodox_ez.h
+++ b/keyboards/ergodox_ez/ergodox_ez.h
@@ -1,11 +1,36 @@
-#ifndef ERGODOX_EZ_H
-#define ERGODOX_EZ_H
+/*
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
+Copyright 2015 ZSA Technology Labs Inc (@zsa)
+Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
+
+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 "quantum.h"
#include <stdint.h>
#include <stdbool.h>
#include "i2c_master.h"
+#if defined(KEYBOARD_ergodox_ez_glow)
+# include "glow.h"
+#elif defined(KEYBOARD_ergodox_ez_shine)
+# include "shine.h"
+#endif
+
// I2C aliases and register addresses (see "mcp23018.md")
#define I2C_ADDR 0b0100000
#define I2C_ADDR_WRITE ( (I2C_ADDR<<1) | I2C_WRITE )
@@ -265,5 +290,3 @@ extern keyboard_config_t keyboard_config;
{ R05, R15, R25, R35, R45, R55 }, \
{ R06, R16, R26, R36, R46, KC_NO } \
}
-
-#endif
diff --git a/keyboards/ergodox_ez/glow/config.h b/keyboards/ergodox_ez/glow/config.h
new file mode 100644
index 0000000000..e4cdb2625d
--- /dev/null
+++ b/keyboards/ergodox_ez/glow/config.h
@@ -0,0 +1,24 @@
+/*
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
+Copyright 2015 ZSA Technology Labs Inc (@zsa)
+Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
+
+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
+
+#undef PRODUCT_ID
+#define PRODUCT_ID 0x4976
+#undef PRODUCT
+#define PRODUCT ErgoDox EZ Glow
diff --git a/keyboards/ergodox_ez/glow/glow.h b/keyboards/ergodox_ez/glow/glow.h
new file mode 100644
index 0000000000..a504e4fdfb
--- /dev/null
+++ b/keyboards/ergodox_ez/glow/glow.h
@@ -0,0 +1,20 @@
+/*
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
+Copyright 2015 ZSA Technology Labs Inc (@zsa)
+Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
+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 "ergodox_ez.h"
diff --git a/keyboards/ergodox_ez/keymaps/glow/keymap.c b/keyboards/ergodox_ez/glow/keymaps/glow/keymap.c
index 526c364029..526c364029 100644
--- a/keyboards/ergodox_ez/keymaps/glow/keymap.c
+++ b/keyboards/ergodox_ez/glow/keymaps/glow/keymap.c
diff --git a/keyboards/ergodox_ez/glow/keymaps/glow/rules.mk b/keyboards/ergodox_ez/glow/keymaps/glow/rules.mk
new file mode 100644
index 0000000000..894a6a5e13
--- /dev/null
+++ b/keyboards/ergodox_ez/glow/keymaps/glow/rules.mk
@@ -0,0 +1,6 @@
+RGBLIGHT_ENABLE = no
+RGB_MATRIX_ENABLE = IS31FL3731 # enable later
+
+SRC += keymaps/default/keymap.c
+
+LTO_ENABLE = yes
diff --git a/keyboards/ergodox_ez/keymaps/reactive/config.h b/keyboards/ergodox_ez/glow/keymaps/reactive/config.h
index 6e86f8d9d0..6e86f8d9d0 100644
--- a/keyboards/ergodox_ez/keymaps/reactive/config.h
+++ b/keyboards/ergodox_ez/glow/keymaps/reactive/config.h
diff --git a/keyboards/ergodox_ez/keymaps/reactive/keymap.c b/keyboards/ergodox_ez/glow/keymaps/reactive/keymap.c
index 526c364029..526c364029 100644
--- a/keyboards/ergodox_ez/keymaps/reactive/keymap.c
+++ b/keyboards/ergodox_ez/glow/keymaps/reactive/keymap.c
diff --git a/keyboards/ergodox_ez/glow/keymaps/reactive/rules.mk b/keyboards/ergodox_ez/glow/keymaps/reactive/rules.mk
new file mode 100644
index 0000000000..21a5fb45ce
--- /dev/null
+++ b/keyboards/ergodox_ez/glow/keymaps/reactive/rules.mk
@@ -0,0 +1,7 @@
+RGBLIGHT_ENABLE = no
+RGB_MATRIX_ENABLE = IS31FL3731 # enable later
+
+SRC += keymaps/default/keymap.c
+
+LTO_ENABLE = yes
+COMMAND_ENABLE = no
diff --git a/keyboards/ergodox_ez/glow/rules.mk b/keyboards/ergodox_ez/glow/rules.mk
new file mode 100644
index 0000000000..23e7548e35
--- /dev/null
+++ b/keyboards/ergodox_ez/glow/rules.mk
@@ -0,0 +1 @@
+RGB_MATRIX_ENABLE = IS31FL3731
diff --git a/keyboards/ergodox_ez/keymaps/default/keymap.c b/keyboards/ergodox_ez/keymaps/default/keymap.c
index 6f438d0d50..9550d6465c 100644
--- a/keyboards/ergodox_ez/keymaps/default/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/default/keymap.c
@@ -146,11 +146,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
case VRSN:
SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
return false;
- #ifdef RGBLIGHT_ENABLE
+#ifdef RGBLIGHT_ENABLE
case RGB_SLD:
rgblight_mode(1);
return false;
- #endif
+#endif
}
}
return true;
diff --git a/keyboards/ergodox_ez/keymaps/glow/rules.mk b/keyboards/ergodox_ez/keymaps/glow/rules.mk
deleted file mode 100644
index 3c1b984562..0000000000
--- a/keyboards/ergodox_ez/keymaps/glow/rules.mk
+++ /dev/null
@@ -1,6 +0,0 @@
-RGBLIGHT_ENABLE = no
-RGB_MATRIX_ENABLE = yes # enable later
-
-SRC += ../default/keymap.c
-
-LINK_TIME_OPTIMIZATION_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/ergodox_ez/keymaps/oryx/keymap.c b/keyboards/ergodox_ez/keymaps/oryx/keymap.c
index 81c8b1b912..f3190852cd 100644
--- a/keyboards/ergodox_ez/keymaps/oryx/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/oryx/keymap.c
@@ -68,6 +68,7 @@ bool suspended = false;
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
+#ifdef RGBLIGHT_ENABLE
case RGB_SLD:
if (record->event.pressed) {
rgblight_mode(1);
@@ -100,6 +101,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
#endif
}
return false;
+#endif
}
return true;
}
diff --git a/keyboards/ergodox_ez/keymaps/reactive/rules.mk b/keyboards/ergodox_ez/keymaps/reactive/rules.mk
deleted file mode 100644
index b1be2c921b..0000000000
--- a/keyboards/ergodox_ez/keymaps/reactive/rules.mk
+++ /dev/null
@@ -1,7 +0,0 @@
-RGBLIGHT_ENABLE = no
-RGB_MATRIX_ENABLE = yes # enable later
-
-SRC += ../default/keymap.c
-
-LINK_TIME_OPTIMIZATION_ENABLE = yes
-COMMAND_ENABLE = no
diff --git a/keyboards/ergodox_ez/keymaps/webusb/keymap.c b/keyboards/ergodox_ez/keymaps/webusb/keymap.c
index 15eb76c15e..d37cc49fc3 100644
--- a/keyboards/ergodox_ez/keymaps/webusb/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/webusb/keymap.c
@@ -68,6 +68,7 @@ bool suspended = false;
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
+#ifdef RGBLIGHT_ENABLE
case RGB_SLD:
if (record->event.pressed) {
rgblight_mode(1);
@@ -100,6 +101,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
#endif
}
return false;
+#endif
}
return true;
}
diff --git a/keyboards/ergodox_ez/led_i2c.c b/keyboards/ergodox_ez/led_i2c.c
index f5553a8b61..fe40ab797e 100644
--- a/keyboards/ergodox_ez/led_i2c.c
+++ b/keyboards/ergodox_ez/led_i2c.c
@@ -1,31 +1,27 @@
/*
- * light weight WS2812 lib V2.0b
- *
- * Controls WS2811/WS2812/WS2812B RGB-LEDs
- * Author: Tim (cpldcpu@gmail.com)
- *
- * Jan 18th, 2014 v2.0b Initial Version
- * Nov 29th, 2015 v2.3 Added SK6812RGBW support
- *
- * 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/>.
- */
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
+Copyright 2015 ZSA Technology Labs Inc (@zsa)
+Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
+
+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/>.
+*/
+
#ifdef RGBLIGHT_ENABLE
# include "ergodox_ez.h"
-extern rgblight_config_t rgblight_config;
-
void rgblight_call_driver(LED_TYPE *led, uint8_t led_num) {
i2c_init();
i2c_start(0x84, ERGODOX_EZ_I2C_TIMEOUT);
diff --git a/keyboards/ergodox_ez/matrix.c b/keyboards/ergodox_ez/matrix.c
index fd68a5dea7..d18800f19b 100644
--- a/keyboards/ergodox_ez/matrix.c
+++ b/keyboards/ergodox_ez/matrix.c
@@ -5,7 +5,10 @@ This is not a file you want to be messing with.
All of the interesting stuff for you is under keymaps/ :)
Love, Erez
+Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
+Copyright 2015 ZSA Technology Labs Inc (@zsa)
+Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
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
diff --git a/keyboards/ergodox_ez/post_config.h b/keyboards/ergodox_ez/post_config.h
index 526cc8c417..0d4fe5c683 100644
--- a/keyboards/ergodox_ez/post_config.h
+++ b/keyboards/ergodox_ez/post_config.h
@@ -1,3 +1,23 @@
+/*
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
+Copyright 2015 ZSA Technology Labs Inc (@zsa)
+Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
+
+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
#if !defined(ERGODOX_LED_15) && !defined(ERGODOX_LED_30)
diff --git a/keyboards/ergodox_ez/readme.md b/keyboards/ergodox_ez/readme.md
index bce8ff3c6f..59a2840fd0 100644
--- a/keyboards/ergodox_ez/readme.md
+++ b/keyboards/ergodox_ez/readme.md
@@ -1,41 +1,49 @@
# ErgoDox EZ
-The Ez uses the [Teensy Loader](https://www.pjrc.com/teensy/loader.html).
+![ErgoDox EZ](http://www.coolthings.com/wp-content/uploads/2017/05/ergodox-ez-2.jpg)
-Linux users need to modify udev rules as described on the [Teensy
-Linux page]. Some distributions provide a binary, maybe called
-`teensy-loader-cli`.
+The ErgoDox EZ is a mass produced version of the original ErgoDox keyboard, with optional support for RGB Light (Shine) or RGB Matrix (Glow).
-[Teensy Linux page]: https://www.pjrc.com/teensy/loader_linux.html
+* Keyboard Maintainer: [ZSA Technology Labs Inc](https://github.com/zsa), Firmware maintained by [drashna](https://github.com/drashna)
+* Hardware Supported: Original ErgoDox, ErgoDox EZ
+* Hardware Availability: [ErgoDox EZ](https://ergodox-ez.com/), [ErgoDox.io](https://ergodox.io)
-To flash the firmware:
+Make example for this keyboard (after setting up your build environment):
- - Build the firmware with `make <keyboardname>:<keymapname>`, for example `make ergodox_ez:default`
+ make ergodox_ez:default:flash
+
+For the ErgoDox EZ Shine, and Glow, use one of the following:
- - This will result in a hex file called `ergodox_ez_keymapname.hex`, e.g.
- `ergodox_ez_default.hex`
+ make ergodox_ez/shine:default:flash
+ make ergodox_ez/glow:default:flash
- - Start the teensy loader.
+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).
- - Load the .hex file into it.
+## Oryx Configuation
- - Press the Reset button by inserting a paperclip gently into the reset hole
- in the top right corner.
+If you have `ORYX_CONFIGURATOR` defined in your keymap's `config.h`, this enables a number of the built in options from the Oryx Configurator.
- - Click the button in the Teensy app to download the firmware.
+### Indicator LEDs
-See also [video demonstration](https://www.youtube.com/watch?v=9PyiGUO9_KQ) using Teensy in auto mode.
+You can use the `LED_LEVEL` keycode to cycle through the brightness levels for the LEDs on the top right of the keyboard. These settings are saved in eeprom (persistant memory).
-To flash with ´teensy-loader-cli´:
+Alternatively, you can set the brightness by calling the following functions:
- - Build the firmware with `make keymapname`, for example `make default`
+```c
+void ergodox_led_all_set(uint8_t level);
+void ergodox_right_led_1_set(uint8_t level);
+void ergodox_right_led_2_set(uint8_t level);
+void ergodox_right_led_3_set(uint8_t level);
+```
- - Run ´<path/to/>teensy_loader_cli -mmcu=atmega32u4 -w ergodox_ez_<keymap>.hex´
+These settings are not persistent, so you'd need to reset it every time the board starts.
- - Press the Reset button by inserting a paperclip gently into the reset hole
- in the top right corder.
+These are on a 0-255 scale
-## Settings
+### RGB Matrix Features
-You may want to enable QMK_KEYS_PER_SCAN because the Ergodox has a relatively
-slow scan rate.
+If you're using the Smart LED (layer indication) feature from the Oryx Configurator, you want to make sure that you enable these options by adding `#define ORYX_CONFIGURATOR` to your keymap's `config.h`.
+
+This changes the `RGB_TOG` keycode so that it will toggle the lights on and off, in a way that will allow the Smart LEDs to continue to work, even with the rest of the LEDs turned off.
+
+Additionally, a new keycode has been added to toggle the Smart LEDs. Use `TOGGLE_LAYER_COLOR`, if you aren't already.
diff --git a/keyboards/ergodox_ez/rules.mk b/keyboards/ergodox_ez/rules.mk
index 9ad4eaa186..b6311aca3e 100644
--- a/keyboards/ergodox_ez/rules.mk
+++ b/keyboards/ergodox_ez/rules.mk
@@ -30,7 +30,6 @@ UNICODE_ENABLE = yes # Unicode
SWAP_HANDS_ENABLE= yes # Allow swapping hands of keyboard
SLEEP_LED_ENABLE = no
API_SYSEX_ENABLE = no
-RGBLIGHT_ENABLE = yes
RGB_MATRIX_ENABLE = no # enable later
DEBOUNCE_TYPE = eager_pr
diff --git a/keyboards/ergodox_ez/shine/config.h b/keyboards/ergodox_ez/shine/config.h
new file mode 100644
index 0000000000..c2bc6b5342
--- /dev/null
+++ b/keyboards/ergodox_ez/shine/config.h
@@ -0,0 +1,23 @@
+/*
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
+Copyright 2015 ZSA Technology Labs Inc (@zsa)
+Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
+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
+
+#undef PRODUCT_ID
+#define PRODUCT_ID 0x4975
+#undef PRODUCT
+#define PRODUCT ErgoDox EZ Shine
diff --git a/keyboards/ergodox_ez/shine/rules.mk b/keyboards/ergodox_ez/shine/rules.mk
new file mode 100644
index 0000000000..1e3cebb145
--- /dev/null
+++ b/keyboards/ergodox_ez/shine/rules.mk
@@ -0,0 +1 @@
+RGBLIGHT_ENABLE = yes
diff --git a/keyboards/ergodox_ez/shine/shine.h b/keyboards/ergodox_ez/shine/shine.h
new file mode 100644
index 0000000000..a504e4fdfb
--- /dev/null
+++ b/keyboards/ergodox_ez/shine/shine.h
@@ -0,0 +1,20 @@
+/*
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
+Copyright 2015 ZSA Technology Labs Inc (@zsa)
+Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
+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 "ergodox_ez.h"