diff --git a/keyboards/avalanche/v4/keymaps/vial/config.h b/keyboards/avalanche/v4/keymaps/vial/config.h new file mode 100644 index 0000000000..4350f3bb36 --- /dev/null +++ b/keyboards/avalanche/v4/keymaps/vial/config.h @@ -0,0 +1,18 @@ +// Copyright 2022 Will Winder (@winder) +// SPDX-License-Identifier: GPL-2.0-or-later + +#define SPLIT_USB_DETECT +#define SPLIT_USB_TIMEOUT 2500 + +#pragma once + +# define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL+2 + +#ifdef OLED_ENABLE +# define OLED_DISPLAY_128X64 +# define OLED_TIMEOUT 30000 +#endif + +#define VIAL_KEYBOARD_UID {0x58, 0x8C, 0xA2, 0x28, 0x65, 0xFA, 0xE1, 0x58} +#define VIAL_UNLOCK_COMBO_ROWS { 2, 2 } +#define VIAL_UNLOCK_COMBO_COLS { 1, 4 } diff --git a/keyboards/avalanche/v4/keymaps/vial/keymap.c b/keyboards/avalanche/v4/keymaps/vial/keymap.c new file mode 100644 index 0000000000..3381656ce4 --- /dev/null +++ b/keyboards/avalanche/v4/keymaps/vial/keymap.c @@ -0,0 +1,62 @@ +// Copyright 2022 Viatly Volkov (@vlkv) +// SPDX-License-Identifier: GPL-2.0-or-later + +/* +qmk compile -kb avalanche/v4 -km default +qmk flash -kb avalanche/v4 -km default +*/ + +#include QMK_KEYBOARD_H + +enum layer { + LAYER_0, + LAYER_1, + LAYER_2, +}; + +#define FN_1 MO(LAYER_1) +#define LFN_2 LT(LAYER_2, KC_GRV) +#define RFN_2 MO(LAYER_2) +#define LFN_3 LSFT_T(KC_EQL) +#define RFN_3 RSFT_T(KC_MINS) +#define EN_LALT LALT_T(KC_ENT) +#define EN_RALT RALT_T(KC_ENT) + +#define DESKTOP_1 LCTL(KC_F1) +#define DESKTOP_2 LCTL(KC_F2) +#define DESKTOP_3 LCTL(KC_F3) + +#define MUTE_MIC LSFT(LCTL(LALT(KC_ESCAPE))) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [LAYER_0] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, + 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_CAPS, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_RBRC, + KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DEL, KC_LGUI, KC_INS, KC_BSPC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RCTL, + KC_MUTE, LFN_2, LFN_3, KC_SPC, EN_LALT, EN_RALT, FN_1, RFN_3, RFN_2, KC_PSCR + ), + [LAYER_1] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSPC, KC_DEL, KC_HOME, KC_UP, KC_END, KC_PGUP, XXXXXXX, + _______, _______, MUTE_MIC, DESKTOP_1, DESKTOP_2, DESKTOP_3, KC_DEL, KC_BSPC, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, XXXXXXX, KC_F12, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, XXXXXXX, KC_PGUP, KC_PGDN, XXXXXXX, XXXXXXX, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [LAYER_2] = LAYOUT( + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, KC_0, KC_1, KC_2, KC_3, KC_BSPC, KC_DEL, KC_EXLM, KC_AT, KC_HASH, XXXXXXX, KC_LPRN, + _______, _______, KC_0, KC_4, KC_5, KC_6, KC_DEL, KC_BSPC, KC_DLR, KC_PERC, KC_CIRC, XXXXXXX, XXXXXXX, KC_RPRN, + _______, KC_0, KC_7, KC_8, KC_9, KC_DOT, _______, _______, _______, _______, XXXXXXX, KC_AMPR, KC_ASTR, XXXXXXX, XXXXXXX, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) }, + [1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) }, + [2] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, + // Encoder 1 Encoder 2 +}; +#endif diff --git a/keyboards/avalanche/v4/keymaps/vial/rules.mk b/keyboards/avalanche/v4/keymaps/vial/rules.mk new file mode 100644 index 0000000000..c7d77356cf --- /dev/null +++ b/keyboards/avalanche/v4/keymaps/vial/rules.mk @@ -0,0 +1,21 @@ +# Build Options +# change yes to no to disable +# +VIA_ENABLE = yes +VIAL_ENABLE = yes + +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 = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes +OLED_ENABLE = yes + +SPLIT_KEYBOARD = yes +ENCODER_MAP_ENABLE = yes +CONVERT_TO = rp2040_ce \ No newline at end of file diff --git a/keyboards/avalanche/v4/keymaps/vial/vial.json b/keyboards/avalanche/v4/keymaps/vial/vial.json new file mode 100644 index 0000000000..44bbf350ca --- /dev/null +++ b/keyboards/avalanche/v4/keymaps/vial/vial.json @@ -0,0 +1,354 @@ +{ + "lighting": "none", + "matrix": { + "rows": 10, + "cols": 7 + }, + "layouts": { + "keymap": [ + [ + { + "x": 4 + }, + "0,3", + { + "x": 10.5 + }, + "5,3" + ], + [ + { + "y": -0.87, + "x": 3 + }, + "0,2", + { + "x": 1 + }, + "0,4", + { + "x": 8.5 + }, + "5,4", + { + "x": 1 + }, + "5,2" + ], + [ + { + "y": -0.8799999999999999, + "x": 6 + }, + "0,5", + { + "x": 6.5 + }, + "5,5" + ], + [ + { + "y": -0.87, + "x": 1 + }, + "0,0", + "0,1", + { + "x": 14.5 + }, + "5,1", + "5,0" + ], + [ + { + "y": -0.3799999999999999, + "x": 4 + }, + "1,3", + { + "x": 10.5 + }, + "6,3" + ], + [ + { + "y": -0.8700000000000001, + "x": 3 + }, + "1,2", + { + "x": 1 + }, + "1,4", + { + "x": 8.5 + }, + "6,4", + { + "x": 1 + }, + "6,2" + ], + [ + { + "y": -0.8799999999999999, + "x": 6 + }, + "1,5", + { + "x": 6.5 + }, + "6,5" + ], + [ + { + "y": -0.8700000000000001, + "x": 1 + }, + "1,0", + "1,1", + { + "x": 14.5 + }, + "6,1", + "6,0" + ], + [ + { + "y": -0.3799999999999999, + "x": 4 + }, + "2,3", + { + "x": 10.5 + }, + "7,3" + ], + [ + { + "y": -0.8700000000000001, + "x": 3 + }, + "2,2", + { + "x": 1 + }, + "2,4", + { + "x": 8.5 + }, + "7,4", + { + "x": 1 + }, + "7,2" + ], + [ + { + "y": -0.8799999999999999, + "x": 6 + }, + "2,5", + { + "x": 6.5 + }, + "7,5" + ], + [ + { + "y": -0.8700000000000001 + }, + "4,0", + "2,0", + "2,1", + { + "x": 14.5 + }, + "7,1", + "7,0", + "9,0" + ], + [ + { + "y": -0.3799999999999999, + "x": 4 + }, + "3,3", + { + "x": 10.5 + }, + "8,3" + ], + [ + { + "y": -0.8700000000000001, + "x": 3 + }, + "3,2", + { + "x": 1 + }, + "3,4", + { + "x": 8.5 + }, + "8,4", + { + "x": 1 + }, + "8,2" + ], + [ + { + "y": -0.8799999999999999, + "x": 6 + }, + "3,5", + { + "x": 6.5 + }, + "8,5" + ], + [ + { + "y": -0.8700000000000001, + "x": 1 + }, + "3,0", + "3,1", + { + "x": 14.5 + }, + "8,1", + "8,0" + ], + [ + { + "y": -0.22999999999999954, + "x": 3.4 + }, + "4,2", + { + "x": 0.09999999999999964 + }, + "4,3", + { + "x": 10.600000000000001 + }, + "9,2" + ], + [ + { + "x": 2.9 + }, + "0,0\n\n\n\n\n\n\n\n\ne", + "0,1\n\n\n\n\n\n\n\n\ne", + { + "x": 10.6 + }, + "1,0\n\n\n\n\n\n\n\n\ne", + "1,1\n\n\n\n\n\n\n\n\ne" + ], + [ + { + "rx": 13, + "ry": 4.25, + "y": -0.09999999999999964, + "x": 2 + }, + "9,3" + ], + [ + { + "r": 15, + "rx": 5.25, + "ry": 5.25, + "y": -1.12, + "x": 0.25 + }, + "4,4" + ], + [ + { + "r": 30, + "rx": 6.5, + "ry": 4.25, + "y": -1.0499999999999998, + "x": 0.5999999999999996 + }, + "3,6" + ], + [ + { + "ry": 5.5, + "y": -1.0499999999999998 + }, + "4,5" + ], + [ + { + "r": 45, + "y": -1.25, + "x": 1 + }, + "4,6" + ], + [ + { + "rx": 7.6, + "ry": 4.25, + "y": -0.75, + "x": 1.0999999999999996 + }, + "2,6" + ], + [ + { + "r": -45, + "rx": 12.25, + "y": -0.2999999999999998, + "x": -1.6999999999999993, + "w2": 0.75 + }, + "7,6" + ], + [ + { + "rx": 12.5, + "ry": 5.5, + "y": -0.25, + "x": -0.9499999999999993 + }, + "9,6" + ], + [ + { + "r": -30, + "rx": 13, + "ry": 3.25, + "y": 1.4500000000000002, + "x": -1.25 + }, + "9,5" + ], + [ + { + "ry": 4.25, + "y": -0.5499999999999998, + "x": -0.6999999999999993 + }, + "8,6" + ], + [ + { + "r": -15, + "rx": 13.25, + "ry": 4.5, + "y": 0.09999999999999964, + "x": 0.5 + }, + "9,4" + ] + ] + } +} \ No newline at end of file