From 572a35d9a25584daa7e95df26ea45784650f0b1f Mon Sep 17 00:00:00 2001
From: James Young <18669334+noroadsleft@users.noreply.github.com>
Date: Fri, 9 Jul 2021 02:40:59 -0700
Subject: [PATCH] Mechmini V1 Refactor (#13498)
---
keyboards/mechmini/v1/info.json | 49 ++++++++++++++-
.../mechmini/v1/keymaps/default/keymap.c | 59 ++++++++++---------
keyboards/mechmini/v1/v1.h | 44 +++++++-------
3 files changed, 98 insertions(+), 54 deletions(-)
diff --git a/keyboards/mechmini/v1/info.json b/keyboards/mechmini/v1/info.json
index d99f360942..722f8ed8dc 100644
--- a/keyboards/mechmini/v1/info.json
+++ b/keyboards/mechmini/v1/info.json
@@ -1,10 +1,57 @@
{
- "keyboard_name": "MechMini",
+ "keyboard_name": "MechMini v1",
"url": "",
"maintainer": "qmk",
"width": 12,
"height": 4,
"layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+
+ {"x":0, "y":1, "w":1.25},
+ {"x":1.25, "y":1},
+ {"x":2.25, "y":1},
+ {"x":3.25, "y":1},
+ {"x":4.25, "y":1},
+ {"x":5.25, "y":1},
+ {"x":6.25, "y":1},
+ {"x":7.25, "y":1},
+ {"x":8.25, "y":1},
+ {"x":9.25, "y":1},
+ {"x":10.25, "y":1, "w":1.75},
+
+ {"x":0, "y":2, "w":1.75},
+ {"x":1.75, "y":2},
+ {"x":2.75, "y":2},
+ {"x":3.75, "y":2},
+ {"x":4.75, "y":2},
+ {"x":5.75, "y":2},
+ {"x":6.75, "y":2},
+ {"x":7.75, "y":2},
+ {"x":8.75, "y":2},
+ {"x":9.75, "y":2, "w":1.25},
+ {"x":11, "y":2},
+
+ {"x":0, "y":3, "w":1.25},
+ {"x":1.25, "y":3},
+ {"x":2.25, "y":3},
+ {"x":3.25, "y":3, "w":6.25},
+ {"x":9.5, "y":3, "w":1.25},
+ {"x":10.75, "y":3, "w":1.25}
+ ]
+ },
"LAYOUT_split_space": {
"layout": [
{"x":0, "y":0},
diff --git a/keyboards/mechmini/v1/keymaps/default/keymap.c b/keyboards/mechmini/v1/keymaps/default/keymap.c
index f9e446064a..e0b746df9f 100644
--- a/keyboards/mechmini/v1/keymaps/default/keymap.c
+++ b/keyboards/mechmini/v1/keymaps/default/keymap.c
@@ -15,35 +15,36 @@ along with this program. If not, see .
#include QMK_KEYBOARD_H
-#define _BL 0 // base layer
-#define _FN1 1 // function layer 1
-#define _FN2 2 // function layer 2
-#define _FN3 3 // function layer 3
-#define _____ KC_TRNS
+enum layer_names {
+ _BL, // base layer
+ _NV, // navigation layer
+ _NP, // numbers and punctuation layer
+ _FN // function keys
+};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BL] = KEYMAP(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, MO(_FN2),
- KC_LCTL, KC_LGUI, KC_LALT, _____, KC_SPC, _____, MO(_FN1), MO(_FN3)
- ),
- [_FN1] = KEYMAP(
- KC_GRAVE, _____, KC_UP, KC_MUTE, KC_VOLD, KC_VOLU, KC_MRWD, KC_MPLY, KC_MFFD, KC_SLCK, KC_PAUS, KC_DEL,
- KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT, _____, _____, _____, KC_INS, KC_HOME, KC_PGUP, KC_PSCR,
- _____, _____, M(0), M(1), M(2), _____, _____, KC_END, KC_PGDN, _____, _____,
- _____, _____, _____, _____, _____, _____, _____, _____
- ),
- [_FN2] = KEYMAP(
- KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
- KC_CAPS, _____, _____, _____, _____, KC_LBRC, KC_RBRC, KC_BSLS, KC_MINS, KC_EQL, _____,
- _____, _____, _____, _____, _____, _____, _____, KC_SCLN, KC_QUOT, KC_SLSH, _____,
- _____, _____, _____, _____, _____, _____, _____, _____
- ),
- [_FN3] = KEYMAP(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- _____, M(3), M(4), M(5), _____, _____, _____, _____, _____, _____, _____,
- _____, M(6), _____, _____, _____, _____, _____, _____, _____, _____, _____,
- _____, _____, _____, _____, _____, _____, _____, _____
- )
+ [_BL] = LAYOUT(
+ KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, MO(_NP),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_NV), MO(_FN)
+ ),
+ [_NV] = LAYOUT(
+ KC_GRV, _______, KC_UP, KC_MUTE, KC_VOLD, KC_VOLU, KC_MRWD, KC_MPLY, KC_MFFD, KC_SLCK, KC_PAUS, KC_DEL,
+ KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, KC_PSCR,
+ _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, _______, _______,
+ _______, _______, _______, _______, _______, _______
+ ),
+ [_NP] = LAYOUT(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
+ KC_CAPS, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_BSLS, KC_MINS, KC_EQL, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_SCLN, KC_QUOT, KC_SLSH, _______,
+ _______, _______, _______, _______, _______, _______
+ ),
+ [_FN] = LAYOUT(
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______
+ )
};
diff --git a/keyboards/mechmini/v1/v1.h b/keyboards/mechmini/v1/v1.h
index 401eac85b7..526f12e410 100644
--- a/keyboards/mechmini/v1/v1.h
+++ b/keyboards/mechmini/v1/v1.h
@@ -15,38 +15,34 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
-#ifndef V1_H
-#define V2_H
+#pragma once
-#include "../mechmini.h"
-#include "keycode.h"
-#include "action.h"
-#include "quantum.h"
+#include "mechmini.h"
+
+#define ___ KC_NO
#define LAYOUT( \
- K03, K13, K23, K33, K43, K53, K26, KC6, KC7, K27, KA3, KB3, \
- K02, K12, K22, K32, K42, K52, K36, KD6, KD7, K37, KA2, \
- K01, K11, K21, K31, K41, K51, K46, KE6, KE7, K47, KA1, \
- K00, K10, K20, K56, K57, KB0, KC0, K66 \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \
+ K00, K01, K02, K05, K09, K0A \
) \
{ \
- { K00, K10, K20, K56, KC_NO, K57, KC_NO, KC_NO, KB0, KC0, K66, KC_NO }, \
- { K01, K11, K21, K31, K41, K51, K46, KE6, KE7, K47, KA1, KC_NO }, \
- { K02, K12, K22, K32, K42, K52, K36, KD6, KD7, K37, KA2, KC_NO }, \
- { K03, K13, K23, K33, K43, K53, K26, KC6, KC7, K27, KA3, KB3 } \
+ { K00, K01, K02, ___, ___, K05, ___, ___, ___, K09, K0A, ___ }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, ___ }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, ___ }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B } \
}
#define LAYOUT_split_space( \
- K03, K13, K23, K33, K43, K53, K26, KC6, KC7, K27, KA3, KB3, \
- K02, K12, K22, K32, K42, K52, K36, KD6, KD7, K37, KA2, \
- K01, K11, K21, K31, K41, K51, K46, KE6, KE7, K47, KA1, \
- K00, K10, K20, K56, K57, KB0, KC0, K66 \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \
+ K00, K01, K02, K03, K06, K08, K09, K0A \
) \
{ \
- { K00, K10, K20, K56, KC_NO, KC_NO, K57, KC_NO, KB0, KC0, K66, KC_NO }, \
- { K01, K11, K21, K31, K41, K51, K46, KE6, KE7, K47, KA1, KC_NO }, \
- { K02, K12, K22, K32, K42, K52, K36, KD6, KD7, K37, KA2, KC_NO }, \
- { K03, K13, K23, K33, K43, K53, K26, KC6, KC7, K27, KA3, KB3 } \
+ { K00, K01, K02, K03, ___, ___, K06, ___, K08, K09, K0A, ___ }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, ___ }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, ___ }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B } \
}
-
-#endif