diff --git a/keyboards/waterfowl/keymaps/vial/config.h b/keyboards/waterfowl/keymaps/vial/config.h new file mode 100644 index 0000000000..0c550f1f5a --- /dev/null +++ b/keyboards/waterfowl/keymaps/vial/config.h @@ -0,0 +1,8 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#pragma once + +#define VIAL_KEYBOARD_UID {0x95, 0x71, 0x9F, 0x29, 0xA6, 0x0B, 0x39, 0x57} + +#define VIAL_UNLOCK_COMBO_ROWS {0, 2, 4, 6} +#define VIAL_UNLOCK_COMBO_COLS {0, 0, 0, 0} diff --git a/keyboards/waterfowl/keymaps/vial/keymap.c b/keyboards/waterfowl/keymaps/vial/keymap.c new file mode 100644 index 0000000000..3e693bcebf --- /dev/null +++ b/keyboards/waterfowl/keymaps/vial/keymap.c @@ -0,0 +1,117 @@ +/* Copyright 2022 CyanDuck +* +* 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 3 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 + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _QWERTY, + _NAVNUM, + _SYM, + _FUNC, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* QWERTY + * + * ,----------------------------------. ,----------------------------------. + * | Q | W | E | R | T | | Y | U | I | O | P | + * |------+------+------+------+------| |------+------+------+------+------| + * | A | S | D | F | G | | H | J | K | L | ; | + * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------| + * | Z | X | C | V | B | |CAPS | |NUMLK| | N | M | , | . | / | + * `----------------------------------' `-----' `-----' `----------------------------------' + * ,-----. ,--------------------. ,--------------------. ,-----. + * | 1 | | DEL | SPACE | TAB | | ESC | BS | ENTER | | 4 | + * `-----' `--------------------' `--------------------' `-----' + */ +[_QWERTY] = LAYOUT( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + MT(MOD_LGUI, KC_A), MT(MOD_LALT, KC_S), MT(MOD_LCTL, KC_D), MT(MOD_LSFT, KC_F), KC_G, KC_H, MT(MOD_LSFT, KC_J), MT(MOD_LCTL, KC_K), MT(MOD_LALT, KC_L), MT(MOD_LGUI, KC_SCLN), + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, + KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_TAB, KC_CAPS, KC_NUM, KC_ESC, KC_BSPC, LT(2,KC_ENT), KC_4 +), + +/* NAVNUM + * + * ,----------------------------------. ,----------------------------------. + * | | PgUp | UP | PgDn | | | / | 7 | 8 | 9 | - | + * |------+------+------+------+------| |------+------+------+------+------| + * | Home | Left | Down | Right| End | | = | 4 | 5 | 6 | + | + * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------| + * | | | INS | | | |CAPS | |NUMLK| | 0 | 1 | 2 | 3 | * | + * `----------------------------------' `-----' `-----' `----------------------------------' + * ,-----. ,--------------------. ,--------------------. ,-----. + * | 1 | | DEL | SPACE | MO(3)| | ESC | BS | ENTER | | 4 | + * `-----' `--------------------' `--------------------' `-----' + */ +[_NAVNUM] = LAYOUT( + KC_NO, KC_PGUP, KC_UP, KC_PGDN, KC_NO, KC_SLSH, KC_7, KC_8, KC_9, KC_MINS, + KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_EQL, KC_4, KC_5, KC_6, KC_PLUS, + KC_NO, KC_NO, KC_INS, KC_NO, KC_NO, KC_0, KC_1, KC_2, KC_3, KC_ASTR, + KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_TAB, KC_CAPS, KC_NUM, KC_ESC, KC_BSPC, LT(2,KC_ENT), KC_4 +), + +/* SYM + * + * ,----------------------------------. ,----------------------------------. + * | % | @ | [ | ] | \ | | ¦ | ¬ | ^ | | | + * |------+------+------+------+------| |------+------+------+------+------| + * | # | ! | ( | ) | | | | _ | ' | " | ~ | ` | + * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------| + * | $ | £ | { | } | & | |CAPS | |NUMLK| | | | | | | + * `----------------------------------' `-----' `-----' `----------------------------------' + * ,-----. ,--------------------. ,--------------------. ,-----. + * | 1 | | DEL | SPACE | TAB | | ESC | BS | ENTER | | 4 | + * `-----' `--------------------' `--------------------' `-----' + */ +[_SYM] = LAYOUT( + KC_PERC, KC_AT, KC_LBRC, KC_RBRC, KC_BSLS, KC_NO, KC_NO, KC_CIRC, KC_NO, KC_NO, + KC_HASH, KC_EXLM, KC_LPRN, KC_RPRN, KC_PIPE, KC_UNDS, KC_QUOT, KC_DQT, KC_TILD, KC_GRV, + KC_DLR, KC_NO, KC_LCBR, KC_RCBR, KC_AMPR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_TAB, KC_CAPS, KC_NUM, KC_ESC, KC_BSPC, LT(2,KC_ENT), KC_4 +), + +/* FUNC + * + * ,----------------------------------. ,----------------------------------. + * | | | | | | | | F7 | F8 | F9 | F11 | + * |------+------+------+------+------| |------+------+------+------+------| + * | | | | | | | | F4 | F5 | F6 | F12 | + * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------| + * | Reset| | | | | |CAPS | |NUMLK| | F10 | F1 | F2 | F3 | F13 | + * `----------------------------------' `-----' `-----' `----------------------------------' + * ,-----. ,--------------------. ,--------------------. ,-----. + * | 1 | | DEL | SPACE | TAB | | ESC | BS | ENTER | | 4 | + * `-----' `--------------------' `--------------------' `-----' + */ +[_FUNC] = LAYOUT( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F11, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F4, KC_F5, KC_F6, KC_F12, + RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_F10, KC_F1, KC_F2, KC_F3, KC_F13, + KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_TAB, KC_CAPS, KC_NUM, KC_ESC, KC_BSPC, LT(2,KC_ENT), KC_4 +), +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [_QWERTY] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_TAB, S(KC_TAB)), ENCODER_CCW_CW(KC_MS_WH_LEFT, KC_MS_WH_RIGHT), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) }, + [_NAVNUM] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_TAB, S(KC_TAB)), ENCODER_CCW_CW(KC_MS_WH_LEFT, KC_MS_WH_RIGHT), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) }, + [_SYM] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_TAB, S(KC_TAB)), ENCODER_CCW_CW(KC_MS_WH_LEFT, KC_MS_WH_RIGHT), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) }, + [_FUNC] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_TAB, S(KC_TAB)), ENCODER_CCW_CW(KC_MS_WH_LEFT, KC_MS_WH_RIGHT), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) }, +}; +#endif \ No newline at end of file diff --git a/keyboards/waterfowl/keymaps/vial/rules.mk b/keyboards/waterfowl/keymaps/vial/rules.mk new file mode 100644 index 0000000000..db6cb50ede --- /dev/null +++ b/keyboards/waterfowl/keymaps/vial/rules.mk @@ -0,0 +1,9 @@ +ENCODER_ENABLE = yes +ENCODER_MAP_ENABLE = yes +VIA_ENABLE = yes +VIAL_ENABLE = yes +LTO_ENABLE = yes +QMK_SETTINGS = no +KEY_OVERRIDE_ENABLE = no +TAP_DANCE_ENABLE = no +COMBO_ENABLE = no \ No newline at end of file diff --git a/keyboards/waterfowl/keymaps/vial/vial.json b/keyboards/waterfowl/keymaps/vial/vial.json new file mode 100644 index 0000000000..2e2f3118a7 --- /dev/null +++ b/keyboards/waterfowl/keymaps/vial/vial.json @@ -0,0 +1,263 @@ +{ + "name": "Waterfowl", + "vendorId": "0xFEED", + "productId": "0x9CE3", + "lighting": "none", + "matrix": { + "rows": 8, + "cols": 5 + }, + "layouts": { + "keymap": + [ + [ + { + "y": 0.25, + "x": 3 + }, + "0,2", + { + "x": 9 + }, + "4,2" + ], + [ + { + "y": -0.75, + "x": 2 + }, + "0,1", + { + "x": 1 + }, + "0,3", + { + "x": 7 + }, + "4,3", + { + "x": 1 + }, + "4,1" + ], + [ + { + "y": -0.875, + "x": 5 + }, + "0,4", + { + "x": 5 + }, + "4,4" + ], + [ + { + "y": -0.625, + "x": 1 + }, + "0,0", + { + "x": 13 + }, + "4,0" + ], + [ + { + "y": -0.75, + "x": 3 + }, + "1,2", + { + "x": 9 + }, + "5,2" + ], + [ + { + "y": -0.75, + "x": 2 + }, + "1,1", + { + "x": 1 + }, + "1,3", + { + "x": 1 + }, + "1,0\n\n\n\n\n\n\n\n\ne", + "1,1\n\n\n\n\n\n\n\n\ne", + { + "x": 1 + }, + "3,0\n\n\n\n\n\n\n\n\ne", + "3,1\n\n\n\n\n\n\n\n\ne", + { + "x": 1 + }, + "5,3", + { + "x": 1 + }, + "5,1" + ], + [ + { + "y": -0.875, + "x": 5 + }, + "1,4", + { + "x": 5 + }, + "5,4" + ], + [ + { + "y": -0.625, + "x": 1 + }, + "1,0", + { + "x": 13 + }, + "5,0" + ], + [ + { + "y": -0.75, + "x": 3 + }, + "2,2", + { + "x": 9 + }, + "6,2" + ], + [ + { + "y": -0.75, + "x": 2 + }, + "2,1", + { + "x": 1 + }, + "2,3", + { + "x": 1.5 + }, + "3,4", + { + "x": 2 + }, + "7,4", + { + "x": 1.5 + }, + "6,3", + { + "x": 1 + }, + "6,1" + ], + [ + { + "y": -0.875, + "x": 5 + }, + "2,4", + { + "x": 5 + }, + "6,4" + ], + [ + { + "y": -0.625, + "x": 1 + }, + "2,0", + { + "x": 13 + }, + "6,0" + ], + [ + { + "y": -0.5, + "x": 3 + }, + "3,0", + { + "x": 9 + }, + "7,0" + ], + [ + { + "x": 2.5 + }, + "0,0\n\n\n\n\n\n\n\n\ne", + "0,1\n\n\n\n\n\n\n\n\ne", + { + "x": 8 + }, + "2,0\n\n\n\n\n\n\n\n\ne", + "2,1\n\n\n\n\n\n\n\n\ne" + ], + [ + { + "r": 15, + "rx": 4, + "ry": 8.175, + "y": -4.675, + "x": -0.5 + }, + "3,1" + ], + [ + { + "r": 30, + "y": -1, + "x": -0.5 + }, + "3,2" + ], + [ + { + "r": 45, + "y": -1, + "x": -0.5 + }, + "3,3" + ], + [ + { + "r": -45, + "rx": 13, + "y": -4.675, + "x": -0.5 + }, + "7,3" + ], + [ + { + "r": -30, + "y": -1, + "x": -0.5 + }, + "7,2" + ], + [ + { + "r": -15, + "y": -1, + "x": -0.5 + }, + "7,1" + ] + ] + } +} \ No newline at end of file