mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-07-15 12:21:30 +00:00
Revised the code according to the suggestions,added readme.md and add one more level of folder <monsgeek>.
This commit is contained in:
parent
bd8f0bb59d
commit
3c9a643bdf
@ -1,2 +0,0 @@
|
||||
VIA_ENABLE = yes
|
||||
ENCODER_MAP_ENABLE = no
|
@ -30,8 +30,10 @@
|
||||
#define MATRIX_COLS 21
|
||||
|
||||
/* key matrix pins */
|
||||
#define MATRIX_ROW_PINS {B15, C6, C7, C8, C9, A8}
|
||||
#define MATRIX_COL_PINS { C1, C2, C3, A0, A1, A2, A3, A4, A5, A6, A7, C4, C5, B0, B1, B2,B10,B11,B12,B13,B14}
|
||||
#define MATRIX_ROW_PINS \
|
||||
{ B15, C6, C7, C8, C9, A8 }
|
||||
#define MATRIX_COL_PINS \
|
||||
{ C1, C2, C3, A0, A1, A2, A3, A4, A5, A6, A7, C4, C5, B0, B1, B2, B10, B11, B12, B13, B14 }
|
||||
|
||||
/* COL2ROW or ROW2COL */
|
||||
#define DIODE_DIRECTION ROW2COL
|
||||
@ -40,6 +42,12 @@
|
||||
#define ENCODER_RESOLUTION 2
|
||||
#define TAP_CODE_DELAY 20
|
||||
|
||||
/* LED Indicators */
|
||||
|
||||
#define LED_NUM_LOCK_PIN A15
|
||||
#define LED_CAPS_LOCK_PIN C10
|
||||
// #define LED_SCROLL_LOCK_PIN C11
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
/* Locking resynchronize hack */
|
@ -16,7 +16,7 @@
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
|
||||
// clang-format off
|
||||
enum __layers {
|
||||
WIN_B,
|
||||
WIN_WASD,
|
||||
@ -36,7 +36,6 @@ enum custom_keycodes {
|
||||
#define KC_MCTL KC_MISSION_CONTROL
|
||||
#define KC_LPAD KC_LAUNCHPAD
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[WIN_B] = LAYOUT( /* Base */
|
||||
@ -91,14 +90,36 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||
[WIN_B] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
|
||||
[WIN_WASD] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
|
||||
[WIN_FN] = { ENCODER_CCW_CW(RGB_VAI, RGB_VAD) },
|
||||
[MAC_B] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
|
||||
[MAC_WASD] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
|
||||
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAI, RGB_VAD) }
|
||||
};
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case KC_MISSION_CONTROL:
|
||||
if (record->event.pressed) {
|
||||
host_consumer_send(0x29F);
|
||||
} else {
|
||||
host_consumer_send(0);
|
||||
}
|
||||
return false; // Skip all further processing of this key
|
||||
case KC_LAUNCHPAD:
|
||||
if (record->event.pressed) {
|
||||
host_consumer_send(0x2A0);
|
||||
} else {
|
||||
host_consumer_send(0);
|
||||
}
|
||||
return false; // Skip all further processing of this key
|
||||
#ifdef VIA_ENABLE
|
||||
case KC_RESET: {
|
||||
if (record->event.pressed) {
|
||||
# include "via.h"
|
||||
via_eeprom_set_valid(false);
|
||||
eeconfig_init_via();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {[WIN_B] = {ENCODER_CCW_CW(KC_VOLU, KC_VOLD)}, [WIN_WASD] = {ENCODER_CCW_CW(KC_VOLU, KC_VOLD)}, [WIN_FN] = {ENCODER_CCW_CW(RGB_VAI, RGB_VAD)}, [MAC_B] = {ENCODER_CCW_CW(KC_VOLU, KC_VOLD)}, [MAC_WASD] = {ENCODER_CCW_CW(KC_VOLU, KC_VOLD)}, [MAC_FN] = {ENCODER_CCW_CW(RGB_VAI, RGB_VAD)}};
|
||||
#endif
|
@ -16,7 +16,7 @@
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
|
||||
// clang-format off
|
||||
enum __layers {
|
||||
WIN_B,
|
||||
WIN_WASD,
|
||||
@ -36,7 +36,6 @@ enum custom_keycodes {
|
||||
#define KC_MCTL KC_MISSION_CONTROL
|
||||
#define KC_LPAD KC_LAUNCHPAD
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[WIN_B] = LAYOUT( /* Base */
|
||||
@ -91,15 +90,36 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case KC_MISSION_CONTROL:
|
||||
if (record->event.pressed) {
|
||||
host_consumer_send(0x29F);
|
||||
} else {
|
||||
host_consumer_send(0);
|
||||
}
|
||||
return false; // Skip all further processing of this key
|
||||
case KC_LAUNCHPAD:
|
||||
if (record->event.pressed) {
|
||||
host_consumer_send(0x2A0);
|
||||
} else {
|
||||
host_consumer_send(0);
|
||||
}
|
||||
return false; // Skip all further processing of this key
|
||||
#ifdef VIA_ENABLE
|
||||
case KC_RESET: {
|
||||
if (record->event.pressed) {
|
||||
# include "via.h"
|
||||
via_eeprom_set_valid(false);
|
||||
eeconfig_init_via();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||
[WIN_B] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
|
||||
[WIN_WASD] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
|
||||
[WIN_FN] = { ENCODER_CCW_CW(RGB_VAI, RGB_VAD) },
|
||||
[MAC_B] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
|
||||
[MAC_WASD] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
|
||||
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAI, RGB_VAD) }
|
||||
};
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {[WIN_B] = {ENCODER_CCW_CW(KC_VOLU, KC_VOLD)}, [WIN_WASD] = {ENCODER_CCW_CW(KC_VOLU, KC_VOLD)}, [WIN_FN] = {ENCODER_CCW_CW(RGB_VAI, RGB_VAD)}, [MAC_B] = {ENCODER_CCW_CW(KC_VOLU, KC_VOLD)}, [MAC_WASD] = {ENCODER_CCW_CW(KC_VOLU, KC_VOLD)}, [MAC_FN] = {ENCODER_CCW_CW(RGB_VAI, RGB_VAD)}};
|
||||
#endif
|
||||
|
2
keyboards/hfdkb/monsgeek/m2/keymaps/via/rules.mk
Normal file
2
keyboards/hfdkb/monsgeek/m2/keymaps/via/rules.mk
Normal file
@ -0,0 +1,2 @@
|
||||
VIA_ENABLE = yes
|
||||
ENCODER_MAP_ENABLE = no
|
@ -255,6 +255,8 @@ led_config_t g_led_config = {
|
||||
|
||||
#endif //RGB_MATRIX_ENABLE
|
||||
|
||||
#define LED_WIN_LOCK_PIN C11
|
||||
|
||||
enum __layers {
|
||||
WIN_B,
|
||||
WIN_WASD,
|
||||
@ -264,18 +266,14 @@ enum __layers {
|
||||
MAC_FN
|
||||
};
|
||||
|
||||
enum colors { WHITE, RED, GREEN, BLUE };
|
||||
enum colors led_color_status = WHITE;
|
||||
enum custom_keycodes {
|
||||
KC_MISSION_CONTROL = SAFE_RANGE,
|
||||
KC_LAUNCHPAD,
|
||||
KC_RESET
|
||||
enum colors {
|
||||
WHITE,
|
||||
RED,
|
||||
GREEN,
|
||||
BLUE
|
||||
};
|
||||
|
||||
#define KC_TASK LGUI(KC_TAB)
|
||||
#define KC_FLXP LGUI(KC_E)
|
||||
#define KC_MCTL KC_MISSION_CONTROL
|
||||
#define KC_LPAD KC_LAUNCHPAD
|
||||
enum colors led_color_status = WHITE;
|
||||
|
||||
static bool fn_make_flag = false;
|
||||
static bool Lkey_flag = false;
|
||||
@ -287,8 +285,6 @@ static uint8_t glint_cnt = 0;
|
||||
static uint16_t scancode = 0;
|
||||
static uint8_t alarm_cnt = 0;
|
||||
|
||||
|
||||
|
||||
HSV hsv;
|
||||
|
||||
void led_test(uint8_t color);
|
||||
@ -321,13 +317,12 @@ bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
|
||||
|
||||
void led_init_ports(void){
|
||||
//set our LED pings as output
|
||||
setPinOutput(A15); // LED1 Num Lock
|
||||
writePinHigh(A15);
|
||||
setPinOutput(C10); // LDE2 Caps Lock
|
||||
writePinHigh(C10);
|
||||
setPinOutput(C11); // LED3 Win Lock
|
||||
writePinHigh(C11);
|
||||
|
||||
setPinOutput(LED_NUM_LOCK_PIN); // LED1 Num Lock
|
||||
writePinHigh(LED_NUM_LOCK_PIN);
|
||||
setPinOutput(LED_CAPS_LOCK_PIN); // LDE2 Caps Lock
|
||||
writePinHigh(LED_CAPS_LOCK_PIN);
|
||||
setPinOutput(LED_WIN_LOCK_PIN); // LED3 Win Lock
|
||||
writePinHigh(LED_WIN_LOCK_PIN);
|
||||
}
|
||||
|
||||
bool led_update_kb(led_t led_state) {
|
||||
@ -338,46 +333,13 @@ bool led_update_kb(led_t led_state) {
|
||||
// it low/0 turns it on, and high/1 turns the LED off.
|
||||
// This behavior depends on whether the LED is between the pin
|
||||
// and VCC or the pin and GND.
|
||||
writePin(A15, led_state.num_lock);
|
||||
writePin(C10, led_state.caps_lock);
|
||||
writePin(C11, keymap_config.no_gui);
|
||||
writePin(LED_NUM_LOCK_PIN, led_state.num_lock);
|
||||
writePin(LED_CAPS_LOCK_PIN, led_state.caps_lock);
|
||||
writePin(LED_WIN_LOCK_PIN, keymap_config.no_gui);
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case KC_MISSION_CONTROL:
|
||||
if (record->event.pressed) {
|
||||
host_consumer_send(0x29F);
|
||||
} else {
|
||||
host_consumer_send(0);
|
||||
}
|
||||
return false; // Skip all further processing of this key
|
||||
case KC_LAUNCHPAD:
|
||||
if (record->event.pressed) {
|
||||
host_consumer_send(0x2A0);
|
||||
} else {
|
||||
host_consumer_send(0);
|
||||
}
|
||||
return false; // Skip all further processing of this key
|
||||
#ifdef VIA_ENABLE
|
||||
case KC_RESET: {
|
||||
if (record->event.pressed) {
|
||||
|
||||
#include "via.h"
|
||||
via_eeprom_set_valid(false);
|
||||
eeconfig_init_via();
|
||||
|
||||
}
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
|
||||
if (!process_record_user(keycode, record)) {
|
||||
return false;
|
||||
@ -460,7 +422,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
|
||||
alarm_flag = true;
|
||||
rgb_matrix_toggle_noeeprom();
|
||||
current_time = timer_read();
|
||||
writePin(C11, !keymap_config.no_gui);
|
||||
writePin(LED_WIN_LOCK_PIN, !keymap_config.no_gui);
|
||||
}
|
||||
return true;
|
||||
case RGB_VAI:
|
||||
@ -496,7 +458,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
|
||||
}
|
||||
}
|
||||
|
||||
void matrix_scan_kb(void) {
|
||||
void housekeeping_task_kb(void) {
|
||||
if(Lkey_flag){
|
||||
if(scancode == KC_GRV){
|
||||
if (timer_elapsed(current_time) >= 3000) {
|
16
keyboards/hfdkb/monsgeek/m2/readme.md
Normal file
16
keyboards/hfdkb/monsgeek/m2/readme.md
Normal file
@ -0,0 +1,16 @@
|
||||
# monsgeek m2
|
||||
|
||||
A customizable 98-key keyboard
|
||||
|
||||
* Keyboard Maintainer: [jonylee@hfd](https://github.com/jonylee1986)
|
||||
* Hardware Supported: monsgeek m2
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make hfdkb/monsgeek/m2:default
|
||||
make hfdkb/monsgeek/m2:via
|
||||
|
||||
|
||||
**Reset Key**: Hold down the key located at *K01*, which programmed as *Esc* while plugging in the keyboard.
|
||||
|
||||
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).
|
@ -18,4 +18,3 @@ EEPROM_DRIVER = wear_leveling
|
||||
WEAR_LEVELING_DRIVER = spi_flash
|
||||
#RGB_MATRIX_CUSTOM_USER = yes #Add turnoff LED
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user