From cf07d6f01f0a4fbe4900141cbc7ac7a7340a26f8 Mon Sep 17 00:00:00 2001 From: Daniel Schaefer Date: Fri, 21 Jul 2023 15:12:35 +0800 Subject: [PATCH] fl16: Add custom layout for Esther Signed-off-by: Daniel Schaefer --- .../macropad/keymaps/default/keymap.c | 76 ----------------- .../macropad/keymaps/esther/keymap.c | 62 ++++++++++++++ keyboards/framework/macropad/macropad.c | 81 +++++++++++++++++++ 3 files changed, 143 insertions(+), 76 deletions(-) create mode 100644 keyboards/framework/macropad/keymaps/esther/keymap.c create mode 100644 keyboards/framework/macropad/macropad.c diff --git a/keyboards/framework/macropad/keymaps/default/keymap.c b/keyboards/framework/macropad/keymaps/default/keymap.c index d35ca95b22..ee52d49e5c 100644 --- a/keyboards/framework/macropad/keymaps/default/keymap.c +++ b/keyboards/framework/macropad/keymaps/default/keymap.c @@ -3,82 +3,6 @@ #include QMK_KEYBOARD_H -const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = { -/* Refer to IS31 manual for these locations - * driver - * | R location - * | | G location - * | | | B location - * | | | | */ - // Re-arranged in LED ID order so it matches with the physical location array - {0, CS3_SW1, CS2_SW1, CS1_SW1}, // LED 1 - {0, CS3_SW2, CS2_SW2, CS1_SW2}, // LED 2 - {0, CS3_SW3, CS2_SW3, CS1_SW3}, // LED 3 - {0, CS3_SW4, CS2_SW4, CS1_SW4}, // LED 4 - - {0, CS6_SW1, CS5_SW1, CS4_SW1}, // LED 5 - {0, CS6_SW3, CS5_SW3, CS4_SW3}, // LED 6 - {0, CS6_SW4, CS5_SW4, CS4_SW4}, // LED 7 - {0, CS6_SW2, CS5_SW2, CS4_SW2}, // LED 8 - - {0, CS9_SW1, CS8_SW1, CS7_SW1}, // LED 9 - {0, CS9_SW2, CS8_SW2, CS7_SW2}, // LED 10 - {0, CS9_SW3, CS8_SW3, CS7_SW3}, // LED 11 - {0, CS9_SW4, CS8_SW4, CS7_SW4}, // LED 12 - - {0, CS12_SW1, CS11_SW1, CS10_SW1}, // LED 13 - {0, CS12_SW2, CS11_SW2, CS10_SW2}, // LED 14 - {0, CS12_SW3, CS11_SW3, CS10_SW3}, // LED 15 - {0, CS12_SW4, CS11_SW4, CS10_SW4}, // LED 16 - - {0, CS15_SW2, CS14_SW2, CS13_SW2}, // LED 17 - {0, CS15_SW3, CS14_SW3, CS13_SW3}, // LED 18 - {0, CS15_SW1, CS14_SW1, CS13_SW1}, // LED 19 - {0, CS15_SW4, CS14_SW4, CS13_SW4}, // LED 20 - - {0, CS18_SW1, CS17_SW1, CS16_SW1}, // LED 21 - {0, CS18_SW2, CS17_SW2, CS16_SW2}, // LED 22 - {0, CS18_SW3, CS17_SW3, CS16_SW3}, // LED 23 - {0, CS18_SW4, CS17_SW4, CS16_SW4}, // LED 24 -}; - -led_config_t g_led_config = { { - // Key Matrix to LED Index - { 4, 7, 6, 9, 0, 1, 3, 11, }, - { 8, 20, 21, 23, 15, 14, 18, 19, }, - { 12, 5, 2, NO_LED, 17, 16, 13, 10, }, - {NO_LED, NO_LED, NO_LED, NO_LED, 22, NO_LED, NO_LED, NO_LED, }, -}, { - // LED Index to Physical Position - { 73, 10 }, // LED 1 - { 73, 24 }, // LED 2 - { 73, 0 }, // LED 3 - { 73, 37 }, // LED 4 - { 0, 10 }, // LED 5 - { 0, 0 }, // LED 6 - { 0, 37 }, // LED 7 - { 0, 24 }, // LED 8 - { 0, 64 }, // LED 9 - { 0, 50 }, // LED 10 - { 73, 64 }, // LED 11 - { 73, 50 }, // LED 12 - { 223, 64 }, // LED 13 - { 223, 50 }, // LED 14 - { 150, 64 }, // LED 15 - { 150, 50 }, // LED 16 - { 223, 24 }, // LED 17 - { 223, 0 }, // LED 18 - { 223, 10 }, // LED 19 - { 223, 37 }, // LED 20 - { 150, 10 }, // LED 21 - { 150, 24 }, // LED 22 - { 150, 0 }, // LED 23 - { 150, 37 }, // LED 24 -}, { - // LED Index to Flag - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4 -} }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* diff --git a/keyboards/framework/macropad/keymaps/esther/keymap.c b/keyboards/framework/macropad/keymaps/esther/keymap.c new file mode 100644 index 0000000000..ecdb718406 --- /dev/null +++ b/keyboards/framework/macropad/keymaps/esther/keymap.c @@ -0,0 +1,62 @@ +// Copyright 2022 Framework Computer +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───────┬───────┬───────┬───────┐ + * 4 keys │ RGB + │ RGB - │RGB Nxt│RGB Prv│ + * │Brightn│Brightn│Effect │Effect │ + * ├───────┼───────┼───────┼───────┤ + * 4 keys │Numpad │ │ │ CTRL+A│ + * │Layer │ │ │ │ + * ├───────┼───────┼───────┼───────┤ + * 4 keys │ Enter │ │ │ Delete│ + * │ │ │ │ │ + * ├───────┼───────┼───────┼───────┤ + * 4 keys │ Save │ A │ V │ Cut │ + * │ │ │ │ │ + * ├───────┼───────┼───────┼───────┤ + * 4 keys │ + │ CTRL │ Undo │ Copy │ + * │ │ + │ │ │ + * ├───────┼───────┼───────┼───────┤ + * 4 keys │ - │ CTRL │ Redo │ Paste │ + * │ │ - │ │ │ + * └───────┴───────┴───────┴───────┴ + * 24 total + */ + [0] = LAYOUT( + RGB_VAI, RGB_VAD, RGB_MOD, RGB_RMOD, + TG(1), XXXXXXX, XXXXXXX, C(KC_A), + KC_ENT, XXXXXXX, XXXXXXX, KC_DEL, + C(KC_S), KC_A, KC_V, C(KC_X), + KC_PPLS, C(KC_EQL), C(KC_Z), C(KC_C), + KC_PMNS, C(KC_MINS),C(KC_Y), C(KC_V) + ), + /* Numpad + * ┌────┬────┬────┬────┐ + * 4 keys │Esc │Calc│ = │ <- │ + * ├────┼────┼────┼────┤ + * 4 keys │ Num│ / │ * │ - │ + * ├────┼────┼────┼────┤ + * 3 keys │ 7 │ 8 │ 9 │ + │ + * ├────┼────┼────┼────┤ + * 4 keys │ 4 │ 5 │ 6 │ + │ + * ├────┼────┼────┼────┤ + * 3 keys │ 1 │ 2 │ 3 │Entr│ + * ├────┼────┼────┼────┤ + * 3 keys │ 0 │ 0 │ . │Entr│ + * └────┼────┴────┴────┴ + * 21 total + */ + [1] = LAYOUT( + KC_ESC, KC_CALC, KC_EQL, KC_BSPC, + _______, KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, KC_PENT, + KC_P0, KC_P0, KC_PDOT, KC_PENT + ) +}; diff --git a/keyboards/framework/macropad/macropad.c b/keyboards/framework/macropad/macropad.c new file mode 100644 index 0000000000..3c74f4c7f8 --- /dev/null +++ b/keyboards/framework/macropad/macropad.c @@ -0,0 +1,81 @@ +// Copyright 2022 Framework Computer +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = { +/* Refer to IS31 manual for these locations + * driver + * | R location + * | | G location + * | | | B location + * | | | | */ + // Re-arranged in LED ID order so it matches with the physical location array + {0, CS3_SW1, CS2_SW1, CS1_SW1}, // LED 1 + {0, CS3_SW2, CS2_SW2, CS1_SW2}, // LED 2 + {0, CS3_SW3, CS2_SW3, CS1_SW3}, // LED 3 + {0, CS3_SW4, CS2_SW4, CS1_SW4}, // LED 4 + + {0, CS6_SW1, CS5_SW1, CS4_SW1}, // LED 5 + {0, CS6_SW3, CS5_SW3, CS4_SW3}, // LED 6 + {0, CS6_SW4, CS5_SW4, CS4_SW4}, // LED 7 + {0, CS6_SW2, CS5_SW2, CS4_SW2}, // LED 8 + + {0, CS9_SW1, CS8_SW1, CS7_SW1}, // LED 9 + {0, CS9_SW2, CS8_SW2, CS7_SW2}, // LED 10 + {0, CS9_SW3, CS8_SW3, CS7_SW3}, // LED 11 + {0, CS9_SW4, CS8_SW4, CS7_SW4}, // LED 12 + + {0, CS12_SW1, CS11_SW1, CS10_SW1}, // LED 13 + {0, CS12_SW2, CS11_SW2, CS10_SW2}, // LED 14 + {0, CS12_SW3, CS11_SW3, CS10_SW3}, // LED 15 + {0, CS12_SW4, CS11_SW4, CS10_SW4}, // LED 16 + + {0, CS15_SW2, CS14_SW2, CS13_SW2}, // LED 17 + {0, CS15_SW3, CS14_SW3, CS13_SW3}, // LED 18 + {0, CS15_SW1, CS14_SW1, CS13_SW1}, // LED 19 + {0, CS15_SW4, CS14_SW4, CS13_SW4}, // LED 20 + + {0, CS18_SW1, CS17_SW1, CS16_SW1}, // LED 21 + {0, CS18_SW2, CS17_SW2, CS16_SW2}, // LED 22 + {0, CS18_SW3, CS17_SW3, CS16_SW3}, // LED 23 + {0, CS18_SW4, CS17_SW4, CS16_SW4}, // LED 24 +}; + +led_config_t g_led_config = { { + // Key Matrix to LED Index + { 4, 7, 6, 9, 0, 1, 3, 11, }, + { 8, 20, 21, 23, 15, 14, 18, 19, }, + { 12, 5, 2, NO_LED, 17, 16, 13, 10, }, + {NO_LED, NO_LED, NO_LED, NO_LED, 22, NO_LED, NO_LED, NO_LED, }, +}, { + // LED Index to Physical Position + { 73, 10 }, // LED 1 + { 73, 24 }, // LED 2 + { 73, 0 }, // LED 3 + { 73, 37 }, // LED 4 + { 0, 10 }, // LED 5 + { 0, 0 }, // LED 6 + { 0, 37 }, // LED 7 + { 0, 24 }, // LED 8 + { 0, 64 }, // LED 9 + { 0, 50 }, // LED 10 + { 73, 64 }, // LED 11 + { 73, 50 }, // LED 12 + { 223, 64 }, // LED 13 + { 223, 50 }, // LED 14 + { 150, 64 }, // LED 15 + { 150, 50 }, // LED 16 + { 223, 24 }, // LED 17 + { 223, 0 }, // LED 18 + { 223, 10 }, // LED 19 + { 223, 37 }, // LED 20 + { 150, 10 }, // LED 21 + { 150, 24 }, // LED 22 + { 150, 0 }, // LED 23 + { 150, 37 }, // LED 24 +}, { + // LED Index to Flag + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4 +} };