]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - keyboards/ergodox_ez/config.h
RGB Matrix Overhaul (#5372)
[qmk_firmware.git] / keyboards / ergodox_ez / config.h
index 4ffc1b434d84ae0860357ca610d19513941bd747..a75edd415440d1c408ee3a8bc505971617479708 100644 (file)
@@ -31,6 +31,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 /* key matrix size */
 #define MATRIX_ROWS 14
+#define MATRIX_ROWS_PER_SIDE (MATRIX_ROWS / 2)
 #define MATRIX_COLS 6
 
 #define MOUSEKEY_INTERVAL       20
@@ -54,15 +55,20 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 /* key combination for command */
 #define IS_COMMAND() ( \
-    keyboard_report->mods == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \
-    keyboard_report->mods == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
+    get_mods() == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \
+    get_mods() == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
 )
 
 /* number of backlight levels */
 #define BACKLIGHT_LEVELS 3
 
+#ifndef LED_BRIGHTNESS_LO
 #define LED_BRIGHTNESS_LO       15
+#endif
+#ifndef LED_BRIGHTNESS_HI
 #define LED_BRIGHTNESS_HI       255
+#endif
+#define LED_BRIGHTNESS_DEFAULT (LED_BRIGHTNESS_HI)
 
 /* ws2812 RGB LED */
 #define RGB_DI_PIN D7
@@ -75,26 +81,43 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 /* fix space cadet rollover issue */
 #define DISABLE_SPACE_CADET_ROLLOVER
 
-// #define RGB_MIDI
 #define RGBW_BB_TWI
 
 #define RGBW 1
 
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCE    15
-
-#define PREVENT_STUCK_MODIFIERS
+/*
+ * The debounce filtering reports a key/switch change directly,
+ * without any extra delay. After that the debounce logic will filter
+ * all further changes, until the key/switch reports the same state for
+ * the given count of scans.
+ * So a perfect switch will get a short debounce period and
+ * a bad key will get a much longer debounce period.
+ * The result is an adaptive debouncing period for each switch.
+ *
+ * If you don't define it here, the matrix code will default to
+ * 5, which is now closer to 10ms, but still plenty according to
+ * manufacturer specs.
+ */
+#define DEBOUNCE    10
 
 #define USB_MAX_POWER_CONSUMPTION 500
 
+// RGB backlight
+#define DRIVER_ADDR_1 0b1110100
+#define DRIVER_ADDR_2 0b1110111
+#define DRIVER_COUNT 2
+#define DRIVER_1_LED_TOTAL 24
+#define DRIVER_2_LED_TOTAL 24
+#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL
+
 // #define RGBLIGHT_COLOR_LAYER_0 0x00, 0x00, 0xFF
-#define RGBLIGHT_COLOR_LAYER_1 0x00, 0x00, 0xFF
-#define RGBLIGHT_COLOR_LAYER_2 0xFF, 0x00, 0x00
-#define RGBLIGHT_COLOR_LAYER_3 0x00, 0xFF, 0x00
-#define RGBLIGHT_COLOR_LAYER_4 0xFF, 0xFF, 0x00
-#define RGBLIGHT_COLOR_LAYER_5 0x00, 0xFF, 0xFF
-#define RGBLIGHT_COLOR_LAYER_6 0xFF, 0x00, 0xFF
-#define RGBLIGHT_COLOR_LAYER_7 0xFF, 0xFF, 0xFF
+/* #define RGBLIGHT_COLOR_LAYER_1 0x00, 0x00, 0xFF */
+/* #define RGBLIGHT_COLOR_LAYER_2 0xFF, 0x00, 0x00 */
+/* #define RGBLIGHT_COLOR_LAYER_3 0x00, 0xFF, 0x00 */
+/* #define RGBLIGHT_COLOR_LAYER_4 0xFF, 0xFF, 0x00 */
+/* #define RGBLIGHT_COLOR_LAYER_5 0x00, 0xFF, 0xFF */
+/* #define RGBLIGHT_COLOR_LAYER_6 0xFF, 0x00, 0xFF */
+/* #define RGBLIGHT_COLOR_LAYER_7 0xFF, 0xFF, 0xFF */
 
 /*
  * Feature disable options