From 7511cb2c4d7d87fd57b4836e86a7e04f0240d7ea Mon Sep 17 00:00:00 2001 From: CountKeepo <64993772+CountKeepo@users.noreply.github.com> Date: Tue, 11 Oct 2022 00:45:34 +0300 Subject: [PATCH] VIAL Support for Erkhal's PRKL30 keyboard and my own project, SINPAD20 (#259) * Create rules.mk * Add files via upload * Update readme.md * Support for PRKL30 + fix Added VIAL support for PRKL30 since it didn't have any. I also fixed a deprecated line in the promicro folder. #define RGBLIGHT_ANIMATIONS is no longer valid in QMK. --- .../handwired/prkl30/keymaps/vial/config.h | 9 ++ .../handwired/prkl30/keymaps/vial/keymap.c | 103 +++++++++++++++++ .../handwired/prkl30/keymaps/vial/rules.mk | 7 ++ keyboards/handwired/prkl30/promicro/config.h | 1 - keyboards/sinpad20/config.h | 20 ++++ keyboards/sinpad20/info.json | 53 +++++++++ keyboards/sinpad20/keymaps/default/keymap.c | 108 ++++++++++++++++++ keyboards/sinpad20/keymaps/via/keymap.c | 108 ++++++++++++++++++ keyboards/sinpad20/keymaps/via/rules.mk | 3 + keyboards/sinpad20/keymaps/via/sinpad20.json | 69 +++++++++++ keyboards/sinpad20/keymaps/vial/config.h | 9 ++ keyboards/sinpad20/keymaps/vial/keymap.c | 108 ++++++++++++++++++ keyboards/sinpad20/keymaps/vial/rules.mk | 3 + keyboards/sinpad20/keymaps/vial/vial.json | 69 +++++++++++ keyboards/sinpad20/readme.md | 27 +++++ keyboards/sinpad20/rules.mk | 1 + 16 files changed, 697 insertions(+), 1 deletion(-) create mode 100644 keyboards/handwired/prkl30/keymaps/vial/config.h create mode 100644 keyboards/handwired/prkl30/keymaps/vial/keymap.c create mode 100644 keyboards/handwired/prkl30/keymaps/vial/rules.mk create mode 100644 keyboards/sinpad20/config.h create mode 100644 keyboards/sinpad20/info.json create mode 100644 keyboards/sinpad20/keymaps/default/keymap.c create mode 100644 keyboards/sinpad20/keymaps/via/keymap.c create mode 100644 keyboards/sinpad20/keymaps/via/rules.mk create mode 100644 keyboards/sinpad20/keymaps/via/sinpad20.json create mode 100644 keyboards/sinpad20/keymaps/vial/config.h create mode 100644 keyboards/sinpad20/keymaps/vial/keymap.c create mode 100644 keyboards/sinpad20/keymaps/vial/rules.mk create mode 100644 keyboards/sinpad20/keymaps/vial/vial.json create mode 100644 keyboards/sinpad20/readme.md create mode 100644 keyboards/sinpad20/rules.mk diff --git a/keyboards/handwired/prkl30/keymaps/vial/config.h b/keyboards/handwired/prkl30/keymaps/vial/config.h new file mode 100644 index 0000000000..506c1725be --- /dev/null +++ b/keyboards/handwired/prkl30/keymaps/vial/config.h @@ -0,0 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#pragma once + +#define VIAL_KEYBOARD_UID {0xF6, 0x51, 0xB8, 0xE9, 0xA5, 0xB3, 0x8B, 0xF4} + +#define VIAL_UNLOCK_COMBO_ROWS { 0, 0 } + +#define VIAL_UNLOCK_COMBO_COLS { 0, 1 } \ No newline at end of file diff --git a/keyboards/handwired/prkl30/keymaps/vial/keymap.c b/keyboards/handwired/prkl30/keymaps/vial/keymap.c new file mode 100644 index 0000000000..920077f5a1 --- /dev/null +++ b/keyboards/handwired/prkl30/keymaps/vial/keymap.c @@ -0,0 +1,103 @@ +#include QMK_KEYBOARD_H +#include "keymap_nordic.h" +enum layers { + _DEFAULT, + _LOWER, + _RAISE, + _FN +}; + +enum custom_keycodes { + PRKL = SAFE_RANGE, +}; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) +#define FN MO(_FN) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Default + * ,-----------------------------------------------------------------------------------.------. + * | Esc | Q | W | E | R | T | Y | U | I | O | P | {[ | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------|------| + * | Tab | A | S | D | F | G | H | J | K | L | :; | '" | Entr | + * |------+------+------+------+------+------|------+------+------+------+------+------|------' + * | Shift| Z | X | C | V | Space | B | N | M | , | . | + * |------+------+------+------+------+------+------+------+------+------+------+------' + */ +[_DEFAULT] = LAYOUT_all( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, NO_QUOT, KC_BSPC, + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, NO_AE, NO_OSLH, LT(_FN, KC_ENT), + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, LT(_LOWER, KC_SPC), _______, KC_B, KC_N, KC_M, KC_COMM, LT(_RAISE, KC_DOT) +), + +/* Lower - Numbers and some symbols + * ,------------------------------------------------------------------------------------------. + * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | + | DEL | + * |------+------+------+------+------+------+------+------+------+------+------+------|------| + * | | | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------|------' + * | | | | | | | | | | - | | + * `------+------+------+------+------+------+------+------+------+------+------+------' + */ +[_LOWER] = LAYOUT_all( + KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, NO_PLUS, KC_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NO_MINS, _______ +), + +/* Raise - AltGred Characters and more symbols + * ,------------------------------------------------------------------------------------------. + * | ~ | > | @ | £ | $ | % | & | | | [ | ] | ≈ | ? | { | + * |------+------+------+------+------+------+------+------+------+------+------+------|------| + * | | | | UP | | | | | | | | | } | + * |------+------+------+------+------+------+------+------+------+------+------+------|------' + * | | < | LEFT | DOWN | RIGHT| | | | | | | + * `------+------+------+------+------+------+------+------+------+------+------+------' + */ +[_RAISE] = LAYOUT_all( + NO_TILD, NO_SECT, NO_AT, NO_PND, NO_DLR, KC_PERC, NO_AMPR, NO_LCBR, NO_LBRC, NO_RBRC, NO_RCBR, NO_QUES, LSFT(NO_LBRC), + _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, LSFT(NO_RBRC), + _______, NO_HALF, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______ +), + + /* FN + * ,------------------------------------------------------------------------------------------. + * |QK_BOOT | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | + * |------+------+------+------+------+------+------+------+------+------+------+------|------| + * | |RGB_P |RGB_HD|RGB_HI| VOL- | PREV | NEXT | VOL+ | | | | PRKL | | + * |------+------+------+------+------+------+------+------+------+------+------+------|------' + * | RGB_M|RGB_VD|RGB_VI|RGB_TG| | PLAY/PAUSE | | | |LCA(DEL)| | + * `------+------+------+------+------+------+------+------+------+------+------+------' + */ +[_FN] = LAYOUT_all( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + _______, RGB_M_P, RGB_HUD, RGB_HUI, KC_VOLD, KC_MPRV, KC_MNXT, KC_VOLU, _______, _______, _______, PRKL, _______, + RGB_MOD, RGB_VAD, RGB_VAI, RGB_TOG, _______, KC_MPLY, _______, _______, _______, _______, LCA(KC_DEL), _______ +), + + +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [_DEFAULT] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, + [_LOWER] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN)}, + [_RAISE] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN)}, + [_FN] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN)}, +}; +#endif + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case PRKL: + if (record->event.pressed) { + //When PRKL is pressed, print out the holy power word of our people + SEND_STRING("PERKELE"); + } + break; + } + return true; +}; diff --git a/keyboards/handwired/prkl30/keymaps/vial/rules.mk b/keyboards/handwired/prkl30/keymaps/vial/rules.mk new file mode 100644 index 0000000000..4e13a6c067 --- /dev/null +++ b/keyboards/handwired/prkl30/keymaps/vial/rules.mk @@ -0,0 +1,7 @@ +VIA_ENABLE = yes +VIAL_ENABLE = yes +LTO_ENABLE = yes +ENCODER_ENABLE = yes +ENCODER_MAP_ENABLE = yes +EXTRAKEY_ENABLE = yes +QMK_SETTINGS = no \ No newline at end of file diff --git a/keyboards/handwired/prkl30/promicro/config.h b/keyboards/handwired/prkl30/promicro/config.h index 9f7c4f4f9a..fabce68707 100644 --- a/keyboards/handwired/prkl30/promicro/config.h +++ b/keyboards/handwired/prkl30/promicro/config.h @@ -32,7 +32,6 @@ /* RGB Light Configuration */ #define RGB_DI_PIN D1 -#define RGBLIGHT_ANIMATIONS #define RGBLED_NUM 13 #define RGBLIGHT_HUE_STEP 8 #define RGBLIGHT_SAT_STEP 8 diff --git a/keyboards/sinpad20/config.h b/keyboards/sinpad20/config.h new file mode 100644 index 0000000000..d024b2869e --- /dev/null +++ b/keyboards/sinpad20/config.h @@ -0,0 +1,20 @@ +// Copyright 2022 Count Keepo (@CountKeepo) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT diff --git a/keyboards/sinpad20/info.json b/keyboards/sinpad20/info.json new file mode 100644 index 0000000000..5df36791ac --- /dev/null +++ b/keyboards/sinpad20/info.json @@ -0,0 +1,53 @@ +{ + "manufacturer": "Count Keepo", + "keyboard_name": "sinpad20", + "maintainer": "CountKeepo", + "bootloader": "caterina", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["C6", "D7", "E6", "B2"], + "rows": ["F4", "F5", "B6", "F7", "B1", "B3"] + }, + "processor": "atmega32u4", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0001", + "vid": "0xCEE9" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"matrix":[2,3], "x":0, "y":0, "w":2, "h":2}, + {"matrix":[0,2], "x":2.25, "y":0}, + {"matrix":[0,3], "x":3.25, "y":0}, + {"matrix":[1,2], "x":2.25, "y":1}, + {"matrix":[1,3], "x":3.25, "y":1}, + {"matrix":[2,0], "x":0, "y":2.25}, + {"matrix":[2,1], "x":1, "y":2.25}, + {"matrix":[2,2], "x":2, "y":2.25}, + {"matrix":[3,3], "x":3.25, "y":2.25, "h":2}, + {"matrix":[3,0], "x":0, "y":3.25}, + {"matrix":[3,1], "x":1, "y":3.25}, + {"matrix":[3,2], "x":2, "y":3.25}, + {"matrix":[4,0], "x":0, "y":4.25}, + {"matrix":[4,1], "x":1, "y":4.25}, + {"matrix":[4,2], "x":2, "y":4.25}, + {"matrix":[4,3], "x":3.25, "y":4.25}, + {"matrix":[5,0], "x":0, "y":5.25}, + {"matrix":[5,1], "x":1, "y":5.25}, + {"matrix":[5,2], "x":2, "y":5.25}, + {"matrix":[5,3], "x":3.25, "y":5.25} + ] + + } + } +} \ No newline at end of file diff --git a/keyboards/sinpad20/keymaps/default/keymap.c b/keyboards/sinpad20/keymaps/default/keymap.c new file mode 100644 index 0000000000..9d7c4c1f3b --- /dev/null +++ b/keyboards/sinpad20/keymaps/default/keymap.c @@ -0,0 +1,108 @@ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───────┐ ┌───┬───┐ + * │ │ │ < │ / │ + * │ Ent │ ├───┼───┤ + * │ │ │ > │ * │ + * └───────┘ └───┴───┘ + * ┌───┬───┬───┐ ┌───┐ + * │ 7 │ 8 │ 9 │ │ │ + * ├───┼───┼───┤ │ + │ + * │ 5 │ 6 │ 7 │ │ │ + * ├───┼───┼───┤ ├───┤ + * │ 1 │ 2 │ 3 │ │ - │ + * ├───┼───┼───┤ ├───┤ + * │ALT│ 0 │ . │ │Bs │ + * └───┴───┴───┘ └───┘ + */ + + [0] = LAYOUT_all( + KC_PENT, KC_LEFT, KC_PSLS, + KC_RGHT, KC_PAST, + + KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_P4, KC_P5, KC_P6, + KC_P1, KC_P2, KC_P3, KC_PMNS, + KC_LALT, KC_P0, KC_PDOT, KC_BSPC + ), + /* + * ┌───────┐ ┌───┬───┐ + * │ │ │ < │ / │ + * │ Ent │ ├───┼───┤ + * │ │ │ > │ * │ + * └───────┘ └───┴───┘ + * ┌───┬───┬───┐ ┌───┐ + * │ 7 │ 8 │ 9 │ │ │ + * ├───┼───┼───┤ │ + │ + * │ 5 │ 6 │ 7 │ │ │ + * ├───┼───┼───┤ ├───┤ + * │ 1 │ 2 │ 3 │ │ - │ + * ├───┼───┼───┤ ├───┤ + * │ALT│ 0 │ . │ │Bs │ + * └───┴───┴───┘ └───┘ + */ + + [1] = LAYOUT_all( + KC_PENT, KC_LEFT, KC_PSLS, + KC_RGHT, KC_PAST, + + KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_P4, KC_P5, KC_P6, + KC_P1, KC_P2, KC_P3, KC_PMNS, + KC_LALT, KC_P0, KC_PDOT, KC_BSPC + ), + /* + * ┌───────┐ ┌───┬───┐ + * │ │ │ < │ / │ + * │ Ent │ ├───┼───┤ + * │ │ │ > │ * │ + * └───────┘ └───┴───┘ + * ┌───┬───┬───┐ ┌───┐ + * │ 7 │ 8 │ 9 │ │ │ + * ├───┼───┼───┤ │ + │ + * │ 5 │ 6 │ 7 │ │ │ + * ├───┼───┼───┤ ├───┤ + * │ 1 │ 2 │ 3 │ │ - │ + * ├───┼───┼───┤ ├───┤ + * │ALT│ 0 │ . │ │Bs │ + * └───┴───┴───┘ └───┘ + */ + + [2] = LAYOUT_all( + KC_PENT, KC_LEFT, KC_PSLS, + KC_RGHT, KC_PAST, + + KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_P4, KC_P5, KC_P6, + KC_P1, KC_P2, KC_P3, KC_PMNS, + KC_LALT, KC_P0, KC_PDOT, KC_BSPC + ), + /* + * ┌───────┐ ┌───┬───┐ + * │ │ │ < │ / │ + * │ Ent │ ├───┼───┤ + * │ │ │ > │ * │ + * └───────┘ └───┴───┘ + * ┌───┬───┬───┐ ┌───┐ + * │ 7 │ 8 │ 9 │ │ │ + * ├───┼───┼───┤ │ + │ + * │ 5 │ 6 │ 7 │ │ │ + * ├───┼───┼───┤ ├───┤ + * │ 1 │ 2 │ 3 │ │ - │ + * ├───┼───┼───┤ ├───┤ + * │ALT│ 0 │ . │ │Bs │ + * └───┴───┴───┘ └───┘ + */ + + [3] = LAYOUT_all( + KC_PENT, KC_LEFT, KC_PSLS, + KC_RGHT, KC_PAST, + + KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_P4, KC_P5, KC_P6, + KC_P1, KC_P2, KC_P3, KC_PMNS, + KC_LALT, KC_P0, KC_PDOT, KC_BSPC + ) +}; diff --git a/keyboards/sinpad20/keymaps/via/keymap.c b/keyboards/sinpad20/keymaps/via/keymap.c new file mode 100644 index 0000000000..9d7c4c1f3b --- /dev/null +++ b/keyboards/sinpad20/keymaps/via/keymap.c @@ -0,0 +1,108 @@ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───────┐ ┌───┬───┐ + * │ │ │ < │ / │ + * │ Ent │ ├───┼───┤ + * │ │ │ > │ * │ + * └───────┘ └───┴───┘ + * ┌───┬───┬───┐ ┌───┐ + * │ 7 │ 8 │ 9 │ │ │ + * ├───┼───┼───┤ │ + │ + * │ 5 │ 6 │ 7 │ │ │ + * ├───┼───┼───┤ ├───┤ + * │ 1 │ 2 │ 3 │ │ - │ + * ├───┼───┼───┤ ├───┤ + * │ALT│ 0 │ . │ │Bs │ + * └───┴───┴───┘ └───┘ + */ + + [0] = LAYOUT_all( + KC_PENT, KC_LEFT, KC_PSLS, + KC_RGHT, KC_PAST, + + KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_P4, KC_P5, KC_P6, + KC_P1, KC_P2, KC_P3, KC_PMNS, + KC_LALT, KC_P0, KC_PDOT, KC_BSPC + ), + /* + * ┌───────┐ ┌───┬───┐ + * │ │ │ < │ / │ + * │ Ent │ ├───┼───┤ + * │ │ │ > │ * │ + * └───────┘ └───┴───┘ + * ┌───┬───┬───┐ ┌───┐ + * │ 7 │ 8 │ 9 │ │ │ + * ├───┼───┼───┤ │ + │ + * │ 5 │ 6 │ 7 │ │ │ + * ├───┼───┼───┤ ├───┤ + * │ 1 │ 2 │ 3 │ │ - │ + * ├───┼───┼───┤ ├───┤ + * │ALT│ 0 │ . │ │Bs │ + * └───┴───┴───┘ └───┘ + */ + + [1] = LAYOUT_all( + KC_PENT, KC_LEFT, KC_PSLS, + KC_RGHT, KC_PAST, + + KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_P4, KC_P5, KC_P6, + KC_P1, KC_P2, KC_P3, KC_PMNS, + KC_LALT, KC_P0, KC_PDOT, KC_BSPC + ), + /* + * ┌───────┐ ┌───┬───┐ + * │ │ │ < │ / │ + * │ Ent │ ├───┼───┤ + * │ │ │ > │ * │ + * └───────┘ └───┴───┘ + * ┌───┬───┬───┐ ┌───┐ + * │ 7 │ 8 │ 9 │ │ │ + * ├───┼───┼───┤ │ + │ + * │ 5 │ 6 │ 7 │ │ │ + * ├───┼───┼───┤ ├───┤ + * │ 1 │ 2 │ 3 │ │ - │ + * ├───┼───┼───┤ ├───┤ + * │ALT│ 0 │ . │ │Bs │ + * └───┴───┴───┘ └───┘ + */ + + [2] = LAYOUT_all( + KC_PENT, KC_LEFT, KC_PSLS, + KC_RGHT, KC_PAST, + + KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_P4, KC_P5, KC_P6, + KC_P1, KC_P2, KC_P3, KC_PMNS, + KC_LALT, KC_P0, KC_PDOT, KC_BSPC + ), + /* + * ┌───────┐ ┌───┬───┐ + * │ │ │ < │ / │ + * │ Ent │ ├───┼───┤ + * │ │ │ > │ * │ + * └───────┘ └───┴───┘ + * ┌───┬───┬───┐ ┌───┐ + * │ 7 │ 8 │ 9 │ │ │ + * ├───┼───┼───┤ │ + │ + * │ 5 │ 6 │ 7 │ │ │ + * ├───┼───┼───┤ ├───┤ + * │ 1 │ 2 │ 3 │ │ - │ + * ├───┼───┼───┤ ├───┤ + * │ALT│ 0 │ . │ │Bs │ + * └───┴───┴───┘ └───┘ + */ + + [3] = LAYOUT_all( + KC_PENT, KC_LEFT, KC_PSLS, + KC_RGHT, KC_PAST, + + KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_P4, KC_P5, KC_P6, + KC_P1, KC_P2, KC_P3, KC_PMNS, + KC_LALT, KC_P0, KC_PDOT, KC_BSPC + ) +}; diff --git a/keyboards/sinpad20/keymaps/via/rules.mk b/keyboards/sinpad20/keymaps/via/rules.mk new file mode 100644 index 0000000000..8c4c035c8c --- /dev/null +++ b/keyboards/sinpad20/keymaps/via/rules.mk @@ -0,0 +1,3 @@ +VIA_ENABLE = yes +VIAL_ENABLE = yes +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/sinpad20/keymaps/via/sinpad20.json b/keyboards/sinpad20/keymaps/via/sinpad20.json new file mode 100644 index 0000000000..e14fb86d82 --- /dev/null +++ b/keyboards/sinpad20/keymaps/via/sinpad20.json @@ -0,0 +1,69 @@ +{ + "layouts": { + "keymap": [ + [ + { + "w": 2, + "h": 2 + }, + "2,3", + { + "x": 0.25 + }, + "0,2", + "0,3" + ], + [ + { + "x": 2.25 + }, + "1,2", + "1,3" + ], + [ + { + "y": 0.25 + }, + "2,0", + "2,1", + "2,2", + { + "x": 0.25, + "h": 2 + }, + "3,3" + ], + [ + "3,0", + "3,1", + "3,2" + ], + [ + "4,0", + "4,1", + "4,2", + { + "x": 0.25 + }, + "4,3" + ], + [ + "5,0", + "5,1", + "5,2", + { + "x": 0.25 + }, + "5,3" + ] + ] + }, + "name": "sinpad20", + "vendorId": "0xCEE9", + "productId": "0x0001", + "lighting": "none", + "matrix": { + "rows": 6, + "cols": 4 + } +} \ No newline at end of file diff --git a/keyboards/sinpad20/keymaps/vial/config.h b/keyboards/sinpad20/keymaps/vial/config.h new file mode 100644 index 0000000000..b4ade2808f --- /dev/null +++ b/keyboards/sinpad20/keymaps/vial/config.h @@ -0,0 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#pragma once + +#define VIAL_KEYBOARD_UID {0xA6, 0x9A, 0x51, 0x3D, 0xF9, 0x02, 0x5C, 0x12} + +#define VIAL_UNLOCK_COMBO_ROWS { 5, 5 } + +#define VIAL_UNLOCK_COMBO_COLS { 0, 3 } diff --git a/keyboards/sinpad20/keymaps/vial/keymap.c b/keyboards/sinpad20/keymaps/vial/keymap.c new file mode 100644 index 0000000000..9d7c4c1f3b --- /dev/null +++ b/keyboards/sinpad20/keymaps/vial/keymap.c @@ -0,0 +1,108 @@ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───────┐ ┌───┬───┐ + * │ │ │ < │ / │ + * │ Ent │ ├───┼───┤ + * │ │ │ > │ * │ + * └───────┘ └───┴───┘ + * ┌───┬───┬───┐ ┌───┐ + * │ 7 │ 8 │ 9 │ │ │ + * ├───┼───┼───┤ │ + │ + * │ 5 │ 6 │ 7 │ │ │ + * ├───┼───┼───┤ ├───┤ + * │ 1 │ 2 │ 3 │ │ - │ + * ├───┼───┼───┤ ├───┤ + * │ALT│ 0 │ . │ │Bs │ + * └───┴───┴───┘ └───┘ + */ + + [0] = LAYOUT_all( + KC_PENT, KC_LEFT, KC_PSLS, + KC_RGHT, KC_PAST, + + KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_P4, KC_P5, KC_P6, + KC_P1, KC_P2, KC_P3, KC_PMNS, + KC_LALT, KC_P0, KC_PDOT, KC_BSPC + ), + /* + * ┌───────┐ ┌───┬───┐ + * │ │ │ < │ / │ + * │ Ent │ ├───┼───┤ + * │ │ │ > │ * │ + * └───────┘ └───┴───┘ + * ┌───┬───┬───┐ ┌───┐ + * │ 7 │ 8 │ 9 │ │ │ + * ├───┼───┼───┤ │ + │ + * │ 5 │ 6 │ 7 │ │ │ + * ├───┼───┼───┤ ├───┤ + * │ 1 │ 2 │ 3 │ │ - │ + * ├───┼───┼───┤ ├───┤ + * │ALT│ 0 │ . │ │Bs │ + * └───┴───┴───┘ └───┘ + */ + + [1] = LAYOUT_all( + KC_PENT, KC_LEFT, KC_PSLS, + KC_RGHT, KC_PAST, + + KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_P4, KC_P5, KC_P6, + KC_P1, KC_P2, KC_P3, KC_PMNS, + KC_LALT, KC_P0, KC_PDOT, KC_BSPC + ), + /* + * ┌───────┐ ┌───┬───┐ + * │ │ │ < │ / │ + * │ Ent │ ├───┼───┤ + * │ │ │ > │ * │ + * └───────┘ └───┴───┘ + * ┌───┬───┬───┐ ┌───┐ + * │ 7 │ 8 │ 9 │ │ │ + * ├───┼───┼───┤ │ + │ + * │ 5 │ 6 │ 7 │ │ │ + * ├───┼───┼───┤ ├───┤ + * │ 1 │ 2 │ 3 │ │ - │ + * ├───┼───┼───┤ ├───┤ + * │ALT│ 0 │ . │ │Bs │ + * └───┴───┴───┘ └───┘ + */ + + [2] = LAYOUT_all( + KC_PENT, KC_LEFT, KC_PSLS, + KC_RGHT, KC_PAST, + + KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_P4, KC_P5, KC_P6, + KC_P1, KC_P2, KC_P3, KC_PMNS, + KC_LALT, KC_P0, KC_PDOT, KC_BSPC + ), + /* + * ┌───────┐ ┌───┬───┐ + * │ │ │ < │ / │ + * │ Ent │ ├───┼───┤ + * │ │ │ > │ * │ + * └───────┘ └───┴───┘ + * ┌───┬───┬───┐ ┌───┐ + * │ 7 │ 8 │ 9 │ │ │ + * ├───┼───┼───┤ │ + │ + * │ 5 │ 6 │ 7 │ │ │ + * ├───┼───┼───┤ ├───┤ + * │ 1 │ 2 │ 3 │ │ - │ + * ├───┼───┼───┤ ├───┤ + * │ALT│ 0 │ . │ │Bs │ + * └───┴───┴───┘ └───┘ + */ + + [3] = LAYOUT_all( + KC_PENT, KC_LEFT, KC_PSLS, + KC_RGHT, KC_PAST, + + KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_P4, KC_P5, KC_P6, + KC_P1, KC_P2, KC_P3, KC_PMNS, + KC_LALT, KC_P0, KC_PDOT, KC_BSPC + ) +}; diff --git a/keyboards/sinpad20/keymaps/vial/rules.mk b/keyboards/sinpad20/keymaps/vial/rules.mk new file mode 100644 index 0000000000..8c4c035c8c --- /dev/null +++ b/keyboards/sinpad20/keymaps/vial/rules.mk @@ -0,0 +1,3 @@ +VIA_ENABLE = yes +VIAL_ENABLE = yes +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/sinpad20/keymaps/vial/vial.json b/keyboards/sinpad20/keymaps/vial/vial.json new file mode 100644 index 0000000000..e14fb86d82 --- /dev/null +++ b/keyboards/sinpad20/keymaps/vial/vial.json @@ -0,0 +1,69 @@ +{ + "layouts": { + "keymap": [ + [ + { + "w": 2, + "h": 2 + }, + "2,3", + { + "x": 0.25 + }, + "0,2", + "0,3" + ], + [ + { + "x": 2.25 + }, + "1,2", + "1,3" + ], + [ + { + "y": 0.25 + }, + "2,0", + "2,1", + "2,2", + { + "x": 0.25, + "h": 2 + }, + "3,3" + ], + [ + "3,0", + "3,1", + "3,2" + ], + [ + "4,0", + "4,1", + "4,2", + { + "x": 0.25 + }, + "4,3" + ], + [ + "5,0", + "5,1", + "5,2", + { + "x": 0.25 + }, + "5,3" + ] + ] + }, + "name": "sinpad20", + "vendorId": "0xCEE9", + "productId": "0x0001", + "lighting": "none", + "matrix": { + "rows": 6, + "cols": 4 + } +} \ No newline at end of file diff --git a/keyboards/sinpad20/readme.md b/keyboards/sinpad20/readme.md new file mode 100644 index 0000000000..8a8be473e2 --- /dev/null +++ b/keyboards/sinpad20/readme.md @@ -0,0 +1,27 @@ +# sinpad20 + +![sinpad20](https://i.imgur.com/RZzWVGe.png) + +https://github.com/CountKeepo/sinpad20 + +* Keyboard Maintainer: [Count Keepo](https://github.com/CountKeepo) +* Hardware Supported: *Pro Micro* +* Hardware Availability: https://github.com/CountKeepo/sinpad20 + +Make example for this keyboard (after setting up your build environment): + + make sinpad20:default + +Flashing example for this keyboard: + + make sinpad20: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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/sinpad20/rules.mk b/keyboards/sinpad20/rules.mk new file mode 100644 index 0000000000..6e7633bfe0 --- /dev/null +++ b/keyboards/sinpad20/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank