Advertisement
Guest User

bdn9keymap_olive

a guest
Apr 22nd, 2025
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.39 KB | None | 0 0
  1. /*
  2.  *
  3.  * config.h:  
  4.  *    #pragma once
  5.  *#define ENCODER_A_PINS { encoder1a, encoder2a }
  6.  *#define ENCODER_B_PINS { encoder1b, encoder2b }
  7.  *#define ENABLE_LED_MATRIX_BAND_SPIRAL
  8.  *#define ENABLE_LED_MATRIX_DUAL_BEACON
  9.  *#define ENABLE_LED_MATRIX_CYCLE_OUT_IN
  10.  *#define ENABLE_LED_MATRIX_BREATHING
  11.  *#define LED_MATRIX_VAL_STEP 8
  12.  *#define LED_MATRIX_SPD_STEP 16
  13.  *//#define LED_MATRIX_DEFAULT_FLAGS LED_FLAG_ALL
  14.  *#ifdef RGB_MATRIX_ENABLE
  15.  *#    define RGB_MATRIX_KEYPRESSES
  16.  *#endif
  17.  *  
  18.  *   rules.mk:  
  19.  *      ENCODER_ENABLE = yes
  20.  *LED_MATRIX_CUSTOM_USER = yes
  21.  *LED_MATRIX_DRIVER = is31fl3218
  22.  *
  23.  */
  24.  
  25. #include "quantum.h"
  26.  
  27. #ifdef RGB_MATRIX_ENABLE
  28. led_config_t g_led_config = { {
  29.     // Key Matrix to LED Index
  30.     { 0, 1, 2 },
  31.     { 3, 4, 5 },
  32.     { 6, 7, 8 }
  33. }, {
  34.     // LED Index to Physical Position
  35.     { 0, 0 }, { 112, 0 }, { 224, 0 },
  36.     { 0, 32 }, { 112, 32 }, { 224, 32 },
  37.     { 0, 64 }, { 112, 64 }, { 224, 64 },
  38.     { 56, 64 }, { 168, 64 },
  39. }, {
  40.     // LED Index to Flag
  41.     4, 4, 4,
  42.     4, 4, 4,
  43.     4, 4, 4,
  44.     2, 2
  45. } };
  46. #endif
  47.  
  48. #include QMK_KEYBOARD_H
  49.  
  50.  
  51. #ifdef RGBLIGHT_ENABLE //is this not applicable to me? think so
  52.     rgblight_enable();
  53. #endif
  54.  
  55. #ifdef RGB_MATRIX_ENABLE
  56.     rgb_matrix_enable();
  57.  
  58. enum encoder_names {
  59.   _LEFT,
  60.   _RIGHT,
  61.   _MIDDLE,
  62. };
  63.  
  64. // Add 2nd main layer later
  65. enum layers {
  66.   _MAIN,
  67.   _ROOT,
  68.   _RGB,
  69.   _CONSOLE
  70. };
  71.  
  72. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  73.    
  74.     [_MAIN] = LAYOUT(
  75.         KC_MPLY, TO(_ROOT), LM_TOGG, \
  76.         KC_F1, KC_F2, M0, \
  77.         KC_LEFT, KC_DOWN, KC_RGHT, \
  78.     ),
  79.  
  80.     [_CONSOLE] = LAYOUT(
  81.         XXXXXXX, XXXXXXX, XXXXXXX, \
  82.         XXXXXXX, QK_BOOT, XXXXXXX, \
  83.         XXXXXXX, TO(_ROOT), XXXXXXX, \
  84.     ),
  85.  
  86.     [_RGB] = LAYOUT(
  87.         RM_PREV, RM_TOGG, RM_NEXT, \
  88.         XXXXXXX, XXXXXXX, XXXXXXX, \
  89.         XXXXXXX, TO(_ROOT), XXXXXXX, \
  90.     [_ROOT] = LAYOUT(
  91.         XXXXXXX, XXXXXXX, XXXXXXX, \
  92.         XXXXXXX, XXXXXXX, XXXXXXX, \
  93.         TO(_MAIN), TO(_RGB), TO(_CONSOLE) \
  94.     ),
  95.  
  96. };
  97.  
  98. bool encoder_update_user(uint8_t index, bool clockwise) {
  99.     if (isLayer(_MAIN) && index == _LEFT) {
  100.         if (clockwise) {
  101.             tap_code(KC_VOLU);
  102.         } else {
  103.             tap_code(KC_VOLD);
  104.         }
  105.     }
  106.     else if (isLayer(_MAIN) && index == _RIGHT) {
  107.         if (clockwise) {
  108.             tap_code(KC_BRIU);
  109.         } else {
  110.             tap_code(KC_BRID);
  111.         }
  112.     }
  113.     else if (isLayer(_RGB) && index == _LEFT) {
  114.       if (clockwise) {
  115.           tap_code(RM_HUEU);
  116.         } else {
  117.           tap_code(RM_HUED);
  118.         }
  119.     }
  120.     else if (isLayer(_RGB) && index == _RIGHT) {
  121.       if (clockwise) {
  122.       tap_code(RM_VALU);
  123.         } else {
  124.       tap_code(RM_VALD);
  125.         }
  126.     }
  127.     return false;
  128. }
  129.  
  130.   /* Remember the rules defined:
  131. #define ENABLE_LED_MATRIX_BAND_SPIRAL
  132. #define ENABLE_LED_MATRIX_DUAL_BEACON
  133. #define LED_MATRIX_VAL_STEP 8
  134. #define LED_MATRIX_SPD_STEP 16
  135. oliv wuz hre
  136. */
  137.  
  138. void rgb_matrix_indicators_user(void) {
  139.   switch (get_highest_layer(layer_state)) {
  140.       case _ROOT:
  141.           rgblight_setrgb(RGB_WHITE);
  142.           break;
  143.       case _CONSOLE:
  144.           rgblight_setrgb(RGB_RED);
  145.           break;
  146.       default: // for any other layers, or the default layer
  147.           rgblight_setrgb (RGB_WHITE);
  148.           break;
  149.   }
  150. return state;
  151. }
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement