diff --git a/keyboards/winry/winry315/keymaps/vial/config.h b/keyboards/winry/winry315/keymaps/vial/config.h new file mode 100644 index 0000000000..d56f67d4c3 --- /dev/null +++ b/keyboards/winry/winry315/keymaps/vial/config.h @@ -0,0 +1,80 @@ +/* +Copyright 2023 Pedro Quaresma +With special thanks to Markus Knutsson + +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 + +#define VIAL_KEYBOARD_UID {0x22, 0xC3, 0x6B, 0x95, 0x11, 0x79, 0x7F, 0x80} + +// To unlock in VIAL, use the top left and bottom left corners when encoders are north +#define VIAL_UNLOCK_COMBO_ROWS { 0, 0 } +#define VIAL_UNLOCK_COMBO_COLS { 0, 2 } + +#define RGBLIGHT_SLEEP + +//To save some memory, adding some functionality limitations +#define VIAL_TAP_DANCE_ENTRIES 4 +#define VIAL_COMBO_ENTRIES 4 +#define VIAL_KEY_OVERRIDE_ENTRIES 4 +#define DYNAMIC_KEYMAP_LAYER_COUNT 2 + + + +// To save more memory, some RGB effects need to be removed/undefined + +//#undef RGB_MATRIX_KEYPRESSES + +#undef ENABLE_RGB_MATRIX_ALPHAS_MODS +#undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN +#undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +#undef ENABLE_RGB_MATRIX_BREATHING +#undef ENABLE_RGB_MATRIX_BAND_SAT +#undef ENABLE_RGB_MATRIX_BAND_VAL +#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL +#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT +#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL +//#undef ENABLE_RGB_MATRIX_CYCLE_ALL +#undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +#undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN +//#undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN +#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +//#undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL +#undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL +#undef ENABLE_RGB_MATRIX_DUAL_BEACON +#undef ENABLE_RGB_MATRIX_RAINBOW_BEACON +#undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS +#undef ENABLE_RGB_MATRIX_RAINDROPS +#undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS +#undef ENABLE_RGB_MATRIX_HUE_BREATHING +#undef ENABLE_RGB_MATRIX_HUE_PENDULUM +#undef ENABLE_RGB_MATRIX_HUE_WAVE +#undef ENABLE_RGB_MATRIX_PIXEL_RAIN + +#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE +#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +//#undef ENABLE_RGB_MATRIX_SPLASH +//#undef ENABLE_RGB_MATRIX_MULTISPLASH +#undef ENABLE_RGB_MATRIX_SOLID_SPLASH +#undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH \ No newline at end of file diff --git a/keyboards/winry/winry315/keymaps/vial/keymap.c b/keyboards/winry/winry315/keymaps/vial/keymap.c new file mode 100644 index 0000000000..49ef2d633c --- /dev/null +++ b/keyboards/winry/winry315/keymaps/vial/keymap.c @@ -0,0 +1,45 @@ +// Copyright 2022 Copyright 2023 Pedro Quaresma +// With special thanks to Markus Knutsson +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// clang-format off + +#define LAYOUT_via( \ + k17, k15, k16, \ + k23,k22, k19,k18, k21,k20, \ + k00, k01, k02, k03, k04, \ + k05, k06, k07, k08, k09, \ + k10, k11, k12, k13, k14 \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23 } \ +} + +#define U_LTESC LT(1, KC_ESC) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_via( + KC_HOME, KC_MUTE, KC_MPLY, + KC_PGUP, KC_PGDN, KC_VOLD, KC_VOLU, KC_MPRV, KC_MNXT, + KC_1, KC_2, KC_3, KC_4, KC_5, + KC_6, KC_7, KC_8, KC_9, KC_0, + U_LTESC, KC_TAB, KC_SPC, KC_BSPC, KC_ENT + ), + [1] = LAYOUT_via( + RGB_M_P, RGB_M_B, RGB_M_R, + RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, + RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, + RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, + KC_TRNS, RGB_TOG, RGB_M_P, RGB_M_B, RGB_M_R + ), +}; + +// clang-format on + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [0] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) }, + [1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) } +}; +#endif diff --git a/keyboards/winry/winry315/keymaps/vial/readme.md b/keyboards/winry/winry315/keymaps/vial/readme.md new file mode 100644 index 0000000000..685bea5767 --- /dev/null +++ b/keyboards/winry/winry315/keymaps/vial/readme.md @@ -0,0 +1 @@ +# The default keymap for Winry315 diff --git a/keyboards/winry/winry315/keymaps/vial/rules.mk b/keyboards/winry/winry315/keymaps/vial/rules.mk new file mode 100644 index 0000000000..2d8b3f0383 --- /dev/null +++ b/keyboards/winry/winry315/keymaps/vial/rules.mk @@ -0,0 +1,8 @@ +VIAL_ENABLE = yes +VIA_ENABLE = yes +LTO_ENABLE = yes +QMK_SETTINGS = no +ENCODER_MAP_ENABLE = yes +VIALRGB_ENABLE = yes +MOUSEKEY_ENABLE = no + diff --git a/keyboards/winry/winry315/keymaps/vial/vial.json b/keyboards/winry/winry315/keymaps/vial/vial.json new file mode 100644 index 0000000000..3f26ea1ded --- /dev/null +++ b/keyboards/winry/winry315/keymaps/vial/vial.json @@ -0,0 +1,254 @@ +{ + "name": "Winry315", + "vendorId": "0xF1F1", + "productId": "0x0315", + "lighting": "vialrgb", + "matrix": { + "rows": 1, + "cols": 24 + }, + "layouts": { + "labels": [ + [ + "Encoder Side", + "Top", + "Left", + "Right", + "Bottom" + ] + ], + "keymap": [ + { + "name": "Winry315 Macropad" + }, + + [ + "0,0\n\n\n0,0\n\n\n\n\n\ne", + "0,1\n\n\n0,0\n\n\n\n\n\ne", + "1,0\n\n\n0,0\n\n\n\n\n\ne", + "1,1\n\n\n0,0\n\n\n\n\n\ne", + "2,0\n\n\n0,0\n\n\n\n\n\ne", + "2,1\n\n\n0,0\n\n\n\n\n\ne" + ], + [ + { + "x": 0.5 + }, + "0,17\n\n\n0,0", + { + "x": 1 + }, + "0,15\n\n\n0,0", + { + "x": 1 + }, + "0,16\n\n\n0,0" + ], + [ + { + "y": 0.5, + "x": 0.5 + }, + "0,0\n\n\n0,0", + "0,1\n\n\n0,0", + "0,2\n\n\n0,0", + "0,3\n\n\n0,0", + "0,4\n\n\n0,0" + ], + [ + { + "x": 0.5 + }, + "0,5\n\n\n0,0", + "0,6\n\n\n0,0", + "0,7\n\n\n0,0", + "0,8\n\n\n0,0", + "0,9\n\n\n0,0" + ], + [ + { + "x": 0.5 + }, + "0,10\n\n\n0,0", + "0,11\n\n\n0,0", + "0,12\n\n\n0,0", + "0,13\n\n\n0,0", + "0,14\n\n\n0,0" + ], + [ + { + "y": 0.5, + "x": 0.5 + }, + "0,14\n\n\n0,3", + "0,13\n\n\n0,3", + "0,12\n\n\n0,3", + "0,11\n\n\n0,3", + "0,10\n\n\n0,3" + ], + [ + { + "x": 0.5 + }, + "0,9\n\n\n0,3", + "0,8\n\n\n0,3", + "0,7\n\n\n0,3", + "0,6\n\n\n0,3", + "0,5\n\n\n0,3" + ], + [ + { + "x": 0.5 + }, + "0,4\n\n\n0,3", + "0,3\n\n\n0,3", + "0,2\n\n\n0,3", + "0,1\n\n\n0,3", + "0,0\n\n\n0,3" + ], + [ + { + "y": 0.5 + }, + "2,0\n\n\n0,3\n\n\n\n\n\ne", + "2,1\n\n\n0,3\n\n\n\n\n\ne", + "1,0\n\n\n0,3\n\n\n\n\n\ne", + "1,1\n\n\n0,3\n\n\n\n\n\ne", + "0,0\n\n\n0,3\n\n\n\n\n\ne", + "0,1\n\n\n0,3\n\n\n\n\n\ne" + ], + [ + { + "x": 0.5 + }, + "0,16\n\n\n0,3", + { + "x": 1 + }, + "0,15\n\n\n0,3", + { + "x": 1 + }, + "0,17\n\n\n0,3" + ], + [ + { + "y":0.5 + }, + "2,0\n\n\n0,1\n\n\n\n\n\ne", + "2,1\n\n\n0,1\n\n\n\n\n\ne" + ], + [ + { + "x":0.5 + }, + "0,16\n\n\n0,1", + { + "x":1 + }, + "0,4\n\n\n0,1", + "0,9\n\n\n0,1", + "0,14\n\n\n0,1" + ], + [ + "1,0\n\n\n0,1\n\n\n\n\n\ne", + "1,1\n\n\n0,1\n\n\n\n\n\ne", + { + "x":0.5 + }, + "0,3\n\n\n0,1", + "0,8\n\n\n0,1", + "0,13\n\n\n0,1" + ], + [ + { + "x":0.5 + }, + "0,15\n\n\n0,1", + { + "x":1 + }, + "0,2\n\n\n0,1", + "0,7\n\n\n0,1", + "0,12\n\n\n0,1" + ], + [ + "0,0\n\n\n0,1\n\n\n\n\n\ne", + "0,1\n\n\n0,1\n\n\n\n\n\ne", + { + "x":0.5 + }, + "0,1\n\n\n0,1", + "0,6\n\n\n0,1", + "0,11\n\n\n0,1" + ], + [ + { + "x":0.5 + }, + "0,17\n\n\n0,1", + { + "x":1 + }, + "0,0\n\n\n0,1", + "0,5\n\n\n0,1", + "0,10\n\n\n0,1" + ], + [ + { + "y":0.5, + "x":3.5 + }, + "0,0\n\n\n0,2\n\n\n\n\n\ne", + "0,1\n\n\n0,2\n\n\n\n\n\ne" + ], + [ + "0,10\n\n\n0,2", + "0,5\n\n\n0,2", + "0,0\n\n\n0,2", + { + "x":1 + }, + "0,17\n\n\n0,2" + ], + [ + "0,11\n\n\n0,2", + "0,6\n\n\n0,2", + "0,1\n\n\n0,2", + { + "x":0.5 + }, + "1,0\n\n\n0,2\n\n\n\n\n\ne", + "1,1\n\n\n0,2\n\n\n\n\n\ne" + ], + [ + "0,12\n\n\n0,2", + "0,7\n\n\n0,2", + "0,2\n\n\n0,2", + { + "x":1 + }, + "0,17\n\n\n0,2" + ], + [ + "0,13\n\n\n0,2", + "0,8\n\n\n0,2", + "0,3\n\n\n0,2", + { + "x":0.5 + }, + "2,0\n\n\n0,2\n\n\n\n\n\ne", + "2,1\n\n\n0,2\n\n\n\n\n\ne" + ], + [ + "0,14\n\n\n0,2", + "0,9\n\n\n0,2", + "0,4\n\n\n0,2", + { + "x":1 + }, + "0,17\n\n\n0,2" + ] + ] + } +}