summaryrefslogtreecommitdiffstats
path: root/keyboards/dztech/dz65rgb/keymaps
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/dztech/dz65rgb/keymaps')
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/adi/keymap.c19
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/catrielmuller/config.h3
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c243
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/chocol8/keymap.c25
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/default/keymap.c18
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/drootz/config.h52
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/drootz/keymap.c758
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/haervig/keymap.c36
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/jumper149/config.h63
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/jumper149/keymap.c120
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/matthewrobo/config.h66
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/matthewrobo/keymap.c313
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/pagondel/keymap.c65
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/sbennett13/keymap.c20
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/via/keymap.c32
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/yuannan/config.h41
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/yuannan/keymap.c212
17 files changed, 2086 insertions, 0 deletions
diff --git a/keyboards/dztech/dz65rgb/keymaps/adi/keymap.c b/keyboards/dztech/dz65rgb/keymaps/adi/keymap.c
new file mode 100644
index 0000000000..914d1cc756
--- /dev/null
+++ b/keyboards/dztech/dz65rgb/keymaps/adi/keymap.c
@@ -0,0 +1,19 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_65_ansi(
+ QK_GESC, 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_GRV,
+ 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_DEL,
+ LCTL_T(KC_CAPS), 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_PGUP,
+ 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_PGDN,
+ KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_65_ansi(
+ QK_GESC, 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_HOME,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_PGUP,
+ LCTL_T(KC_CAPS), RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, KC_PGDN,
+ KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_VOLU, KC_MUTE,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT
+ )
+
+};
diff --git a/keyboards/dztech/dz65rgb/keymaps/catrielmuller/config.h b/keyboards/dztech/dz65rgb/keymaps/catrielmuller/config.h
new file mode 100644
index 0000000000..76feedceb0
--- /dev/null
+++ b/keyboards/dztech/dz65rgb/keymaps/catrielmuller/config.h
@@ -0,0 +1,3 @@
+#define LEADER_TIMEOUT 300
+#define FORCE_NKRO
+#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX, UNICODE_MODE_MACOS, UNICODE_MODE_WINDOWS, UNICODE_MODE_WINCOMPOSE \ No newline at end of file
diff --git a/keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c b/keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c
new file mode 100644
index 0000000000..8bc5edf937
--- /dev/null
+++ b/keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c
@@ -0,0 +1,243 @@
+#include QMK_KEYBOARD_H
+
+// Config
+const uint8_t MAIN_COLOR[3] = {0xFF, 0x00, 0x00};
+
+// layers, ordering is important!
+enum layers {
+ _MAIN,
+ _INDEX,
+ _FN,
+ _MULTIMEDIA,
+ _EMOJI,
+ _EXT1,
+ _EXT2,
+ _EXT3,
+ _EXT4,
+ _EXT5,
+ _EXT6,
+ _RGB,
+ _CONFIG,
+}
+
+const layers_leds_map[] = {
+ [_MAIN] = 0,
+ [_INDEX] = 1,
+ [_FN] = 2,
+ [_MULTIMEDIA] = 3,
+ [_EMOJI] = 4,
+ [_EXT1] = 5,
+ [_EXT2] = 6,
+ [_EXT3] = 7,
+ [_EXT4] = 8,
+ [_EXT5] = 9,
+ [_EXT6] = 10,
+ [_RGB] = 11,
+ [_CONFIG] = 12,
+};
+
+enum unicode_names {
+ UC_GRINNING_FACE, // ๐Ÿ˜ƒ
+ UC_BEAMING_FACE, // ๐Ÿ˜
+ UC_GRINNING_FACE_WITH_SWEAT, // ๐Ÿ˜…
+ UC_ROLLING_LAUGHING, // ๐Ÿคฃ
+ UC_FACE_TEARS_JOY, // ๐Ÿ˜‚
+ UC_WINKING_FACE, // ๐Ÿ˜‰
+ UC_SMILING_FACE_HALO, // ๐Ÿ˜‡
+ UC_SMILING_FACE_HEARTS, // ๐Ÿฅฐ
+ UC_SMILING_FACE_HEART_EYES, // ๐Ÿ˜
+ UC_FACE_BLOWING_KISS, // ๐Ÿ˜˜
+ UC_FACE_SAVORING_FOOD, // ๐Ÿ˜‹
+ UC_ZANY_FACE, // ๐Ÿคช
+ UC_HUGGING_FACE, // ๐Ÿค—
+ UC_SHUSHING_FACE, // ๐Ÿคซ
+ UC_THINKING_FACE, // ๐Ÿค”
+ UC_FACE_RAISED_EYEBROW, // ๐Ÿคจ
+ UC_NEUTRAL_FACE, // ๐Ÿ˜
+ UC_SMIRKING_FACE, // ๐Ÿ˜
+ UC_FACE_ROLLING_EYES, // ๐Ÿ™„
+ UC_PENSIVE_FACE, // ๐Ÿ˜”
+ UC_FACE_VOMITING, // ๐Ÿคฎ
+ UC_WOOZY_FACE, // ๐Ÿฅด
+ UC_PLEADING_FACE, // ๐Ÿฅบ
+ UC_LOUDLY_CRYING_FACE, // ๐Ÿ˜ญ
+ UC_DISAPPOINTED_FACE, // ๐Ÿ˜ž
+ UC_FACE_SYMBOLS_MOUTH, // ๐Ÿคฌ
+ UC_SMILING_FACE_HORNS, // ๐Ÿ˜ˆ
+ UC_SKULL, // ๐Ÿ’€
+ UC_PILE_POO, // ๐Ÿ’ฉ
+ UC_GHOST, // ๐Ÿ‘ป
+ UC_ALIEN_MONSTER, // ๐Ÿ‘พ
+ UC_RED_HEART, // โค
+ UC_BOMB, // ๐Ÿ’ฃ
+ UC_WAVING_HAND, // ๐Ÿ‘‹
+ UC_OK_HAND, // ๐Ÿ‘Œ
+ UC_CLAPPING_HANDS, // ๐Ÿ‘
+ UC_EYES, // ๐Ÿ‘€
+ UC_MAN_FACEPALMING, // ๐Ÿคฆ
+ UC_TURTLE, // ๐Ÿข
+ UC_SNAKE, // ๐Ÿ
+ UC_SPOUTING_WHALE, // ๐Ÿณ
+ UC_DRAGON, // ๐Ÿ‰
+ UC_TREX, // ๐Ÿฆ–
+ UC_ARGENTINA_A, // ๐Ÿ‡ฆ
+ UC_ARGENTINA_R, // ๐Ÿ‡ท
+ UC_THUMBSDOWN, // ๐Ÿ‘
+ UC_THUMBSUP, // ๐Ÿ‘Ž
+};
+
+const uint32_t PROGMEM unicode_map[] = {
+ [UC_GRINNING_FACE] = 0x1F603,
+ [UC_BEAMING_FACE] = 0x1F601,
+ [UC_GRINNING_FACE_WITH_SWEAT] = 0x1F605,
+ [UC_ROLLING_LAUGHING] = 0x1F923,
+ [UC_FACE_TEARS_JOY] = 0x1F602,
+ [UC_WINKING_FACE] = 0x1F609,
+ [UC_SMILING_FACE_HALO] = 0x1F607,
+ [UC_SMILING_FACE_HEARTS] = 0x1F970,
+ [UC_SMILING_FACE_HEART_EYES] = 0x1F60D,
+ [UC_FACE_BLOWING_KISS] = 0x1F618,
+ [UC_FACE_SAVORING_FOOD] = 0x1F60B,
+ [UC_ZANY_FACE] = 0x1F92A,
+ [UC_HUGGING_FACE] = 0x1F917,
+ [UC_SHUSHING_FACE] = 0x1F92B,
+ [UC_THINKING_FACE] = 0x1F914,
+ [UC_FACE_RAISED_EYEBROW] = 0x1F928,
+ [UC_NEUTRAL_FACE] = 0x1F610,
+ [UC_SMIRKING_FACE] = 0x1F60F,
+ [UC_FACE_ROLLING_EYES] = 0x1F644,
+ [UC_PENSIVE_FACE] = 0x1F614,
+ [UC_FACE_VOMITING] = 0x1F92E,
+ [UC_WOOZY_FACE] = 0x1F974,
+ [UC_PLEADING_FACE] = 0x1F97A,
+ [UC_LOUDLY_CRYING_FACE] = 0x1F62D,
+ [UC_DISAPPOINTED_FACE] = 0x1F61E,
+ [UC_FACE_SYMBOLS_MOUTH] = 0x1F92C,
+ [UC_SMILING_FACE_HORNS] = 0x1F608,
+ [UC_SKULL] = 0x1F480,
+ [UC_PILE_POO] = 0x1F4A9,
+ [UC_GHOST] = 0x1F47B,
+ [UC_ALIEN_MONSTER] = 0x1F47E,
+ [UC_RED_HEART] = 0x2764,
+ [UC_BOMB] = 0x1F4A3,
+ [UC_WAVING_HAND] = 0x1F44B,
+ [UC_OK_HAND] = 0x1F44C,
+ [UC_CLAPPING_HANDS] = 0x1F44F,
+ [UC_EYES] = 0x1F440,
+ [UC_MAN_FACEPALMING] = 0x1F926,
+ [UC_TURTLE] = 0x1F422,
+ [UC_SNAKE] = 0x1F40D,
+ [UC_SPOUTING_WHALE] = 0x1F433,
+ [UC_DRAGON] = 0x1F409,
+ [UC_TREX] = 0x1F996,
+ [UC_ARGENTINA_A] = 0x1F1E6,
+ [UC_ARGENTINA_R] = 0x1F1F7,
+ [UC_THUMBSDOWN] = 0x1F44E,
+ [UC_THUMBSUP] = 0x1F44D,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_MAIN] = LAYOUT_65_ansi(
+ QK_GESC, 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_HOME,
+ 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_END,
+ KC_CAPS, 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_PGUP,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_APP), KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, QK_LEAD, TO(_INDEX), MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [_INDEX] = LAYOUT_65_ansi(
+ TO(_MAIN), TO(_INDEX), TO(_FN), TO(_MULTIMEDIA), TO(_EMOJI), TO(_EXT1), TO(_EXT2), TO(_EXT3), TO(_EXT4), TO(_EXT5), TO(_EXT6), TO(_RGB), TO(_CONFIG), TO(_MAIN), KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(_INDEX), TO(_FN), KC_NO, KC_NO, KC_NO
+ ),
+ [_FN] = LAYOUT_65_ansi(
+ KC_GRV, 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_PSCR,
+ KC_TAB, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_INS, KC_SCRL,
+ KC_APP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PAUS,
+ KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BTN1, KC_MS_U, KC_BTN2,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_NO, KC_NO, TO(_INDEX), KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R
+ ),
+ [_MULTIMEDIA] = LAYOUT_65_ansi(
+ TO(_MAIN), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MPLY, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MSTP, KC_VOLU, KC_MUTE,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(_INDEX), KC_NO, KC_MPRV, KC_VOLD, KC_MNXT
+ ),
+ [_EMOJI] = LAYOUT_65_ansi(
+ TO(_MAIN), X(UC_GRINNING_FACE), X(UC_BEAMING_FACE), X(UC_GRINNING_FACE_WITH_SWEAT), X(UC_ROLLING_LAUGHING), X(UC_FACE_TEARS_JOY), X(UC_WINKING_FACE), X(UC_SMILING_FACE_HALO), X(UC_SMILING_FACE_HEARTS), X(UC_SMILING_FACE_HEART_EYES), X(UC_FACE_BLOWING_KISS), X(UC_FACE_SAVORING_FOOD), X(UC_ZANY_FACE), KC_BSPC, KC_HOME,
+ KC_TAB, X(UC_HUGGING_FACE), X(UC_SHUSHING_FACE), X(UC_THINKING_FACE), X(UC_FACE_RAISED_EYEBROW), X(UC_NEUTRAL_FACE), X(UC_SMIRKING_FACE), X(UC_FACE_ROLLING_EYES), X(UC_PENSIVE_FACE), X(UC_FACE_VOMITING), X(UC_WOOZY_FACE), X(UC_PLEADING_FACE), X(UC_LOUDLY_CRYING_FACE), X(UC_THUMBSUP), KC_END,
+ KC_APP, X(UC_DISAPPOINTED_FACE), X(UC_FACE_SYMBOLS_MOUTH), X(UC_SMILING_FACE_HORNS), X(UC_SKULL), X(UC_PILE_POO), X(UC_GHOST), X(UC_ALIEN_MONSTER), X(UC_RED_HEART), X(UC_BOMB), X(UC_WAVING_HAND), X(UC_OK_HAND), KC_ENT, KC_PGUP,
+ KC_LSFT, X(UC_CLAPPING_HANDS), X(UC_EYES), X(UC_MAN_FACEPALMING), X(UC_TURTLE), X(UC_SNAKE), X(UC_SPOUTING_WHALE), X(UC_DRAGON), X(UC_TREX), X(UC_ARGENTINA_A), X(UC_ARGENTINA_R), X(UC_THUMBSDOWN), KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, QK_LEAD, TO(_INDEX), TO(_MAIN), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [_EXT1] = LAYOUT_65_ansi(
+ TO(_MAIN), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(_INDEX), KC_NO, KC_NO, KC_NO, KC_NO
+ ),
+ [_EXT2] = LAYOUT_65_ansi(
+ TO(_MAIN), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(_INDEX), KC_NO, KC_NO, KC_NO, KC_NO
+ ),
+ [_EXT3] = LAYOUT_65_ansi(
+ TO(_MAIN), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(_INDEX), KC_NO, KC_NO, KC_NO, KC_NO
+ ),
+ [_EXT4] = LAYOUT_65_ansi(
+ TO(_MAIN), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(_INDEX), KC_NO, KC_NO, KC_NO, KC_NO
+ ),
+ [_EXT5] = LAYOUT_65_ansi(
+ TO(_MAIN), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(_INDEX), KC_NO, KC_NO, KC_NO, KC_NO
+ ),
+ [_EXT6] = LAYOUT_65_ansi(
+ TO(_MAIN), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(_INDEX), KC_NO, KC_NO, KC_NO, KC_NO
+ ),
+ [_RGB] = LAYOUT_65_ansi(
+ TO(_MAIN), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_SPD, RGB_SPI, KC_NO, KC_NO, KC_NO,
+ KC_NO, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(_INDEX), KC_NO, KC_NO, KC_NO, KC_NO
+ ),
+ [_CONFIG] = LAYOUT_65_ansi(
+ TO(_MAIN), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ACL2,
+ KC_NO, KC_PWR, KC_SLEP, KC_WAKE, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT, DB_TOGG, EE_CLR, KC_NO, KC_ACL1,
+ KC_NO, UC_PREV, UC_NEXT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ACL0,
+ KC_NO, MAGIC_TOGGLE_NKRO, MAGIC_UNHOST_NKRO, MAGIC_HOST_NKRO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(_INDEX), KC_NO, KC_NO, KC_NO, KC_NO
+ ),
+};
+
+bool rgb_matrix_indicators_user(void) {
+
+ // CapsLock Light
+ if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) {
+ rgb_matrix_set_color(30, MAIN_COLOR[0], MAIN_COLOR[1], MAIN_COLOR[2]);
+ }
+
+ // Show Selected Layer
+ rgb_matrix_set_color(layers_leds_map[get_highest_layer(layer_state)], MAIN_COLOR[0], MAIN_COLOR[1], MAIN_COLOR[2]);
+ return false;
+}
diff --git a/keyboards/dztech/dz65rgb/keymaps/chocol8/keymap.c b/keyboards/dztech/dz65rgb/keymaps/chocol8/keymap.c
new file mode 100644
index 0000000000..731f287a27
--- /dev/null
+++ b/keyboards/dztech/dz65rgb/keymaps/chocol8/keymap.c
@@ -0,0 +1,25 @@
+#include QMK_KEYBOARD_H
+
+enum tofu68_layers {
+ _QWERTY,
+ _FNM
+};
+
+#define FNM MO(_FNM)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QWERTY] = LAYOUT_65_ansi(
+ QK_GESC, 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_GRV, \
+ 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_DEL, \
+ KC_GRV, 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_PGUP, \
+ 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_PGDN, \
+ KC_LCTL, KC_LALT, KC_LCMD, KC_SPC, FNM, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \
+ ),
+ [_FNM] = LAYOUT_65_ansi(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, KC_MUTE, KC_VOLU, \
+ _______, RGB_TOG, RGB_MOD, RGB_HUI ,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT, KC_VOLD, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, AG_TOGG, _______, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, _______, \
+ _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R \
+ )
+};
diff --git a/keyboards/dztech/dz65rgb/keymaps/default/keymap.c b/keyboards/dztech/dz65rgb/keymaps/default/keymap.c
new file mode 100644
index 0000000000..548d55799a
--- /dev/null
+++ b/keyboards/dztech/dz65rgb/keymaps/default/keymap.c
@@ -0,0 +1,18 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_65_ansi(
+ QK_GESC, 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_HOME,
+ 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_PGUP,
+ CTL_T(KC_CAPS), 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_PGDN,
+ 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_END,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_65_ansi(
+ QK_GESC, 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_HOME,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGUP,
+ CTL_T(KC_CAPS), RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, EE_CLR, KC_PGDN,
+ KC_LSFT, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_VOLU, KC_MUTE,
+ _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
+ )
+};
diff --git a/keyboards/dztech/dz65rgb/keymaps/drootz/config.h b/keyboards/dztech/dz65rgb/keymaps/drootz/config.h
new file mode 100644
index 0000000000..51fd5c6871
--- /dev/null
+++ b/keyboards/dztech/dz65rgb/keymaps/drootz/config.h
@@ -0,0 +1,52 @@
+#pragma once
+
+#define LEADER_PER_KEY_TIMING
+#define LEADER_TIMEOUT 425
+#define TAP_HOLD_CAPS_DELAY 80
+
+#ifdef RGB_MATRIX_ENABLE
+/* Reset default from dz65rgb/v2 config.h */
+# undef DISABLE_RGB_MATRIX_SPLASH
+# undef DISABLE_RGB_MATRIX_SOLID_SPLASH
+# undef RGB_MATRIX_LED_FLUSH_LIMIT
+# undef RGB_MATRIX_DEFAULT_MODE
+# undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
+# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255
+# define RGB_MATRIX_LED_FLUSH_LIMIT 16 // default: 26
+# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_TYPING_HEATMAP
+# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+# define RGB_MATRIX_DEFAULT_HUE 10
+# define RGB_MATRIX_DEFAULT_SAT 255
+# define RGB_MATRIX_DEFAULT_VAL 200
+# define RGB_MATRIX_DEFAULT_SPD 75
+/* Active RBG Modes */
+/* # undef ENABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM! */
+/* # undef ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out */
+/* # undef ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out */
+/* Disabling to optimize firmware size */
+# undef ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue
+# undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes
+# undef ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
+# undef ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
+# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness
+# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
+# undef ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
+# undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
+# undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
+# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
+# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in
+# undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradent Chevron shapped scrolling left to right
+# undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
+# undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
+# undef ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard
+# undef ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard
+# undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
+# undef ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
+# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation
+# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
+#endif /* RBG MATRIX */
+
+/* Firmware size Optimizations */
+#define NO_ACTION_MACRO
+#define NO_ACTION_FUNCTION
+#define NO_ACTION_ONESHOT
diff --git a/keyboards/dztech/dz65rgb/keymaps/drootz/keymap.c b/keyboards/dztech/dz65rgb/keymaps/drootz/keymap.c
new file mode 100644
index 0000000000..d0d22f28b4
--- /dev/null
+++ b/keyboards/dztech/dz65rgb/keymaps/drootz/keymap.c
@@ -0,0 +1,758 @@
+#include QMK_KEYBOARD_H
+
+/**************** SOME GLOBALS *********************/
+
+bool onMac = false;
+bool isLeader = false;
+bool isBlinking = false;
+bool isRecording = false;
+bool isPlaying = false;
+const float led_dim_ratio = 0.50;
+static uint16_t blink_cycle_timer,
+ blink_fade_in_timer,
+ blink_fade_out_timer,
+ macro_one_play_timer,
+ macro_two_play_timer,
+ macro_play_blink_timer = 2000;
+static uint8_t fade_in_step_counter,
+ fade_out_step_counter,
+ blink_hsv_value;
+
+/**************** LED BLINK HELPER FUNCTIONS *********************/
+
+/*
+Function to set color with hsv arguments
+- "hue", "sat" and "val" arguments above 255 will get value from rgb matrix config
+- "val_ratio" is used to adjust brightness ratio
+*/
+void rgb_matrix_set_color_hsv(uint8_t led, uint16_t hue, uint16_t sat, uint16_t val, float val_ratio) {
+ const uint8_t h = hue <= 255 ? hue : rgb_matrix_config.hsv.h;
+ const uint8_t s = sat <= 255 ? sat : rgb_matrix_config.hsv.s;
+ const uint8_t v = val <= 255 ? val * val_ratio : rgb_matrix_config.hsv.v * val_ratio;
+ HSV hsv_in = {h, s, v};
+ RGB rgb_out = hsv_to_rgb(hsv_in);
+ rgb_matrix_set_color(led, rgb_out.r, rgb_out.g, rgb_out.b);
+}
+
+void reset_blink_cycle(void) {
+ blink_cycle_timer = timer_read();
+ blink_fade_in_timer = timer_read();
+ blink_fade_out_timer = timer_read();
+ blink_hsv_value = 0;
+ fade_in_step_counter = 0;
+ fade_out_step_counter = 0;
+}
+
+void reset_blink_status(void) {
+ isRecording = false;
+ isPlaying = false;
+ isBlinking = false;
+}
+
+void get_this_led_blinking(uint8_t led_index, bool speed, uint8_t hue, uint8_t sat) {
+ const uint16_t static_on_time = speed ? 200 : 500;
+ const uint16_t static_off_time = speed ? 200 : 500;
+ const uint8_t fade_timing = speed ? 100 : 150;
+ const uint8_t fade_step = speed ? 10 : 15;
+ const uint8_t fade_value_step_size = rgb_matrix_config.hsv.v / fade_step;
+ const uint8_t fade_cycle_time_elapsed = fade_timing / fade_step;
+ if (timer_elapsed(blink_cycle_timer) < static_on_time) {
+ if (timer_elapsed(blink_fade_in_timer) > fade_cycle_time_elapsed && fade_in_step_counter < fade_step) {
+ blink_hsv_value = blink_hsv_value + fade_value_step_size;
+ fade_in_step_counter = fade_in_step_counter + 1;
+ blink_fade_in_timer = timer_read();
+ }
+ } else {
+ if (timer_elapsed(blink_fade_out_timer) > fade_cycle_time_elapsed && fade_out_step_counter < fade_step) {
+ blink_hsv_value = blink_hsv_value - fade_value_step_size;
+ fade_out_step_counter = fade_out_step_counter + 1;
+ blink_fade_out_timer = timer_read();
+ }
+ }
+
+ rgb_matrix_set_color_hsv(led_index, hue, sat, blink_hsv_value, 0.75);
+
+ if (timer_elapsed(blink_cycle_timer) > static_on_time + static_off_time) {
+ reset_blink_cycle();
+ }
+}
+
+
+/**************** LAYOUT *********************/
+
+/*
+[LEDS]
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
+15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29
+30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43
+44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57
+58, 59, 60, 61, 62, 63, 64, 65, 66, 67
+
+[KEYS]
+ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, BCK, INS
+TAB, Q, W, E, R, T, Y, U, I, O, P, [, ], \,PGUP
+CPS, A, S, D, F, G, H, J, K, L, COL, QOT, RETURN,PGDN
+SFT, Z, X, C, V, B, N, M, COM, DOT, SLS, SHIFT, UP, DEL
+CTL, GUI, ALT, SPACEBAR, ALT, FN, CTL, LFT, DWN, RIT
+*/
+
+enum layers {
+ _MAIN,
+ _MAC,
+ _FN
+}
+
+const layers_leds_map[] = {
+ [_MAIN] = 45,
+ [_MAC] = 46,
+ [_FN] = 63
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_MAIN] = LAYOUT_65_ansi(
+ QK_GESC, 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_INS,
+ 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_PGUP,
+ QK_LEAD, 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_PGDN,
+ 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_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [_MAC] = LAYOUT_65_ansi(
+ 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_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_LALT, KC_LGUI, KC_TRNS, KC_TRNS, MO(_FN), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [_FN] = LAYOUT_65_ansi(
+ DM_RSTP, 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_NO, KC_NO,
+ KC_TRNS, KC_MUTE, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SAD, RGB_SAI, DM_PLY2, DM_REC2,
+ KC_TRNS, KC_BRID, KC_VOLD, KC_BRIU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUD, RGB_HUI, DM_PLY1, DM_REC1,
+ KC_TRNS, TO(_MAIN), TO(_MAC), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SPD, RGB_SPI, KC_TRNS, RGB_VAI, KC_NO,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_VAD, RGB_MOD
+ ),
+};
+
+//**************** MATRIX SCANS *********************//
+
+bool rgb_matrix_indicators_user(void) {
+
+ #ifdef RGB_MATRIX_ENABLE
+
+ /*Ensure some leds don't completeley turn off if hsv value setting is below 100 in the rgb matrix config */
+ const uint8_t led_constant_val = rgb_matrix_config.hsv.v < 100 ? 100 : rgb_matrix_config.hsv.v;
+
+ /* CapsLock LED indicator */
+ if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) {
+ rgb_matrix_set_color_hsv(30, 999, 0, led_constant_val, 0.75); // WHITE
+ }
+
+ /* Current layer LED indicator */
+ rgb_matrix_set_color_hsv(layers_leds_map[get_highest_layer(layer_state)], 999, 0, led_constant_val, led_dim_ratio); // WHITE
+
+ /* Leader Key LED under-glow */
+ if (isLeader) {
+ rgb_matrix_set_color_hsv(14, 999, 999, 999, 1); // CONFIG
+ rgb_matrix_set_color_hsv(30, 999, 999, 999, 1); // CONFIG
+ } else {
+ rgb_matrix_set_color_hsv(14, 999, 999, 999, led_dim_ratio); // CONFIG
+ }
+
+ /* Blinking LED indicator when recording Dynamic Macro */
+ if (isRecording && isBlinking) {
+ get_this_led_blinking(0, false, 0, 255);
+ }
+
+ /* Blinking LED indicator when playing Dynamic Macro */
+ if (isPlaying && isBlinking) {
+ if (timer_elapsed(macro_one_play_timer) < macro_play_blink_timer || timer_elapsed(macro_two_play_timer) < macro_play_blink_timer) {
+ get_this_led_blinking(0, true, 85, 255);
+ } else {
+ if (isBlinking && isPlaying) {
+ reset_blink_status();
+ reset_blink_cycle();
+ }
+ }
+ }
+
+ switch (get_highest_layer(layer_state)) {
+ case _FN:
+ /* Dynamic Macro LED indicator */
+ if (isRecording) {
+ rgb_matrix_set_color_hsv(0, 0, 999, 999, 1); /* RED macro stop */
+ } else {
+ rgb_matrix_set_color_hsv(43, 0, 999, 999, led_dim_ratio); /* RED macro 1 record */
+ rgb_matrix_set_color_hsv(29, 0, 999, 999, led_dim_ratio); /* RED macro 2 record */
+ rgb_matrix_set_color_hsv(42, 85, 999, 999, led_dim_ratio); /* GREEN macro 1 play */
+ rgb_matrix_set_color_hsv(28, 85, 999, 999, led_dim_ratio); /* GREEN macro 2 play */
+ }
+ /* Layer LED indicators */
+ rgb_matrix_set_color_hsv(45, 999, 0, led_constant_val, led_dim_ratio); /* WHITE Layer _MAIN */
+ rgb_matrix_set_color_hsv(46, 999, 0, led_constant_val, led_dim_ratio); /* WHITE Layer _MAC */
+ break;
+ }
+
+ #endif /* RGB_MATRIX */
+ return false;
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ bool pressed = record->event.pressed;
+ if (pressed) {
+ switch (keycode) {
+ case TO(_MAC):
+ onMac = true;
+ break;
+ case TO(_MAIN):
+ onMac = false;
+ break;
+ }
+ }
+ return true;
+}
+
+//**************** LEADER *********************//
+
+#ifdef LEADER_ENABLE
+
+/******* FRENCH ACCENT HELPER FUNCTIONS & DECLARATIONS *************/
+/*Most comonly used accents only*/
+
+enum french_letter {
+ _A,
+ _E,
+ _I,
+ _O,
+ _U
+};
+
+const uint8_t french_letter_index[5] = {
+ [_A] = 0,
+ [_E] = 1,
+ [_I] = 2,
+ [_O] = 3,
+ [_U] = 4
+};
+
+enum french_accent {
+ _CIRCUMFLEX,
+ _GRAVE,
+ _ACUTE
+};
+
+const uint8_t french_accent_index[3] = {
+ [_CIRCUMFLEX] = 0,
+ [_GRAVE] = 1,
+ [_ACUTE] = 2
+};
+
+/*
+This represent unicode decimal values
+Each index will be mapped to numpad keycode to out put the correct sequence
+All codes in this array should be of size 3
+All accent codes have the same index position as in the french_accent_index Array
+*/
+const uint8_t french_decimal_unicodes[5][3][2] = { /*[Letter][Accent][Case]*/
+ {
+ {
+ 131, // รข
+ 194 // ร‚
+ },{
+ 133, // ร 
+ 192 // ร€
+ }
+ },{
+ {
+ 136, // รช
+ 202 // รŠ
+ },{
+ 138, // รจ
+ 200 // รˆ
+ },{
+ 130, // รฉ
+ 201 // ร‰
+ }
+ },{
+ {
+ 140, // รฎ
+ 206 // รŽ
+ }
+ },{
+ {
+ 147, // รด
+ 212 // ร”
+ }
+ },{
+ {
+ 150, // รป
+ 219 // ร›
+ },{
+ 151, // รน
+ 217 // ร™
+ }
+ }
+};
+
+void break_int_in_array(uint8_t int_code, uint8_t size, uint8_t *array) {
+ uint8_t i;
+ i = size;
+ while (i--) {
+ array[i] = int_code%10;
+ int_code /= 10;
+ }
+}
+
+/*
+Function meant to be used in Leader Key macros to output most commonly used french accents
+This is designed and work on an English language keyboard setting on both Windows and Mac
+=> accept french_letter and french_accent enum's as argument
+*/
+void send_french_accent(uint8_t letter, uint8_t accent) {
+
+ bool isCaps;
+ uint8_t decimal_unicode_in;
+ uint8_t decimal_unicode_size = 3;
+ uint8_t decimal_unicode_out[decimal_unicode_size];
+
+ /*Map to numpad keycodes*/
+ const uint16_t numpad_key_map[10] = {
+ KC_P0, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9
+ };
+
+ /*Map to letter keycodes*/
+ const uint16_t french_letter_key_map[5] = {
+ KC_A, KC_E, KC_I, KC_O, KC_U
+ };
+
+ /*Map to mod keys for French Mac shortcuts*/