diff --git a/keyboards/nora/v031/config.h b/keyboards/nora/v031/config.h
index eaed895635c3..061bfe5bfbd0 100644
--- a/keyboards/nora/v031/config.h
+++ b/keyboards/nora/v031/config.h
@@ -17,22 +17,6 @@ along with this program. If not, see .
#pragma once
-/* Rotary Encoder */
-#ifdef ENCODER_ENABLE
-// Encoder triggers specific key matrix position,
-// when turn knob clockwise or counterclockwise.
-// This is handy to assign key codes by VIA.
-
-// Number of endoder
-#define ENCODERS 1
-
-// Mappings of encoder rotation to key position in key matrix.
-// --> k97, k47
-#define ENCODERS_CW_KEY { { 7, 9 } }
-#define ENCODERS_CCW_KEY { { 7, 4 } }
-
-#endif
-
/* Audio */
#ifdef AUDIO_ENABLE
#define AUDIO_PIN C6
diff --git a/keyboards/nora/v031/info.json b/keyboards/nora/v031/info.json
index 075eaab3ef2d..95d6e44da012 100644
--- a/keyboards/nora/v031/info.json
+++ b/keyboards/nora/v031/info.json
@@ -105,9 +105,6 @@
{"label": "", "matrix": [4, 5], "x":9.75, "y":4, "w":1.5},
{"label": "", "matrix": [9, 5], "x":11.25, "y":4},
{"label": "", "matrix": [4, 6], "x":12.25, "y":4, "w":1.5},
-
- {"label": "", "matrix": [4, 7], "x":7, "y":5},
- {"label": "", "matrix": [9, 7], "x":8, "y":5}
]
}
}
diff --git a/keyboards/nora/v031/keymaps/jpskenn/keymap.c b/keyboards/nora/v031/keymaps/jpskenn/keymap.c
index 4687b55730d6..aa834cbe1561 100644
--- a/keyboards/nora/v031/keymaps/jpskenn/keymap.c
+++ b/keyboards/nora/v031/keymaps/jpskenn/keymap.c
@@ -85,56 +85,49 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, XXXXXXX, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
C_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_SCLN, XXXXXXX, KC_QUOT, KC_H, KC_J, KC_K, KC_L, KC_MINS, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, DM_PLY1, XXXXXXX, XXXXXXX, DM_PLY2, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LOPT, KC_LCMD, SP_LOW, KC_BSPC, KC_ESC, KC_ENT, SP_RAI, GUI_IME, KC_ROPT,
- KC_VOLD, KC_VOLU
+ KC_LOPT, KC_LCMD, SP_LOW, KC_BSPC, KC_ESC, KC_ENT, SP_RAI, GUI_IME, KC_ROPT
),
[_WIN] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_LWIN, KC_LALT, _______, _______, _______, _______, _______, A_GRV, KC_APP,
- _______, _______
+ KC_LWIN, KC_LALT, _______, _______, _______, _______, _______, A_GRV, KC_APP
),
[_NUM] = LAYOUT(
KC_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSLS, KC_PSLS, KC_PSLS, KC_PAST, KC_PMNS, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PPLS, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, XXXXXXX, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, XXXXXXX, _______,
- _______, _______, SP_NLOW, _______, _______, _______, _______, KC_P0, KC_PDOT,
- _______, _______
+ _______, _______, SP_NLOW, _______, _______, _______, _______, KC_P0, KC_PDOT
),
[_LOWER] = LAYOUT(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_GRV, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
_______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, KC_TILD, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[_RAISE] = LAYOUT(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN, KC_QUOT,
_______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______,
- _______, _______, _______, KC_F12, _______, _______, _______, _______, _______,
- _______, _______
+ _______, _______, _______, KC_F12, _______, _______, _______, _______, _______
),
[_NUM_LOWER] = LAYOUT(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_GRV, XXXXXXX, XXXXXXX, KC_BSLS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, XXXXXXX, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
C_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_SCLN, XXXXXXX, KC_QUOT, KC_H, KC_J, KC_K, KC_L, KC_MINS, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, DM_PLY1, XXXXXXX, XXXXXXX, DM_PLY2, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LOPT, KC_LCMD, _______, KC_BSPC, KC_ESC, KC_ENT, _______, GUI_IME, KC_ROPT,
- _______, _______
+ KC_LOPT, KC_LCMD, _______, KC_BSPC, KC_ESC, KC_ENT, _______, GUI_IME, KC_ROPT
),
[_ADJUST] = LAYOUT(
DM_RSTP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
DM_RSTP, MAC, WIN, NUM, _______, _______, _______, _______, RGB_SPI, RGB_HUI, RGB_SAI, RGB_VAI, IND_TOG, RGB_RMOD, KC_INS,
KC_CAPS, AU_TOGG, MU_TOGG, MU_NEXT, AU_PREV, AU_NEXT, _______, _______, RGB_SPD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_TOG, RGB_MOD, VERSION,
_______, CK_TOGG, CK_RST, CK_DOWN, CK_UP, _______, DM_REC1, _______, _______, DM_REC2, NUM, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS,
- _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/nora/v031/keymaps/jpskenn_re/config.h b/keyboards/nora/v031/keymaps/jpskenn_re/config.h
index 47fffade72d8..a7a9a6238696 100644
--- a/keyboards/nora/v031/keymaps/jpskenn_re/config.h
+++ b/keyboards/nora/v031/keymaps/jpskenn_re/config.h
@@ -21,6 +21,10 @@
#define RGB_MATRIX_LED_COUNT 65
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE
+#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#undef ENABLE_RGB_MATRIX_MULTISPLASH
diff --git a/keyboards/nora/v031/keymaps/jpskenn_re/keymap.c b/keyboards/nora/v031/keymaps/jpskenn_re/keymap.c
index c05904007be5..434995f60a03 100644
--- a/keyboards/nora/v031/keymaps/jpskenn_re/keymap.c
+++ b/keyboards/nora/v031/keymaps/jpskenn_re/keymap.c
@@ -87,59 +87,67 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, XXXXXXX, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
C_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_SCLN, XXXXXXX, KC_QUOT, KC_H, KC_J, KC_K, KC_L, KC_MINS, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, DM_PLY1, XXXXXXX, XXXXXXX, DM_PLY2, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LOPT, GUI_EN, SP_LOW, KC_BSPC, KC_ESC, KC_ENT, SP_RAI, GUI_JA, KC_ROPT,
- KC_VOLD, KC_VOLU
+ KC_LOPT, GUI_EN, SP_LOW, KC_BSPC, KC_ESC, KC_ENT, SP_RAI, GUI_JA, KC_ROPT
),
[_WIN] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_LWIN, KC_LALT, _______, _______, _______, _______, _______, A_GRV, KC_APP,
- _______, _______
+ KC_LWIN, KC_LALT, _______, _______, _______, _______, _______, A_GRV, KC_APP
),
[_NUM] = LAYOUT(
KC_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSLS, KC_PSLS, KC_PSLS, KC_PAST, KC_PMNS, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PPLS, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, XXXXXXX, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, XXXXXXX, _______,
- _______, _______, SP_NLOW, _______, _______, _______, _______, KC_P0, KC_PDOT,
- _______, _______
+ _______, _______, SP_NLOW, _______, _______, _______, _______, KC_P0, KC_PDOT
),
[_LOWER] = LAYOUT(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_GRV, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
_______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, KC_TILD, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[_RAISE] = LAYOUT(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN, KC_QUOT,
_______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______,
- _______, _______, _______, KC_F12, _______, _______, _______, _______, _______,
- _______, _______
+ _______, _______, _______, KC_F12, _______, _______, _______, _______, _______
),
[_NUM_LOWER] = LAYOUT(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_GRV, XXXXXXX, XXXXXXX, KC_BSLS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, XXXXXXX, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
C_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_SCLN, XXXXXXX, KC_QUOT, KC_H, KC_J, KC_K, KC_L, KC_MINS, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, DM_PLY1, XXXXXXX, XXXXXXX, DM_PLY2, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LOPT, KC_LCMD, _______, KC_BSPC, KC_ESC, KC_ENT, _______, GUI_IME, KC_ROPT,
- _______, _______
+ KC_LOPT, KC_LCMD, _______, KC_BSPC, KC_ESC, KC_ENT, _______, GUI_IME, KC_ROPT
),
[_ADJUST] = LAYOUT(
DM_RSTP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
DM_RSTP, MAC, WIN, NUM, _______, _______, _______, _______, RGB_SPI, RGB_HUI, RGB_SAI, RGB_VAI, IND_TOG, BIND_TOG, KC_INS,
KC_CAPS, AU_TOGG, MU_TOGG, MU_NEXT, AU_PREV, AU_NEXT, _______, _______, RGB_SPD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_TOG, RGB_MOD, VERSION,
_______, CK_TOGG, CK_RST, CK_DOWN, CK_UP, _______, DM_REC1, _______, _______, DM_REC2, NUM, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS,
- _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
+//------------------------------------------------------------------------------
+// Rotary Encoder with VIA
+//------------------------------------------------------------------------------
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+ [_MAC] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
+ [_WIN] = { ENCODER_CCW_CW(_______, _______) },
+ [_NUM] = { ENCODER_CCW_CW(_______, _______) },
+ [_LOWER] = { ENCODER_CCW_CW(_______, _______) },
+ [_RAISE] = { ENCODER_CCW_CW(_______, _______) },
+ [_NUM_LOWER] = { ENCODER_CCW_CW(_______, _______) },
+ [_ADJUST] = { ENCODER_CCW_CW(_______, _______) },
+};
+#endif
+
uint16_t key_timer;
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
diff --git a/keyboards/nora/v031/keymaps/jpskenn_re/rules.mk b/keyboards/nora/v031/keymaps/jpskenn_re/rules.mk
index 3b39b72d6c17..c7e29f7f6907 100644
--- a/keyboards/nora/v031/keymaps/jpskenn_re/rules.mk
+++ b/keyboards/nora/v031/keymaps/jpskenn_re/rules.mk
@@ -3,3 +3,4 @@ VIA_ENABLE = yes
DYNAMIC_MACRO_ENABLE = yes
ENCODER_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/nora/v031/keymaps/via/keymap.c b/keyboards/nora/v031/keymaps/via/keymap.c
index 64c851fabbae..b6ed8947118e 100644
--- a/keyboards/nora/v031/keymaps/via/keymap.c
+++ b/keyboards/nora/v031/keymaps/via/keymap.c
@@ -58,56 +58,49 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, XXXXXXX, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
C_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_SCLN, XXXXXXX, KC_QUOT, KC_H, KC_J, KC_K, KC_L, KC_MINS, KC_ENT,
KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, XXXXXXX, KC_MUTE, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, FUNC,
- KC_LOPT, KC_LCMD, SP_LOW, KC_BSPC, FUNC, KC_ENT, SP_RAI, KC_RGUI, KC_ROPT,
- KC_VOLD, KC_VOLU
+ KC_LOPT, KC_LCMD, SP_LOW, KC_BSPC, FUNC, KC_ENT, SP_RAI, KC_RGUI, KC_ROPT
),
[_BASE2] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_LWIN, KC_LALT, _______, _______, _______, _______, _______, KC_RALT, KC_APP,
- _______, _______
+ KC_LWIN, KC_LALT, _______, _______, _______, _______, _______, KC_RALT, KC_APP
),
[_BASE3] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_Z, KC_X, KC_C, KC_V, KC_B, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[_LOWER] = LAYOUT(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_GRV, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
_______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, KC_TILD, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, _______, _______, _______, _______, _______, ADJUST, _______, _______,
- _______, _______
+ _______, _______, _______, _______, _______, _______, ADJUST, _______, _______
),
[_RAISE] = LAYOUT(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN, KC_QUOT,
_______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______,
- _______, _______, ADJUST, KC_F12, _______, _______, _______, _______, _______,
- _______, _______
+ _______, _______, ADJUST, KC_F12, _______, _______, _______, _______, _______
),
[_FUNC] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[_ADJUST] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, BASE1, BASE2, BASE3, _______, _______, _______, _______, RGB_SPI, RGB_HUI, RGB_SAI, RGB_VAI, IND_TOG, RGB_RMOD, KC_INS,
KC_CAPS, AU_TOGG, MU_TOGG, MU_NEXT, AU_PREV, AU_NEXT, _______, _______, RGB_SPD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_TOG, RGB_MOD, VERSION,
_______, CK_TOGG, CK_RST, CK_DOWN, CK_UP, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS,
- _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/nora/v031/keymaps/via_re/keymap.c b/keyboards/nora/v031/keymaps/via_re/keymap.c
index 64c851fabbae..55692fb3a2bb 100644
--- a/keyboards/nora/v031/keymaps/via_re/keymap.c
+++ b/keyboards/nora/v031/keymaps/via_re/keymap.c
@@ -58,59 +58,67 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, XXXXXXX, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
C_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_SCLN, XXXXXXX, KC_QUOT, KC_H, KC_J, KC_K, KC_L, KC_MINS, KC_ENT,
KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, XXXXXXX, KC_MUTE, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, FUNC,
- KC_LOPT, KC_LCMD, SP_LOW, KC_BSPC, FUNC, KC_ENT, SP_RAI, KC_RGUI, KC_ROPT,
- KC_VOLD, KC_VOLU
+ KC_LOPT, KC_LCMD, SP_LOW, KC_BSPC, FUNC, KC_ENT, SP_RAI, KC_RGUI, KC_ROPT
),
[_BASE2] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_LWIN, KC_LALT, _______, _______, _______, _______, _______, KC_RALT, KC_APP,
- _______, _______
+ KC_LWIN, KC_LALT, _______, _______, _______, _______, _______, KC_RALT, KC_APP
),
[_BASE3] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_Z, KC_X, KC_C, KC_V, KC_B, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[_LOWER] = LAYOUT(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_GRV, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
_______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, KC_TILD, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, _______, _______, _______, _______, _______, ADJUST, _______, _______,
- _______, _______
+ _______, _______, _______, _______, _______, _______, ADJUST, _______, _______
),
[_RAISE] = LAYOUT(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN, KC_QUOT,
_______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______,
- _______, _______, ADJUST, KC_F12, _______, _______, _______, _______, _______,
- _______, _______
+ _______, _______, ADJUST, KC_F12, _______, _______, _______, _______, _______
),
[_FUNC] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[_ADJUST] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, BASE1, BASE2, BASE3, _______, _______, _______, _______, RGB_SPI, RGB_HUI, RGB_SAI, RGB_VAI, IND_TOG, RGB_RMOD, KC_INS,
KC_CAPS, AU_TOGG, MU_TOGG, MU_NEXT, AU_PREV, AU_NEXT, _______, _______, RGB_SPD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_TOG, RGB_MOD, VERSION,
_______, CK_TOGG, CK_RST, CK_DOWN, CK_UP, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS,
- _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
+//------------------------------------------------------------------------------
+// Rotary Encoder with VIA
+//------------------------------------------------------------------------------
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+ [_MAC] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
+ [_WIN] = { ENCODER_CCW_CW(_______, _______) },
+ [_NUM] = { ENCODER_CCW_CW(_______, _______) },
+ [_LOWER] = { ENCODER_CCW_CW(_______, _______) },
+ [_RAISE] = { ENCODER_CCW_CW(_______, _______) },
+ [_NUM_LOWER] = { ENCODER_CCW_CW(_______, _______) },
+ [_ADJUST] = { ENCODER_CCW_CW(_______, _______) },
+};
+#endif
+
uint16_t key_timer;
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
diff --git a/keyboards/nora/v031/v031.c b/keyboards/nora/v031/v031.c
index 57d30ddb5298..39ed3c9f1bdb 100644
--- a/keyboards/nora/v031/v031.c
+++ b/keyboards/nora/v031/v031.c
@@ -131,49 +131,3 @@ led_config_t g_led_config = {
#endif
};
#endif
-
-
-#ifdef ENCODER_ENABLE // "FW + Rotary Encoder" layout
-//------------------------------------------------------------------------------
-// Rotary Encoder with VIA
-//------------------------------------------------------------------------------
-static uint8_t encoder_state[ENCODERS] = {0};
-static keypos_t encoder_cw[ENCODERS] = ENCODERS_CW_KEY;
-static keypos_t encoder_ccw[ENCODERS] = ENCODERS_CCW_KEY;
-
-void encoder_action_unregister(void) {
- for (int index = 0; index < ENCODERS; ++index) {
- if (encoder_state[index]) {
- keyevent_t encoder_event = (keyevent_t) {
- .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index],
- .pressed = false,
- .time = timer_read(),
- .type = KEY_EVENT
- };
- encoder_state[index] = 0;
- action_exec(encoder_event);
- }
- }
-}
-
-void encoder_action_register(uint8_t index, bool clockwise) {
- keyevent_t encoder_event = (keyevent_t) {
- .key = clockwise ? encoder_cw[index] : encoder_ccw[index],
- .pressed = true,
- .time = timer_read(),
- .type = KEY_EVENT
- };
- encoder_state[index] = (clockwise ^ 1) | (clockwise << 1);
- action_exec(encoder_event);
-}
-
-void matrix_scan_kb(void) {
- encoder_action_unregister();
- matrix_scan_user();
-}
-
-bool encoder_update_kb(uint8_t index, bool clockwise) {
- encoder_action_register(index, clockwise);
- return true;
-};
-#endif
diff --git a/keyboards/nora/v1/config.h b/keyboards/nora/v1/config.h
index bda1e6f01dcc..8ca6dda384f1 100644
--- a/keyboards/nora/v1/config.h
+++ b/keyboards/nora/v1/config.h
@@ -17,22 +17,6 @@ along with this program. If not, see .
#pragma once
-/* Rotary Encoder */
-#ifdef ENCODER_ENABLE
-// Encoder triggers specific key matrix position,
-// when turn knob clockwise or counterclockwise.
-// This is handy to assign key codes by VIA.
-
-// Number of endoder
-#define ENCODERS 1
-
-// Mappings of encoder rotation to key position in key matrix.
-// --> k97, k47
-#define ENCODERS_CW_KEY { { 7, 9 } }
-#define ENCODERS_CCW_KEY { { 7, 4 } }
-
-#endif
-
/* Audio */
#ifdef AUDIO_ENABLE
#define AUDIO_PIN C6
diff --git a/keyboards/nora/v1/info.json b/keyboards/nora/v1/info.json
index 3e5bcf310561..cce37a4f23b6 100644
--- a/keyboards/nora/v1/info.json
+++ b/keyboards/nora/v1/info.json
@@ -267,10 +267,6 @@
{"label": "", "matrix": [4, 5], "x":9.75, "y":4, "w":1.5},
{"label": "", "matrix": [9, 5], "x":11.25, "y":4},
{"label": "", "matrix": [4, 6], "x":12.25, "y":4, "w":1.5},
-
-
- {"label": "", "matrix": [4, 7], "x":7, "y":5},
- {"label": "", "matrix": [9, 7], "x":8, "y":5}
]
}
}
diff --git a/keyboards/nora/v1/keymaps/jpskenn_re/config.h b/keyboards/nora/v1/keymaps/jpskenn_re/config.h
index 4c42dfd805eb..67e0bb75ebc7 100644
--- a/keyboards/nora/v1/keymaps/jpskenn_re/config.h
+++ b/keyboards/nora/v1/keymaps/jpskenn_re/config.h
@@ -21,6 +21,13 @@
#define RGB_MATRIX_LED_COUNT 62
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE
+#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
// LED index for DM_RECx indicator
// NOTE: LED on R4 is connected from right to left. So, the index is inverted.
diff --git a/keyboards/nora/v1/keymaps/jpskenn_re/keymap.c b/keyboards/nora/v1/keymaps/jpskenn_re/keymap.c
index afaa0b1358e0..e1d138a04557 100644
--- a/keyboards/nora/v1/keymaps/jpskenn_re/keymap.c
+++ b/keyboards/nora/v1/keymaps/jpskenn_re/keymap.c
@@ -85,59 +85,67 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_BSPC,
C_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_MUTE, KC_H, KC_J, KC_K, KC_L, KC_MINS, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, DM_PLY1, DM_PLY2, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LOPT, KC_LCMD, SP_LOW, KC_BSPC, KC_ENT, SP_RAI, GUI_IME, KC_ROPT,
- KC_VOLD, KC_VOLU
+ KC_LOPT, KC_LCMD, SP_LOW, KC_BSPC, KC_ENT, SP_RAI, GUI_IME, KC_ROPT
),
[_WIN] = LAYOUT_re(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_LWIN, KC_LALT, _______, _______, _______, _______, A_GRV, KC_APP,
- _______, _______
+ KC_LWIN, KC_LALT, _______, _______, _______, _______, A_GRV, KC_APP
),
[_NUM] = LAYOUT_re(
KC_ESC, _______, _______, _______, _______, _______, _______, _______, KC_PSLS, KC_PSLS, KC_PSLS, KC_PAST, KC_PMNS, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PPLS, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, XXXXXXX, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, XXXXXXX, _______,
- _______, _______, SP_NLOW, _______, _______, _______, KC_P0, KC_PDOT,
- _______, _______
+ _______, _______, SP_NLOW, _______, _______, _______, KC_P0, KC_PDOT
),
[_LOWER] = LAYOUT_re(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
_______, _______, _______, _______, _______, _______, _______, KC_GRV, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
_______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, KC_TILD, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______
+ _______, _______, _______, _______, _______, _______, _______, _______
),
[_RAISE] = LAYOUT_re(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN, KC_QUOT,
_______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______,
- _______, _______, _______, KC_F12, _______, _______, _______, _______,
- _______, _______
+ _______, _______, _______, KC_F12, _______, _______, _______, _______
),
[_NUM_LOWER] = LAYOUT_re(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_GRV, KC_BSLS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL,
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_BSPC,
C_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_MUTE, KC_H, KC_J, KC_K, KC_L, KC_MINS, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, DM_PLY1, DM_PLY2, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LOPT, KC_LCMD, _______, KC_BSPC, KC_ENT, _______, GUI_IME, KC_ROPT,
- KC_VOLD, KC_VOLU
+ KC_LOPT, KC_LCMD, _______, KC_BSPC, KC_ENT, _______, GUI_IME, KC_ROPT
),
[_ADJUST] = LAYOUT_re(
DM_RSTP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
DM_RSTP, MAC, WIN, NUM, _______, _______, _______, RGB_SPI, RGB_HUI, RGB_SAI, RGB_VAI, IND_TOG, RGB_RMOD, KC_INS,
KC_CAPS, AU_TOGG, MU_TOGG, MU_NEXT, AU_PREV, AU_NEXT, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_TOG, RGB_MOD, VERSION,
_______, CK_TOGG, CK_RST, CK_DOWN, CK_UP, _______, DM_REC1, DM_REC2, NUM, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS,
- _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______
+ _______, _______, _______, _______, _______, _______, _______, _______
),
};
+//------------------------------------------------------------------------------
+// Rotary Encoder with VIA
+//------------------------------------------------------------------------------
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+ [_MAC] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
+ [_WIN] = { ENCODER_CCW_CW(_______, _______) },
+ [_NUM] = { ENCODER_CCW_CW(_______, _______) },
+ [_LOWER] = { ENCODER_CCW_CW(_______, _______) },
+ [_RAISE] = { ENCODER_CCW_CW(_______, _______) },
+ [_NUM_LOWER] = { ENCODER_CCW_CW(_______, _______) },
+ [_ADJUST] = { ENCODER_CCW_CW(_______, _______) },
+};
+#endif
+
uint16_t key_timer;
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
diff --git a/keyboards/nora/v1/keymaps/jpskenn_re/rules.mk b/keyboards/nora/v1/keymaps/jpskenn_re/rules.mk
index 3b39b72d6c17..c7e29f7f6907 100644
--- a/keyboards/nora/v1/keymaps/jpskenn_re/rules.mk
+++ b/keyboards/nora/v1/keymaps/jpskenn_re/rules.mk
@@ -3,3 +3,4 @@ VIA_ENABLE = yes
DYNAMIC_MACRO_ENABLE = yes
ENCODER_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/nora/v1/v1.c b/keyboards/nora/v1/v1.c
index dfb6c9852407..6758881f6e7b 100644
--- a/keyboards/nora/v1/v1.c
+++ b/keyboards/nora/v1/v1.c
@@ -113,51 +113,6 @@ led_config_t g_led_config = {
};
#endif
-#ifdef ENCODER_ENABLE // RE layout
-//------------------------------------------------------------------------------
-// Rotary Encoder with VIA
-//------------------------------------------------------------------------------
-static uint8_t encoder_state[ENCODERS] = {0};
-static keypos_t encoder_cw[ENCODERS] = ENCODERS_CW_KEY;
-static keypos_t encoder_ccw[ENCODERS] = ENCODERS_CCW_KEY;
-
-void encoder_action_unregister(void) {
- for (int index = 0; index < ENCODERS; ++index) {
- if (encoder_state[index]) {
- keyevent_t encoder_event = (keyevent_t) {
- .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index],
- .pressed = false,
- .time = timer_read(),
- .type = KEY_EVENT
- };
- encoder_state[index] = 0;
- action_exec(encoder_event);
- }
- }
-}
-
-void encoder_action_register(uint8_t index, bool clockwise) {
- keyevent_t encoder_event = (keyevent_t) {
- .key = clockwise ? encoder_cw[index] : encoder_ccw[index],
- .pressed = true,
- .time = timer_read(),
- .type = KEY_EVENT
- };
- encoder_state[index] = (clockwise ^ 1) | (clockwise << 1);
- action_exec(encoder_event);
-}
-
-void matrix_scan_kb(void) {
- encoder_action_unregister();
- matrix_scan_user();
-}
-
-bool encoder_update_kb(uint8_t index, bool clockwise) {
- encoder_action_register(index, clockwise);
- return true;
-}
-#endif
-
//------------------------------------------------------------------------------
// Keyboard Initialization
//------------------------------------------------------------------------------