mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-11-04 07:12:33 +01:00 
			
		
		
		
	[Keyboard] Add Mixi (#9364)
* [Keyboard] Add Mixi Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Ryan <fauxpark@gmail.com>
This commit is contained in:
		
							parent
							
								
									ed528403fd
								
							
						
					
					
						commit
						30fd69886d
					
				
							
								
								
									
										47
									
								
								keyboards/mixi/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								keyboards/mixi/config.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,47 @@
 | 
				
			|||||||
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "config_common.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* USB Device descriptor parameter */
 | 
				
			||||||
 | 
					#define VENDOR_ID       0x4752
 | 
				
			||||||
 | 
					#define PRODUCT_ID      0x4D49
 | 
				
			||||||
 | 
					#define DEVICE_VER      0x0001
 | 
				
			||||||
 | 
					#define MANUFACTURER    gregorio
 | 
				
			||||||
 | 
					#define PRODUCT         Mixi
 | 
				
			||||||
 | 
					#define DESCRIPTION     Mixi macropad by gregorio
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* key matrix size */
 | 
				
			||||||
 | 
					#define MATRIX_ROWS 3
 | 
				
			||||||
 | 
					#define MATRIX_COLS 3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Keyboard Matrix Assignments */
 | 
				
			||||||
 | 
					#define DIRECT_PINS { \
 | 
				
			||||||
 | 
					    { D1, D4, F4 }, \
 | 
				
			||||||
 | 
					    { D0, B4, F5 }, \
 | 
				
			||||||
 | 
					    { C6, F7, B6 } \
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define ENCODERS_PAD_A { F5 }
 | 
				
			||||||
 | 
					#define ENCODERS_PAD_B { F4 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Set 0 if debouncing isn't needed */
 | 
				
			||||||
 | 
					#define DEBOUNCE 5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define RGB_DI_PIN B5
 | 
				
			||||||
 | 
					#ifdef RGB_DI_PIN
 | 
				
			||||||
 | 
					#define RGBLED_NUM 5
 | 
				
			||||||
 | 
					#define RGBLIGHT_HUE_STEP 8
 | 
				
			||||||
 | 
					#define RGBLIGHT_SAT_STEP 8
 | 
				
			||||||
 | 
					#define RGBLIGHT_VAL_STEP 8
 | 
				
			||||||
 | 
					#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
 | 
				
			||||||
 | 
					#define RGBLIGHT_SLEEP  /* If defined, the RGB lighting will be switched off when the host goes to sleep */
 | 
				
			||||||
 | 
					#define RGBLIGHT_ANIMATIONS
 | 
				
			||||||
 | 
					#define RGBLIGHT_LAYERS
 | 
				
			||||||
 | 
					#define RGBLIGHT_LAYER_BLINK
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
							
								
								
									
										22
									
								
								keyboards/mixi/info.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								keyboards/mixi/info.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,22 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					    "keyboard_name": "Mixi",
 | 
				
			||||||
 | 
					    "url": "https://tokopedia.com/sell-stuffs",
 | 
				
			||||||
 | 
					    "maintainer": "ohchiko",
 | 
				
			||||||
 | 
					    "width": 3,
 | 
				
			||||||
 | 
					    "height": 3,
 | 
				
			||||||
 | 
					    "layouts": {
 | 
				
			||||||
 | 
					        "LAYOUT": {
 | 
				
			||||||
 | 
					            "layout": [
 | 
				
			||||||
 | 
					                {"x":0, "y":0},
 | 
				
			||||||
 | 
					                {"x":1, "y":0},
 | 
				
			||||||
 | 
					                {"x":2, "y":0},
 | 
				
			||||||
 | 
					                {"x":0, "y":1},
 | 
				
			||||||
 | 
					                {"x":1, "y":1},
 | 
				
			||||||
 | 
					                {"x":2, "y":1},
 | 
				
			||||||
 | 
					                {"x":0, "y":2},
 | 
				
			||||||
 | 
					                {"x":1, "y":2},
 | 
				
			||||||
 | 
					                {"x":2, "y":2}
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										116
									
								
								keyboards/mixi/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										116
									
								
								keyboards/mixi/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,116 @@
 | 
				
			|||||||
 | 
					#include QMK_KEYBOARD_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// please change this value to the desired layer definitions
 | 
				
			||||||
 | 
					#define LAYERNUM 3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /*
 | 
				
			||||||
 | 
					     * | Knob: Layer +/-                       |
 | 
				
			||||||
 | 
					     * .---------------------------------------.
 | 
				
			||||||
 | 
					     * | Mute     | Play/Pause | Hold: Layer 2 |
 | 
				
			||||||
 | 
					     * |----------|------------|---------------|
 | 
				
			||||||
 | 
					     * | Previous | Up         | Next          |
 | 
				
			||||||
 | 
					     * |----------|------------|---------------|
 | 
				
			||||||
 | 
					     * | Left     | Down       | Right         |
 | 
				
			||||||
 | 
					     * '---------------------------------------'
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    [0] =
 | 
				
			||||||
 | 
					        LAYOUT(
 | 
				
			||||||
 | 
					                KC_MUTE,  KC_MPLY, MO(2), 
 | 
				
			||||||
 | 
					                KC_MNXT,  KC_UP  , KC_MPRV     , 
 | 
				
			||||||
 | 
					                KC_LEFT, KC_DOWN , KC_RGHT
 | 
				
			||||||
 | 
					              ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /*
 | 
				
			||||||
 | 
					     * .-----------------------.
 | 
				
			||||||
 | 
					     * | NUM 7 | NUM 8 | NUM 9 |
 | 
				
			||||||
 | 
					     * |-------|-------|-------|
 | 
				
			||||||
 | 
					     * | NUM 4 | NUM 5 | NUM 6 |
 | 
				
			||||||
 | 
					     * |-------|-------|-------|
 | 
				
			||||||
 | 
					     * | NUM 1 | NUM 2 | NUM 3 |
 | 
				
			||||||
 | 
					     * '-----------------------'
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    [1] =
 | 
				
			||||||
 | 
					        LAYOUT(
 | 
				
			||||||
 | 
					                KC_P7, KC_P8, KC_P8,
 | 
				
			||||||
 | 
					                KC_P4, KC_P5, KC_P6,
 | 
				
			||||||
 | 
					                KC_P1, KC_P2, KC_P3
 | 
				
			||||||
 | 
					              ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /*
 | 
				
			||||||
 | 
					     * | Knob: Volume +/-                     |
 | 
				
			||||||
 | 
					     * .--------------------------------------.
 | 
				
			||||||
 | 
					     * | N/A          | N/A   | Hold: Layer 2 |
 | 
				
			||||||
 | 
					     * |--------------|-------|---------------|
 | 
				
			||||||
 | 
					     * | RESET EEPROM | RESET | DEBUG MODE    |
 | 
				
			||||||
 | 
					     * |--------------|-------|---------------|
 | 
				
			||||||
 | 
					     * | N/A          | N/A   | N/A           |
 | 
				
			||||||
 | 
					     * '--------------------------------------'
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    [2] =
 | 
				
			||||||
 | 
					        LAYOUT(
 | 
				
			||||||
 | 
					                KC_NO  , KC_NO, KC_TRNS, 
 | 
				
			||||||
 | 
					                EEP_RST, RESET, DEBUG  , 
 | 
				
			||||||
 | 
					                KC_NO  , KC_NO, KC_NO
 | 
				
			||||||
 | 
					              )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const rgblight_segment_t PROGMEM _base_layer[] = RGBLIGHT_LAYER_SEGMENTS(
 | 
				
			||||||
 | 
					        {0, RGBLED_NUM, HSV_WHITE}
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					const rgblight_segment_t PROGMEM _middle_layer[] = RGBLIGHT_LAYER_SEGMENTS(
 | 
				
			||||||
 | 
					        {0, RGBLED_NUM, HSV_GREEN}
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					const rgblight_segment_t PROGMEM _top_layer[] = RGBLIGHT_LAYER_SEGMENTS(
 | 
				
			||||||
 | 
					        {0, RGBLED_NUM, HSV_RED}
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const rgblight_segment_t* const PROGMEM _rgb_layers[] =
 | 
				
			||||||
 | 
					RGBLIGHT_LAYERS_LIST(
 | 
				
			||||||
 | 
					        _base_layer,
 | 
				
			||||||
 | 
					        _middle_layer,
 | 
				
			||||||
 | 
					        _top_layer
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void keyboard_post_init_user(void) {
 | 
				
			||||||
 | 
					    rgblight_layers = _rgb_layers;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					layer_state_t layer_state_set_user(layer_state_t state) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    switch (get_highest_layer(state)) {
 | 
				
			||||||
 | 
					        case 0:
 | 
				
			||||||
 | 
					            rgblight_blink_layer(0, 500);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 1:
 | 
				
			||||||
 | 
					            rgblight_blink_layer(1, 500);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 2:
 | 
				
			||||||
 | 
					            rgblight_blink_layer(2, 500);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    return state;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uint8_t selected_layer = 0;
 | 
				
			||||||
 | 
					void encoder_update_user(uint8_t index, bool clockwise) {
 | 
				
			||||||
 | 
					    if (index == 0) {
 | 
				
			||||||
 | 
					        if (layer_state_is(2)) {
 | 
				
			||||||
 | 
					            if (clockwise) {
 | 
				
			||||||
 | 
					                tap_code(KC_VOLU);
 | 
				
			||||||
 | 
					            } else {
 | 
				
			||||||
 | 
					                tap_code(KC_VOLD);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            if (clockwise && selected_layer < (LAYERNUM-2)) { /* Prevent switch to layer 2 using encoder */
 | 
				
			||||||
 | 
					                selected_layer++;
 | 
				
			||||||
 | 
					                layer_move(selected_layer);
 | 
				
			||||||
 | 
					            } else if (!clockwise && selected_layer > 0) {
 | 
				
			||||||
 | 
					                selected_layer--;
 | 
				
			||||||
 | 
					                layer_move(selected_layer);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										10
									
								
								keyboards/mixi/keymaps/default/readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								keyboards/mixi/keymaps/default/readme.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Default Mixi Layout
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This is the default layout that comes flashed on every Mixi macropad. Layer 1
 | 
				
			||||||
 | 
					and Layer 2 are accessible by rotating the encoder. Layer 3 is not accessible
 | 
				
			||||||
 | 
					by the encoder, instead is accessible by holding the [0,2] key on Layer 1. While
 | 
				
			||||||
 | 
					Layer 3 is active, rotating the encoder will results in increasing/decreasing
 | 
				
			||||||
 | 
					media volume. This layout is expected the encoder is on the left side or [0,0]
 | 
				
			||||||
 | 
					key.
 | 
				
			||||||
							
								
								
									
										116
									
								
								keyboards/mixi/keymaps/via/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										116
									
								
								keyboards/mixi/keymaps/via/keymap.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,116 @@
 | 
				
			|||||||
 | 
					#include QMK_KEYBOARD_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// please change this value to the desired layer definitions
 | 
				
			||||||
 | 
					#define LAYERNUM 3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /*
 | 
				
			||||||
 | 
					     * | Knob: Layer +/-                       |
 | 
				
			||||||
 | 
					     * .---------------------------------------.
 | 
				
			||||||
 | 
					     * | Mute     | Play/Pause | Hold: Layer 2 |
 | 
				
			||||||
 | 
					     * |----------|------------|---------------|
 | 
				
			||||||
 | 
					     * | Previous | Up         | Next          |
 | 
				
			||||||
 | 
					     * |----------|------------|---------------|
 | 
				
			||||||
 | 
					     * | Left     | Down       | Right         |
 | 
				
			||||||
 | 
					     * '---------------------------------------'
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    [0] =
 | 
				
			||||||
 | 
					        LAYOUT(
 | 
				
			||||||
 | 
					                KC_MUTE,  KC_MPLY, MO(2), 
 | 
				
			||||||
 | 
					                KC_MNXT,  KC_UP  , KC_MPRV     , 
 | 
				
			||||||
 | 
					                KC_LEFT, KC_DOWN , KC_RGHT
 | 
				
			||||||
 | 
					              ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /*
 | 
				
			||||||
 | 
					     * .-----------------------.
 | 
				
			||||||
 | 
					     * | NUM 7 | NUM 8 | NUM 9 |
 | 
				
			||||||
 | 
					     * |-------|-------|-------|
 | 
				
			||||||
 | 
					     * | NUM 4 | NUM 5 | NUM 6 |
 | 
				
			||||||
 | 
					     * |-------|-------|-------|
 | 
				
			||||||
 | 
					     * | NUM 1 | NUM 2 | NUM 3 |
 | 
				
			||||||
 | 
					     * '-----------------------'
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    [1] =
 | 
				
			||||||
 | 
					        LAYOUT(
 | 
				
			||||||
 | 
					                KC_P7, KC_P8, KC_P8,
 | 
				
			||||||
 | 
					                KC_P4, KC_P5, KC_P6,
 | 
				
			||||||
 | 
					                KC_P1, KC_P2, KC_P3
 | 
				
			||||||
 | 
					              ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /*
 | 
				
			||||||
 | 
					     * | Knob: Volume +/-                     |
 | 
				
			||||||
 | 
					     * .--------------------------------------.
 | 
				
			||||||
 | 
					     * | N/A          | N/A   | Hold: Layer 2 |
 | 
				
			||||||
 | 
					     * |--------------|-------|---------------|
 | 
				
			||||||
 | 
					     * | RESET EEPROM | RESET | DEBUG MODE    |
 | 
				
			||||||
 | 
					     * |--------------|-------|---------------|
 | 
				
			||||||
 | 
					     * | N/A          | N/A   | N/A           |
 | 
				
			||||||
 | 
					     * '--------------------------------------'
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    [2] =
 | 
				
			||||||
 | 
					        LAYOUT(
 | 
				
			||||||
 | 
					                KC_NO  , KC_NO, KC_TRNS, 
 | 
				
			||||||
 | 
					                EEP_RST, RESET, DEBUG  , 
 | 
				
			||||||
 | 
					                KC_NO  , KC_NO, KC_NO
 | 
				
			||||||
 | 
					              )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const rgblight_segment_t PROGMEM _base_layer[] = RGBLIGHT_LAYER_SEGMENTS(
 | 
				
			||||||
 | 
					        {0, RGBLED_NUM, HSV_WHITE}
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					const rgblight_segment_t PROGMEM _middle_layer[] = RGBLIGHT_LAYER_SEGMENTS(
 | 
				
			||||||
 | 
					        {0, RGBLED_NUM, HSV_GREEN}
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					const rgblight_segment_t PROGMEM _top_layer[] = RGBLIGHT_LAYER_SEGMENTS(
 | 
				
			||||||
 | 
					        {0, RGBLED_NUM, HSV_RED}
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const rgblight_segment_t* const PROGMEM _rgb_layers[] =
 | 
				
			||||||
 | 
					RGBLIGHT_LAYERS_LIST(
 | 
				
			||||||
 | 
					        _base_layer,
 | 
				
			||||||
 | 
					        _middle_layer,
 | 
				
			||||||
 | 
					        _top_layer
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void keyboard_post_init_user(void) {
 | 
				
			||||||
 | 
					    rgblight_layers = _rgb_layers;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					layer_state_t layer_state_set_user(layer_state_t state) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    switch (get_highest_layer(state)) {
 | 
				
			||||||
 | 
					        case 0:
 | 
				
			||||||
 | 
					            rgblight_blink_layer(0, 500);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 1:
 | 
				
			||||||
 | 
					            rgblight_blink_layer(1, 500);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 2:
 | 
				
			||||||
 | 
					            rgblight_blink_layer(2, 500);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    return state;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uint8_t selected_layer = 0;
 | 
				
			||||||
 | 
					void encoder_update_user(uint8_t index, bool clockwise) {
 | 
				
			||||||
 | 
					    if (index == 0) {
 | 
				
			||||||
 | 
					        if (layer_state_is(2)) {
 | 
				
			||||||
 | 
					            if (clockwise) {
 | 
				
			||||||
 | 
					                tap_code(KC_VOLU);
 | 
				
			||||||
 | 
					            } else {
 | 
				
			||||||
 | 
					                tap_code(KC_VOLD);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            if (clockwise && selected_layer < (LAYERNUM-2)) { /* Prevent switch to layer 2 using encoder */
 | 
				
			||||||
 | 
					                selected_layer++;
 | 
				
			||||||
 | 
					                layer_move(selected_layer);
 | 
				
			||||||
 | 
					            } else if (!clockwise && selected_layer > 0) {
 | 
				
			||||||
 | 
					                selected_layer--;
 | 
				
			||||||
 | 
					                layer_move(selected_layer);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										2
									
								
								keyboards/mixi/keymaps/via/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								keyboards/mixi/keymaps/via/rules.mk
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					VIA_ENABLE = yes
 | 
				
			||||||
 | 
					LTO_ENABLE = yes
 | 
				
			||||||
							
								
								
									
										13
									
								
								keyboards/mixi/mixi.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								keyboards/mixi/mixi.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					#include "mixi.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void eeconfig_init_kb(void) {
 | 
				
			||||||
 | 
					#ifdef RGBLIGHT_ENABLE
 | 
				
			||||||
 | 
					    rgblight_enable(); // Enable RGB underglow by default
 | 
				
			||||||
 | 
					#ifdef RGBLIGHT_ANIMATIONS
 | 
				
			||||||
 | 
					    rgblight_mode(RGBLIGHT_MODE_TWINKLE + 5); // Set to RGB_TWINKLE animation by default
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    eeconfig_update_kb(0);
 | 
				
			||||||
 | 
					    eeconfig_init_user();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										13
									
								
								keyboards/mixi/mixi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								keyboards/mixi/mixi.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "quantum.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define LAYOUT( \
 | 
				
			||||||
 | 
					        K00, K01, K02, \
 | 
				
			||||||
 | 
					        K10, K11, K12, \
 | 
				
			||||||
 | 
					        K20, K21, K22  \
 | 
				
			||||||
 | 
					        ) { \
 | 
				
			||||||
 | 
					    { K00,   K01,   K02 }, \
 | 
				
			||||||
 | 
					    { K10,   K11,   K12 }, \
 | 
				
			||||||
 | 
					    { K20,   K21,   K22 }  \
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										15
									
								
								keyboards/mixi/readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								keyboards/mixi/readme.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					# Mixi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					A mini 3x3 macropad with rotary encoders support and RGB underglow and also tray mount support. Currently the PCB and kits can only be purchased in Indonesia.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Keyboard Maintainer: [ohchiko](https://github.com/ohchiko)
 | 
				
			||||||
 | 
					* Hardware Supported: Mixi PCB, Arduino Pro Micro
 | 
				
			||||||
 | 
					* Hardware Availability: [Tokopedia/Sell Stuffs](https://tokopedia.com/sell-stuffs) (Indonesia only).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Make example for this keyboard (after setting up your build environment):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    make mixi: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).
 | 
				
			||||||
							
								
								
									
										27
									
								
								keyboards/mixi/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								keyboards/mixi/rules.mk
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,27 @@
 | 
				
			|||||||
 | 
					# 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 = caterina
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Build Options
 | 
				
			||||||
 | 
					#   comment out to disable the options.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					BOOTMAGIC_ENABLE = no       # Virtual DIP switch configuration
 | 
				
			||||||
 | 
					MOUSEKEY_ENABLE = no        # Mouse keys
 | 
				
			||||||
 | 
					EXTRAKEY_ENABLE = yes       # Audio control and System control
 | 
				
			||||||
 | 
					CONSOLE_ENABLE = yes        # Console for debug
 | 
				
			||||||
 | 
					COMMAND_ENABLE = yes        # Commands for debug and configuration
 | 
				
			||||||
 | 
					SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
 | 
				
			||||||
 | 
					NKRO_ENABLE = no            # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
 | 
				
			||||||
 | 
					BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 | 
				
			||||||
 | 
					RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
 | 
				
			||||||
 | 
					ENCODER_ENABLE = yes
 | 
				
			||||||
 | 
					AUDIO_ENABLE = no
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user