Explorar el Código

[Keyboard] Add mntre_v3 (#22739)

Habib hace 2 años
padre
commit
5c84d935f9

+ 120 - 0
keyboards/mntre_v3/info.json

@@ -0,0 +1,120 @@
+{
+    "keyboard_name": "MNT Reform Keyboard 3.0",
+    "manufacturer": "MNT Research GmbH",
+    "url": "https://shop.mntre.com/products/mnt-reform-keyboard-30",
+    "maintainer": "Habibmuhd",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x1302",
+        "device_version": "0.0.2"
+    },
+    "matrix_pins": {
+        "cols": ["D5", "F7", "E6", "C7", "B3", "B2", "B1", "B0", "F0", "F1", "F4", "F5", "F6", "C6"],
+        "rows": ["B6", "B5", "B4", "D7", "D6", "D4"]
+    },
+    "diode_direction": "COL2ROW",
+    "backlight": {
+        "pin": "B7",
+        "max_brightness": 84
+    },
+	"features": {
+        "bootmagic": true,
+        "extrakey": true,
+        "mousekey": true,
+        "backlight": true,
+        "oled": true
+    },
+    "processor": "atmega32u4",
+    "bootloader": "atmel-dfu",
+    "layouts": {
+        "LAYOUT": {
+            "layout": [
+                {"matrix": [0, 0], "x": 0, "y": 0},
+                {"matrix": [0, 1], "x": 1, "y": 0},
+                {"matrix": [0, 2], "x": 2, "y": 0},
+                {"matrix": [0, 3], "x": 3, "y": 0},
+                {"matrix": [0, 4], "x": 4, "y": 0},
+                {"matrix": [0, 5], "x": 5, "y": 0},
+                {"matrix": [0, 6], "x": 6, "y": 0},
+                {"matrix": [0, 7], "x": 7, "y": 0},
+                {"matrix": [0, 8], "x": 8, "y": 0},
+                {"matrix": [0, 9], "x": 9, "y": 0},
+                {"matrix": [0, 10], "x": 10, "y": 0},
+                {"matrix": [0, 11], "x": 11, "y": 0},
+                {"matrix": [0, 12], "x": 12, "y": 0},
+                {"matrix": [0, 13], "x": 13, "y": 0, "w": 1.5},
+
+                {"matrix": [1, 0], "x": 0, "y": 1},
+                {"matrix": [1, 1], "x": 1, "y": 1},
+                {"matrix": [1, 2], "x": 2, "y": 1},
+                {"matrix": [1, 3], "x": 3, "y": 1},
+                {"matrix": [1, 4], "x": 4, "y": 1},
+                {"matrix": [1, 5], "x": 5, "y": 1},
+                {"matrix": [1, 6], "x": 6, "y": 1},
+                {"matrix": [1, 7], "x": 7, "y": 1},
+                {"matrix": [1, 8], "x": 8, "y": 1},
+                {"matrix": [1, 9], "x": 9, "y": 1},
+                {"matrix": [1, 10], "x": 10, "y": 1},
+                {"matrix": [1, 11], "x": 11, "y": 1},
+                {"matrix": [1, 12], "x": 12, "y": 1},
+                {"matrix": [1, 13], "x": 13, "y": 1, "w": 1.5},
+
+                {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
+                {"matrix": [2, 1], "x": 1.5, "y": 2},
+                {"matrix": [2, 2], "x": 2.5, "y": 2},
+                {"matrix": [2, 3], "x": 3.5, "y": 2},
+                {"matrix": [2, 4], "x": 4.5, "y": 2},
+                {"matrix": [2, 5], "x": 5.5, "y": 2},
+                {"matrix": [2, 6], "x": 6.5, "y": 2},
+                {"matrix": [2, 7], "x": 7.5, "y": 2},
+                {"matrix": [2, 8], "x": 8.5, "y": 2},
+                {"matrix": [2, 9], "x": 9.5, "y": 2},
+                {"matrix": [2, 10], "x": 10.5, "y": 2},
+                {"matrix": [2, 11], "x": 11.5, "y": 2},
+                {"matrix": [2, 12], "x": 12.5, "y": 2},
+                {"matrix": [2, 13], "x": 13.5, "y": 2},
+
+                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
+                {"matrix": [3, 1], "x": 1, "y": 3},
+                {"matrix": [3, 2], "x": 2, "y": 3},
+                {"matrix": [3, 3], "x": 3, "y": 3},
+                {"matrix": [3, 4], "x": 4, "y": 3},
+                {"matrix": [3, 5], "x": 5, "y": 3},
+                {"matrix": [3, 6], "x": 6, "y": 3},
+                {"matrix": [3, 7], "x": 7, "y": 3},
+                {"matrix": [3, 8], "x": 8, "y": 3},
+                {"matrix": [3, 9], "x": 9, "y": 3},
+                {"matrix": [3, 10], "x": 10, "y": 3},
+                {"matrix": [3, 11], "x": 11, "y": 3},
+                {"matrix": [3, 12], "x": 12, "y": 3, "w": 1.75},
+
+                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+                {"matrix": [4, 1], "x": 1.5, "y": 4},
+                {"matrix": [4, 2], "x": 2.5, "y": 4},
+                {"matrix": [4, 3], "x": 3.5, "y": 4},
+                {"matrix": [4, 4], "x": 4.5, "y": 4},
+                {"matrix": [4, 5], "x": 5.5, "y": 4},
+                {"matrix": [4, 6], "x": 6.5, "y": 4},
+                {"matrix": [4, 7], "x": 7.5, "y": 4},
+                {"matrix": [4, 8], "x": 8.5, "y": 4},
+                {"matrix": [4, 9], "x": 9.5, "y": 4},
+                {"matrix": [4, 10], "x": 10.5, "y": 4},
+                {"matrix": [4, 11], "x": 11.5, "y": 4},
+                {"matrix": [4, 12], "x": 12.5, "y": 4},
+                {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.25},
+
+                {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
+                {"matrix": [5, 1], "x": 1.5, "y": 5, "w": 1.5},
+                {"matrix": [5, 2], "x": 3, "y": 5, "w": 1.5},
+                {"matrix": [5, 3], "x": 4.5, "y": 5, "w": 1.5},
+                {"matrix": [5, 4], "x": 6, "y": 5,"w": 2},
+                {"matrix": [5, 5], "x": 7, "y": 5,"w": 1.5},
+                {"matrix": [5, 6], "x": 8, "y": 5},
+                {"matrix": [5, 7], "x": 9.5, "y": 5},
+                {"matrix": [5, 8], "x": 10.5, "y": 5},
+                {"matrix": [5, 9], "x": 11.5, "y": 5},
+                {"matrix": [5, 10], "x": 12.5, "y": 5,"w": 1.25}
+            ]
+        }
+    }
+}

+ 31 - 0
keyboards/mntre_v3/keymaps/default/keymap.c

@@ -0,0 +1,31 @@
+// Copyright 2021 Cedric Vincent (@cdc-mkb)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+    _BASE,
+    _FN,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+    /* Base */
+    [_BASE] = LAYOUT(
+        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,      MO(_FN),
+        KC_GRAVE,  KC_1,    KC_2,     KC_3,     KC_4,    KC_5,    KC_6,     KC_7,    KC_8,      KC_9,     KC_0,    KC_MINUS,    KC_EQUAL,    KC_BSPC,
+        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_LCTL,   KC_A,    KC_S,     KC_D,     KC_F,    KC_G,    KC_H,     KC_J,    KC_K,      KC_L,     KC_SCLN, KC_QUOTE,    KC_ENTER,
+        KC_LSFT,   KC_DEL,  KC_Z,     KC_X,     KC_C,    KC_V,    KC_B,     KC_N,    KC_M,      KC_COMMA, KC_DOT,  KC_SLASH,    KC_UP,       KC_RSFT,
+        KC_RGUI,   KC_LGUI, KC_LALT,  KC_SPACE, KC_SPACE, KC_SPACE, KC_RALT, KC_RCTL, KC_LEFT,  KC_DOWN, KC_RIGHT
+    ),
+
+    [_FN] = LAYOUT(
+        _______, BL_DOWN,  BL_UP,   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+        _______, _______,  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+        _______, _______,  _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+        _______, _______,  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 
+        _______, _______,  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+        _______, _______,  _______, _______, _______, _______, _______, _______, _______, _______, _______
+	),
+};

+ 21 - 0
keyboards/mntre_v3/keymaps/default/readme.md

@@ -0,0 +1,21 @@
+# Default layout of MNT Reform USB Keyboard 3.0 (Standalone)
+
+This is exactly the same layout as in the original firmware.
+Backlight level can be decreased and increased using Fn+F1 and Fn+F2
+respectively.
+
+  ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
+  ┃  Esc │  F1  │  F2  │  F3  │  F4  │  F5  │  F6  │  F7  │  F8  │  F9  │  F10 │  F11 │  F12 │    Fn    ┃
+  ┠──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────────┨
+  ┃  `~  │  1!  │  2@  │  3#  │  4$  │  5%  │  6^  │  7&  │  8*  │  9(  │  0)  │  -_  │  =+  │ Backspace┃
+  ┠──────┴───┬──┴───┬──┴───┬──┴───┬──┴───┬──┴───┬──┴───┬──┴───┬──┴───┬──┴───┬──┴───┬──┴───┬──┴───┬──────┨
+  ┃    Tab   │   Q  │   W  │   E  │   R  │   T  │   Y  │   U  │   I  │   O  │   P  │  [{  │  ]}  │  \|  ┃
+  ┠──────────┴──┬───┴──┬───┴──┬───┴──┬───┴──┬───┴──┬───┴──┬───┴──┬───┴──┬───┴──┬───┴──┬───┴──┬───┴──────┨
+  ┃    LCtrl    │   A  │   S  │   D  │   F  │   G  │   H  │   J  │   K  │   L  │  ;:  │  '"  │   Enter  ┃
+  ┠─────────┬───┴──┬───┴──┬───┴──┬───┴──┬───┴──┬───┴──┬───┴──┬───┴──┬───┴──┬───┴──┬───┴──┬───┴──┬───────┨
+  ┃  LShift │  Del │   Z  │   X  │   C  │   V  │   B  │   N  │   M  │  ,<  │  .>  │  /?  │  Up  │ RShift┃
+  ┠─────────┼──────┴──┬───┴──────┼──────┴──┬───┴──────┴──┬───┴──────┼──────┼──────┼──────┼──────┼───────┨
+  ┃   RGUI  │   LGUI  │   ALT    │   Space │     Space   │  Space   │ ALT │ RCtrl │ Left │ Down │  Right┃
+  ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
+
+

+ 19 - 0
keyboards/mntre_v3/mntre.c

@@ -0,0 +1,19 @@
+// Copyright 2021 Cedric Vincent (@cdc-mkb)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "quantum.h"
+
+#ifdef OLED_ENABLE
+bool oled_task_kb(void) {
+    if (!oled_task_user()) { return false; }
+
+    static const char PROGMEM qmk_logo[] = {
+        0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94,
+        0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4,
+        0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00
+    };
+
+    oled_write_P(qmk_logo, false);
+    return true;
+}
+#endif

+ 27 - 0
keyboards/mntre_v3/readme.md

@@ -0,0 +1,27 @@
+# MNT Reform USB Keyboard (Standalone)
+
+![MNT Reform USB Keyboard (Standalone)](https://i.imgur.com/pXDDan6h.jpeg)
+
+A compact and slim mechanical keyboard designed for comfort and portability.
+
+* Keyboard QMK port Maintainer: [cdc-mkb](https://github.com/cdc-mkb)
+* Hardware Supported: MNT Reform USB Keyboard (Standalone)
+* Hardware Availability: https://shop.mntre.com/products/mnt-reform-keyboard-30
+
+Make example for this keyboard (after setting up your build environment):
+
+    make mntre_v3:default
+
+Flashing example for this keyboard:
+
+    make mntre_v3: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 "Esc" key and plug in the keyboard
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available (default: "Circle" + "R")
+* **Physical reset button**: Remove the keyboard’s frame and toggle the programming DIP switch SW84 on the keyboard to “ON”.  Then press the reset button SW83.

+ 1 - 0
keyboards/mntre_v3/rules.mk

@@ -0,0 +1 @@
+# This file intentionally left blank