浏览代码

[Keyboard] add kbdfans/maja rgb keyboard (#9114)

* add kbd67 rev2 via support, kbd67mkiirgb small change

add kbd67 rev2 via support, kbd67mkiirgb small change

* Update keyboards/kbdfans/kbd67/rev2/keymaps/via/keymap.c

* Update keyboards/kbdfans/kbd67/rev2/keymaps/via/keymap.c

* define DYNAMIC_KEYMAP_LAYER_COUNT 2

* add kbdfans/maja rgb keyboard

* Update keyboards/kbdfans/maja/maja.c

* Update keyboards/kbdfans/maja/readme.md

* Update keyboards/kbdfans/maja/keymaps/default/keymap.c

* Update keyboards/kbdfans/maja/maja.h

* Update keyboards/kbdfans/maja/maja.c

* Update keyboards/kbdfans/maja/keymaps/default/keymap.c

* Update keyboards/kbdfans/maja/keymaps/via/keymap.c

* Update keyboards/kbdfans/maja/maja.c

* Update keyboards/kbdfans/maja/keymaps/via/keymap.c

* Update readme.md

* Update readme.md

* Update keyboards/kbdfans/maja/rules.mk

* Update keyboards/kbdfans/maja/keymaps/via/keymap.c

* Update keyboards/kbdfans/maja/rules.mk

* Update keyboards/kbdfans/maja/rules.mk

* Update keyboards/kbdfans/maja/keymaps/default/keymap.c

* Update keyboards/kbdfans/maja/keymaps/via/keymap.c

* Update keyboards/kbdfans/maja/config.h

* Update keyboards/kbdfans/maja/readme.md
moyi4681 5 年之前
父节点
当前提交
c9d396dd47

+ 46 - 0
keyboards/kbdfans/maja/config.h

@@ -0,0 +1,46 @@
+#pragma once
+
+#include "config_common.h"
+
+#define VENDOR_ID       0x4B42
+#define PRODUCT_ID      0x6068
+#define DEVICE_VER      0x0001
+#define MANUFACTURER    KBDFANS
+#define PRODUCT         MAJA
+#define DESCRIPTION     MAJA RGB keyboard
+
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 15
+#define MATRIX_ROW_PINS { F0, B6, B5, B4, D7 }
+#define MATRIX_COL_PINS { C6, C7, F7, F6, F5, F4, F1, B0, B1, B2, B3, B7, D2, D3, D5 }
+#define DIODE_DIRECTION COL2ROW
+
+#define RGB_MATRIX_LED_PROCESS_LIMIT 4
+#define RGB_MATRIX_LED_FLUSH_LIMIT 26
+#define DEBOUNCE 3
+#define RGB_DISABLE_AFTER_TIMEOUT 0
+#define RGB_DISABLE_WHEN_USB_SUSPENDED true
+#define RGB_MATRIX_KEYPRESSES
+#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN	
+#define DISABLE_RGB_MATRIX_BAND_SAT
+#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+#define DISABLE_RGB_MATRIX_SPLASH
+#define DISABLE_RGB_MATRIX_MULTISPLASH
+#define DISABLE_RGB_MATRIX_SOLID_SPLASH
+#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#define DISABLE_RGB_MATRIX_DIGITAL_RAIN
+#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
+#define DRIVER_ADDR_1 0b1110100
+#define DRIVER_ADDR_2 0b1110110
+#define DRIVER_COUNT 2
+#define DRIVER_1_LED_TOTAL 36
+#define DRIVER_2_LED_TOTAL 31
+#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

+ 17 - 0
keyboards/kbdfans/maja/keymaps/default/keymap.c

@@ -0,0 +1,17 @@
+#include QMK_KEYBOARD_H
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+		[0] = LAYOUT( /* Base */
+			KC_GESC,       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_HOME,
+		    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_BSLASH, KC_PGUP,
+			CTL_T(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_PGDN,
+		    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_END,
+		    KC_LCTL,                 KC_LGUI,  KC_LALT,      KC_SPC,         KC_RALT,        KC_RCTL,                      KC_LEFT, KC_DOWN,   KC_RIGHT),
+		[1] = LAYOUT( /* FN */
+			KC_GESC,       KC_F1,    KC_F2,   KC_F3,  KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,   KC_F11,  KC_F12,  RESET,   KC_HOME,
+		    KC_TRNS,       RGB_TOG,  RGB_MOD, RGB_HUI,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK,  KC_PAUS, RESET,    KC_PGUP,
+			CTL_T(KC_CAPS),RGB_SPI,  RGB_SPD, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS,          EEP_RST,  KC_PGDN,
+		    KC_LSFT,       KC_TRNS,  KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_VOLU, KC_MUTE,
+		    KC_TRNS,                 KC_TRNS, KC_TRNS,         KC_TRNS,           KC_TRNS,         KC_TRNS,                    KC_MPRV, KC_VOLD,  KC_MNXT),
+ };

+ 29 - 0
keyboards/kbdfans/maja/keymaps/via/keymap.c

@@ -0,0 +1,29 @@
+#include QMK_KEYBOARD_H
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+		[0] = LAYOUT( /* Base */
+			KC_GESC,       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_HOME,
+		    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_BSLASH, KC_PGUP,
+			CTL_T(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_PGDN,
+		    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_END,
+		    KC_LCTL,                 KC_LGUI,  KC_LALT,      KC_SPC,         KC_RALT,        KC_RCTL,                      KC_LEFT, KC_DOWN,   KC_RIGHT),
+		[1] = LAYOUT( /* FN */
+			KC_GESC,       KC_F1,    KC_F2,   KC_F3,  KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,   KC_F11,  KC_F12,  RESET,   KC_HOME,
+		    KC_TRNS,       RGB_TOG,  RGB_MOD, RGB_HUI,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK,  KC_PAUS, RESET,    KC_PGUP,
+			CTL_T(KC_CAPS),RGB_SPI,  RGB_SPD, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS,          EEP_RST,  KC_PGDN,
+		    KC_LSFT,       KC_TRNS,  KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_VOLU, KC_MUTE,
+		    KC_TRNS,                 KC_TRNS, KC_TRNS,         KC_TRNS,           KC_TRNS,         KC_TRNS,                    KC_MPRV, KC_VOLD,  KC_MNXT),
+		[2] = LAYOUT(
+			_______,       _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+		    _______,       _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+			_______,       _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______, _______,
+		    _______,       _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+		    _______,                _______, _______,          _______,          _______,          _______,                   _______, _______, _______),
+		[3] = LAYOUT(
+			_______,       _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+		    _______,       _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+			_______,       _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______, _______,
+		    _______,       _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+		    _______,                _______, _______,          _______,          _______,          _______,                   _______, _______, _______),
+ };

+ 2 - 0
keyboards/kbdfans/maja/keymaps/via/rules.mk

@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes

+ 104 - 0
keyboards/kbdfans/maja/maja.c

@@ -0,0 +1,104 @@
+#include "maja.h"
+
+const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+	{0, C2_1,  C3_1,  C4_1},  // LA0
+    {0, C1_1,  C3_2, C4_2},   // LA1
+    {0, C1_2,  C2_2, C4_3},   // LA2
+    {0, C1_3,  C2_3, C3_3},   // LA3
+    {0, C1_4,  C2_4, C3_4},   // LA4
+    {0, C1_5,  C2_5, C3_5},   // LA5
+    {0, C1_6,  C2_6, C3_6},   // LA6
+    {0, C1_15, C2_15, C3_15}, // LB7
+	{0, C1_14, C2_14, C3_14}, // LB6
+    {0, C1_13, C2_13, C3_13}, // LB5
+    {0, C1_12, C2_12, C3_12}, // LB4
+    {0, C1_11, C2_11, C3_11}, // LB3
+    {0, C1_10, C2_10, C4_11}, // LB2
+    {0, C1_9,  C3_10, C4_10}, // LB1	
+	{0, C2_9,  C3_9,  C4_9},  // LB0
+
+    {0, C9_4,  C8_4, C7_4},   // LA12
+    {0, C9_3,  C8_3, C7_3},   // LA11
+    {0, C9_2,  C8_2, C7_2},   // LA10
+    {0, C9_1,  C8_1, C7_1},   // LA9
+    {0, C1_8,  C2_8, C3_8},   // LA8
+    {0, C1_7,  C2_7, C3_7},   // LA7
+    {0, C1_16, C2_16, C3_16}, // LB8
+    {0, C9_9,  C8_9,  C7_9},  // LB9
+    {0, C9_10, C8_10, C7_10}, // LB10
+    {0, C9_11, C8_11, C7_11}, // LB11
+    {0, C9_12, C8_12, C7_12}, // LB12
+    {0, C9_13, C8_13, C7_13}, // LB13
+    {0, C9_14, C8_14, C7_14}, // LB14
+    {0, C9_15, C8_15, C6_14}, // LB15
+    {0, C9_16, C7_15, C6_15}, // LB16
+
+    {0, C9_5,  C8_5, C7_5},   // LA13
+    {0, C9_6,  C8_6, C7_6},   // LA14
+    {0, C9_7,  C8_7, C6_6},   // LA15
+    {0, C9_8,  C7_7, C6_7},   // LA16
+    {0, C8_8,  C7_8, C6_8},   // LA17
+    {1, C2_1,  C3_1,  C4_1},  // LC0
+    {1, C1_15, C2_15, C3_15}, // LD7	
+    {1, C1_14, C2_14, C3_14}, // LD6	
+    {1, C1_13, C2_13, C3_13}, // LD5	
+    {1, C1_12, C2_12, C3_12}, // LD4	
+    {1, C1_11, C2_11, C3_11}, // LD3
+    {1, C1_10, C2_10, C4_11}, // LD2
+    {1, C1_9,  C3_10, C4_10}, // LD1
+    {0, C8_16, C7_16, C6_16}, // LB17
+
+    {1, C1_6,  C2_6, C3_6},   // LC6
+    {1, C1_5,  C2_5, C3_5},   // LC5	
+    {1, C1_4,  C2_4, C3_4},   // LC4	
+    {1, C1_3,  C2_3, C3_3},   // LC3
+    {1, C1_2,  C2_2, C4_3},   // LC2	
+    {1, C1_1,  C3_2, C4_2},   // LC1
+    {1, C1_16, C2_16, C3_16}, // LD8
+    {1, C9_9,  C8_9,  C7_9},  // LD9
+    {1, C9_10, C8_10, C7_10}, // LD10
+    {1, C9_11, C8_11, C7_11}, // LD11
+    {1, C9_12, C8_12, C7_12}, // LD12
+    {1, C9_13, C8_13, C7_13}, // LD13
+    {1, C9_14, C8_14, C7_14}, // LD14
+    {1, C2_9,  C3_9,  C4_9},  // LD0
+
+    {1, C1_7,  C2_7, C3_7},   // LC7
+    {1, C1_8,  C2_8, C3_8},   // LC8
+    {1, C9_1,  C8_1,  C7_1},  // LC9
+    {1, C9_2,  C8_2, C7_2},   // LC10
+    {1, C9_3,  C8_3, C7_3},   // LC11
+    {1, C9_4,  C8_4, C7_4},   // LC12
+    {1, C9_15, C8_15, C6_14}, // LD15
+    {1, C9_16, C7_15, C6_15}, // LD16
+    {1, C8_16, C7_16, C6_16} // LD17
+};
+
+led_config_t g_led_config = { {
+    {  0,   1,      2,   3,   4,      5,   6,      7,   8,      9,   10,     11,     12,     13,  14},
+    {  15,  16,     17,  18,  19,     20,  21,     22,  23,     24,  25,     26,     27,     28,  29,},
+    {  30,  31,     32,  33,  34,     35,  36,     37,  38,     39,  40,     41,     NO_LED, 42,  43},
+    {  44,  45,     46,  47,  48,     49,  50,     51,  52,     53,  54,     55,     56,     57,  NO_LED},
+	{  58,  NO_LED, 59,  60,  NO_LED, 61,  NO_LED, 62,  NO_LED, 63,  NO_LED, NO_LED, 64,     65,  66}
+}, { 
+    {4,1},{18,1},{31,0},{46,3},{59,5},{73,7},{86,10},{107,9},{121,7},{134,4},{148,2},{162,0},{176,2},{196,2},{224,0},
+	{5,15},{22,15},{37,15},{50,17},{64,20},{77,22},{103,23},{117,21},{130,19},{143,16},{158,15},{171,16},{186,16},{202,16},{224,16},
+	{4,28},{23,28},{38,29},{51,31},{65,34},{78,36},{109,36},{122,34},{136,32},{150,29},{164,29},{177,29},{200,29},{224,29},
+	{5,42},{27,42},{42,43},{55,46},{69,48},{82,51},{104,51},{118,48},{131,46},{145,44},{159,43},{173,43},{192,43},{214,46},
+	{0,55},{40,58},{62,61},{86,64},{119,62},{147,58},{201,60},{214,60},{224,60}
+}, {
+    1, 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, 1, 
+	4, 4, 4, 1, 4, 4, 1, 1, 1
+} };
+
+void suspend_power_down_kb(void) {
+    rgb_matrix_set_suspend_state(true);
+    suspend_power_down_user();
+}
+void suspend_wakeup_init_kb(void) {
+    rgb_matrix_set_suspend_state(false);
+    suspend_wakeup_init_user();
+}

+ 19 - 0
keyboards/kbdfans/maja/maja.h

@@ -0,0 +1,19 @@
+#pragma once
+
+#include "quantum.h"
+
+#define XXX KC_NO
+
+#define LAYOUT( \
+    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
+    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
+    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D, K2E, \
+    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D,      \
+    K40,      K42, K43,      K45,      K47,      K49,           K4C, K4D, K4E  \
+) { \
+    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
+    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
+    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D, K2E }, \
+    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX }, \
+    { K40, XXX, K42, K43, XXX, K45, XXX, K47, XXX, K49, XXX, XXX, K4C, K4D, K4E }  \
+}

+ 14 - 0
keyboards/kbdfans/maja/readme.md

@@ -0,0 +1,14 @@
+# MAJA
+
+![MAJA](https://i.ibb.co/ZxWRgg3/2.png)
+![MAJA](https://i.ibb.co/kgXQkgF/1.png)
+
+* Keyboard Maintainer: [DZTECH](https://github.com/moyi4681)
+* Hardware Supported: MAJA
+* Hardware Availability: [KBDFans](https://kbdfans.cn/)
+
+Make example for this keyboard (after setting up your build environment):
+
+    make kbdfans/maja:default
+
+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).

+ 33 - 0
keyboards/kbdfans/maja/rules.mk

@@ -0,0 +1,33 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+#   Teensy       halfkay
+#   Pro Micro    caterina
+#   Atmel DFU    atmel-dfu
+#   LUFA DFU     lufa-dfu
+#   QMK DFU      qmk-dfu
+#   ATmega32A    bootloadHID
+#   ATmega328P   USBasp
+BOOTLOADER = atmel-dfu
+
+# Build Options
+#   change yes to no to disable
+#
+BOOTMAGIC_ENABLE = lite     # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes       # Mouse keys
+EXTRAKEY_ENABLE = yes       # Audio control and System control
+CONSOLE_ENABLE = no         # Console for debug
+COMMAND_ENABLE = no         # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes           # USB Nkey Rollover
+BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
+MIDI_ENABLE = no            # MIDI support
+UNICODE_ENABLE = no         # Unicode
+BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE = no           # Audio output on port C6
+FAUXCLICKY_ENABLE = no      # Use buzzer to emulate clicky switches
+RGB_MATRIX_ENABLE = yes     # Use RGB matrix
+NO_USB_STARTUP_CHECK = no   # Disable initialization only when usb is plugged in