From 82cccb971c1e5e111e457b9ed22d5483ba9eb546 Mon Sep 17 00:00:00 2001 From: Kyle McCreery Date: Tue, 17 May 2022 21:10:14 -0400 Subject: [PATCH] working version of vial firmware for puckbuddy --- .../mechwild/puckbuddy/keymaps/vial/config.h | 10 +++ .../mechwild/puckbuddy/keymaps/vial/keymap.c | 67 +++++++++++++++++++ .../mechwild/puckbuddy/keymaps/vial/rules.mk | 6 ++ .../mechwild/puckbuddy/keymaps/vial/vial.json | 60 +++++++++++++++++ 4 files changed, 143 insertions(+) create mode 100644 keyboards/mechwild/puckbuddy/keymaps/vial/config.h create mode 100644 keyboards/mechwild/puckbuddy/keymaps/vial/keymap.c create mode 100644 keyboards/mechwild/puckbuddy/keymaps/vial/rules.mk create mode 100644 keyboards/mechwild/puckbuddy/keymaps/vial/vial.json diff --git a/keyboards/mechwild/puckbuddy/keymaps/vial/config.h b/keyboards/mechwild/puckbuddy/keymaps/vial/config.h new file mode 100644 index 0000000000..02a278d085 --- /dev/null +++ b/keyboards/mechwild/puckbuddy/keymaps/vial/config.h @@ -0,0 +1,10 @@ +// Copyright 2022 Kyle McCreery (@kylemccreery) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* VIAL Specific definitions */ +#define VIAL_KEYBOARD_UID {0x5C, 0x46, 0x5D, 0x32, 0xF6, 0xD3, 0x42, 0xCA} +#define VIAL_UNLOCK_COMBO_ROWS { 0, 0 } +#define VIAL_UNLOCK_COMBO_COLS { 0, 2 } +#define VIAL_ENCODER_DEFAULT { KC_VOLD, KC_VOLU, KC_PGDN, KC_PGUP, USER01, USER00, USER04, USER03, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS} diff --git a/keyboards/mechwild/puckbuddy/keymaps/vial/keymap.c b/keyboards/mechwild/puckbuddy/keymaps/vial/keymap.c new file mode 100644 index 0000000000..d81ec35472 --- /dev/null +++ b/keyboards/mechwild/puckbuddy/keymaps/vial/keymap.c @@ -0,0 +1,67 @@ +// Copyright 2022 Kyle McCreery (@kylemccreery) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +//void keyboard_post_init_user(void) { + // Customise these values to desired behaviour + //debug_enable=true; + //debug_matrix=true; + //debug_keyboard=true; + //debug_mouse=true; +//} + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE, + _FN1, + _FN2, + _FN3 +}; +/* Physical Layout: + * /-------------------\ + * |ENC| 1 | 2 | 3 |ENC| + * |---+---'---'---+---| + * | 4 | | 5 | + * |---| |---| + * | 6 | | 7 | + * |---| |---| + * | 8 | | 9 | + * \-----,---,---,-----/ + * | A | B | C | D | + * \---'---'---'---/ + * + * Keymap Layout: + * ENC, 1, 2, 3, ENC, + * 4, 5, + * 6, 7, + * 8, A, B, C, D, 9, + * + */ +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [_BASE] = LAYOUT( + KC_MUTE, MO(_FN3), MO(_FN2), MO(_FN1), LGUI(KC_D), + MO(_FN2), KC_HOME, + MO(_FN3), KC_END, + KC_BTN3, KC_BTN1, KC_BTN2, KC_BTN2, KC_BTN1, DPI_FINE + ), + [_FN1] = LAYOUT( + RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, TAP_TOG, + DPI_UP, TAP_UP, + DPI_DN, TAP_DN, + KC_TRNS, KC_HOME, KC_PGUP, KC_PGDN, KC_END, KC_TRNS + ), + [_FN2] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, + KC_TRNS, RGB_MOD, + KC_TRNS, RGB_RMOD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [_FN3] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, + KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/mechwild/puckbuddy/keymaps/vial/rules.mk b/keyboards/mechwild/puckbuddy/keymaps/vial/rules.mk new file mode 100644 index 0000000000..01f8e712df --- /dev/null +++ b/keyboards/mechwild/puckbuddy/keymaps/vial/rules.mk @@ -0,0 +1,6 @@ +# Bootloader selection +VIA_ENABLE = yes +VIAL_ENABLE = yes +VIAL_ENCODERS_ENABLE = yes + +LTO_ENABLE = yes diff --git a/keyboards/mechwild/puckbuddy/keymaps/vial/vial.json b/keyboards/mechwild/puckbuddy/keymaps/vial/vial.json new file mode 100644 index 0000000000..c2f85af098 --- /dev/null +++ b/keyboards/mechwild/puckbuddy/keymaps/vial/vial.json @@ -0,0 +1,60 @@ +{ + "name": "MechWild PuckBuddy", + "vendorId": "0x6D77", + "productId": "0x170F", + "lighting": "qmk_rgblight", + "matrix": { "rows": 4, "cols": 4 }, + "customKeycodes": [ + { + "name": "DPI+", + "title": "Increase the DPI of the touchpad.", + "shortName": "DPI_UP" + }, + { + "name": "DPI-", + "title": "Decrease the DPI of the touchpad.", + "shortName": "DPI_DN" + }, + { + "name": "FINE", + "title": "Temporarily lower the DPI to minimum while held.", + "shortName": "DPI_FINE" + }, + { + "name": "TAP+", + "title": "Increase the tapping term.", + "shortname": "TAP_UP" + }, + { + "name": "TAP-", + "title": "Decrease the tapping term.", + "shortname": "TAP_DN" + }, + { + "name": "TAP_ON", + "title": "Tap clicking on.", + "shortname": "TAP_ON" + }, + { + "name": "TP_OFF", + "title": "Tap clicking off.", + "shortname": "TAP_OFF" + }, + { + "name": "TP_TG", + "title": "Toggle tap clicking being on or off.", + "shortname": "TAP_TOG" + } + ], + "layouts": { + "keymap": [ + ["0,1\n\n\n\n\n\n\n\n\ne",{"x":6.5},"1,1\n\n\n\n\n\n\n\n\ne"], + [{"y":-0.5,"x":1.25},"0,0",{"x":0.5},"0,1","1,1","2,1",{"x":0.5},"0,2"], + [{"y":-0.5},"0,0\n\n\n\n\n\n\n\n\ne",{"x":6.5},"1,0\n\n\n\n\n\n\n\n\ne"], + [{"y":-0.25,"x":1.25},"1,0",{"x":4},"1,2"], + [{"x":1.25},"2,0",{"x":4},"2,2"], + [{"x":1.25},"3,0",{"x":4},"3,2"], + [{"y":0.25,"x":2.25},"0,3","1,3","2,3","3,3"] + ] + } +}