diff options
| -rw-r--r-- | keyboards/1upkeyboards/super16v2/config.h | 81 | ||||
| -rw-r--r-- | keyboards/1upkeyboards/super16v2/keymaps/default/keymap.c | 18 | ||||
| -rw-r--r-- | keyboards/1upkeyboards/super16v2/keymaps/mouse/keymap.c | 50 | ||||
| -rw-r--r-- | keyboards/1upkeyboards/super16v2/keymaps/mouse/readme.md | 1 | ||||
| -rw-r--r-- | keyboards/1upkeyboards/super16v2/rules.mk | 5 | ||||
| -rw-r--r-- | keyboards/1upkeyboards/super16v2/super16v2.c | 24 | 
6 files changed, 156 insertions, 23 deletions
| diff --git a/keyboards/1upkeyboards/super16v2/config.h b/keyboards/1upkeyboards/super16v2/config.h index 4685e66b2d..9832c28bef 100644 --- a/keyboards/1upkeyboards/super16v2/config.h +++ b/keyboards/1upkeyboards/super16v2/config.h @@ -22,6 +22,8 @@  #define MATRIX_ROWS 4  #define MATRIX_COLS 4 +#define MOUSEKEY_MOVE_DELTA 25 +  /*   * Keyboard Matrix Assignments   * @@ -37,6 +39,9 @@  #define MATRIX_ROW_PINS { D1, D2, D3, D4 }  #define MATRIX_COL_PINS { D5, D6, C2, D0 } +#define ENCODERS_PAD_A { B1, B3 } +#define ENCODERS_PAD_B { B2, B4 } +  #define UNUSED_PINS  /* COL2ROW, ROW2COL */ @@ -58,28 +63,62 @@  //#define BACKLIGHT_BREATHING  #define RGB_DI_PIN B5 +#define DRIVER_LED_TOTAL 20  #ifdef RGB_DI_PIN -#    define RGBLED_NUM 20 -#    define RGBLIGHT_HUE_STEP 8 -#    define RGBLIGHT_SAT_STEP 8 -#    define RGBLIGHT_VAL_STEP 8 -#    define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ -#    define RGBLIGHT_SLEEP  /* If defined, the RGB lighting will be switched off when the host goes to sleep */ -#    define RGBLIGHT_EFFECT_BREATHING -#    define RGBLIGHT_EFFECT_RAINBOW_MOOD -#    define RGBLIGHT_EFFECT_RAINBOW_SWIRL -#    define RGBLIGHT_EFFECT_SNAKE -#    define RGBLIGHT_EFFECT_KNIGHT -#    define RGBLIGHT_EFFECT_CHRISTMAS -#    define RGBLIGHT_EFFECT_STATIC_GRADIENT -#    define RGBLIGHT_EFFECT_RGB_TEST -#    define RGBLIGHT_EFFECT_ALTERNATING -/*== customize breathing effect ==*/ -/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ -//#    define RGBLIGHT_BREATHE_TABLE_SIZE 256      // 256(default) or 128 or 64 -/*==== use exp() and sin() ====*/ -//#    define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85  // 1 to 2.7 -//#    define RGBLIGHT_EFFECT_BREATHE_MAX    255   // 0 to 255 +#    define RGB_MATRIX_KEYPRESSES // reacts to keypresses +#    define RGBLIGHT_LIMIT_VAL 255 +#endif +#ifdef RGB_MATRIX_ENABLE +#    define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 +// RGB Matrix Animation modes. Explicitly enabled +// For full list of effects, see: +// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects +#    define ENABLE_RGB_MATRIX_ALPHAS_MODS +#    define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN +#    define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +#    define ENABLE_RGB_MATRIX_BREATHING +#    define ENABLE_RGB_MATRIX_BAND_SAT +#    define ENABLE_RGB_MATRIX_BAND_VAL +#    define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +#    define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL +#    define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT +#    define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL +#    define ENABLE_RGB_MATRIX_CYCLE_ALL +#    define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +#    define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN +#    define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +#    define ENABLE_RGB_MATRIX_CYCLE_OUT_IN +#    define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +#    define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL +#    define ENABLE_RGB_MATRIX_CYCLE_SPIRAL +#    define ENABLE_RGB_MATRIX_DUAL_BEACON +#    define ENABLE_RGB_MATRIX_RAINBOW_BEACON +#    define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS +#    define ENABLE_RGB_MATRIX_RAINDROPS +#    define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS +#    define ENABLE_RGB_MATRIX_HUE_BREATHING +#    define ENABLE_RGB_MATRIX_HUE_PENDULUM +#    define ENABLE_RGB_MATRIX_HUE_WAVE +#    define ENABLE_RGB_MATRIX_PIXEL_RAIN +#    define ENABLE_RGB_MATRIX_PIXEL_FLOW +#    define ENABLE_RGB_MATRIX_PIXEL_FRACTAL +// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined +//#    define ENABLE_RGB_MATRIX_TYPING_HEATMAP +//#    define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined +#    define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +#    define ENABLE_RGB_MATRIX_SOLID_REACTIVE +//#    define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +//#    define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +//#    define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +//#    define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +//#    define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +//#    define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +#    define ENABLE_RGB_MATRIX_SPLASH +//#    define ENABLE_RGB_MATRIX_MULTISPLASH +//#    define ENABLE_RGB_MATRIX_SOLID_SPLASH +//#    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH  #endif  /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ diff --git a/keyboards/1upkeyboards/super16v2/keymaps/default/keymap.c b/keyboards/1upkeyboards/super16v2/keymaps/default/keymap.c index dc58023a37..b80db58bae 100644 --- a/keyboards/1upkeyboards/super16v2/keymaps/default/keymap.c +++ b/keyboards/1upkeyboards/super16v2/keymaps/default/keymap.c @@ -27,8 +27,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {    [1] = LAYOUT_ortho_4x4( /* Fn Layer */      RGB_TOG,   RGB_HUI,    RGB_SAI,    RGB_VAI,      RGB_MOD,   RGB_HUD,    RGB_SAD,    RGB_VAD, -    KC_TRNS,   KC_TRNS,    KC_TRNS,    KC_TRNS, +    RGB_SPD,   RGB_SPI,    KC_TRNS,    KC_TRNS,      KC_TRNS,   KC_TRNS,    KC_TRNS,    RESET    ),  }; +bool encoder_update_user(uint8_t index, bool clockwise) { +    if (index == 0) { /* First encoder */ +        if (clockwise) { +            tap_code_delay(KC_VOLU, 10); +        } else { +            tap_code_delay(KC_VOLD, 10); +        } +    } else if (index == 1) { /* Second encoder */ +        if (clockwise) { +            rgb_matrix_increase_hue(); +        } else { +            rgb_matrix_decrease_hue(); +        } +    } +    return false; +}
\ No newline at end of file diff --git a/keyboards/1upkeyboards/super16v2/keymaps/mouse/keymap.c b/keyboards/1upkeyboards/super16v2/keymaps/mouse/keymap.c new file mode 100644 index 0000000000..86ea58e8a5 --- /dev/null +++ b/keyboards/1upkeyboards/super16v2/keymaps/mouse/keymap.c @@ -0,0 +1,50 @@ +/* Copyright 2022 MechMerlin + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program.  If not, see <http://www.gnu.org/licenses/>. + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +  [0] = LAYOUT_ortho_4x4( /* Base */ +    KC_TRNS,    KC_DELETE,    KC_BACKSPACE,    KC_MUTE, +    KC_P4,    KC_P5,    KC_P6,    KC_PPLS, +    KC_P1,    KC_P2,    KC_P3,    KC_PSLS, +    MO(1),    KC_P0,    KC_PDOT,  KC_BTN3 +  ), + +  [1] = LAYOUT_ortho_4x4( /* Fn Layer */ +    RGB_TOG,   RGB_HUI,    RGB_SAI,    RGB_VAI, +    RGB_MOD,   RGB_HUD,    RGB_SAD,    RGB_VAD, +    RGB_SPD,   RGB_SPI,    KC_TRNS,    KC_TRNS, +    KC_TRNS,   KC_TRNS,    KC_TRNS,    RESET +  ), +}; + +bool encoder_update_user(uint8_t index, bool clockwise) { +    if (index == 0) { /* First encoder */ +        if (clockwise) { +            tap_code_delay(KC_MS_RIGHT, 10); +        } else { +            tap_code_delay(KC_MS_LEFT, 10); +        } +    } else if (index == 1) { /* Second encoder */ +        if (clockwise) { +            tap_code_delay(KC_AUDIO_VOL_UP, 10); +        } else { +            tap_code_delay(KC_AUDIO_VOL_DOWN, 10); +        } +    } +    return false; +}
\ No newline at end of file diff --git a/keyboards/1upkeyboards/super16v2/keymaps/mouse/readme.md b/keyboards/1upkeyboards/super16v2/keymaps/mouse/readme.md new file mode 100644 index 0000000000..e229fcba74 --- /dev/null +++ b/keyboards/1upkeyboards/super16v2/keymaps/mouse/readme.md @@ -0,0 +1 @@ +# The default keymap for Super 16 V2 diff --git a/keyboards/1upkeyboards/super16v2/rules.mk b/keyboards/1upkeyboards/super16v2/rules.mk index d31d53cead..3e20247dff 100644 --- a/keyboards/1upkeyboards/super16v2/rules.mk +++ b/keyboards/1upkeyboards/super16v2/rules.mk @@ -14,5 +14,8 @@ CONSOLE_ENABLE = no         # Console for debug  COMMAND_ENABLE = no         # Commands for debug and configuration  NKRO_ENABLE = no            # Enable N-Key Rollover  BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = yes        # Enable keyboard RGB underglow +RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow  AUDIO_ENABLE = no           # Audio output +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = WS2812 +ENCODER_ENABLE = yes
\ No newline at end of file diff --git a/keyboards/1upkeyboards/super16v2/super16v2.c b/keyboards/1upkeyboards/super16v2/super16v2.c index fc73f700c4..ff7ce33c84 100644 --- a/keyboards/1upkeyboards/super16v2/super16v2.c +++ b/keyboards/1upkeyboards/super16v2/super16v2.c @@ -15,3 +15,27 @@   */  #include "super16v2.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { +    // Key Matrix to LED Index +    { 3, 2, 1, 0 }, +    { 7, 6, 5, 4 }, +    { 11, 10, 9, 8 }, +    { 15, 14, 13, 12 } +}, { +    // LED Index to Physical Position +    { 28, 12 }, { 84, 12 }, { 140, 12 }, { 196, 12 }, +    { 28, 28 }, { 84, 28 }, { 140, 28 }, { 196, 28 }, +    { 28, 44 }, { 84, 44 }, { 140, 44 }, { 196, 44 }, +    { 28, 60 }, { 84, 60 }, { 140, 60 }, { 196, 60 }, +    { 168, 48 }, { 168, 16 }, { 58, 16 }, { 56, 48 } +}, { +    // LED Index to Flag +    4, 4, 4, 4, +    4, 4, 4, 4, +    4, 4, 4, 4, +    4, 4, 4, 4, +    2, 2, 2, 2, +} }; +#endif | 
