From b13f1a7bba73de1dbbc5435c5f9439cef2c8c8f9 Mon Sep 17 00:00:00 2001 From: jcshumpert Date: Wed, 24 Sep 2025 15:08:29 -0400 Subject: [PATCH] porting magnus175 hotswap --- .../magnus/m75h/keymaps/vial/config.h | 9 + .../magnus/m75h/keymaps/vial/keymap.c | 35 +++ .../magnus/m75h/keymaps/vial/rules.mk | 4 + .../magnus/m75h/keymaps/vial/vial.json | 227 ++++++++++++++++++ 4 files changed, 275 insertions(+) create mode 100644 keyboards/smithrune/magnus/m75h/keymaps/vial/config.h create mode 100644 keyboards/smithrune/magnus/m75h/keymaps/vial/keymap.c create mode 100644 keyboards/smithrune/magnus/m75h/keymaps/vial/rules.mk create mode 100644 keyboards/smithrune/magnus/m75h/keymaps/vial/vial.json diff --git a/keyboards/smithrune/magnus/m75h/keymaps/vial/config.h b/keyboards/smithrune/magnus/m75h/keymaps/vial/config.h new file mode 100644 index 0000000000..c44f1da527 --- /dev/null +++ b/keyboards/smithrune/magnus/m75h/keymaps/vial/config.h @@ -0,0 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#pragma once + +#define VIAL_KEYBOARD_UID {0x76, 0x50, 0x4D, 0xA1, 0xB0, 0xAF, 0xDE, 0x6C} + +// Esc + Enter +#define VIAL_UNLOCK_COMBO_ROWS { 0, 3 } +#define VIAL_UNLOCK_COMBO_COLS { 0, 13 } \ No newline at end of file diff --git a/keyboards/smithrune/magnus/m75h/keymaps/vial/keymap.c b/keyboards/smithrune/magnus/m75h/keymaps/vial/keymap.c new file mode 100644 index 0000000000..3dc786a62c --- /dev/null +++ b/keyboards/smithrune/magnus/m75h/keymaps/vial/keymap.c @@ -0,0 +1,35 @@ +/* Copyright 2023 Gondolindrim + * + * 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = LAYOUT( /* Base */ + KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_F13 , + KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC, KC_INS, + 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_RBRC, KC_BSLS, KC_PGUP, + KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_PGDN, + KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT +), +[1] = LAYOUT( /* Base */ + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS +) +}; diff --git a/keyboards/smithrune/magnus/m75h/keymaps/vial/rules.mk b/keyboards/smithrune/magnus/m75h/keymaps/vial/rules.mk new file mode 100644 index 0000000000..b739220324 --- /dev/null +++ b/keyboards/smithrune/magnus/m75h/keymaps/vial/rules.mk @@ -0,0 +1,4 @@ +VIA_ENABLE = yes +VIAL_ENABLE = yes +LTO_ENABLE = yes +KEY_OVERRIDE_ENABLE = no \ No newline at end of file diff --git a/keyboards/smithrune/magnus/m75h/keymaps/vial/vial.json b/keyboards/smithrune/magnus/m75h/keymaps/vial/vial.json new file mode 100644 index 0000000000..4c7e9b0c57 --- /dev/null +++ b/keyboards/smithrune/magnus/m75h/keymaps/vial/vial.json @@ -0,0 +1,227 @@ +{ + "name": "SnR Magnus M75H", + "vendorId": "0x8384", + "productId": "0x1676", + "matrix": { + "rows": 11, + "cols": 15 + }, + "keycodes": [ + "qmk_lighting" + ], + "menus": [ + "qmk_rgblight" + ], + "layouts": { + "labels": [ + "Split backspace" + ], + "keymap": [ + [ + { + "x": 2.5, + "c": "#777777" + }, + "0,0", + { + "x": 0.25, + "c": "#cccccc" + }, + "0,1", + "0,2", + "0,3", + "0,4", + { + "x": 0.25 + }, + "0,5", + "0,6", + "0,7", + "0,8", + { + "x": 0.25 + }, + "0,9", + "0,10", + "0,11", + "0,12", + { + "x": 0.25 + }, + "0,13" + ], + [ + { + "y": 0.5, + "x": 2.5 + }, + "1,0", + "1,1", + "1,2", + "1,3", + "1,4", + "1,5", + "1,6", + "6,7", + "6,8", + "6,9", + "6,10", + "6,11", + "6,12", + { + "c": "#aaaaaa", + "w": 2 + }, + "6,13\n\n\n0,0", + { + "x": 0.25, + "c": "#cccccc" + }, + "7,14", + { + "x": 3.25 + }, + "6,13\n\n\n0,1", + "6,14\n\n\n0,1" + ], + [ + { + "x": 2.5, + "c": "#aaaaaa", + "w": 1.5 + }, + "2,0", + { + "c": "#cccccc" + }, + "2,1", + "2,2", + "2,3", + "2,4", + "2,5", + "7,6", + "7,7", + "7,8", + "7,9", + "7,10", + "7,11", + "7,12", + { + "w": 1.5 + }, + "7,13", + { + "x": 0.25 + }, + "8,14" + ], + [ + { + "x": 2.5, + "c": "#aaaaaa", + "w": 1.75 + }, + "3,0", + { + "c": "#cccccc" + }, + "3,1", + "3,2", + "3,3", + "3,4", + "8,5", + "8,6", + "8,7", + "8,8", + "8,9", + "8,10", + "8,11", + { + "c": "#777777", + "w": 2.25 + }, + "8,13", + { + "x": 0.25, + "c": "#cccccc" + }, + "9,13" + ], + [ + { + "x": 2.5, + "c": "#aaaaaa", + "w": 2.25 + }, + "4,0", + { + "c": "#cccccc" + }, + "4,2", + "4,3", + "4,4", + "9,5", + "9,6", + "9,7", + "9,8", + "9,9", + "9,10", + "9,11", + { + "c": "#aaaaaa", + "w": 1.75 + }, + "9,12" + ], + [ + { + "y": -0.75, + "x": 16.75, + "c": "#cccccc" + }, + "9,14" + ], + [ + { + "y": -0.25, + "x": 2.5, + "c": "#aaaaaa", + "w": 1.25 + }, + "10,0", + { + "w": 1.25 + }, + "10,1", + { + "w": 1.25 + }, + "10,2", + { + "c": "#cccccc", + "w": 6.25 + }, + "5,6", + { + "c": "#aaaaaa", + "w": 1.25 + }, + "5,10", + { + "w": 1.25 + }, + "5,11" + ], + [ + { + "y": -0.75, + "x": 15.75, + "c": "#cccccc" + }, + "5,12", + "5,13", + "5,14" + ] + ] + } +}