Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[keyboard]add monsgeek M7 keyboard. #22956

Open
wants to merge 24 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 16 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
2670b84
add monsgeek/m7 keyboard!
jonylee1986 Jan 24, 2024
edd9a36
format-json
jonylee1986 Jan 24, 2024
65c587e
Update readme.md
jonylee1986 Jan 24, 2024
1771bf7
Update keyboards/monsgeek/m7/info.json
jonylee1986 Feb 19, 2024
48c652a
Update keyboards/monsgeek/m7/keymaps/default/keymap.c
jonylee1986 Feb 19, 2024
4dc3a05
Update keyboards/monsgeek/m7/readme.md
jonylee1986 Feb 19, 2024
374732c
Update keyboards/monsgeek/m7/keymaps/via/keymap.c
jonylee1986 Feb 19, 2024
b551c8b
Update keyboards/monsgeek/m7/info.json
jonylee1986 Feb 19, 2024
f87d10a
Update keyboards/monsgeek/m7/rules.mk
jonylee1986 Feb 19, 2024
249df58
Merge branch 'qmk:master' into hfdkb_m7
jonylee1986 Feb 19, 2024
3a76466
Update readme.md
jonylee1986 Feb 19, 2024
d4f6920
Merge branch 'qmk:master' into hfdkb_m7
jonylee1986 Feb 22, 2024
21decaf
Update keymap.c
jonylee1986 Mar 18, 2024
e6d4a20
Update m7.c
jonylee1986 Mar 18, 2024
624f1a8
Update readme.md
jonylee1986 Mar 19, 2024
b4daf80
Merge branch 'master' into hfdkb_m7
jonylee1986 Mar 19, 2024
37e32cf
Update m7.c
jonylee1986 May 15, 2024
a8506d5
Update m7.c
jonylee1986 May 15, 2024
7df6f24
Update keyboards/monsgeek/m7/config.h
jonylee1986 Jun 3, 2024
83e5327
Rename info.json to keyboard.json
jonylee1986 Jun 5, 2024
7e3fed6
Delete keyboards/monsgeek/m7/rules.mk
jonylee1986 Jun 5, 2024
279f0d1
Merge branch 'qmk:master' into hfdkb_m7
jonylee1986 Jul 24, 2024
d6e09ac
delete via keymap.
jonylee1986 Sep 20, 2024
397ecc5
Update keyboards/monsgeek/m7/readme.md
jonylee1986 Nov 12, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions keyboards/monsgeek/m7/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// Copyright 2024 jonylee@hfd (@jonylee1986)
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

/*
* Feature disable options
* These options are also useful to firmware size reduction.
*/

jonylee1986 marked this conversation as resolved.
Show resolved Hide resolved
/* I2C Config for LED Driver */
#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_GND
#define SNLED27351_I2C_ADDRESS_2 SNLED27351_I2C_ADDRESS_VDDIO
#define I2C1_CLOCK_SPEED 400000
#define I2C1_OPMODE OPMODE_I2C

/* SPI Config for spi flash*/
#define SPI_DRIVER SPIDQ
#define SPI_SCK_PIN B3
#define SPI_MOSI_PIN B5
#define SPI_MISO_PIN B4

#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN C12
11 changes: 11 additions & 0 deletions keyboards/monsgeek/m7/halconf.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
// Copyright 2024 jonylee@hfd (@jonylee1986)
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#define HAL_USE_I2C TRUE
#define HAL_USE_SPI TRUE
#define SPI_USE_WAIT TRUE
#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD

#include_next <halconf.h>
224 changes: 224 additions & 0 deletions keyboards/monsgeek/m7/info.json
jonylee1986 marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,224 @@
{
"manufacturer": "MonsGeek",
"keyboard_name": "m7",
"maintainer": "jonylee@hfd",
"bootloader": "wb32-dfu",
"diode_direction": "ROW2COL",
"eeprom": {
"driver": "wear_leveling",
"wear_leveling": {
"backing_size": 8192,
"driver": "spi_flash"
}
},
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
"rgb_matrix": true
},
"matrix_pins": {
"cols": ["C1", "C2", "C3", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "C4", "C5", "B0", "B1", "B2"],
"rows": ["C6", "C7", "C8", "C9", "A8"]
},
"processor": "WB32FQ95",
"rgb_matrix": {
"animations": {
"breathing": true,
"cycle_all": true,
"cycle_left_right": true,
"cycle_out_in": true,
"cycle_out_in_dual": true,
"cycle_pinwheel": true,
"cycle_spiral": true,
"cycle_up_down": true,
"dual_beacon": true,
"multisplash": true,
"rainbow_beacon": true,
"rainbow_moving_chevron": true,
"raindrops": true,
"solid_reactive": true,
"solid_reactive_cross": true,
"solid_reactive_simple": true,
"typing_heatmap": true
},
"driver": "snled27351",
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
{"matrix": [0, 1], "x": 13, "y": 0, "flags": 4},
{"matrix": [0, 2], "x": 27, "y": 0, "flags": 4},
{"matrix": [0, 3], "x": 41, "y": 0, "flags": 4},
{"matrix": [0, 4], "x": 55, "y": 0, "flags": 4},
{"matrix": [0, 5], "x": 68, "y": 0, "flags": 4},
{"matrix": [0, 6], "x": 82, "y": 0, "flags": 4},
{"matrix": [0, 7], "x": 96, "y": 0, "flags": 4},
{"matrix": [0, 8], "x": 110, "y": 0, "flags": 4},
{"matrix": [0, 9], "x": 124, "y": 0, "flags": 4},
{"matrix": [0, 10], "x": 137, "y": 0, "flags": 4},
{"matrix": [0, 11], "x": 151, "y": 0, "flags": 4},
{"matrix": [0, 12], "x": 165, "y": 0, "flags": 4},
{"matrix": [0, 13], "x": 179, "y": 0, "flags": 4},
{"matrix": [0, 14], "x": 210, "y": 0, "flags": 4},
{"matrix": [0, 15], "x": 224, "y": 0, "flags": 4},
{"matrix": [1, 0], "x": 0, "y": 16, "flags": 4},
{"matrix": [1, 1], "x": 20, "y": 16, "flags": 4},
{"matrix": [1, 2], "x": 34, "y": 16, "flags": 4},
{"matrix": [1, 3], "x": 48, "y": 16, "flags": 4},
{"matrix": [1, 4], "x": 62, "y": 16, "flags": 4},
{"matrix": [1, 5], "x": 75, "y": 16, "flags": 4},
{"matrix": [1, 6], "x": 89, "y": 16, "flags": 4},
{"matrix": [1, 7], "x": 103, "y": 16, "flags": 4},
{"matrix": [1, 8], "x": 117, "y": 16, "flags": 4},
{"matrix": [1, 9], "x": 130, "y": 16, "flags": 4},
{"matrix": [1, 10], "x": 144, "y": 16, "flags": 4},
{"matrix": [1, 11], "x": 158, "y": 16, "flags": 4},
{"matrix": [1, 12], "x": 172, "y": 16, "flags": 4},
{"matrix": [1, 13], "x": 186, "y": 16, "flags": 4},
{"matrix": [1, 14], "x": 210, "y": 16, "flags": 4},
{"matrix": [1, 15], "x": 224, "y": 16, "flags": 4},
{"matrix": [2, 0], "x": 0, "y": 32, "flags": 4},
{"matrix": [2, 1], "x": 24, "y": 32, "flags": 4},
{"matrix": [2, 2], "x": 38, "y": 32, "flags": 4},
{"matrix": [2, 3], "x": 51, "y": 32, "flags": 4},
{"matrix": [2, 4], "x": 65, "y": 32, "flags": 4},
{"matrix": [2, 5], "x": 79, "y": 32, "flags": 4},
{"matrix": [2, 6], "x": 93, "y": 32, "flags": 4},
{"matrix": [2, 7], "x": 106, "y": 32, "flags": 4},
{"matrix": [2, 8], "x": 120, "y": 32, "flags": 4},
{"matrix": [2, 9], "x": 134, "y": 32, "flags": 4},
{"matrix": [2, 10], "x": 148, "y": 32, "flags": 4},
{"matrix": [2, 11], "x": 161, "y": 32, "flags": 4},
{"matrix": [2, 13], "x": 175, "y": 32, "flags": 4},
{"matrix": [3, 0], "x": 0, "y": 48, "flags": 4},
{"matrix": [3, 1], "x": 31, "y": 48, "flags": 4},
{"matrix": [3, 2], "x": 44, "y": 48, "flags": 4},
{"matrix": [3, 3], "x": 58, "y": 48, "flags": 4},
{"matrix": [3, 4], "x": 72, "y": 48, "flags": 4},
{"matrix": [3, 5], "x": 86, "y": 48, "flags": 4},
{"matrix": [3, 6], "x": 100, "y": 48, "flags": 4},
{"matrix": [3, 7], "x": 113, "y": 48, "flags": 4},
{"matrix": [3, 8], "x": 127, "y": 48, "flags": 4},
{"matrix": [3, 9], "x": 141, "y": 48, "flags": 4},
{"matrix": [3, 10], "x": 155, "y": 48, "flags": 4},
{"matrix": [3, 13], "x": 168, "y": 48, "flags": 4},
{"matrix": [3, 14], "x": 210, "y": 48, "flags": 4},
{"matrix": [4, 0], "x": 0, "y": 64, "flags": 4},
{"matrix": [4, 1], "x": 17, "y": 64, "flags": 4},
{"matrix": [4, 2], "x": 34, "y": 64, "flags": 4},
{"matrix": [4, 5], "x": 93, "y": 64, "flags": 4},
{"matrix": [4, 9], "x": 137, "y": 64, "flags": 4},
{"matrix": [4, 10], "x": 155, "y": 64, "flags": 4},
{"matrix": [4, 11], "x": 172, "y": 64, "flags": 4},
{"matrix": [4, 13], "x": 196, "y": 64, "flags": 4},
{"matrix": [4, 14], "x": 210, "y": 64, "flags": 4},
{"matrix": [4, 15], "x": 224, "y": 64, "flags": 4},
{"x": 0, "y": 0, "flags": 2},
{"x": 0, "y": 6, "flags": 2},
{"x": 0, "y": 14, "flags": 2},
{"x": 0, "y": 21, "flags": 2},
{"x": 0, "y": 28, "flags": 2},
{"x": 0, "y": 35, "flags": 2},
{"x": 0, "y": 42, "flags": 2},
{"x": 0, "y": 49, "flags": 2},
{"x": 0, "y": 56, "flags": 2},
{"x": 0, "y": 64, "flags": 2},
{"x": 224, "y": 0, "flags": 2},
{"x": 224, "y": 6, "flags": 2},
{"x": 224, "y": 14, "flags": 2},
{"x": 224, "y": 21, "flags": 2},
{"x": 224, "y": 28, "flags": 2},
{"x": 224, "y": 35, "flags": 2},
{"x": 224, "y": 42, "flags": 2},
{"x": 224, "y": 49, "flags": 2},
{"x": 224, "y": 56, "flags": 2},
{"x": 224, "y": 64, "flags": 2}
],
"max_brightness": 160
},
"url": "",
"usb": {
"device_version": "1.0.1",
"force_nkro": true,
"pid": "0x001E",
"suspend_wakeup_delay": 1000,
"vid": "0x0021"
},
"community_layouts": ["68_ansi"],
"layouts": {
"LAYOUT_68_ansi": {
"layout": [
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
{"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
{"label": "@", "matrix": [0, 2], "x": 2, "y": 0},
{"label": "#", "matrix": [0, 3], "x": 3, "y": 0},
{"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
{"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
{"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
{"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
{"label": "*", "matrix": [0, 8], "x": 8, "y": 0},
{"label": "(", "matrix": [0, 9], "x": 9, "y": 0},
{"label": ")", "matrix": [0, 10], "x": 10, "y": 0},
{"label": "_", "matrix": [0, 11], "x": 11, "y": 0},
{"label": "+", "matrix": [0, 12], "x": 12, "y": 0},
{"label": "Bksp", "matrix": [0, 13], "x": 13, "y": 0, "w": 2},
{"label": "Ins", "matrix": [0, 14], "x": 15.25, "y": 0},
{"label": "PgUp", "matrix": [0, 15], "x": 16.25, "y": 0},
{"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
{"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
{"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
{"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
{"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
{"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
{"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
{"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
{"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
{"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
{"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
{"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1},
{"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1},
{"label": "|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
{"label": "Del", "matrix": [1, 14], "x": 15.25, "y": 1},
{"label": "PgDn", "matrix": [1, 15], "x": 16.25, "y": 1},
{"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
{"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
{"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
{"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
{"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
{"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
{"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
{"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2},
{"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2},
{"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2},
{"label": "'", "matrix": [2, 11], "x": 11.75, "y": 2},
{"label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
{"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
{"label": "Z", "matrix": [3, 1], "x": 2.25, "y": 3},
{"label": "X", "matrix": [3, 2], "x": 3.25, "y": 3},
{"label": "C", "matrix": [3, 3], "x": 4.25, "y": 3},
{"label": "V", "matrix": [3, 4], "x": 5.25, "y": 3},
{"label": "B", "matrix": [3, 5], "x": 6.25, "y": 3},
{"label": "N", "matrix": [3, 6], "x": 7.25, "y": 3},
{"label": "M", "matrix": [3, 7], "x": 8.25, "y": 3},
{"label": "<", "matrix": [3, 8], "x": 9.25, "y": 3},
{"label": ">", "matrix": [3, 9], "x": 10.25, "y": 3},
{"label": "?", "matrix": [3, 10], "x": 11.25, "y": 3},
{"label": "Shift", "matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75},
{"label": "Up", "matrix": [3, 14], "x": 15.25, "y": 3},
{"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
{"label": "Alt", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
{"label": "Win", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
{"label": "Space", "matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25},
{"label": "Alt", "matrix": [4, 9], "x": 10, "y": 4, "w": 1.25},
{"label": "Fn", "matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25},
{"label": "Ctrl", "matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.25},
{"label": "Left", "matrix": [4, 13], "x": 14.25, "y": 4},
{"label": "Down", "matrix": [4, 14], "x": 15.25, "y": 4},
{"label": "Right", "matrix": [4, 15], "x": 16.25, "y": 4}
]
}
}
}
44 changes: 44 additions & 0 deletions keyboards/monsgeek/m7/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
// Copyright 2024 jonylee@hfd (@jonylee1986)
// SPDX-License-Identifier: GPL-2.0-or-later

#include QMK_KEYBOARD_H
// clang-format off
enum __layers {
WIN_B,
WIN_FN,
MAC_B,
MAC_FN
};
#define KC_SIRI LGUI(KC_SPC)
#define KC_TASK LGUI(KC_TAB)

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

[WIN_B] = LAYOUT_68_ansi( /* Base */
KC_ESC, 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_INS, KC_PGUP,
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_DEL, KC_PGDN,
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_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,MO(WIN_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),

[WIN_FN] = LAYOUT_68_ansi( /* FN */
KC_GRV, 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_HOME,
_______, _______, _______, _______, _______, _______, _______, _______, KC_INS, DF(MAC_B),KC_PSCR,RGB_SPD, RGB_SPI, _______, RGB_MOD, KC_END,
_______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, RGB_HUI,
_______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI,
_______, GU_TOGG, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI),

[MAC_B] = LAYOUT_68_ansi( /* Base */
KC_ESC, 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_INS, KC_PGUP,
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_DEL, KC_PGDN,
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_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_LALT, KC_LGUI, KC_SPC, KC_RGUI,MO(MAC_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),

[MAC_FN] = LAYOUT_68_ansi( /* FN */
KC_GRV, KC_BRID, KC_BRIU, KC_MCTL, KC_SIRI, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, KC_HOME,
_______, _______, _______, _______, _______, _______, _______, _______, KC_INS, DF(WIN_B),KC_PSCR,RGB_SPD, RGB_SPI, _______, RGB_MOD, KC_END,
_______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, RGB_HUI,
_______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI,
_______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI),
};
Loading
Loading