From ac5abacb2a2aae7f4ca337ba7b4b61cffb0ed5b0 Mon Sep 17 00:00:00 2001 From: Terry Mathews Date: Sat, 6 Nov 2021 10:16:23 -0400 Subject: [PATCH 01/11] PORTICO75: Initial support for TKC Portico75 --- keyboards/tkc/portico75/config.h | 120 +++++++++++ .../tkc/portico75/keymaps/default/keymap.c | 24 +++ keyboards/tkc/portico75/keymaps/via/keymap.c | 91 +++++++++ keyboards/tkc/portico75/keymaps/via/rules.mk | 2 + keyboards/tkc/portico75/portico75.c | 155 ++++++++++++++ keyboards/tkc/portico75/portico75.h | 42 ++++ keyboards/tkc/portico75/rules.mk | 33 +++ keyboards/wilba_tech/wt_rgb_backlight.c | 193 +++++++++++++++++- 8 files changed, 659 insertions(+), 1 deletion(-) create mode 100644 keyboards/tkc/portico75/config.h create mode 100644 keyboards/tkc/portico75/keymaps/default/keymap.c create mode 100644 keyboards/tkc/portico75/keymaps/via/keymap.c create mode 100644 keyboards/tkc/portico75/keymaps/via/rules.mk create mode 100644 keyboards/tkc/portico75/portico75.c create mode 100644 keyboards/tkc/portico75/portico75.h create mode 100644 keyboards/tkc/portico75/rules.mk diff --git a/keyboards/tkc/portico75/config.h b/keyboards/tkc/portico75/config.h new file mode 100644 index 000000000000..f2706ff91194 --- /dev/null +++ b/keyboards/tkc/portico75/config.h @@ -0,0 +1,120 @@ +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x544B //TK +#define PRODUCT_ID 0x0011 +#define DEVICE_VER 0x0001 +#define MANUFACTURER TKC +#define PRODUCT Portico75 + +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 15 + +#define MATRIX_ROW_PINS { B0, E6, F0, F1, D3, D2 } +#define MATRIX_COL_PINS { F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, D5, B3, B7 } + +/*Rotary Encoder Pins*/ +#define ENCODERS_PAD_A { B1 } +#define ENCODERS_PAD_B { B2 } + +/*Sets the number of pulses per increment*/ +#define ENCODER_RESOLUTION 2 + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +#ifdef RGB_MATRIX_ENABLE +#define RGB_MATRIX_LED_PROCESS_LIMIT 4 +#define RGB_MATRIX_LED_FLUSH_LIMIT 26 +#define DEBOUNCE 3 +#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects +#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended +#define RGB_MATRIX_KEYPRESSES +#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN +#define DISABLE_RGB_MATRIX_BAND_SAT +#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +#define DISABLE_RGB_MATRIX_SPLASH +#define DISABLE_RGB_MATRIX_MULTISPLASH +#define DISABLE_RGB_MATRIX_SOLID_SPLASH +#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH +#define DISABLE_RGB_MATRIX_DIGITAL_RAIN +#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 +#define DRIVER_ADDR_1 0b0110000 +#define DRIVER_ADDR_2 0b0110000 // this is here for compliancy reasons. +#define DRIVER_COUNT 1 +#define DRIVER_1_LED_TOTAL 98 +#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL +#define DRIVER_INDICATOR_LED_TOTAL 0 +#else +// IS31FL3741 driver +#define DRIVER_COUNT 1 +#define DRIVER_LED_TOTAL 98 + +#define RGB_BACKLIGHT_ENABLED 1 + +// This conditionally compiles the backlight code for Dawn60 specifics +#define RGB_BACKLIGHT_PORTICO75 + +// disable backlight when USB suspended (PC sleep/hibernate/shutdown) +#define RGB_BACKLIGHT_DISABLE_WHEN_USB_SUSPENDED 1 + +// disable backlight after timeout in minutes, 0 = no timeout +#define RGB_BACKLIGHT_DISABLE_AFTER_TIMEOUT 0 + +// the default brightness +#define RGB_BACKLIGHT_BRIGHTNESS 255 + +// the default effect (RGB test) +#define RGB_BACKLIGHT_EFFECT 255 + +// the default effect speed (0-3) +#define RGB_BACKLIGHT_EFFECT_SPEED 0 + +// the default color1 and color2 +#define RGB_BACKLIGHT_COLOR_1 { .h = 0, .s = 255 } +#define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 } + +#define RGB_BACKLIGHT_USE_SPLIT_BACKSPACE 0 +#define RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT 0 +#define RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT 0 +#define RGB_BACKLIGHT_USE_7U_SPACEBAR 0 +#define RGB_BACKLIGHT_USE_ISO_ENTER 0 +#define RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS 0 +#define RGB_BACKLIGHT_CAPS_LOCK_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 } +#define RGB_BACKLIGHT_LAYER_1_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 } +#define RGB_BACKLIGHT_LAYER_2_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 } +#define RGB_BACKLIGHT_LAYER_3_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 } + +// These define which keys in the matrix are alphas/mods +// Used for backlight effects so colors are different for +// alphas vs. mods +// Each value is for a row, bit 0 is column 0 +// Alpha=0 Mod=1 +#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_0 0b0110000000000001 +#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_1 0b0110000000000001 +#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_2 0b0111000000000001 +#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_3 0b0111100000000001 +#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_4 0b1111111111111111 + +// Backlight config starts after VIA's EEPROM usage, +// dynamic keymaps start after this. +#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 31 + +// VIA lighting is handled by the keyboard-level code +#define VIA_CUSTOM_LIGHTING_ENABLE +#endif \ No newline at end of file diff --git a/keyboards/tkc/portico75/keymaps/default/keymap.c b/keyboards/tkc/portico75/keymaps/default/keymap.c new file mode 100644 index 000000000000..2f2a0b411b81 --- /dev/null +++ b/keyboards/tkc/portico75/keymaps/default/keymap.c @@ -0,0 +1,24 @@ +#include QMK_KEYBOARD_H + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_75_ansi( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_MUTE, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ) +}; + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + return false; +} \ No newline at end of file diff --git a/keyboards/tkc/portico75/keymaps/via/keymap.c b/keyboards/tkc/portico75/keymaps/via/keymap.c new file mode 100644 index 000000000000..2218dff29e26 --- /dev/null +++ b/keyboards/tkc/portico75/keymaps/via/keymap.c @@ -0,0 +1,91 @@ +#include QMK_KEYBOARD_H + +#define ENCODERS 1 + +#define ENCODERS_CW_KEY { { 14, 3 } } +#define ENCODERS_CCW_KEY { { 14, 4 } } + +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; + +// WT RGB-specific keys: +// EF_INC, EF_DEC, // next/previous backlight effect +// H1_INC, H1_DEC, // Color 1 hue increase/decrease +// S1_INC, S1_DEC, // Color 1 saturation increase/decrease +// H2_INC, H2_DEC, // Color 2 hue increase/decrease +// S2_INC, S2_DEC, // Color 2 saturation increase/decrease +// BR_INC, BR_DEC, // backlight brightness increase/decrease + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_75_via( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_MUTE, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_VOLD, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_VOLU, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), +#ifdef RGB_BACKLIGHT_PORTICO75 + [1] = LAYOUT_75_via( + _______, EF_INC, EF_DEC, H1_INC, H1_DEC, S1_INC, S1_DEC, H2_INC, H2_DEC, S2_INC, S2_DEC, BR_INC, BR_DEC, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, MO(1), _______, _______, _______ + ), +#else + [1] = LAYOUT_75_via( + _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, MO(1), _______, _______, _______ + ), +#endif + [2] = LAYOUT_75_via( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT_75_via( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; + +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() | 1) + }; + 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() | 1)}; + encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); + action_exec(encoder_event); +} + +void matrix_scan_user(void) { encoder_action_unregister(); } + +bool encoder_update_user(uint8_t index, bool clockwise) { + encoder_action_register(index, clockwise); + return false; +}; \ No newline at end of file diff --git a/keyboards/tkc/portico75/keymaps/via/rules.mk b/keyboards/tkc/portico75/keymaps/via/rules.mk new file mode 100644 index 000000000000..43061db1dd46 --- /dev/null +++ b/keyboards/tkc/portico75/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/tkc/portico75/portico75.c b/keyboards/tkc/portico75/portico75.c new file mode 100644 index 000000000000..86cebe772f88 --- /dev/null +++ b/keyboards/tkc/portico75/portico75.c @@ -0,0 +1,155 @@ +#include "portico75.h" + +#ifdef RGB_MATRIX_ENABLE + +const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { + {0, CS18_SW1, CS17_SW1, CS16_SW1}, + {0, CS18_SW2, CS17_SW2, CS16_SW2}, + {0, CS18_SW3, CS17_SW3, CS16_SW3}, + {0, CS18_SW4, CS17_SW4, CS16_SW4}, + {0, CS18_SW5, CS17_SW5, CS16_SW5}, + {0, CS18_SW6, CS17_SW6, CS16_SW6}, + {0, CS18_SW7, CS17_SW7, CS16_SW7}, + {0, CS18_SW8, CS17_SW8, CS16_SW8}, + {0, CS18_SW9, CS17_SW9, CS16_SW9}, + + {0, CS21_SW1, CS20_SW1, CS19_SW1}, + {0, CS21_SW2, CS20_SW2, CS19_SW2}, + {0, CS21_SW3, CS20_SW3, CS19_SW3}, + {0, CS21_SW4, CS20_SW4, CS19_SW4}, + {0, CS21_SW5, CS20_SW5, CS19_SW5}, + {0, CS21_SW6, CS20_SW6, CS19_SW6}, //Encoder, NO_LED + + {0, CS15_SW1, CS14_SW1, CS13_SW1}, + {0, CS15_SW2, CS14_SW2, CS13_SW2}, + {0, CS15_SW3, CS14_SW3, CS13_SW3}, + {0, CS15_SW4, CS14_SW4, CS13_SW4}, + {0, CS15_SW5, CS14_SW5, CS13_SW5}, + {0, CS15_SW6, CS14_SW6, CS13_SW6}, + {0, CS15_SW7, CS14_SW7, CS13_SW7}, + {0, CS15_SW8, CS14_SW8, CS13_SW8}, + {0, CS15_SW9, CS14_SW9, CS13_SW9}, + + {0, CS24_SW1, CS23_SW1, CS22_SW1}, + {0, CS24_SW2, CS23_SW2, CS22_SW2}, + {0, CS24_SW3, CS23_SW3, CS22_SW3}, + {0, CS24_SW4, CS23_SW4, CS22_SW4}, + {0, CS24_SW5, CS23_SW5, CS22_SW5}, + {0, CS24_SW6, CS23_SW6, CS22_SW6}, + + {0, CS12_SW1, CS11_SW1, CS10_SW1}, + {0, CS12_SW2, CS11_SW2, CS10_SW2}, + {0, CS12_SW3, CS11_SW3, CS10_SW3}, + {0, CS12_SW4, CS11_SW4, CS10_SW4}, + {0, CS12_SW5, CS11_SW5, CS10_SW5}, + {0, CS12_SW6, CS11_SW6, CS10_SW6}, + {0, CS12_SW7, CS11_SW7, CS10_SW7}, + {0, CS12_SW8, CS11_SW8, CS10_SW8}, + {0, CS12_SW9, CS11_SW9, CS10_SW9}, + + {0, CS27_SW1, CS26_SW1, CS25_SW1}, + {0, CS27_SW2, CS26_SW2, CS25_SW2}, + {0, CS27_SW3, CS26_SW3, CS25_SW3}, + {0, CS27_SW4, CS26_SW4, CS25_SW4}, + {0, CS27_SW5, CS26_SW5, CS25_SW5}, + {0, CS27_SW6, CS26_SW6, CS25_SW6}, + + {0, CS9_SW1, CS8_SW1, CS7_SW1}, + {0, CS9_SW2, CS8_SW2, CS7_SW2}, + {0, CS9_SW3, CS8_SW3, CS7_SW3}, + {0, CS9_SW4, CS8_SW4, CS7_SW4}, + {0, CS9_SW5, CS8_SW5, CS7_SW5}, + {0, CS9_SW6, CS8_SW6, CS7_SW6}, + {0, CS9_SW7, CS8_SW7, CS7_SW7}, + {0, CS9_SW8, CS8_SW8, CS7_SW8}, + {0, CS9_SW9, CS8_SW9, CS7_SW9}, + + {0, CS30_SW1, CS29_SW1, CS28_SW1}, + {0, CS30_SW2, CS29_SW2, CS28_SW2}, + {0, CS30_SW3, CS29_SW3, CS28_SW3}, + {0, CS30_SW4, CS29_SW4, CS28_SW4}, + + {0, CS6_SW1, CS5_SW1, CS4_SW1}, + {0, CS6_SW2, CS5_SW2, CS4_SW2}, + {0, CS6_SW3, CS5_SW3, CS4_SW3}, + {0, CS6_SW4, CS5_SW4, CS4_SW4}, + {0, CS6_SW5, CS5_SW5, CS4_SW5}, + {0, CS6_SW6, CS5_SW6, CS4_SW6}, + {0, CS6_SW7, CS5_SW7, CS4_SW7}, + {0, CS6_SW8, CS5_SW8, CS4_SW8}, + {0, CS6_SW9, CS5_SW9, CS4_SW9}, + + {0, CS33_SW1, CS32_SW1, CS31_SW1}, + {0, CS33_SW2, CS32_SW2, CS31_SW2}, + {0, CS33_SW3, CS32_SW3, CS31_SW3}, + {0, CS33_SW4, CS32_SW4, CS31_SW4}, + + {0, CS3_SW1, CS2_SW1, CS1_SW1}, + {0, CS3_SW2, CS2_SW2, CS1_SW2}, + {0, CS3_SW3, CS2_SW3, CS1_SW3}, + {0, CS3_SW6, CS2_SW6, CS1_SW6}, + {0, CS3_SW8, CS2_SW8, CS1_SW8}, + {0, CS3_SW9, CS2_SW9, CS1_SW9}, + + {0, CS36_SW1, CS35_SW1, CS34_SW1}, + {0, CS36_SW2, CS35_SW2, CS34_SW2}, + {0, CS36_SW3, CS35_SW3, CS34_SW3}, + +/*UNDERGLOW*/ + {0, CS39_SW1, CS38_SW1, CS37_SW1}, + {0, CS39_SW2, CS38_SW2, CS37_SW2}, + {0, CS39_SW3, CS38_SW3, CS37_SW3}, + {0, CS39_SW4, CS38_SW4, CS37_SW4}, + {0, CS39_SW5, CS38_SW5, CS37_SW5}, + {0, CS39_SW6, CS38_SW6, CS37_SW6}, + {0, CS39_SW7, CS38_SW7, CS37_SW7}, + {0, CS39_SW8, CS38_SW8, CS37_SW8}, + {0, CS39_SW9, CS38_SW9, CS37_SW9}, + + {0, CS36_SW4, CS35_SW4, CS34_SW4}, + {0, CS36_SW5, CS35_SW5, CS34_SW5}, + {0, CS36_SW6, CS35_SW6, CS34_SW6}, + {0, CS36_SW7, CS35_SW7, CS34_SW7}, + {0, CS36_SW8, CS35_SW8, CS34_SW8}, + {0, CS36_SW9, CS35_SW9, CS34_SW9}, + + {0, CS33_SW5, CS32_SW5, CS31_SW5}, + {0, CS33_SW6, CS32_SW6, CS31_SW6}, + {0, CS33_SW7, CS32_SW7, CS31_SW7}, + +}; +led_config_t g_led_config = { { + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14}, + { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29}, + { 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44}, + { 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, NO_LED, NO_LED}, + { 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, NO_LED, NO_LED}, + { 71, 72, 73, NO_LED, NO_LED, 74, NO_LED, NO_LED, NO_LED, 75, 76, 77, 78, 79, NO_LED}, +}, { + {0,0},{18,0},{33,0},{48,0},{62,0},{81,0},{96,0},{110,0},{125,0},{143,0},{158,0},{173,0},{187,0},{205,0},{224,0}, + {0,15},{15,15},{29,15},{44,15},{59,15},{74,15},{88,15},{103,15},{118,15},{132,15},{147,15},{162,15},{176,15},{198,15},{224,15}, + {4,26},{22,26},{37,26},{51,26},{66,26},{81,26},{96,26},{110,26},{125,26},{140,26},{154,26},{169,26},{183,26},{202,26},{224,26}, + {5,38},{25,38},{40,38},{54,38},{69,38},{84,38},{98,38},{113,38},{128,38},{143,38},{157,38},{172,38},{197,38}, + {9,49},{33,49},{48,49},{62,49},{77,49},{92,49},{107,49},{121,49},{136,49},{151,49},{165,49},{186,49},{209,52}, + {2,61},{20,61},{39,61},{94,61},{151,61},{173,61},{195,64},{209,64},{224,64}, + {2,0},{46,0},{90,0},{134,0},{178,0},{222,0},{224,2},{224,32},{224,62},{2,64},{46,64},{90,64},{134,64},{178,64},{222,64},{0,2},{0,32},{0,62}, +}, { + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +} }; + +__attribute__ ((weak)) +void rgb_matrix_indicators_user(void) +{ + if (host_keyboard_led_state().caps_lock) + { + rgb_matrix_set_color(45, 0xFF, 0xFF, 0xFF); + } +} +#endif + \ No newline at end of file diff --git a/keyboards/tkc/portico75/portico75.h b/keyboards/tkc/portico75/portico75.h new file mode 100644 index 000000000000..fda373a2e6b5 --- /dev/null +++ b/keyboards/tkc/portico75/portico75.h @@ -0,0 +1,42 @@ +#pragma once + +#include "quantum.h" + +#ifdef RGB_BACKLIGHT_PORTICO75 +#include "keyboards/wilba_tech/wt_rgb_backlight_keycodes.h" +#include "via.h" +#endif + +#define XXX KC_NO + +#define LAYOUT_75_ansi( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, \ + K50, K51, K52, K55, K59, K5A, K5B, K5C, K5D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, XXX, XXX }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, XXX, XXX }, \ + { K50, K51, K52, XXX, XXX, K55, XXX, XXX, XXX, K59, K5A, K5B, K5C, K5D, XXX } \ +} + +#define LAYOUT_75_via( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4E, \ + K50, K51, K52, K55, K59, K5A, K5B, K5C, K5D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, XXX, K3E }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, XXX, K4E }, \ + { K50, K51, K52, XXX, XXX, K55, XXX, XXX, XXX, K59, K5A, K5B, K5C, K5D, XXX } \ +} diff --git a/keyboards/tkc/portico75/rules.mk b/keyboards/tkc/portico75/rules.mk new file mode 100644 index 000000000000..5073e1ec2b1c --- /dev/null +++ b/keyboards/tkc/portico75/rules.mk @@ -0,0 +1,33 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +RGB_MATRIX_ENABLE = no # Use RGB matrix +RGB_MATRIX_DRIVER = IS31FL3741 +CIE1931_CURVE = yes +ENCODER_ENABLE = yes + +# project specific files +SRC += keyboards/wilba_tech/wt_main.c \ + keyboards/wilba_tech/wt_rgb_backlight.c \ + quantum/color.c \ + drivers/led/issi/is31fl3741.c + +QUANTUM_LIB_SRC += i2c_master.c \ No newline at end of file diff --git a/keyboards/wilba_tech/wt_rgb_backlight.c b/keyboards/wilba_tech/wt_rgb_backlight.c index 82b1fb2fb368..3cc33f875f9b 100644 --- a/keyboards/wilba_tech/wt_rgb_backlight.c +++ b/keyboards/wilba_tech/wt_rgb_backlight.c @@ -31,6 +31,7 @@ defined(RGB_BACKLIGHT_U80_A) || \ defined(RGB_BACKLIGHT_DAWN60) || \ defined(RGB_BACKLIGHT_PORTICO) || \ + defined(RGB_BACKLIGHT_PORTICO75) || \ defined(RGB_BACKLIGHT_WT60_B) || \ defined(RGB_BACKLIGHT_WT60_BX) || \ defined(RGB_BACKLIGHT_WT60_C) || \ @@ -89,6 +90,9 @@ LED_TYPE g_ws2812_leds[WS2812_LED_TOTAL]; #elif defined(RGB_BACKLIGHT_NK87) #include "drivers/led/issi/is31fl3733.h" #define BACKLIGHT_LED_COUNT 128 +#elif defined(RGB_BACKLIGHT_PORTICO75) +#include "drivers/led/issi/is31fl3741.h" +#define BACKLIGHT_LED_COUNT 98 #else #include "drivers/led/issi/is31fl3731.h" #if defined(RGB_BACKLIGHT_U80_A) @@ -701,6 +705,135 @@ const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { { 1, C9_16, C7_15, C6_15 }, { 1, C8_16, C7_16, C6_16 } }; + +#elif defined(RGB_BACKLIGHT_PORTICO75) +// This is a 7-bit address, that gets left-shifted and bit 0 +// set to 0 for write, 1 for read (as per I2C protocol) +#define ISSI_ADDR_1 0x30 +#define ISSI_ADDR_2 + +const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { +/* Refer to IS31 manual for these locations + * driver + * | R location + * | | G location + * | | | B location + * | | | | */ + {0, CS18_SW1, CS17_SW1, CS16_SW1}, + {0, CS18_SW2, CS17_SW2, CS16_SW2}, + {0, CS18_SW3, CS17_SW3, CS16_SW3}, + {0, CS18_SW4, CS17_SW4, CS16_SW4}, + {0, CS18_SW5, CS17_SW5, CS16_SW5}, + {0, CS18_SW6, CS17_SW6, CS16_SW6}, + {0, CS18_SW7, CS17_SW7, CS16_SW7}, + {0, CS18_SW8, CS17_SW8, CS16_SW8}, + {0, CS18_SW9, CS17_SW9, CS16_SW9}, + + {0, CS21_SW1, CS20_SW1, CS19_SW1}, + {0, CS21_SW2, CS20_SW2, CS19_SW2}, + {0, CS21_SW3, CS20_SW3, CS19_SW3}, + {0, CS21_SW4, CS20_SW4, CS19_SW4}, + {0, CS21_SW5, CS20_SW5, CS19_SW5}, + {0, CS21_SW6, CS20_SW6, CS19_SW6}, //Encoder, NO_LED + + {0, CS15_SW1, CS14_SW1, CS13_SW1}, + {0, CS15_SW2, CS14_SW2, CS13_SW2}, + {0, CS15_SW3, CS14_SW3, CS13_SW3}, + {0, CS15_SW4, CS14_SW4, CS13_SW4}, + {0, CS15_SW5, CS14_SW5, CS13_SW5}, + {0, CS15_SW6, CS14_SW6, CS13_SW6}, + {0, CS15_SW7, CS14_SW7, CS13_SW7}, + {0, CS15_SW8, CS14_SW8, CS13_SW8}, + {0, CS15_SW9, CS14_SW9, CS13_SW9}, + + {0, CS24_SW1, CS23_SW1, CS22_SW1}, + {0, CS24_SW2, CS23_SW2, CS22_SW2}, + {0, CS24_SW3, CS23_SW3, CS22_SW3}, + {0, CS24_SW4, CS23_SW4, CS22_SW4}, + {0, CS24_SW5, CS23_SW5, CS22_SW5}, + {0, CS24_SW6, CS23_SW6, CS22_SW6}, + + {0, CS12_SW1, CS11_SW1, CS10_SW1}, + {0, CS12_SW2, CS11_SW2, CS10_SW2}, + {0, CS12_SW3, CS11_SW3, CS10_SW3}, + {0, CS12_SW4, CS11_SW4, CS10_SW4}, + {0, CS12_SW5, CS11_SW5, CS10_SW5}, + {0, CS12_SW6, CS11_SW6, CS10_SW6}, + {0, CS12_SW7, CS11_SW7, CS10_SW7}, + {0, CS12_SW8, CS11_SW8, CS10_SW8}, + {0, CS12_SW9, CS11_SW9, CS10_SW9}, + + {0, CS27_SW1, CS26_SW1, CS25_SW1}, + {0, CS27_SW2, CS26_SW2, CS25_SW2}, + {0, CS27_SW3, CS26_SW3, CS25_SW3}, + {0, CS27_SW4, CS26_SW4, CS25_SW4}, + {0, CS27_SW5, CS26_SW5, CS25_SW5}, + {0, CS27_SW6, CS26_SW6, CS25_SW6}, + + {0, CS9_SW1, CS8_SW1, CS7_SW1}, + {0, CS9_SW2, CS8_SW2, CS7_SW2}, + {0, CS9_SW3, CS8_SW3, CS7_SW3}, + {0, CS9_SW4, CS8_SW4, CS7_SW4}, + {0, CS9_SW5, CS8_SW5, CS7_SW5}, + {0, CS9_SW6, CS8_SW6, CS7_SW6}, + {0, CS9_SW7, CS8_SW7, CS7_SW7}, + {0, CS9_SW8, CS8_SW8, CS7_SW8}, + {0, CS9_SW9, CS8_SW9, CS7_SW9}, + + {0, CS30_SW1, CS29_SW1, CS28_SW1}, + {0, CS30_SW2, CS29_SW2, CS28_SW2}, + {0, CS30_SW3, CS29_SW3, CS28_SW3}, + {0, CS30_SW4, CS29_SW4, CS28_SW4}, + + {0, CS6_SW1, CS5_SW1, CS4_SW1}, + {0, CS6_SW2, CS5_SW2, CS4_SW2}, + {0, CS6_SW3, CS5_SW3, CS4_SW3}, + {0, CS6_SW4, CS5_SW4, CS4_SW4}, + {0, CS6_SW5, CS5_SW5, CS4_SW5}, + {0, CS6_SW6, CS5_SW6, CS4_SW6}, + {0, CS6_SW7, CS5_SW7, CS4_SW7}, + {0, CS6_SW8, CS5_SW8, CS4_SW8}, + {0, CS6_SW9, CS5_SW9, CS4_SW9}, + + {0, CS33_SW1, CS32_SW1, CS31_SW1}, + {0, CS33_SW2, CS32_SW2, CS31_SW2}, + {0, CS33_SW3, CS32_SW3, CS31_SW3}, + {0, CS33_SW4, CS32_SW4, CS31_SW4}, + + {0, CS3_SW1, CS2_SW1, CS1_SW1}, + {0, CS3_SW2, CS2_SW2, CS1_SW2}, + {0, CS3_SW3, CS2_SW3, CS1_SW3}, + {0, CS3_SW6, CS2_SW6, CS1_SW6}, + {0, CS3_SW8, CS2_SW8, CS1_SW8}, + {0, CS3_SW9, CS2_SW9, CS1_SW9}, + + {0, CS36_SW1, CS35_SW1, CS34_SW1}, + {0, CS36_SW2, CS35_SW2, CS34_SW2}, + {0, CS36_SW3, CS35_SW3, CS34_SW3}, + +/*UNDERGLOW*/ + {0, CS39_SW1, CS38_SW1, CS37_SW1}, + {0, CS39_SW2, CS38_SW2, CS37_SW2}, + {0, CS39_SW3, CS38_SW3, CS37_SW3}, + {0, CS39_SW4, CS38_SW4, CS37_SW4}, + {0, CS39_SW5, CS38_SW5, CS37_SW5}, + {0, CS39_SW6, CS38_SW6, CS37_SW6}, + {0, CS39_SW7, CS38_SW7, CS37_SW7}, + {0, CS39_SW8, CS38_SW8, CS37_SW8}, + {0, CS39_SW9, CS38_SW9, CS37_SW9}, + + {0, CS36_SW4, CS35_SW4, CS34_SW4}, + {0, CS36_SW5, CS35_SW5, CS34_SW5}, + {0, CS36_SW6, CS35_SW6, CS34_SW6}, + {0, CS36_SW7, CS35_SW7, CS34_SW7}, + {0, CS36_SW8, CS35_SW8, CS34_SW8}, + {0, CS36_SW9, CS35_SW9, CS34_SW9}, + + {0, CS33_SW5, CS32_SW5, CS31_SW5}, + {0, CS33_SW6, CS32_SW6, CS31_SW6}, + {0, CS33_SW7, CS32_SW7, CS31_SW7} +}; + #elif defined(RGB_BACKLIGHT_M6_B) // Driver has fixed mapping of index to the red, green and blue LEDs #elif defined(RGB_BACKLIGHT_M10_C) @@ -1260,6 +1393,25 @@ const Point g_map_led_to_point_polar[BACKLIGHT_LED_COUNT] PROGMEM = { { 121, 215 }, { 119, 164 }, { 117, 134 }, { 114, 104 }, { 109, 76 }, { 98, 50 }, { 71, 34 }, { 37, 41 }, { 22, 65 }, { 15, 93 }, { 11, 122 }, { 8, 162 }, { 7, 205 }, { 6, 233 }, { 116, 236 }, { 113, 199 }, { 110, 164 }, { 82, 74 }, { 27, 106 }, { 20, 138 }, { 15, 183 }, { 13, 212 }, { 11, 240 } }; +#elif defined(RGB_BACKLIGHT_PORTICO75) +const Point g_map_led_to_point[BACKLIGHT_LED_COUNT] PROGMEM = { + { 0, 0 }, { 18, 0 }, { 33, 0 }, { 48, 0 }, { 62, 0 }, { 81, 0 }, { 96, 0 }, { 110, 0 }, { 125, 0 }, { 143, 0 }, { 158, 0 }, { 173, 0 }, { 187, 0 }, { 205, 0 }, { 224, 0 }, + { 0, 15 }, { 15, 15 }, { 29, 15 }, { 44, 15 }, { 59, 15 }, { 74, 15 }, { 88, 15 }, { 103, 15 }, { 118, 15 }, { 132, 15 }, { 147, 15 }, { 162, 15 }, { 176, 15 }, { 198, 15 }, { 224, 15 }, + { 4, 26 }, { 22, 26 }, { 37, 26 }, { 51, 26 }, { 66, 26 }, { 81, 26 }, { 96, 26 }, { 110, 26 }, { 125, 26 }, { 140, 26 }, { 154, 26 }, { 169, 26 }, { 183, 26 }, { 202, 26 }, { 224, 26 }, + { 5, 38 }, { 25, 38 }, { 40, 38 }, { 54, 38 }, { 69, 38 }, { 84, 38 }, { 98, 38 }, { 113, 38 }, { 128, 38 }, { 143, 38 }, { 157, 38 }, { 172, 38 }, { 197, 38 }, + { 9, 49 }, { 33, 49 }, { 48, 49 }, { 62, 49 }, { 77, 49 }, { 92, 49 }, { 107, 49 }, { 121, 49 }, { 136, 49 }, { 151, 49 }, { 165, 49 }, { 186, 49 }, { 209, 49 }, + { 2, 61 }, { 20, 61 }, { 39, 61 }, { 94, 61 }, { 151, 61 }, { 173, 61 }, { 195, 64 }, { 209, 64 }, { 224, 64 }, + { 2, 0 }, { 46, 0 }, { 90, 0 }, { 134, 0 }, { 178, 0 }, { 222, 0 }, { 224, 2 }, { 224, 32 }, { 224, 62 }, { 2, 64 }, { 46, 64 }, { 90, 64 }, { 134, 64 }, { 178, 64 }, { 222, 64 }, { 0, 2 }, { 0, 32 }, { 0, 62 } +}; +const Point g_map_led_to_point_polar[BACKLIGHT_LED_COUNT] PROGMEM = { + { 138, 240 }, { 140, 205 }, { 143, 176 }, { 146, 147 }, { 150, 122 }, { 159, 92 }, { 172, 74 }, { 188, 66 }, { 206, 71 }, { 222, 92 }, { 229, 115 }, { 234, 142 }, { 238, 168 }, { 241, 203 }, { 243, 240 }, + { 133, 233 }, { 134, 203 }, { 135, 175 }, { 137, 144 }, { 140, 115 }, { 144, 86 }, { 152, 61 }, { 171, 40 }, { 204, 37 }, { 226, 54 }, { 236, 80 }, { 241, 109 }, { 244, 136 }, { 246, 181 }, { 248, 233 }, + { 129, 223 }, { 130, 186 }, { 130, 155 }, { 131, 126 }, { 132, 96 }, { 135, 65 }, { 142, 35 }, { 177, 13 }, { 237, 30 }, { 245, 59 }, { 248, 87 }, { 250, 118 }, { 251, 147 }, { 251, 186 }, { 252, 231 }, + { 125, 221 }, { 124, 180 }, { 124, 149 }, { 123, 120 }, { 121, 89 }, { 118, 59 }, { 111, 31 }, { 57, 13 }, { 15, 35 }, { 8, 65 }, { 5, 94 }, { 4, 124 }, { 3, 176 }, + { 120, 215 }, { 118, 166 }, { 117, 136 }, { 114, 109 }, { 109, 80 }, { 99, 54 }, { 75, 37 }, { 44, 40 }, { 25, 61 }, { 17, 88 }, { 13, 115 }, { 9, 156 }, { 7, 203 }, + { 117, 234 }, { 115, 199 }, { 112, 162 }, { 86, 70 }, { 26, 100 }, { 18, 139 }, { 15, 183 }, { 13, 210 }, { 11, 240 }, + { 138, 236 }, { 145, 151 }, { 166, 80 }, { 215, 80 }, { 236, 151 }, { 243, 236 }, { 243, 239 }, { 0, 231 }, { 11, 239 }, { 116, 236 }, { 109, 151 }, { 88, 80 }, { 39, 80 }, { 18, 151 }, { 11, 236 }, { 138, 239 }, { 127, 231 }, { 116, 239 } +}; #elif defined(RGB_BACKLIGHT_M50_A) const Point g_map_led_to_point[BACKLIGHT_LED_COUNT] PROGMEM = { // LA0..LA17 @@ -1303,7 +1455,7 @@ void map_led_to_point( uint8_t index, Point *point ) point->y = pgm_read_byte(addr+1); #if defined(RGB_BACKLIGHT_M6_B) || defined(RGB_BACKLIGHT_M10_C) || defined(RGB_BACKLIGHT_HS60) || defined(RGB_BACKLIGHT_NK65) || defined(RGB_BACKLIGHT_PORTICO) || \ - defined(RGB_BACKLIGHT_NK87) || defined(RGB_BACKLIGHT_NEBULA68) || defined(RGB_BACKLIGHT_NEBULA12) || defined(RGB_BACKLIGHT_KW_MEGA) + defined(RGB_BACKLIGHT_PORTICO75) || defined(RGB_BACKLIGHT_NK87) || defined(RGB_BACKLIGHT_NEBULA68) || defined(RGB_BACKLIGHT_NEBULA12) || defined(RGB_BACKLIGHT_KW_MEGA) return; #endif @@ -1586,6 +1738,15 @@ const uint8_t g_map_row_column_to_led[MATRIX_ROWS][MATRIX_COLS] PROGMEM = { { 44, 255, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 }, { 58, 59, 60, 255, 255, 255, 61, 255, 255, 255, 62, 63, 64, 65, 66 } }; +#elif defined(RGB_BACKLIGHT_PORTICO75) +const uint8_t g_map_row_column_to_led[MATRIX_ROWS][MATRIX_COLS] PROGMEM = { + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }, + { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 }, + { 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44 }, + { 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 255, 255 }, + { 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 255, 255 }, + { 71, 72, 73, 255, 255, 74, 255, 255, 255, 75, 76, 77, 78, 79, 255 } +}; #elif defined(RGB_BACKLIGHT_M50_A) // LA15, LA14, LA13, LA12, LA11, LA10, LA9, LB1, LB2, LB3, LB4, LB5, LB6 // LA16, LA6, LA5, LA4, LA3, LA2, LA1, LB9, LB10, LB11, LB12, LB13, LB14 @@ -1612,6 +1773,9 @@ void backlight_update_pwm_buffers(void) { #if defined(RGB_BACKLIGHT_M6_B) IS31FL3218_update_pwm_buffers(); +#elif defined(RGB_BACKLIGHT_PORTICO75) + IS31FL3741_update_pwm_buffers( ISSI_ADDR_1, 0 ); + IS31FL3741_update_led_control_registers( ISSI_ADDR_1, 0 ); #elif defined(RGB_BACKLIGHT_M10_C) IS31FL3731_update_pwm_buffers( ISSI_ADDR_1, 0 ); IS31FL3731_update_led_control_registers( ISSI_ADDR_1, 0 ); @@ -1660,6 +1824,8 @@ void backlight_set_color( int index, uint8_t red, uint8_t green, uint8_t blue ) IS31FL3733_set_color( index, red, green, blue ); #elif defined (RGB_BACKLIGHT_PORTICO) IS31FL3731_set_color( index, red, green, blue ); +#elif defined (RGB_BACKLIGHT_PORTICO75) + IS31FL3741_set_color( index, red, green, blue ); #elif defined(RGB_BACKLIGHT_NK87) // This is done to avoid indicator LEDs being set if (( index != 63+64-1 ) && ( index != 48+64-1 )) { @@ -1693,6 +1859,11 @@ void backlight_set_color_all( uint8_t red, uint8_t green, uint8_t blue ) for (int i = 0; i < BACKLIGHT_LED_COUNT; i++) { IS31FL3731_set_color(i, red, green, blue); } +#elif defined (RGB_BACKLIGHT_PORTICO75) + // This is done to avoid indicator LEDs being set + for (int i = 0; i < BACKLIGHT_LED_COUNT; i++) { + IS31FL3741_set_color(i, red, green, blue); + } #elif defined(RGB_BACKLIGHT_NK87) // This is done to avoid indicator LEDs being set for (int i = 0; i < BACKLIGHT_LED_COUNT; i++) { @@ -1933,6 +2104,15 @@ void backlight_effect_alphas_mods(void) { is_alpha = ( column < 16 ) && (( g_config.alphas_mods[row-1] & (1< Date: Sat, 6 Nov 2021 10:24:59 -0400 Subject: [PATCH 02/11] remove redundant bool declaration added in error --- keyboards/wilba_tech/wt_rgb_backlight.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/keyboards/wilba_tech/wt_rgb_backlight.c b/keyboards/wilba_tech/wt_rgb_backlight.c index 3cc33f875f9b..c056e1fad296 100644 --- a/keyboards/wilba_tech/wt_rgb_backlight.c +++ b/keyboards/wilba_tech/wt_rgb_backlight.c @@ -3163,8 +3163,6 @@ void backlight_init_drivers(void) bool enabled = true; #elif defined(RGB_BACKLIGHT_PORTICO) bool enabled = true; -#elif defined(RGB_BACKLIGHT_PORTICO75) - bool enabled = true; #endif // This only caches it for later IS31FL3731_set_led_control_register( index, enabled, enabled, enabled ); From 9ef7545dbe0f5f1db3e1b9d20a8fbddc601d68f9 Mon Sep 17 00:00:00 2001 From: Terry Mathews Date: Sat, 6 Nov 2021 10:28:45 -0400 Subject: [PATCH 03/11] clean up source files --- keyboards/tkc/portico75/config.h | 21 +++++++++++++++++-- .../tkc/portico75/keymaps/default/keymap.c | 18 ++++++++++++++++ keyboards/tkc/portico75/keymaps/via/keymap.c | 18 ++++++++++++++++ keyboards/tkc/portico75/portico75.c | 18 ++++++++++++++++ keyboards/tkc/portico75/portico75.h | 18 ++++++++++++++++ 5 files changed, 91 insertions(+), 2 deletions(-) diff --git a/keyboards/tkc/portico75/config.h b/keyboards/tkc/portico75/config.h index f2706ff91194..2f76b51fa050 100644 --- a/keyboards/tkc/portico75/config.h +++ b/keyboards/tkc/portico75/config.h @@ -1,3 +1,20 @@ +/* +Copyright 2021 Terry Mathews + +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 . +*/ + #pragma once #include "config_common.h" @@ -61,13 +78,13 @@ #define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL #define DRIVER_INDICATOR_LED_TOTAL 0 #else -// IS31FL3741 driver +// WT_RGB IS31FL3741 driver code #define DRIVER_COUNT 1 #define DRIVER_LED_TOTAL 98 #define RGB_BACKLIGHT_ENABLED 1 -// This conditionally compiles the backlight code for Dawn60 specifics +// This conditionally compiles the backlight code for Portico75 specifics #define RGB_BACKLIGHT_PORTICO75 // disable backlight when USB suspended (PC sleep/hibernate/shutdown) diff --git a/keyboards/tkc/portico75/keymaps/default/keymap.c b/keyboards/tkc/portico75/keymaps/default/keymap.c index 2f2a0b411b81..a56f5997e659 100644 --- a/keyboards/tkc/portico75/keymaps/default/keymap.c +++ b/keyboards/tkc/portico75/keymaps/default/keymap.c @@ -1,3 +1,21 @@ +/* +Copyright 2021 Terry Mathews + +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 . +*/ + + #include QMK_KEYBOARD_H diff --git a/keyboards/tkc/portico75/keymaps/via/keymap.c b/keyboards/tkc/portico75/keymaps/via/keymap.c index 2218dff29e26..26db005a3b29 100644 --- a/keyboards/tkc/portico75/keymaps/via/keymap.c +++ b/keyboards/tkc/portico75/keymaps/via/keymap.c @@ -1,3 +1,21 @@ +/* +Copyright 2021 Terry Mathews + +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 . +*/ + + #include QMK_KEYBOARD_H #define ENCODERS 1 diff --git a/keyboards/tkc/portico75/portico75.c b/keyboards/tkc/portico75/portico75.c index 86cebe772f88..c27f088326fa 100644 --- a/keyboards/tkc/portico75/portico75.c +++ b/keyboards/tkc/portico75/portico75.c @@ -1,3 +1,21 @@ +/* +Copyright 2021 Terry Mathews + +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 . +*/ + + #include "portico75.h" #ifdef RGB_MATRIX_ENABLE diff --git a/keyboards/tkc/portico75/portico75.h b/keyboards/tkc/portico75/portico75.h index fda373a2e6b5..019fb07f75ac 100644 --- a/keyboards/tkc/portico75/portico75.h +++ b/keyboards/tkc/portico75/portico75.h @@ -1,3 +1,21 @@ +/* +Copyright 2021 Terry Mathews + +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 . +*/ + + #pragma once #include "quantum.h" From 6f5744361bddcfda5bf3de6cb39859ccb946c73e Mon Sep 17 00:00:00 2001 From: Terry Mathews Date: Sat, 6 Nov 2021 10:31:17 -0400 Subject: [PATCH 04/11] forgot newlines at EOF --- keyboards/tkc/portico75/config.h | 2 +- keyboards/tkc/portico75/keymaps/default/keymap.c | 2 +- keyboards/tkc/portico75/keymaps/via/keymap.c | 2 +- keyboards/tkc/portico75/keymaps/via/rules.mk | 2 +- keyboards/tkc/portico75/portico75.c | 1 - keyboards/tkc/portico75/rules.mk | 2 +- 6 files changed, 5 insertions(+), 6 deletions(-) diff --git a/keyboards/tkc/portico75/config.h b/keyboards/tkc/portico75/config.h index 2f76b51fa050..80ddff2ea9d7 100644 --- a/keyboards/tkc/portico75/config.h +++ b/keyboards/tkc/portico75/config.h @@ -134,4 +134,4 @@ along with this program. If not, see . // VIA lighting is handled by the keyboard-level code #define VIA_CUSTOM_LIGHTING_ENABLE -#endif \ No newline at end of file +#endif diff --git a/keyboards/tkc/portico75/keymaps/default/keymap.c b/keyboards/tkc/portico75/keymaps/default/keymap.c index a56f5997e659..8041b858a137 100644 --- a/keyboards/tkc/portico75/keymaps/default/keymap.c +++ b/keyboards/tkc/portico75/keymaps/default/keymap.c @@ -39,4 +39,4 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } } return false; -} \ No newline at end of file +} diff --git a/keyboards/tkc/portico75/keymaps/via/keymap.c b/keyboards/tkc/portico75/keymaps/via/keymap.c index 26db005a3b29..cee94c4a1d6a 100644 --- a/keyboards/tkc/portico75/keymaps/via/keymap.c +++ b/keyboards/tkc/portico75/keymaps/via/keymap.c @@ -106,4 +106,4 @@ void matrix_scan_user(void) { encoder_action_unregister(); } bool encoder_update_user(uint8_t index, bool clockwise) { encoder_action_register(index, clockwise); return false; -}; \ No newline at end of file +}; diff --git a/keyboards/tkc/portico75/keymaps/via/rules.mk b/keyboards/tkc/portico75/keymaps/via/rules.mk index 43061db1dd46..36b7ba9cbc98 100644 --- a/keyboards/tkc/portico75/keymaps/via/rules.mk +++ b/keyboards/tkc/portico75/keymaps/via/rules.mk @@ -1,2 +1,2 @@ VIA_ENABLE = yes -LTO_ENABLE = yes \ No newline at end of file +LTO_ENABLE = yes diff --git a/keyboards/tkc/portico75/portico75.c b/keyboards/tkc/portico75/portico75.c index c27f088326fa..91abf038a6f9 100644 --- a/keyboards/tkc/portico75/portico75.c +++ b/keyboards/tkc/portico75/portico75.c @@ -170,4 +170,3 @@ void rgb_matrix_indicators_user(void) } } #endif - \ No newline at end of file diff --git a/keyboards/tkc/portico75/rules.mk b/keyboards/tkc/portico75/rules.mk index 5073e1ec2b1c..ea3b4a1e203d 100644 --- a/keyboards/tkc/portico75/rules.mk +++ b/keyboards/tkc/portico75/rules.mk @@ -30,4 +30,4 @@ SRC += keyboards/wilba_tech/wt_main.c \ quantum/color.c \ drivers/led/issi/is31fl3741.c -QUANTUM_LIB_SRC += i2c_master.c \ No newline at end of file +QUANTUM_LIB_SRC += i2c_master.c From b38dbd18e66b1235f441dfdafc672adaf5010348 Mon Sep 17 00:00:00 2001 From: Terry Mathews Date: Wed, 10 Nov 2021 11:48:23 -0500 Subject: [PATCH 05/11] update readme.md, info.json --- keyboards/tkc/portico75/info.json.txt | 10 ++++++++++ keyboards/tkc/portico75/readme.md | 21 +++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 keyboards/tkc/portico75/info.json.txt create mode 100644 keyboards/tkc/portico75/readme.md diff --git a/keyboards/tkc/portico75/info.json.txt b/keyboards/tkc/portico75/info.json.txt new file mode 100644 index 000000000000..f649380525fa --- /dev/null +++ b/keyboards/tkc/portico75/info.json.txt @@ -0,0 +1,10 @@ +{ + "keyboard_name": "TKC Portico75", + "url": "", + "maintainer": "TerryMathews", + "layouts": { + "LAYOUT": { + "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.25, "y":0}, {"label":"F2", "x":2.25, "y":0}, {"label":"F3", "x":3.25, "y":0}, {"label":"F4", "x":4.25, "y":0}, {"label":"F5", "x":5.5, "y":0}, {"label":"F6", "x":6.5, "y":0}, {"label":"F7", "x":7.5, "y":0}, {"label":"F8", "x":8.5, "y":0}, {"label":"F9", "x":9.75, "y":0}, {"label":"F10", "x":10.75, "y":0}, {"label":"F11", "x":11.75, "y":0}, {"label":"F12", "x":12.75, "y":0}, {"label":"Del", "x":14, "y":0}, {"label":"Mute", "x":15, "y":0}, {"label":"~", "x":0, "y":1.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"label":"Backspace", "x":13, "y":1.25, "w":2}, {"label":"Home", "x":15, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"|", "x":13.5, "y":2.25, "w":1.5}, {"label":"PgUp", "x":15, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"\"", "x":11.75, "y":3.25}, {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, {"label":"Shift", "x":0, "y":4.25, "w":2.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, {"label":"", "x":14.25, "y":4.5}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"label":"Fn", "x":10, "y":5.25, "w":1.5}, {"label":"Ctrl", "x":11.5, "y":5.25, "w":1.5}, {"label":"", "x":13.25, "y":5.5}, {"label":"", "x":14.25, "y":5.5}, {"label":"", "x":15.25, "y":5.5}] + } + } +} \ No newline at end of file diff --git a/keyboards/tkc/portico75/readme.md b/keyboards/tkc/portico75/readme.md new file mode 100644 index 000000000000..3bb5ad319fe7 --- /dev/null +++ b/keyboards/tkc/portico75/readme.md @@ -0,0 +1,21 @@ +# TKC Portico75 + +![TKC Portico75](https://i.imgur.com/Bkd0kYS.jpg) + +A 75% keyboard kit with per-key and underglow RGB lighting and an encoder knob. + +* Keyboard Maintainer: [TerryMathews](https://github.com/TerryMathews) +* Hardware Supported: TKC Portico75 (ATmega32U4) +* Hardware Availability: TBA + +Reset board into bootloader by holding down Esc key while plugging in USB-C cable. + +Make example for this keyboard (after setting up your build environment): + + make tkc/portico75:default + +Flashing example for this keyboard: + + make tkc/portico75:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). From 6faba70428a362b6fcb7e1a64b38df99523bddbb Mon Sep 17 00:00:00 2001 From: Terry Mathews Date: Wed, 10 Nov 2021 11:50:01 -0500 Subject: [PATCH 06/11] update readme.md, info.json --- keyboards/tkc/portico75/{info.json.txt => info.json} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename keyboards/tkc/portico75/{info.json.txt => info.json} (100%) diff --git a/keyboards/tkc/portico75/info.json.txt b/keyboards/tkc/portico75/info.json similarity index 100% rename from keyboards/tkc/portico75/info.json.txt rename to keyboards/tkc/portico75/info.json From a5f66d041a911c65aa75a66bb502518c9211f628 Mon Sep 17 00:00:00 2001 From: Terry Mathews Date: Wed, 10 Nov 2021 12:04:51 -0500 Subject: [PATCH 07/11] update info.json --- keyboards/tkc/portico75/info.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/tkc/portico75/info.json b/keyboards/tkc/portico75/info.json index f649380525fa..bc16287cc478 100644 --- a/keyboards/tkc/portico75/info.json +++ b/keyboards/tkc/portico75/info.json @@ -7,4 +7,4 @@ "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.25, "y":0}, {"label":"F2", "x":2.25, "y":0}, {"label":"F3", "x":3.25, "y":0}, {"label":"F4", "x":4.25, "y":0}, {"label":"F5", "x":5.5, "y":0}, {"label":"F6", "x":6.5, "y":0}, {"label":"F7", "x":7.5, "y":0}, {"label":"F8", "x":8.5, "y":0}, {"label":"F9", "x":9.75, "y":0}, {"label":"F10", "x":10.75, "y":0}, {"label":"F11", "x":11.75, "y":0}, {"label":"F12", "x":12.75, "y":0}, {"label":"Del", "x":14, "y":0}, {"label":"Mute", "x":15, "y":0}, {"label":"~", "x":0, "y":1.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"label":"Backspace", "x":13, "y":1.25, "w":2}, {"label":"Home", "x":15, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"|", "x":13.5, "y":2.25, "w":1.5}, {"label":"PgUp", "x":15, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"\"", "x":11.75, "y":3.25}, {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, {"label":"Shift", "x":0, "y":4.25, "w":2.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, {"label":"", "x":14.25, "y":4.5}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"label":"Fn", "x":10, "y":5.25, "w":1.5}, {"label":"Ctrl", "x":11.5, "y":5.25, "w":1.5}, {"label":"", "x":13.25, "y":5.5}, {"label":"", "x":14.25, "y":5.5}, {"label":"", "x":15.25, "y":5.5}] } } -} \ No newline at end of file +} From af0ab2d000eaa63cd8006ca4aa791756c77da851 Mon Sep 17 00:00:00 2001 From: TerryMathews Date: Thu, 11 Nov 2021 14:11:17 -0500 Subject: [PATCH 08/11] Update keyboards/tkc/portico75/info.json Co-authored-by: Joel Challis --- keyboards/tkc/portico75/info.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/tkc/portico75/info.json b/keyboards/tkc/portico75/info.json index bc16287cc478..5aaf21ffcceb 100644 --- a/keyboards/tkc/portico75/info.json +++ b/keyboards/tkc/portico75/info.json @@ -3,7 +3,7 @@ "url": "", "maintainer": "TerryMathews", "layouts": { - "LAYOUT": { + "LAYOUT_75_ansi": { "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.25, "y":0}, {"label":"F2", "x":2.25, "y":0}, {"label":"F3", "x":3.25, "y":0}, {"label":"F4", "x":4.25, "y":0}, {"label":"F5", "x":5.5, "y":0}, {"label":"F6", "x":6.5, "y":0}, {"label":"F7", "x":7.5, "y":0}, {"label":"F8", "x":8.5, "y":0}, {"label":"F9", "x":9.75, "y":0}, {"label":"F10", "x":10.75, "y":0}, {"label":"F11", "x":11.75, "y":0}, {"label":"F12", "x":12.75, "y":0}, {"label":"Del", "x":14, "y":0}, {"label":"Mute", "x":15, "y":0}, {"label":"~", "x":0, "y":1.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"label":"Backspace", "x":13, "y":1.25, "w":2}, {"label":"Home", "x":15, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"|", "x":13.5, "y":2.25, "w":1.5}, {"label":"PgUp", "x":15, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"\"", "x":11.75, "y":3.25}, {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, {"label":"Shift", "x":0, "y":4.25, "w":2.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, {"label":"", "x":14.25, "y":4.5}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"label":"Fn", "x":10, "y":5.25, "w":1.5}, {"label":"Ctrl", "x":11.5, "y":5.25, "w":1.5}, {"label":"", "x":13.25, "y":5.5}, {"label":"", "x":14.25, "y":5.5}, {"label":"", "x":15.25, "y":5.5}] } } From 1274960c92b08d597b26a128eebe3fee8afef8b1 Mon Sep 17 00:00:00 2001 From: Drashna Jael're Date: Fri, 4 Feb 2022 13:11:31 -0800 Subject: [PATCH 09/11] Updates for PR --- keyboards/tkc/portico75/config.h | 169 +++++++++++------- .../tkc/portico75/keymaps/default/keymap.c | 11 -- keyboards/tkc/portico75/keymaps/via/rules.mk | 9 + keyboards/tkc/portico75/portico75.c | 16 ++ keyboards/tkc/portico75/rules.mk | 17 +- 5 files changed, 134 insertions(+), 88 deletions(-) diff --git a/keyboards/tkc/portico75/config.h b/keyboards/tkc/portico75/config.h index 80ddff2ea9d7..fdfc8999725e 100644 --- a/keyboards/tkc/portico75/config.h +++ b/keyboards/tkc/portico75/config.h @@ -20,7 +20,7 @@ along with this program. If not, see . #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0x544B //TK +#define VENDOR_ID 0x544B // TK #define PRODUCT_ID 0x0011 #define DEVICE_VER 0x0001 #define MANUFACTURER TKC @@ -30,12 +30,16 @@ along with this program. If not, see . #define MATRIX_ROWS 6 #define MATRIX_COLS 15 -#define MATRIX_ROW_PINS { B0, E6, F0, F1, D3, D2 } -#define MATRIX_COL_PINS { F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, D5, B3, B7 } +#define MATRIX_ROW_PINS \ + { B0, E6, F0, F1, D3, D2 } +#define MATRIX_COL_PINS \ + { F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, D5, B3, B7 } /*Rotary Encoder Pins*/ -#define ENCODERS_PAD_A { B1 } -#define ENCODERS_PAD_B { B2 } +#define ENCODERS_PAD_A \ + { B1 } +#define ENCODERS_PAD_B \ + { B2 } /*Sets the number of pulses per increment*/ #define ENCODER_RESOLUTION 2 @@ -48,90 +52,129 @@ along with this program. If not, see . #define NO_ACTION_FUNCTION #ifdef RGB_MATRIX_ENABLE -#define RGB_MATRIX_LED_PROCESS_LIMIT 4 -#define RGB_MATRIX_LED_FLUSH_LIMIT 26 -#define DEBOUNCE 3 -#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects -#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended -#define RGB_MATRIX_KEYPRESSES -#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN -#define DISABLE_RGB_MATRIX_BAND_SAT -#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT -#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT -#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -#define DISABLE_RGB_MATRIX_SPLASH -#define DISABLE_RGB_MATRIX_MULTISPLASH -#define DISABLE_RGB_MATRIX_SOLID_SPLASH -#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH -#define DISABLE_RGB_MATRIX_DIGITAL_RAIN -#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 -#define DRIVER_ADDR_1 0b0110000 -#define DRIVER_ADDR_2 0b0110000 // this is here for compliancy reasons. -#define DRIVER_COUNT 1 -#define DRIVER_1_LED_TOTAL 98 -#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL -#define DRIVER_INDICATOR_LED_TOTAL 0 +# define RGB_MATRIX_LED_PROCESS_LIMIT 4 +# define RGB_MATRIX_LED_FLUSH_LIMIT 26 +# define DEBOUNCE 3 +# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects +# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_KEYPRESSES + +// 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_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 + +# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 +# define DRIVER_ADDR_1 0b0110000 +# define DRIVER_ADDR_2 0b0110000 // this is here for compliancy reasons. +# define DRIVER_COUNT 1 +# define DRIVER_1_LED_TOTAL 98 +# define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL +# define DRIVER_INDICATOR_LED_TOTAL 0 #else // WT_RGB IS31FL3741 driver code -#define DRIVER_COUNT 1 -#define DRIVER_LED_TOTAL 98 +# define DRIVER_COUNT 1 +# define DRIVER_LED_TOTAL 98 -#define RGB_BACKLIGHT_ENABLED 1 +# define RGB_BACKLIGHT_ENABLED 1 // This conditionally compiles the backlight code for Portico75 specifics -#define RGB_BACKLIGHT_PORTICO75 +# define RGB_BACKLIGHT_PORTICO75 // disable backlight when USB suspended (PC sleep/hibernate/shutdown) -#define RGB_BACKLIGHT_DISABLE_WHEN_USB_SUSPENDED 1 +# define RGB_BACKLIGHT_DISABLE_WHEN_USB_SUSPENDED 1 // disable backlight after timeout in minutes, 0 = no timeout -#define RGB_BACKLIGHT_DISABLE_AFTER_TIMEOUT 0 +# define RGB_BACKLIGHT_DISABLE_AFTER_TIMEOUT 0 // the default brightness -#define RGB_BACKLIGHT_BRIGHTNESS 255 +# define RGB_BACKLIGHT_BRIGHTNESS 255 // the default effect (RGB test) -#define RGB_BACKLIGHT_EFFECT 255 +# define RGB_BACKLIGHT_EFFECT 255 // the default effect speed (0-3) -#define RGB_BACKLIGHT_EFFECT_SPEED 0 +# define RGB_BACKLIGHT_EFFECT_SPEED 0 // the default color1 and color2 -#define RGB_BACKLIGHT_COLOR_1 { .h = 0, .s = 255 } -#define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 } - -#define RGB_BACKLIGHT_USE_SPLIT_BACKSPACE 0 -#define RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT 0 -#define RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT 0 -#define RGB_BACKLIGHT_USE_7U_SPACEBAR 0 -#define RGB_BACKLIGHT_USE_ISO_ENTER 0 -#define RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS 0 -#define RGB_BACKLIGHT_CAPS_LOCK_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 } -#define RGB_BACKLIGHT_LAYER_1_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 } -#define RGB_BACKLIGHT_LAYER_2_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 } -#define RGB_BACKLIGHT_LAYER_3_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 } +# define RGB_BACKLIGHT_COLOR_1 \ + { .h = 0, .s = 255 } +# define RGB_BACKLIGHT_COLOR_2 \ + { .h = 127, .s = 255 } + +# define RGB_BACKLIGHT_USE_SPLIT_BACKSPACE 0 +# define RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT 0 +# define RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT 0 +# define RGB_BACKLIGHT_USE_7U_SPACEBAR 0 +# define RGB_BACKLIGHT_USE_ISO_ENTER 0 +# define RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS 0 +# define RGB_BACKLIGHT_CAPS_LOCK_INDICATOR \ + { .color = {.h = 0, .s = 0}, .index = 255 } +# define RGB_BACKLIGHT_LAYER_1_INDICATOR \ + { .color = {.h = 0, .s = 0}, .index = 255 } +# define RGB_BACKLIGHT_LAYER_2_INDICATOR \ + { .color = {.h = 0, .s = 0}, .index = 255 } +# define RGB_BACKLIGHT_LAYER_3_INDICATOR \ + { .color = {.h = 0, .s = 0}, .index = 255 } // These define which keys in the matrix are alphas/mods // Used for backlight effects so colors are different for // alphas vs. mods // Each value is for a row, bit 0 is column 0 // Alpha=0 Mod=1 -#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_0 0b0110000000000001 -#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_1 0b0110000000000001 -#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_2 0b0111000000000001 -#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_3 0b0111100000000001 -#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_4 0b1111111111111111 +# define RGB_BACKLIGHT_ALPHAS_MODS_ROW_0 0b0110000000000001 +# define RGB_BACKLIGHT_ALPHAS_MODS_ROW_1 0b0110000000000001 +# define RGB_BACKLIGHT_ALPHAS_MODS_ROW_2 0b0111000000000001 +# define RGB_BACKLIGHT_ALPHAS_MODS_ROW_3 0b0111100000000001 +# define RGB_BACKLIGHT_ALPHAS_MODS_ROW_4 0b1111111111111111 // Backlight config starts after VIA's EEPROM usage, // dynamic keymaps start after this. -#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 31 +# define VIA_EEPROM_CUSTOM_CONFIG_SIZE 31 // VIA lighting is handled by the keyboard-level code -#define VIA_CUSTOM_LIGHTING_ENABLE +# define VIA_CUSTOM_LIGHTING_ENABLE #endif diff --git a/keyboards/tkc/portico75/keymaps/default/keymap.c b/keyboards/tkc/portico75/keymaps/default/keymap.c index 8041b858a137..95771648917e 100644 --- a/keyboards/tkc/portico75/keymaps/default/keymap.c +++ b/keyboards/tkc/portico75/keymaps/default/keymap.c @@ -29,14 +29,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ) }; - -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } - return false; -} diff --git a/keyboards/tkc/portico75/keymaps/via/rules.mk b/keyboards/tkc/portico75/keymaps/via/rules.mk index 36b7ba9cbc98..9680dd93732b 100644 --- a/keyboards/tkc/portico75/keymaps/via/rules.mk +++ b/keyboards/tkc/portico75/keymaps/via/rules.mk @@ -1,2 +1,11 @@ VIA_ENABLE = yes LTO_ENABLE = yes +RGB_MATRIX_ENABLE = no # Use RGB matrix + +# project specific files +SRC += keyboards/wilba_tech/wt_main.c \ + keyboards/wilba_tech/wt_rgb_backlight.c \ + quantum/color.c \ + drivers/led/issi/is31fl3741.c + +QUANTUM_LIB_SRC += i2c_master.c diff --git a/keyboards/tkc/portico75/portico75.c b/keyboards/tkc/portico75/portico75.c index 91abf038a6f9..0cd0d1a2ea62 100644 --- a/keyboards/tkc/portico75/portico75.c +++ b/keyboards/tkc/portico75/portico75.c @@ -170,3 +170,19 @@ void rgb_matrix_indicators_user(void) } } #endif + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { + return false; + } + if (index == 0) { + if (clockwise) { + tap_code_delay(KC_VOLU, 10); + } else { + tap_code_delay(KC_VOLD, 10); + } + } + return true; +} +#endif diff --git a/keyboards/tkc/portico75/rules.mk b/keyboards/tkc/portico75/rules.mk index ea3b4a1e203d..e8a74c9026ef 100644 --- a/keyboards/tkc/portico75/rules.mk +++ b/keyboards/tkc/portico75/rules.mk @@ -7,27 +7,16 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = yes # USB Nkey Rollover +NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -RGB_MATRIX_ENABLE = no # Use RGB matrix +RGB_MATRIX_ENABLE = yes # Use RGB matrix RGB_MATRIX_DRIVER = IS31FL3741 CIE1931_CURVE = yes ENCODER_ENABLE = yes - -# project specific files -SRC += keyboards/wilba_tech/wt_main.c \ - keyboards/wilba_tech/wt_rgb_backlight.c \ - quantum/color.c \ - drivers/led/issi/is31fl3741.c - -QUANTUM_LIB_SRC += i2c_master.c From d811e655e14719e9a8a2abe0307c317b50c65948 Mon Sep 17 00:00:00 2001 From: Drashna Jael're Date: Fri, 4 Feb 2022 13:14:39 -0800 Subject: [PATCH 10/11] fix led struct --- keyboards/tkc/portico75/portico75.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/tkc/portico75/portico75.c b/keyboards/tkc/portico75/portico75.c index 0cd0d1a2ea62..812345b384b2 100644 --- a/keyboards/tkc/portico75/portico75.c +++ b/keyboards/tkc/portico75/portico75.c @@ -20,7 +20,7 @@ along with this program. If not, see . #ifdef RGB_MATRIX_ENABLE -const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { {0, CS18_SW1, CS17_SW1, CS16_SW1}, {0, CS18_SW2, CS17_SW2, CS16_SW2}, {0, CS18_SW3, CS17_SW3, CS16_SW3}, From 977d22377b1beabc616f12e88812067e0e4274d6 Mon Sep 17 00:00:00 2001 From: Drashna Jael're Date: Fri, 4 Feb 2022 13:17:07 -0800 Subject: [PATCH 11/11] fix led struct 2 --- keyboards/tkc/portico75/config.h | 1 - keyboards/wilba_tech/wt_rgb_backlight.c | 6 +++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/keyboards/tkc/portico75/config.h b/keyboards/tkc/portico75/config.h index fdfc8999725e..48be10a42741 100644 --- a/keyboards/tkc/portico75/config.h +++ b/keyboards/tkc/portico75/config.h @@ -109,7 +109,6 @@ along with this program. If not, see . # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 # define DRIVER_ADDR_1 0b0110000 -# define DRIVER_ADDR_2 0b0110000 // this is here for compliancy reasons. # define DRIVER_COUNT 1 # define DRIVER_1_LED_TOTAL 98 # define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL diff --git a/keyboards/wilba_tech/wt_rgb_backlight.c b/keyboards/wilba_tech/wt_rgb_backlight.c index c056e1fad296..ee9891ff2087 100644 --- a/keyboards/wilba_tech/wt_rgb_backlight.c +++ b/keyboards/wilba_tech/wt_rgb_backlight.c @@ -710,9 +710,9 @@ const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { // This is a 7-bit address, that gets left-shifted and bit 0 // set to 0 for write, 1 for read (as per I2C protocol) #define ISSI_ADDR_1 0x30 -#define ISSI_ADDR_2 +#define ISSI_ADDR_2 -const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -998,7 +998,7 @@ const Point g_map_led_to_point[BACKLIGHT_LED_COUNT] PROGMEM = { {112,64}, {100,48}, {84,48}, {68,48}, {52,48}, {36,48}, {64,60}, {44,60}, {24,64}, {108,32}, {92,32}, {76,32}, {60,32}, {44,32}, {28,32}, {255,255}, {10,48}, {4,64}, // LD0..LD1762 - + {124,32}, {140,32}, {156,32}, {172,32}, {188,32}, {214,32}, {180,48}, {202,48}, {224,48}, {116,48}, {132,48}, {148,48}, {164,48}, {255,255}, {160,60}, {180,64}, {208,64}, {255,255} };