From 6a0bba7b419be952f84b64807ac9ed16fddbcfab Mon Sep 17 00:00:00 2001 From: steven-y-e Date: Thu, 2 Sep 2021 17:19:24 -0400 Subject: [PATCH] feat(alpspad): via compatibility --- .../handwired/alpspad/keymaps/via/keymap.c | 68 +++++++++++++++++++ .../handwired/alpspad/keymaps/via/readme.md | 1 + .../handwired/alpspad/keymaps/via/rules.mk | 1 + .../handwired/alpspad/keymaps/via/via.json | 38 +++++++++++ 4 files changed, 108 insertions(+) create mode 100644 keyboards/handwired/alpspad/keymaps/via/keymap.c create mode 100644 keyboards/handwired/alpspad/keymaps/via/readme.md create mode 100644 keyboards/handwired/alpspad/keymaps/via/rules.mk create mode 100644 keyboards/handwired/alpspad/keymaps/via/via.json diff --git a/keyboards/handwired/alpspad/keymaps/via/keymap.c b/keyboards/handwired/alpspad/keymaps/via/keymap.c new file mode 100644 index 0000000000..3d17e918cc --- /dev/null +++ b/keyboards/handwired/alpspad/keymaps/via/keymap.c @@ -0,0 +1,68 @@ +/* Copyright 2021 steven-y-e + * + * 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 . + */ +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE, + _FN, + _FN1, + _FN2 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ,-------------------. + * | NL | / | * | - | + * |----|----|----|----| + * | 7 | 8 | 9 | | + * |----|----|----| + | + * | 4 | 5 | 6 | | + * |----|----|----|----| + * | 1 | 2 | 3 | | + * |----|----|----| En | + * | 0 | . | | + * `-------------------' + */ + [_BASE] = LAYOUT( + KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_P4, KC_P5, KC_P6, + KC_P1, KC_P2, KC_P3, KC_PENT, + KC_P0, KC_PDOT + ), + [_FN] = LAYOUT( + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, + _______, _______, _______, _______, + _______, _______ + ), + [_FN1] = LAYOUT( + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, + _______, _______, _______, _______, + _______, _______ + ), + [_FN2] = LAYOUT( + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, + _______, _______, _______, _______, + _______, _______ + ) +}; diff --git a/keyboards/handwired/alpspad/keymaps/via/readme.md b/keyboards/handwired/alpspad/keymaps/via/readme.md new file mode 100644 index 0000000000..b2e0d2e4a6 --- /dev/null +++ b/keyboards/handwired/alpspad/keymaps/via/readme.md @@ -0,0 +1 @@ +# The via keymap for alpspad diff --git a/keyboards/handwired/alpspad/keymaps/via/rules.mk b/keyboards/handwired/alpspad/keymaps/via/rules.mk new file mode 100644 index 0000000000..1e5b99807c --- /dev/null +++ b/keyboards/handwired/alpspad/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/handwired/alpspad/keymaps/via/via.json b/keyboards/handwired/alpspad/keymaps/via/via.json new file mode 100644 index 0000000000..f603cd8125 --- /dev/null +++ b/keyboards/handwired/alpspad/keymaps/via/via.json @@ -0,0 +1,38 @@ +{ + "name": "alpspad", + "vendorId": "0xFEED", + "productId": "0x9021", + "lighting": "none", + "matrix": {"rows": 6, "cols": 3}, + "layouts": { + "keymap": [ + [ + "0,0", + "0,1", + "0,2", + "5,1" + ], + [ + "1,0", + "1,1", + "1,2", + {"h":2},"5,2" + ], + [ + "2,0", + "2,1", + "2,2" + ], + [ + "3,0", + "3,1", + "3,2", + {"h":2},"4,2" + ], + [ + {"w":2},"4,0", + "4,1" + ] + ] + } +}