[Keyboard] Add Encoder map support for rart (#18851)
This commit is contained in:
parent
e31fa77e9b
commit
bc502348c3
16 changed files with 70 additions and 60 deletions
|
@ -44,7 +44,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#define RGB_DI_PIN D3
|
#define RGB_DI_PIN D3
|
||||||
#ifdef RGB_DI_PIN
|
#ifdef RGB_DI_PIN
|
||||||
#define RGBLIGHT_ANIMATIONS
|
#define RGBLIGHT_EFFECT_BREATHING
|
||||||
|
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||||
|
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||||
|
#define RGBLIGHT_EFFECT_KNIGHT
|
||||||
|
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||||
|
#define RGBLIGHT_EFFECT_TWINKLE
|
||||||
#define RGBLED_NUM 7
|
#define RGBLED_NUM 7
|
||||||
#define RGBLIGHT_HUE_STEP 8
|
#define RGBLIGHT_HUE_STEP 8
|
||||||
#define RGBLIGHT_SAT_STEP 8
|
#define RGBLIGHT_SAT_STEP 8
|
||||||
|
|
|
@ -44,19 +44,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
|
|
||||||
bool encoder_update_user(uint8_t index, bool clockwise) {
|
#if defined(ENCODER_MAP_ENABLE)
|
||||||
if (index == 0) { /* First encoder */
|
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||||
if (clockwise) {
|
[0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
|
||||||
tap_code(KC_WH_U);
|
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||||
} else {
|
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||||
tap_code(KC_WH_D);
|
[3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
|
||||||
}
|
};
|
||||||
} else if (index == 1) { /* Second encoder */
|
#endif
|
||||||
if (clockwise) {
|
|
||||||
tap_code(KC_VOLU);
|
|
||||||
} else {
|
|
||||||
tap_code(KC_VOLD);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
|
@ -1 +1,2 @@
|
||||||
VIA_ENABLE = yes
|
VIA_ENABLE = yes
|
||||||
|
ENCODER_MAP_ENABLE = yes
|
||||||
|
|
|
@ -40,13 +40,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
bool encoder_update_user(uint8_t index, bool clockwise) {
|
#if defined(ENCODER_MAP_ENABLE)
|
||||||
if (index == 0) { /* First encoder */
|
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||||
if (clockwise) {
|
[0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
|
||||||
tap_code(KC_VOLU);
|
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||||
} else {
|
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||||
tap_code(KC_VOLD);
|
[3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
|
||||||
}
|
};
|
||||||
}
|
#endif
|
||||||
return true;
|
|
||||||
}
|
|
|
@ -1,2 +1,4 @@
|
||||||
VIA_ENABLE = yes
|
VIA_ENABLE = yes
|
||||||
LTO_ENABLE = yes
|
LTO_ENABLE = yes
|
||||||
|
ENCODER_MAP_ENABLE = yes
|
||||||
|
|
||||||
|
|
|
@ -53,3 +53,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
)
|
)
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#if defined(ENCODER_MAP_ENABLE)
|
||||||
|
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||||
|
[0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
|
||||||
|
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||||
|
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||||
|
[3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
VIA_ENABLE = yes
|
VIA_ENABLE = yes
|
||||||
LTO_ENABLE = yes
|
LTO_ENABLE = yes
|
||||||
|
ENCODER_MAP_ENABLE = yes
|
||||||
|
|
|
@ -28,4 +28,4 @@ bool encoder_update_kb(uint8_t index, bool clockwise) {
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
|
@ -51,4 +51,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
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
|
||||||
),
|
),
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#if defined(ENCODER_MAP_ENABLE)
|
||||||
|
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||||
|
[0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
|
||||||
|
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||||
|
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||||
|
[3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
|
||||||
|
};
|
||||||
|
#endif
|
|
@ -1 +1,3 @@
|
||||||
VIA_ENABLE = yes
|
VIA_ENABLE = yes
|
||||||
|
LTO_ENABLE = yes
|
||||||
|
ENCODER_MAP_ENABLE = yes
|
|
@ -39,13 +39,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
/* Locking resynchronize hack */
|
/* Locking resynchronize hack */
|
||||||
#define LOCKING_RESYNC_ENABLE
|
#define LOCKING_RESYNC_ENABLE
|
||||||
|
|
||||||
#define LED_CAPS_LOCK_PIN D5
|
#define LED_CAPS_LOCK_PIN D4
|
||||||
#define LED_PIN_ON_STATE 0
|
#define LED_PIN_ON_STATE 0
|
||||||
|
|
||||||
#define BOOTMAGIC_LITE_ROW 0
|
#define BOOTMAGIC_LITE_ROW 0
|
||||||
#define BOOTMAGIC_LITE_COLUMN 1
|
#define BOOTMAGIC_LITE_COLUMN 1
|
||||||
|
|
||||||
#define RGB_DI_PIN C0
|
#define RGB_DI_PIN D5
|
||||||
#ifdef RGB_DI_PIN
|
#ifdef RGB_DI_PIN
|
||||||
#define RGBLIGHT_EFFECT_BREATHING
|
#define RGBLIGHT_EFFECT_BREATHING
|
||||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||||
|
|
|
@ -18,5 +18,4 @@ COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||||
NKRO_ENABLE = yes # Enable N-Key Rollover
|
NKRO_ENABLE = yes # Enable N-Key Rollover
|
||||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
|
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
|
||||||
AUDIO_ENABLE = no # Audio output
|
AUDIO_ENABLE = no # Audio output
|
||||||
ENCODER_ENABLE = no
|
|
|
@ -30,7 +30,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
/* COL2ROW or ROW2COL */
|
/* COL2ROW or ROW2COL */
|
||||||
#define DIODE_DIRECTION COL2ROW
|
#define DIODE_DIRECTION COL2ROW
|
||||||
|
|
||||||
#define NUM_LOCK_LED_PIN D7
|
#define LED_CAPS_LOCK_PIN D7
|
||||||
|
#define LED_PIN_ON_STATE 1
|
||||||
|
|
||||||
/* Set 0 if debouncing isn't needed */
|
/* Set 0 if debouncing isn't needed */
|
||||||
#define DEBOUNCE 5
|
#define DEBOUNCE 5
|
||||||
|
@ -46,7 +47,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#define RGB_DI_PIN F7
|
#define RGB_DI_PIN F7
|
||||||
#ifdef RGB_DI_PIN
|
#ifdef RGB_DI_PIN
|
||||||
#define RGBLIGHT_ANIMATIONS
|
#define RGBLIGHT_EFFECT_BREATHING
|
||||||
|
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||||
|
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||||
|
#define RGBLIGHT_EFFECT_KNIGHT
|
||||||
|
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||||
|
#define RGBLIGHT_EFFECT_TWINKLE
|
||||||
#define RGBLED_NUM 5
|
#define RGBLED_NUM 5
|
||||||
#define RGBLIGHT_HUE_STEP 8
|
#define RGBLIGHT_HUE_STEP 8
|
||||||
#define RGBLIGHT_SAT_STEP 8
|
#define RGBLIGHT_SAT_STEP 8
|
||||||
|
|
|
@ -35,19 +35,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
|
|
||||||
bool encoder_update_user(uint8_t index, bool clockwise) {
|
#if defined(ENCODER_MAP_ENABLE)
|
||||||
if (index == 0) { /* First encoder */
|
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||||
if (clockwise) {
|
[0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
|
||||||
tap_code(KC_WH_U);
|
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||||
} else {
|
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||||
tap_code(KC_WH_D);
|
[3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
|
||||||
}
|
};
|
||||||
} else if (index == 1) { /* Second encoder */
|
#endif
|
||||||
if (clockwise) {
|
|
||||||
tap_code(KC_VOLU);
|
|
||||||
} else {
|
|
||||||
tap_code(KC_VOLD);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
|
@ -1,2 +1,3 @@
|
||||||
VIA_ENABLE = yes
|
VIA_ENABLE = yes
|
||||||
LTO_ENABLE = yes
|
LTO_ENABLE = yes
|
||||||
|
ENCODER_MAP_ENABLE = yes
|
|
@ -12,11 +12,4 @@
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
#include "rartpad.h"
|
#include "rartpad.h"
|
||||||
|
|
||||||
bool led_update_kb(led_t led_state) {
|
|
||||||
if (led_update_user(led_state)) {
|
|
||||||
writePin(NUM_LOCK_LED_PIN, led_state.num_lock);
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
Loading…
Reference in a new issue