diff --git a/keyboards/monsgeek/m2/config.h b/keyboards/monsgeek/m2/config.h index 53b08b15be0..e72a3776700 100644 --- a/keyboards/monsgeek/m2/config.h +++ b/keyboards/monsgeek/m2/config.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2022 jonylee@hfd +/* Copyright (C) 2023 jonylee@hfd * * 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 @@ -19,21 +19,13 @@ /* Use 6 dynamic keymap layers */ #define DYNAMIC_KEYMAP_LAYER_COUNT 6 -/* Force NKRO on boot up regardless of the setting saved in the EEPROM (uncomment to enable it) */ -#define FORCE_NKRO - /* LED Indicators */ -#define LED_NUM_LOCK_PIN A15 -#define LED_CAPS_LOCK_PIN C10 -// #define LED_SCROLL_LOCK_PIN C11 #define LED_WIN_LOCK_PIN C11 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* sets the number of milliseconds to pause after sending a wakeup packet. Disabled by default, you might want to set this to 200 (or higher) if the keyboard does not wake up properly after suspending.*/ -#define USB_SUSPEND_WAKEUP_DELAY 400 /* SPI Config for spi flash*/ #define SPI_DRIVER SPIDQ @@ -49,7 +41,6 @@ #define DRIVER_COUNT 2 #define DRIVER_ADDR_1 0b1110100 #define DRIVER_ADDR_2 0b1110111 - #define I2C1_OPMODE OPMODE_I2C #define I2C1_CLOCK_SPEED 400000 /* 400000 */ @@ -62,30 +53,3 @@ #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_KEYRELEASES - -// RGB Matrix Animation modes. Explicitly enabled -// For full list of effects, see: -// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects -#define ENABLE_RGB_MATRIX_SOLID_COLOR // Static single hue, no speed support -#define ENABLE_RGB_MATRIX_BREATHING -#define ENABLE_RGB_MATRIX_CYCLE_ALL -#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN -#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON -#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN -#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL -#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL -#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL -#define ENABLE_RGB_MATRIX_DUAL_BEACON -#define ENABLE_RGB_MATRIX_RAINBOW_BEACON -#define ENABLE_RGB_MATRIX_RAINDROPS -#define ENABLE_RGB_MATRIX_TYPING_HEATMAP -// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -#define ENABLE_RGB_MATRIX_MULTISPLASH - -#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 /* The maximum brightness level */ - -//#define DISABLE_M2_KEYCODES /*if you need to change or restore the default QMK button function, please open it*/ \ No newline at end of file diff --git a/keyboards/monsgeek/m2/halconf.h b/keyboards/monsgeek/m2/halconf.h index 2f64e65393a..55bfe5c9779 100644 --- a/keyboards/monsgeek/m2/halconf.h +++ b/keyboards/monsgeek/m2/halconf.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2022 jonylee@hfd +/* Copyright (C) 2023 jonylee@hfd * * 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 diff --git a/keyboards/monsgeek/m2/info.json b/keyboards/monsgeek/m2/info.json index a7caa13a9d7..891bb91dd71 100644 --- a/keyboards/monsgeek/m2/info.json +++ b/keyboards/monsgeek/m2/info.json @@ -5,8 +5,12 @@ "usb": { "vid": "0xFFFE", "pid": "0x0008", - "device_version": "1.0.4" + "device_version": "1.0.4", + "suspend_wakeup_delay": 400, + "force_nkro": true }, + "processor": "WB32FQ95", + "bootloader": "wb32-dfu", "features": { "bootmagic": true, "mousekey": false, @@ -14,7 +18,6 @@ "console": false, "command": false, "nkro": true, - "encoder": false, "rgb_matrix": true }, "matrix_pins": { @@ -22,8 +25,139 @@ "rows": ["B15", "C6", "C7", "C8", "C9", "A8"] }, "diode_direction": "ROW2COL", - "processor": "WB32FQ95", - "bootloader": "wb32-dfu", + "indicators": { + "num_lock": "C10", + "caps_lock": "A15" + }, + "rgb_matrix": { + "driver": "IS31FL3733", + "max_brightness": 200, + "val_steps": 20, + "animations": { + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "rainbow_moving_chevron": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "raindrops": true, + "typing_heatmap": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_cross": true, + "multisplash": true + }, + "layout":[ + { "flags": 4, "matrix": [0, 0], "x": 0, "y": 0 }, + { "flags": 4, "matrix": [0, 1], "x": 13, "y": 0 }, + { "flags": 4, "matrix": [0, 2], "x": 26, "y": 0 }, + { "flags": 4, "matrix": [0, 3], "x": 39, "y": 0 }, + { "flags": 4, "matrix": [0, 4], "x": 52, "y": 0 }, + { "flags": 4, "matrix": [0, 5], "x": 65, "y": 0 }, + { "flags": 4, "matrix": [0, 6], "x": 79, "y": 0 }, + { "flags": 4, "matrix": [0, 7], "x": 92, "y": 0 }, + { "flags": 4, "matrix": [0, 8], "x":105, "y": 0 }, + { "flags": 4, "matrix": [0, 9], "x":118, "y": 0 }, + { "flags": 4, "matrix": [0, 10], "x":131, "y": 0 }, + { "flags": 4, "matrix": [0, 11], "x":144, "y": 0 }, + { "flags": 4, "matrix": [0, 12], "x":158, "y": 0 }, + { "flags": 4, "matrix": [0, 13], "x":171, "y": 0 }, + { "flags": 4, "matrix": [0, 17], "x":184, "y": 0 }, + { "flags": 4, "matrix": [0, 18], "x":197, "y": 0 }, + { "flags": 4, "matrix": [0, 19], "x":210, "y": 0 }, + { "flags": 4, "matrix": [0, 20], "x":224, "y": 0 }, + + { "flags": 4, "matrix": [0, 0], "x":0, "y": 12}, + { "flags": 4, "matrix": [1, 1], "x":13, "y": 12}, + { "flags": 4, "matrix": [1, 2], "x":26, "y": 12}, + { "flags": 4, "matrix": [1, 3], "x":39, "y": 12}, + { "flags": 4, "matrix": [1, 4], "x":52, "y": 12}, + { "flags": 4, "matrix": [1, 5], "x":65, "y": 12}, + { "flags": 4, "matrix": [1, 6], "x":79, "y": 12}, + { "flags": 4, "matrix": [1, 7], "x":92, "y": 12}, + { "flags": 4, "matrix": [1, 8], "x":105, "y": 12}, + { "flags": 4, "matrix": [1, 9], "x":118, "y": 12}, + { "flags": 4, "matrix": [1, 10], "x":131, "y": 12}, + { "flags": 4, "matrix": [1, 11], "x":144, "y": 12}, + { "flags": 4, "matrix": [1, 12], "x":158, "y": 12}, + { "flags": 4, "matrix": [1, 13], "x":171, "y": 12}, + { "flags": 4, "matrix": [1, 17], "x":184, "y": 12}, + { "flags": 4, "matrix": [1, 18], "x":197, "y": 12}, + { "flags": 4, "matrix": [1, 19], "x":210, "y": 12}, + { "flags": 4, "matrix": [2, 20], "x":224, "y": 12}, + + { "flags": 4, "matrix": [2, 0], "x":0, "y": 25}, + { "flags": 4, "matrix": [2, 1], "x":13, "y": 25}, + { "flags": 4, "matrix": [2, 2], "x":26, "y": 25}, + { "flags": 4, "matrix": [2, 3], "x":39, "y": 25}, + { "flags": 4, "matrix": [2, 4], "x":52, "y": 25}, + { "flags": 4, "matrix": [2, 5], "x":65, "y": 25}, + { "flags": 4, "matrix": [2, 6], "x":79, "y": 25}, + { "flags": 4, "matrix": [2, 7], "x":92, "y": 25}, + { "flags": 4, "matrix": [2, 8], "x":105, "y": 25}, + { "flags": 4, "matrix": [2, 9], "x":118, "y": 25}, + { "flags": 4, "matrix": [2, 10], "x":131, "y": 25}, + { "flags": 4, "matrix": [2, 11], "x":144, "y": 25}, + { "flags": 4, "matrix": [2, 12], "x":158, "y": 25}, + { "flags": 4, "matrix": [2, 13], "x":171, "y": 25}, + { "flags": 4, "matrix": [2, 17], "x":184, "y": 25}, + { "flags": 4, "matrix": [2, 18], "x":197, "y": 25}, + { "flags": 4, "matrix": [2, 19], "x":210, "y": 25}, + { "flags": 4, "matrix": [2, 20], "x":224, "y": 25}, + + { "flags": 4, "matrix": [3, 0], "x":0, "y": 38}, + { "flags": 4, "matrix": [3, 1], "x":13, "y": 38}, + { "flags": 4, "matrix": [3, 2], "x":26, "y": 38}, + { "flags": 4, "matrix": [3, 3], "x":39, "y": 38}, + { "flags": 4, "matrix": [3, 4], "x":52, "y": 38}, + { "flags": 4, "matrix": [3, 5], "x":65, "y": 38}, + { "flags": 4, "matrix": [3, 6], "x":79, "y": 38}, + { "flags": 4, "matrix": [3, 7], "x":92, "y": 38}, + { "flags": 4, "matrix": [3, 8], "x":105, "y": 38}, + { "flags": 4, "matrix": [3, 9], "x":118, "y": 38}, + { "flags": 4, "matrix": [3, 10], "x":131, "y": 38}, + { "flags": 4, "matrix": [3, 11], "x":144, "y": 38}, + { "flags": 4, "matrix": [3, 13], "x":163, "y": 38}, + { "flags": 4, "matrix": [3, 17], "x":184, "y": 38}, + { "flags": 4, "matrix": [3, 18], "x":197, "y": 38}, + { "flags": 4, "matrix": [3, 19], "x":210, "y": 38}, + + { "flags": 4, "matrix": [4, 0], "x":0, "y": 51}, + { "flags": 4, "matrix": [4, 1], "x":26, "y": 51}, + { "flags": 4, "matrix": [4, 2], "x":39, "y": 51}, + { "flags": 4, "matrix": [4, 3], "x":52, "y": 51}, + { "flags": 4, "matrix": [4, 4], "x":65, "y": 51}, + { "flags": 4, "matrix": [4, 5], "x":79, "y": 51}, + { "flags": 4, "matrix": [4, 6], "x":92, "y": 51}, + { "flags": 4, "matrix": [4, 7], "x":105, "y": 51}, + { "flags": 4, "matrix": [4, 8], "x":118, "y": 51}, + { "flags": 4, "matrix": [4, 9], "x":131, "y": 51}, + { "flags": 4, "matrix": [4, 10], "x":144, "y": 51}, + { "flags": 4, "matrix": [4, 13], "x":158, "y": 51}, + { "flags": 4, "matrix": [4, 15], "x":171, "y": 51}, + { "flags": 4, "matrix": [4, 17], "x":184, "y": 51}, + { "flags": 4, "matrix": [4, 18], "x":197, "y": 51}, + { "flags": 4, "matrix": [4, 19], "x":210, "y": 51}, + { "flags": 4, "matrix": [4, 20], "x":224, "y": 51}, + + { "flags": 4, "matrix": [5, 0], "x": 0, "y": 64}, + { "flags": 4, "matrix": [5, 1], "x": 18, "y": 64}, + { "flags": 4, "matrix": [5, 2], "x": 37, "y": 64}, + { "flags": 4, "matrix": [5, 5], "x": 92, "y": 64}, + { "flags": 4, "matrix": [5, 9], "x":130, "y": 64}, + { "flags": 4, "matrix": [5, 10], "x":145, "y": 64}, + { "flags": 4, "matrix": [5, 11], "x":158, "y": 64}, + { "flags": 4, "matrix": [5, 15], "x":171, "y": 64}, + { "flags": 4, "matrix": [5, 16], "x":184, "y": 64}, + { "flags": 4, "matrix": [5, 18], "x":197, "y": 64}, + { "flags": 4, "matrix": [5, 19], "x":210, "y": 64} + ] + }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/monsgeek/m2/keymaps/default/keymap.c b/keyboards/monsgeek/m2/keymaps/default/keymap.c index 27f02b8dc9d..caa34cc1cf2 100644 --- a/keyboards/monsgeek/m2/keymaps/default/keymap.c +++ b/keyboards/monsgeek/m2/keymaps/default/keymap.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2022 jonylee@hfd +/* Copyright (C) 2023 jonylee@hfd * * 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 diff --git a/keyboards/monsgeek/m2/keymaps/via/keymap.c b/keyboards/monsgeek/m2/keymaps/via/keymap.c index 27f02b8dc9d..caa34cc1cf2 100644 --- a/keyboards/monsgeek/m2/keymaps/via/keymap.c +++ b/keyboards/monsgeek/m2/keymaps/via/keymap.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2022 jonylee@hfd +/* Copyright (C) 2023 jonylee@hfd * * 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 diff --git a/keyboards/monsgeek/m2/m2.c b/keyboards/monsgeek/m2/m2.c index 6cf65c7b5bb..7e088f322cf 100644 --- a/keyboards/monsgeek/m2/m2.c +++ b/keyboards/monsgeek/m2/m2.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2022 jonylee@hfd +/* Copyright (C) 2023 jonylee@hfd * * 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 @@ -128,131 +128,6 @@ const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { {1, J_5, K_5, L_5}, {1, J_6, K_6, L_6}, }; - -led_config_t g_led_config = { - { - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, NO_LED, NO_LED, NO_LED, 14, 15, 16, 17}, - { 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, NO_LED, NO_LED, NO_LED, 32, 33, 34, 35}, - { 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, NO_LED, NO_LED, NO_LED, 50, 51, 52, 53}, - { 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, NO_LED, 66, NO_LED, NO_LED, NO_LED, 67, 68, 69, NO_LED}, - { 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, NO_LED, NO_LED, 81, NO_LED, 82, NO_LED, 83, 84, 85, 86}, - { 87, 88, 89, NO_LED, NO_LED, 90, NO_LED, NO_LED, NO_LED, 91, 92, 93, NO_LED, NO_LED, NO_LED, 94, 95,NO_LED, 96, 97, NO_LED} - }, - { - { 0, 0}, // 0 - { 13, 0}, // 1 - { 26, 0}, // 2 - { 39, 0}, // 3 - { 52, 0}, // 4 - { 65, 0}, // 5 - { 79, 0}, // 6 - { 92, 0}, // 7 - {105, 0}, // 8 - {118, 0}, // 9 - {131, 0}, // 10 - {144, 0}, // 11 - {158, 0}, // 12 - {171, 0}, // 13 - {184, 0}, // 14 - {197, 0}, // 15 - {210, 0}, // 16 - {224, 0}, // 17 - - { 0, 12}, // 18 - { 13, 12}, // 19 - { 26, 12}, // 20 - { 39, 12}, // 21 - { 52, 12}, // 22 - { 65, 12}, // 23 - { 79, 12}, // 24 - { 92, 12}, // 25 - {105, 12}, // 26 - {118, 12}, // 27 - {131, 12}, // 28 - {144, 12}, // 29 - {158, 12}, // 30 - {171, 12}, // 31 - {184, 12}, // 32 - {197, 12}, // 33 - {210, 12}, // 34 - {224, 12}, // 35 - - { 0, 25}, // 36 - { 13, 25}, // 37 - { 26, 25}, // 38 - { 39, 25}, // 39 - { 52, 25}, // 40 - { 65, 25}, // 41 - { 79, 25}, // 42 - { 92, 25}, // 43 - {105, 25}, // 44 - {118, 25}, // 45 - {131, 25}, // 46 - {144, 25}, // 47 - {158, 25}, // 48 - {171, 25}, // 49 - {184, 25}, // 50 - {197, 25}, // 51 - {210, 25}, // 52 - {224, 25}, // 53 - - { 0, 38}, // 54 - { 13, 38}, // 55 - { 26, 38}, // 56 - { 39, 38}, // 57 - { 52, 38}, // 58 - { 65, 38}, // 59 - { 79, 38}, // 60 - { 92, 38}, // 61 - {105, 38}, // 62 - {118, 38}, // 63 - {131, 38}, // 64 - {144, 38}, // 65 - {163, 38}, // 66 - {184, 38}, // 67 - {197, 38}, // 68 - {210, 38}, // 69 - - { 0, 51}, // 70 - { 26, 51}, // 71 - { 39, 51}, // 72 - { 52, 51}, // 73 - { 65, 51}, // 74 - { 79, 51}, // 75 - { 92, 51}, // 76 - {105, 51}, // 77 - {118, 51}, // 78 - {131, 51}, // 79 - {144, 51}, // 80 - {158, 51}, // 81 - {171, 51}, // 82 - {184, 51}, // 83 - {197, 51}, // 84 - {210, 51}, // 85 - {224, 51}, // 86 - - { 0, 64}, // 87 - { 18, 64}, // 88 - { 37, 64}, // 89 - { 92, 64}, // 90 - {130, 64}, // 91 - {145, 64}, // 92 - {158, 64}, // 93 - {171, 64}, // 94 - {184, 64}, // 95 - {197, 64}, // 96 - {210, 64}, // 97 - }, - { - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - } -}; - #endif //RGB_MATRIX_ENABLE enum __layers { @@ -263,66 +138,14 @@ enum __layers { MAC_WASD, MAC_FN }; - -enum colors { - WHITE, - RED, - GREEN, - BLUE -}; - -enum colors led_color_status = WHITE; - -static bool fn_make_flag = false; -static bool Lkey_flag = false; -static bool reset_glint_flag = false; -static bool while_test_flag = false; -static bool alarm_flag = false; -static uint16_t current_time = 0; -static uint8_t glint_cnt = 0; -static uint16_t scancode = 0; -static uint8_t alarm_cnt = 0; -static uint8_t RGB_HSV_level; - -HSV hsv; - -void led_test(uint8_t color); -void clear_eeprom(void); -void rgb_hsv_updata_user(void); - -#ifdef RGB_MATRIX_ENABLE - -static uint16_t map_current_time = 0; -static bool pwron_flag = false; - -bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { - if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { - return false; - } - if(pwron_flag == false){ - map_current_time = timer_read(); - if(map_current_time<3000){ - map_current_time++; - for (uint8_t i = led_min; i < led_max; i++) { - rgb_matrix_set_color(i, 150, 150, 150); - } - } - if(map_current_time >= 3000) - pwron_flag = true; - } - return true; -} - -#endif //RGB_MATRIX_ENABLE - void led_init_ports(void){ //set our LED pings as output setPinOutput(LED_NUM_LOCK_PIN); // LED1 Num Lock - writePinHigh(LED_NUM_LOCK_PIN); + writePinLow(LED_NUM_LOCK_PIN); setPinOutput(LED_CAPS_LOCK_PIN); // LDE2 Caps Lock - writePinHigh(LED_CAPS_LOCK_PIN); + writePinLow(LED_CAPS_LOCK_PIN); setPinOutput(LED_WIN_LOCK_PIN); // LED3 Win Lock - writePinHigh(LED_WIN_LOCK_PIN); + writePinLow(LED_WIN_LOCK_PIN); } bool led_update_kb(led_t led_state) { @@ -342,289 +165,41 @@ bool led_update_kb(led_t led_state) { bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (!process_record_user(keycode, record)) { - return false; + return false; } switch (keycode) { -#ifndef DISABLE_M2_KEYCODES - case MO(WIN_FN): - case MO(MAC_FN): - fn_make_flag = record->event.pressed; - return true; - case KC_GRV: - if (fn_make_flag && record->event.pressed) { - Lkey_flag = true; - current_time = timer_read(); - scancode = KC_GRV; - return false; - } else { - Lkey_flag = 0; - } - return true; - case KC_LCTL: - if (fn_make_flag && record->event.pressed) { - - if(while_test_flag) - { - while_test_flag = false; - rgb_matrix_init(); - } - else - { - Lkey_flag = true; - current_time = timer_read(); - scancode = KC_LCTL; - } - return false; - } else { - Lkey_flag = 0; - } - return true; case DF(WIN_B): - if ((fn_make_flag && record->event.pressed)&&(alarm_flag == 0)) { - alarm_flag = true; - rgb_matrix_toggle_noeeprom(); - current_time = timer_read(); - layer_state_set(WIN_B); + if (record->event.pressed) { set_single_persistent_default_layer(WIN_B); - return false; + layer_state_set(1<event.pressed)&&(alarm_flag == 0)) { - alarm_flag = true; - rgb_matrix_toggle_noeeprom(); - current_time = timer_read(); - keymap_config.no_gui = 0; - eeconfig_update_keymap(keymap_config.raw); - // layer_state_set(MAC_B); + if (record->event.pressed) { set_single_persistent_default_layer(MAC_B); - return false; - } - return true; - case TG(WIN_WASD): - if ((fn_make_flag && record->event.pressed)&&(alarm_flag == 0)) { - alarm_flag = true; - rgb_matrix_toggle_noeeprom(); - current_time = timer_read(); - // set_single_persistent_default_layer(WIN_WASD); - return false; - } - return true; - case TG(MAC_WASD): - if ((fn_make_flag && record->event.pressed)&&(alarm_flag == 0)) { - alarm_flag = true; - rgb_matrix_toggle_noeeprom(); - current_time = timer_read(); -// set_single_persistent_default_layer(MAC_WASD); - return false; - } - return true; - case MAGIC_TOGGLE_GUI: - if ((fn_make_flag && record->event.pressed)&&(alarm_flag == 0)) { - alarm_flag = true; - rgb_matrix_toggle_noeeprom(); - current_time = timer_read(); - writePin(LED_WIN_LOCK_PIN, !keymap_config.no_gui); - } - return true; - case RGB_VAI: - if ((fn_make_flag && record->event.pressed) && (alarm_flag == 0)) { - if ((RGB_HSV_level = (uint8_t)rgb_matrix_get_val() / (RGB_MATRIX_MAXIMUM_BRIGHTNESS / 4)) < 4) { - alarm_cnt = 2; - RGB_HSV_level++; - rgb_matrix_config.hsv.v = (uint8_t)(RGB_MATRIX_MAXIMUM_BRIGHTNESS / 4) * RGB_HSV_level; - } - rgb_hsv_updata_user(); + layer_state_set(1<event.pressed) && (alarm_flag == 0)) { - if ((RGB_HSV_level = (uint8_t)rgb_matrix_get_val() / (RGB_MATRIX_MAXIMUM_BRIGHTNESS / 4)) > 0) { - alarm_cnt = 2; - RGB_HSV_level--; - rgb_matrix_config.hsv.v = (uint8_t)(RGB_MATRIX_MAXIMUM_BRIGHTNESS / 4) * RGB_HSV_level; - } - rgb_hsv_updata_user(); - } - return false; - case RGB_SAI: - if ((fn_make_flag && record->event.pressed) && (alarm_flag == 0)) { - if ((RGB_HSV_level = (uint8_t)rgb_matrix_get_sat() / (UINT8_MAX / 4)) < 4) { - alarm_cnt = 2; - RGB_HSV_level++; - rgb_matrix_config.hsv.s = (uint8_t)(UINT8_MAX / 4) * RGB_HSV_level; - } - rgb_hsv_updata_user(); - } - return false; - case RGB_SAD: - if ((fn_make_flag && record->event.pressed) && (alarm_flag == 0)) { - if ((RGB_HSV_level = (uint8_t)rgb_matrix_get_sat() / (UINT8_MAX / 4)) > 0) { - alarm_cnt = 2; - RGB_HSV_level--; - rgb_matrix_config.hsv.s = (uint8_t)(UINT8_MAX / 4) * RGB_HSV_level; - } - rgb_hsv_updata_user(); - } - return false; - case RGB_HUI: - if ((fn_make_flag && record->event.pressed) && (alarm_flag == 0)) { - alarm_cnt = 2; - RGB_HSV_level = (uint8_t)rgb_matrix_get_hue() / (UINT8_MAX / 6); - RGB_HSV_level++; - RGB_HSV_level %= 7; - rgb_matrix_config.hsv.h = (uint8_t)(UINT8_MAX / 6) * RGB_HSV_level; - rgb_hsv_updata_user(); - } - return false; - case RGB_SPI: - if ((fn_make_flag && record->event.pressed) && (alarm_flag == 0)) { - if ((RGB_HSV_level = (uint8_t)rgb_matrix_get_speed() / (UINT8_MAX / 4)) < 4) { - alarm_cnt = 2; - RGB_HSV_level++; - rgb_matrix_set_speed((uint8_t)(UINT8_MAX / 4) * RGB_HSV_level); + case RGB_TOG: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; } } - return false; - case RGB_SPD: - if ((fn_make_flag && record->event.pressed) && (alarm_flag == 0)) { - if ((RGB_HSV_level = (uint8_t)rgb_matrix_get_speed() / (UINT8_MAX / 4)) > 0) { - alarm_cnt = 2; - RGB_HSV_level--; - rgb_matrix_set_speed((uint8_t)(UINT8_MAX / 4) * RGB_HSV_level); - } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); } return false; -#endif//DISABLE_M2_KEYCODES default: return true; } } - -void housekeeping_task_kb(void) { - if(Lkey_flag){ - if(scancode == KC_GRV){ - if (timer_elapsed(current_time) >= 3000) { - Lkey_flag = false; - clear_eeprom(); - - current_time = timer_read(); - reset_glint_flag = true; - glint_cnt = 0; - rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_COLOR); - rgb_matrix_sethsv_noeeprom(HSV_OFF); - } - } - else if(scancode == KC_LCTL){ - if (timer_elapsed(current_time) >= 3000) { - Lkey_flag = false; - clear_eeprom(); - - while_test_flag = true; - glint_cnt = 0; - rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_COLOR); - rgb_matrix_sethsv_noeeprom(HSV_WHITE); - } - } - } - else if(reset_glint_flag){ - if ((timer_elapsed(current_time)) >= 300) { - current_time = timer_read(); - if (((glint_cnt++) & 0x01 )== 0) { - rgb_matrix_sethsv_noeeprom(HSV_WHITE); - } else { - rgb_matrix_sethsv_noeeprom(HSV_OFF); - } - if (glint_cnt >= 3) { - glint_cnt = 0; - reset_glint_flag = false; - rgb_matrix_init(); - } - } - - } - else if(while_test_flag){ - if ((timer_elapsed(current_time)) >= 1000) { - current_time = timer_read(); - if ((glint_cnt%4) == 0) { - rgb_matrix_sethsv_noeeprom(HSV_RED); - } else if ((glint_cnt%4)== 1) { - rgb_matrix_sethsv_noeeprom(HSV_GREEN); - } else if ((glint_cnt%4)== 2) { - rgb_matrix_sethsv_noeeprom(HSV_BLUE); - } else if ((glint_cnt%4)== 3) { - rgb_matrix_sethsv_noeeprom(HSV_WHITE); - } - glint_cnt++; - if(glint_cnt>=30) - { - glint_cnt = 0; - while_test_flag = false; - rgb_matrix_init(); - } - } - } - else if(alarm_cnt != 0) - { - alarm_cnt--; - if(alarm_cnt == 0){ - alarm_flag = true; - rgb_matrix_toggle_noeeprom(); - current_time = timer_read(); - } - } - else if(alarm_flag){ - if ((timer_elapsed(current_time)) >= 200) { - rgb_matrix_toggle_noeeprom(); - alarm_flag = 0; - } - } -} - - -void led_test(uint8_t color) { - rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_COLOR); - - switch (color) { - case WHITE: - rgb_matrix_sethsv_noeeprom(HSV_WHITE); - break; - - case RED: - rgb_matrix_sethsv_noeeprom(HSV_RED); - break; - - case GREEN: - rgb_matrix_sethsv_noeeprom(HSV_GREEN); - break; - - case BLUE: - rgb_matrix_sethsv_noeeprom(HSV_BLUE); - break; - } -} - - -void clear_eeprom(void) { - layer_state_t default_layer_temp = default_layer_state; - eeconfig_init(); - layer_state_set(default_layer_temp); - default_layer_set(default_layer_temp); - keymap_config.no_gui = 0; - eeconfig_update_keymap(keymap_config.raw); - #ifdef VIA_ENABLE - // This resets the layout options - via_set_layout_options(VIA_EEPROM_LAYOUT_OPTIONS_DEFAULT); - // This resets the keymaps in EEPROM to what is in flash. - dynamic_keymap_reset(); - // This resets the macros in EEPROM to nothing. - dynamic_keymap_macro_reset(); - #endif - - rgb_matrix_enable_noeeprom(); -} - -void rgb_hsv_updata_user(void) -{ - rgb_matrix_sethsv(rgb_matrix_config.hsv.h, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v); -} diff --git a/keyboards/monsgeek/m2/mcuconf.h b/keyboards/monsgeek/m2/mcuconf.h index 0d16f4f04e4..e2884f3828f 100644 --- a/keyboards/monsgeek/m2/mcuconf.h +++ b/keyboards/monsgeek/m2/mcuconf.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2022 jonylee@hfd +/* Copyright (C) 2023 jonylee@hfd * * 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 diff --git a/keyboards/monsgeek/m2/rules.mk b/keyboards/monsgeek/m2/rules.mk index 6decd907366..b753f0682e5 100644 --- a/keyboards/monsgeek/m2/rules.mk +++ b/keyboards/monsgeek/m2/rules.mk @@ -1,8 +1,6 @@ # Build Options # change yes to no to disable # -RGB_MATRIX_DRIVER = IS31FL3733 EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = spi_flash -#RGB_MATRIX_CUSTOM_USER = yes #Add turnoff LED