Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- *
- * config.h:
- * #pragma once
- *#define ENCODER_A_PINS { encoder1a, encoder2a }
- *#define ENCODER_B_PINS { encoder1b, encoder2b }
- *#define ENABLE_LED_MATRIX_BAND_SPIRAL
- *#define ENABLE_LED_MATRIX_DUAL_BEACON
- *#define ENABLE_LED_MATRIX_CYCLE_OUT_IN
- *#define ENABLE_LED_MATRIX_BREATHING
- *#define LED_MATRIX_VAL_STEP 8
- *#define LED_MATRIX_SPD_STEP 16
- *//#define LED_MATRIX_DEFAULT_FLAGS LED_FLAG_ALL
- *#ifdef RGB_MATRIX_ENABLE
- *# define RGB_MATRIX_KEYPRESSES
- *#endif
- *
- * rules.mk:
- * ENCODER_ENABLE = yes
- *LED_MATRIX_CUSTOM_USER = yes
- *LED_MATRIX_DRIVER = is31fl3218
- *
- */
- #include "quantum.h"
- #ifdef RGB_MATRIX_ENABLE
- led_config_t g_led_config = { {
- // Key Matrix to LED Index
- { 0, 1, 2 },
- { 3, 4, 5 },
- { 6, 7, 8 }
- }, {
- // LED Index to Physical Position
- { 0, 0 }, { 112, 0 }, { 224, 0 },
- { 0, 32 }, { 112, 32 }, { 224, 32 },
- { 0, 64 }, { 112, 64 }, { 224, 64 },
- { 56, 64 }, { 168, 64 },
- }, {
- // LED Index to Flag
- 4, 4, 4,
- 4, 4, 4,
- 4, 4, 4,
- 2, 2
- } };
- #endif
- #include QMK_KEYBOARD_H
- #ifdef RGBLIGHT_ENABLE //is this not applicable to me? think so
- rgblight_enable();
- #endif
- #ifdef RGB_MATRIX_ENABLE
- rgb_matrix_enable();
- enum encoder_names {
- _LEFT,
- _RIGHT,
- _MIDDLE,
- };
- // Add 2nd main layer later
- enum layers {
- _MAIN,
- _ROOT,
- _RGB,
- _CONSOLE
- };
- const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_MAIN] = LAYOUT(
- KC_MPLY, TO(_ROOT), LM_TOGG, \
- KC_F1, KC_F2, M0, \
- KC_LEFT, KC_DOWN, KC_RGHT, \
- ),
- [_CONSOLE] = LAYOUT(
- XXXXXXX, XXXXXXX, XXXXXXX, \
- XXXXXXX, QK_BOOT, XXXXXXX, \
- XXXXXXX, TO(_ROOT), XXXXXXX, \
- ),
- [_RGB] = LAYOUT(
- RM_PREV, RM_TOGG, RM_NEXT, \
- XXXXXXX, XXXXXXX, XXXXXXX, \
- XXXXXXX, TO(_ROOT), XXXXXXX, \
- [_ROOT] = LAYOUT(
- XXXXXXX, XXXXXXX, XXXXXXX, \
- XXXXXXX, XXXXXXX, XXXXXXX, \
- TO(_MAIN), TO(_RGB), TO(_CONSOLE) \
- ),
- };
- bool encoder_update_user(uint8_t index, bool clockwise) {
- if (isLayer(_MAIN) && index == _LEFT) {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- }
- else if (isLayer(_MAIN) && index == _RIGHT) {
- if (clockwise) {
- tap_code(KC_BRIU);
- } else {
- tap_code(KC_BRID);
- }
- }
- else if (isLayer(_RGB) && index == _LEFT) {
- if (clockwise) {
- tap_code(RM_HUEU);
- } else {
- tap_code(RM_HUED);
- }
- }
- else if (isLayer(_RGB) && index == _RIGHT) {
- if (clockwise) {
- tap_code(RM_VALU);
- } else {
- tap_code(RM_VALD);
- }
- }
- return false;
- }
- /* Remember the rules defined:
- #define ENABLE_LED_MATRIX_BAND_SPIRAL
- #define ENABLE_LED_MATRIX_DUAL_BEACON
- #define LED_MATRIX_VAL_STEP 8
- #define LED_MATRIX_SPD_STEP 16
- oliv wuz hre
- */
- void rgb_matrix_indicators_user(void) {
- switch (get_highest_layer(layer_state)) {
- case _ROOT:
- rgblight_setrgb(RGB_WHITE);
- break;
- case _CONSOLE:
- rgblight_setrgb(RGB_RED);
- break;
- default: // for any other layers, or the default layer
- rgblight_setrgb (RGB_WHITE);
- break;
- }
- return state;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement