mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-11-03 23:02:34 +01:00 
			
		
		
		
	Merge remote-tracking branch 'origin/master' into develop
This commit is contained in:
		
						commit
						86ab1c1331
					
				
							
								
								
									
										74
									
								
								keyboards/quarkeys/z40/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								keyboards/quarkeys/z40/config.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,74 @@
 | 
				
			|||||||
 | 
					/* 
 | 
				
			||||||
 | 
					/ Copyright 2022 quarkeys
 | 
				
			||||||
 | 
					/ 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
 | 
				
			||||||
 | 
					/ the Free Software Foundation, either version 2 of the License, or
 | 
				
			||||||
 | 
					/ (at your option) any later version.
 | 
				
			||||||
 | 
					/ This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 | 
					/ but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 | 
					/ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 | 
					/ GNU General Public License for more details.
 | 
				
			||||||
 | 
					/ You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					/ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define DIODE_DIRECTION COL2ROW
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define MATRIX_ROW_PINS { E6, B3, C7, C6 }
 | 
				
			||||||
 | 
					#define MATRIX_COL_PINS { F4, F5, F6, F7, B6, B5, B4, D7, D6, D0, B1, B0 }
 | 
				
			||||||
 | 
					#define RGB_DI_PIN F1
 | 
				
			||||||
 | 
					#ifdef RGB_MATRIX_ENABLE
 | 
				
			||||||
 | 
					#define RGB_MATRIX_LED_COUNT 47
 | 
				
			||||||
 | 
					#define RGB_MATRIX_KEYPRESSES                       // Reacts to Keypresses
 | 
				
			||||||
 | 
					#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
 | 
				
			||||||
 | 
					#define RGB_DISABLE_WHEN_USB_SUSPENDED              // Turn off effects when suspended
 | 
				
			||||||
 | 
					#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 130           // Limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
 | 
				
			||||||
 | 
					#define RGB_MATRIX_SAT_STEP 8
 | 
				
			||||||
 | 
					#define RGB_MATRIX_VAL_STEP 8
 | 
				
			||||||
 | 
					#define RGB_MATRIX_SPD_STEP 10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// RGB_MATRIX effects
 | 
				
			||||||
 | 
					#define ENABLE_RGB_MATRIX_ALPHAS_MODS 	            //Enables RGB_MATRIX_ALPHAS_MODS
 | 
				
			||||||
 | 
					#define ENABLE_RGB_MATRIX_BREATHING 	            //Enables RGB_MATRIX_BREATHING
 | 
				
			||||||
 | 
					#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN 	        //Enables RGB_MATRIX_CYCLE_UP_DOWN
 | 
				
			||||||
 | 
					#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON 	//Enables RGB_MATRIX_RAINBOW_MOVING_CHEVRON
 | 
				
			||||||
 | 
					#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN 	            //Enables RGB_MATRIX_CYCLE_OUT_IN
 | 
				
			||||||
 | 
					#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL 	    //Enables RGB_MATRIX_CYCLE_OUT_IN_DUAL
 | 
				
			||||||
 | 
					#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL 	        //Enables RGB_MATRIX_CYCLE_PINWHEEL
 | 
				
			||||||
 | 
					#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL 	            //Enables RGB_MATRIX_CYCLE_SPIRAL
 | 
				
			||||||
 | 
					#define ENABLE_RGB_MATRIX_DUAL_BEACON 	            //Enables RGB_MATRIX_DUAL_BEACON
 | 
				
			||||||
 | 
					#define ENABLE_RGB_MATRIX_RAINBOW_BEACON 	        //Enables RGB_MATRIX_RAINBOW_BEACON
 | 
				
			||||||
 | 
					#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS 	    //Enables RGB_MATRIX_RAINBOW_PINWHEELS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// RGB_MATRIX reactive effects
 | 
				
			||||||
 | 
					#define ENABLE_RGB_MATRIX_SOLID_REACTIVE            // Static single hue, pulses keys hit to shifted hue then fades to current hue
 | 
				
			||||||
 | 
					#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE  // Hue & value pulse near multiple key hits then fades value out
 | 
				
			||||||
 | 
					#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
 | 
				
			||||||
 | 
					#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
 | 
				
			||||||
 | 
					#define ENABLE_RGB_MATRIX_MULTISPLASH               // Full gradient & value pulse away from multiple key hits then fades value out
 | 
				
			||||||
 | 
					#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH         // Hue & value pulse away from multiple key hits then fades value out
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef RGBLIGHT_ENABLE
 | 
				
			||||||
 | 
					#define RGBLED_NUM 47
 | 
				
			||||||
 | 
					#define RGBLIGHT_HUE_STEP 8
 | 
				
			||||||
 | 
					#define RGBLIGHT_SAT_STEP 8
 | 
				
			||||||
 | 
					#define RGBLIGHT_VAL_STEP 8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define RGBLIGHT_EFFECT_BREATHING
 | 
				
			||||||
 | 
					#define RGBLIGHT_EFFECT_RAINBOW_MOOD
 | 
				
			||||||
 | 
					#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 | 
				
			||||||
 | 
					#define RGBLIGHT_EFFECT_SNAKE
 | 
				
			||||||
 | 
					#define RGBLIGHT_EFFECT_KNIGHT
 | 
				
			||||||
 | 
					#define RGBLIGHT_EFFECT_CHRISTMAS
 | 
				
			||||||
 | 
					#define RGBLIGHT_EFFECT_STATIC_GRADIENT
 | 
				
			||||||
 | 
					#define RGBLIGHT_EFFECT_ALTERNATING
 | 
				
			||||||
 | 
					#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define RGBLIGHT_LAYERS
 | 
				
			||||||
 | 
					#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
 | 
				
			||||||
 | 
					#define RGBLIGHT_LIMIT_VAL 130
 | 
				
			||||||
 | 
					#define RGBLIGHT_SLEEP
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
							
								
								
									
										69
									
								
								keyboards/quarkeys/z40/info.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								keyboards/quarkeys/z40/info.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,69 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					    "keyboard_name": "Z40 Ortho", 
 | 
				
			||||||
 | 
					      "manufacturer": "Quarkeys Stuidio",
 | 
				
			||||||
 | 
					      "url": "www.quarkeys.com", 
 | 
				
			||||||
 | 
					      "maintainer": "TommyZ", 
 | 
				
			||||||
 | 
					      "usb": {
 | 
				
			||||||
 | 
					          "vid": "0x8490",
 | 
				
			||||||
 | 
					          "pid": "0x2801",
 | 
				
			||||||
 | 
					          "device_version": "0.0.1"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					    "processor": "atmega32u4",
 | 
				
			||||||
 | 
					    "bootloader": "atmel-dfu",
 | 
				
			||||||
 | 
					    "layouts": {
 | 
				
			||||||
 | 
					        "LAYOUT": {
 | 
				
			||||||
 | 
					            "layout": [
 | 
				
			||||||
 | 
					              {"x":0, "y":0}, 
 | 
				
			||||||
 | 
					              {"x":1, "y":0}, 
 | 
				
			||||||
 | 
					              {"x":2, "y":0}, 
 | 
				
			||||||
 | 
					              {"x":3, "y":0}, 
 | 
				
			||||||
 | 
					              {"x":4, "y":0}, 
 | 
				
			||||||
 | 
					              {"x":5, "y":0}, 
 | 
				
			||||||
 | 
					              {"x":6, "y":0}, 
 | 
				
			||||||
 | 
					              {"x":7, "y":0}, 
 | 
				
			||||||
 | 
					              {"x":8, "y":0}, 
 | 
				
			||||||
 | 
					              {"x":9, "y":0}, 
 | 
				
			||||||
 | 
					              {"x":10, "y":0}, 
 | 
				
			||||||
 | 
					              {"x":11, "y":0}, 
 | 
				
			||||||
 | 
					              
 | 
				
			||||||
 | 
					              {"x":0, "y":1}, 
 | 
				
			||||||
 | 
					              {"x":1, "y":1}, 
 | 
				
			||||||
 | 
					              {"x":2, "y":1}, 
 | 
				
			||||||
 | 
					              {"x":3, "y":1}, 
 | 
				
			||||||
 | 
					              {"x":4, "y":1}, 
 | 
				
			||||||
 | 
					              {"x":5, "y":1}, 
 | 
				
			||||||
 | 
					              {"x":6, "y":1}, 
 | 
				
			||||||
 | 
					              {"x":7, "y":1}, 
 | 
				
			||||||
 | 
					              {"x":8, "y":1}, 
 | 
				
			||||||
 | 
					              {"x":9, "y":1}, 
 | 
				
			||||||
 | 
					              {"x":10, "y":1}, 
 | 
				
			||||||
 | 
					              {"x":11, "y":1}, 
 | 
				
			||||||
 | 
					              
 | 
				
			||||||
 | 
					              {"x":0, "y":2}, 
 | 
				
			||||||
 | 
					              {"x":1, "y":2}, 
 | 
				
			||||||
 | 
					              {"x":2, "y":2}, 
 | 
				
			||||||
 | 
					              {"x":3, "y":2}, 
 | 
				
			||||||
 | 
					              {"x":4, "y":2}, 
 | 
				
			||||||
 | 
					              {"x":5, "y":2}, 
 | 
				
			||||||
 | 
					              {"x":6, "y":2}, 
 | 
				
			||||||
 | 
					              {"x":7, "y":2}, 
 | 
				
			||||||
 | 
					              {"x":8, "y":2}, 
 | 
				
			||||||
 | 
					              {"x":9, "y":2}, 
 | 
				
			||||||
 | 
					              {"x":10, "y":2}, 
 | 
				
			||||||
 | 
					              {"x":11, "y":2}, 
 | 
				
			||||||
 | 
					              
 | 
				
			||||||
 | 
					              {"x":0, "y":3}, 
 | 
				
			||||||
 | 
					              {"x":1, "y":3}, 
 | 
				
			||||||
 | 
					              {"x":2, "y":3},
 | 
				
			||||||
 | 
					              {"x":3, "y":3}, 
 | 
				
			||||||
 | 
					              {"x":4, "y":3}, 
 | 
				
			||||||
 | 
					              {"x":5, "y":3, "w":2}, 
 | 
				
			||||||
 | 
					              {"x":7, "y":3}, 
 | 
				
			||||||
 | 
					              {"x":8, "y":3}, 
 | 
				
			||||||
 | 
					              {"x":9, "y":3}, 
 | 
				
			||||||
 | 
					              {"x":10, "y":3}, 
 | 
				
			||||||
 | 
					              {"x":11, "y":3}
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
							
								
								
									
										102
									
								
								keyboards/quarkeys/z40/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										102
									
								
								keyboards/quarkeys/z40/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,102 @@
 | 
				
			|||||||
 | 
					/* 
 | 
				
			||||||
 | 
					/ Copyright 2022 quarkeys
 | 
				
			||||||
 | 
					/ 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
 | 
				
			||||||
 | 
					/ the Free Software Foundation, either version 2 of the License, or
 | 
				
			||||||
 | 
					/ (at your option) any later version.
 | 
				
			||||||
 | 
					/ This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 | 
					/ but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 | 
					/ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 | 
					/ GNU General Public License for more details.
 | 
				
			||||||
 | 
					/ You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					/ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include QMK_KEYBOARD_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
 | 
					    /* [0]
 | 
				
			||||||
 | 
					     * ,-------------------------------------------------------------------------------------.
 | 
				
			||||||
 | 
					     * | Esc   |   Q  |   W  |   E  |   R  |   T  |   Y  |   U  |   I  |   O  |   P  |  BS   |
 | 
				
			||||||
 | 
					     * |------------+------+------+------+------+-------------+------+------+------+------+--|
 | 
				
			||||||
 | 
					     * | Tab   |   A  |   S  |   D  |   F  |   G  |   H  |   J  |   K  |   L  |   ;  |  "    |
 | 
				
			||||||
 | 
					     * |------------+------+------+------+------+------|------+------+------+------+------+--|
 | 
				
			||||||
 | 
					     * | SHIFT |   Z  |   X  |   C  |   V  |   B  |   N  |   M  |   ,  |   .  |   /  | Shift |
 | 
				
			||||||
 | 
					     * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+--|
 | 
				
			||||||
 | 
					     * | Ctrl  | Caps |  ALT |  OS  | Ly1  |    SPACE    | Ly2  |  M1  |  M2  |  M3  | Enter |
 | 
				
			||||||
 | 
					     * `-------------------------------------------------------------------------------------'
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    [0] = LAYOUT(
 | 
				
			||||||
 | 
					        KC_ESC,	    KC_Q,       KC_W,       KC_E,       KC_R,       KC_T,       KC_Y,       KC_U,		KC_I,   	KC_O,   	KC_P,    	KC_BSPC, 
 | 
				
			||||||
 | 
							KC_TAB,     KC_A,       KC_S,       KC_D,       KC_F,       KC_G,       KC_H,       KC_J,		KC_K,   	KC_L,   	KC_SCLN, 	KC_QUOT, 
 | 
				
			||||||
 | 
							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_LCTL,    KC_CAPS,    KC_LALT,    KC_LGUI,    MO(1),          KC_SPC,             MO(2),		MO(3),   	_______,   	_______,    KC_ENT
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* [1]
 | 
				
			||||||
 | 
					     * ,-------------------------------------------------------------------------------------.
 | 
				
			||||||
 | 
					     * | Reset | PgUp | Home |  Up  |  End |  Del |   \  |  7   |  8   |   9  | RGBtg |  BS  |
 | 
				
			||||||
 | 
					     * |-------+------+------+------+------+------+------+------+------+------+-------+------|
 | 
				
			||||||
 | 
					     * |       | PgDn | Left | Down | Rght |   +  |   -  |  4   |  5   |   6  | RGBmod|      |
 | 
				
			||||||
 | 
					     * |-------+------+------+------+------+------+------+------+------+------+-------+------|
 | 
				
			||||||
 | 
					     * |       | Vol- | Vol+ | Play | Mute |   *  |   /  |  1   |  2   |   3  |   /   |      |
 | 
				
			||||||
 | 
					     * |-------+------+------+------+------+------+------+------+------+------+-------+------|
 | 
				
			||||||
 | 
					     * |       |      |      |      |      |      0      |      |      |   .  |       |  =   |
 | 
				
			||||||
 | 
					     * `-------+------+------+------+------+-------------+------+------+------+-------+------'
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					     
 | 
				
			||||||
 | 
					    [1] = LAYOUT(
 | 
				
			||||||
 | 
					        QK_BOOT,	KC_PGUP,	KC_HOME,	KC_UP,		KC_END,		KC_DEL,		KC_BSLS,	KC_7,		KC_8,		KC_9,		RGB_TOG,	_______, 
 | 
				
			||||||
 | 
							_______, 	KC_PGDN, 	KC_LEFT, 	KC_DOWN, 	KC_RGHT, 	KC_PLUS, 	KC_MINS, 	KC_4, 		KC_5, 		KC_6, 		RGB_MOD, 	_______, 
 | 
				
			||||||
 | 
							_______, 	KC_VOLD, 	KC_VOLU, 	_______, 	_______, 	KC_ASTR, 	KC_SLSH, 	KC_1, 		KC_2, 		KC_3, 		RGB_HUI, 	_______,
 | 
				
			||||||
 | 
							RGB_SAI, 	RGB_SAD, 	RGB_VAI, 	RGB_VAD, 	_______, 			KC_0, 			_______, 	_______, 	KC_DOT, 	RGB_HUD, 	KC_EQL
 | 
				
			||||||
 | 
						),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* [2]
 | 
				
			||||||
 | 
					     * ,-------------------------------------------------------------------------------------.
 | 
				
			||||||
 | 
					     * |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |  F7  |  F8  |  F9  |  F10 |  F11  |  F12  |
 | 
				
			||||||
 | 
					     * |------+------+------+------+------+------+------+------+------+------+----+--+-------|
 | 
				
			||||||
 | 
					     * |      |  &   |  |   |  (   |  )   |      |      |  {   |  }   |  [   |  ]    |       |
 | 
				
			||||||
 | 
					     * |------+------+------+------+------+------+------+------+------+------+-------+-------|
 | 
				
			||||||
 | 
					     * |      |  !   |  @   |  #   |  ^   |      |      |  ~   |  <   |  >   |  ?    |       |
 | 
				
			||||||
 | 
					     * |------+------+------+------+------+------+------+------+------+------+-------+-------|
 | 
				
			||||||
 | 
					     * |      |      |      |      |      |             |      |      |      |       |       |
 | 
				
			||||||
 | 
					     * `-------------------------------------------------------------------------------------'
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    [2] = LAYOUT(
 | 
				
			||||||
 | 
					        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_AMPR, 	KC_PIPE, 	KC_LPRN, 	KC_RPRN, 	KC_PLUS, 	KC_MINS, 	KC_LCBR, 	KC_RCBR, 	KC_LBRC, 	KC_RBRC, 	_______, 
 | 
				
			||||||
 | 
							_______, 	KC_EXLM, 	KC_AT, 		KC_HASH, 	KC_CIRC, 	KC_ASTR, 	KC_SLSH, 	KC_TILD, 	KC_LABK, 	KC_RABK, 	KC_QUES, 	_______, 
 | 
				
			||||||
 | 
							_______, 	_______, 	_______, 	_______, 	_______, 			_______, 		_______, 	_______, 	_______, 	_______, 	_______
 | 
				
			||||||
 | 
						)
 | 
				
			||||||
 | 
					}; 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef RGBLIGHT_ENABLE
 | 
				
			||||||
 | 
					const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS({9, 1, HSV_RED});
 | 
				
			||||||
 | 
					const rgblight_segment_t PROGMEM my_ar_numpad_layer[] = RGBLIGHT_LAYER_SEGMENTS({40, 2, HSV_WHITE});
 | 
				
			||||||
 | 
					const rgblight_segment_t PROGMEM my_symbol_layer[] = RGBLIGHT_LAYER_SEGMENTS({28, 2, HSV_WHITE});
 | 
				
			||||||
 | 
					const rgblight_segment_t PROGMEM my_other_layer[] = RGBLIGHT_LAYER_SEGMENTS({16, 2, HSV_WHITE});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
 | 
				
			||||||
 | 
					    my_capslock_layer,		// Caplock indicator
 | 
				
			||||||
 | 
					    my_ar_numpad_layer,		// Arrow keys & Numpad, Operator keys, reset key, RGB control and media control
 | 
				
			||||||
 | 
						my_symbol_layer,		// F1-F12 keys & Symbols
 | 
				
			||||||
 | 
						my_other_layer			// Self-Defined
 | 
				
			||||||
 | 
					);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void keyboard_post_init_user(void) {
 | 
				
			||||||
 | 
					    rgblight_layers = my_rgb_layers;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bool led_update_user(led_t led_state) {
 | 
				
			||||||
 | 
					    rgblight_set_layer_state(0, led_state.caps_lock);
 | 
				
			||||||
 | 
					    return true;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					layer_state_t layer_state_set_user(layer_state_t state) {
 | 
				
			||||||
 | 
					    rgblight_set_layer_state(1, layer_state_cmp(state, 1));
 | 
				
			||||||
 | 
					    rgblight_set_layer_state(2, layer_state_cmp(state, 2));
 | 
				
			||||||
 | 
					    rgblight_set_layer_state(3, layer_state_cmp(state, 3));
 | 
				
			||||||
 | 
					    return state;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
							
								
								
									
										68
									
								
								keyboards/quarkeys/z40/keymaps/via/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								keyboards/quarkeys/z40/keymaps/via/keymap.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,68 @@
 | 
				
			|||||||
 | 
					/* 
 | 
				
			||||||
 | 
					/ Copyright 2022 quarkeys
 | 
				
			||||||
 | 
					/ 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
 | 
				
			||||||
 | 
					/ the Free Software Foundation, either version 2 of the License, or
 | 
				
			||||||
 | 
					/ (at your option) any later version.
 | 
				
			||||||
 | 
					/ This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 | 
					/ but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 | 
					/ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 | 
					/ GNU General Public License for more details.
 | 
				
			||||||
 | 
					/ You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					/ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include QMK_KEYBOARD_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
 | 
					    [0] = LAYOUT(
 | 
				
			||||||
 | 
					        KC_ESC,	    KC_Q,       KC_W,       KC_E,       KC_R,       KC_T,       KC_Y,       KC_U,		KC_I,   	KC_O,   	KC_P,    	KC_BSPC, 
 | 
				
			||||||
 | 
							KC_TAB,     KC_A,       KC_S,       KC_D,       KC_F,       KC_G,       KC_H,       KC_J,		KC_K,   	KC_L,   	KC_SCLN, 	KC_QUOT, 
 | 
				
			||||||
 | 
							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_LCTL,    KC_CAPS,    KC_LALT,    KC_LGUI,    MO(1),          KC_SPC,             MO(2),		MO(3),   	_______,   	_______,    KC_ENT
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [1] = LAYOUT(
 | 
				
			||||||
 | 
					        QK_BOOT,	KC_PGUP,	KC_HOME,	KC_UP,		KC_END,		KC_DEL,		KC_BSLS,	KC_7,		KC_8,		KC_9,		RGB_TOG,	_______, 
 | 
				
			||||||
 | 
							_______, 	KC_PGDN, 	KC_LEFT, 	KC_DOWN, 	KC_RGHT, 	KC_PLUS, 	KC_MINS, 	KC_4, 		KC_5, 		KC_6, 		RGB_MOD, 	_______, 
 | 
				
			||||||
 | 
							_______, 	KC_VOLD, 	KC_VOLU, 	_______, 	_______, 	KC_ASTR, 	KC_SLSH, 	KC_1, 		KC_2, 		KC_3, 		RGB_HUI, 	_______,
 | 
				
			||||||
 | 
							RGB_SAI, 	RGB_SAD, 	RGB_VAI, 	RGB_VAD, 	_______, 			KC_0, 			_______, 	_______, 	KC_DOT, 	RGB_HUD, 	KC_EQL
 | 
				
			||||||
 | 
						),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [2] = LAYOUT(
 | 
				
			||||||
 | 
					        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_AMPR, 	KC_PIPE, 	KC_LPRN, 	KC_RPRN, 	KC_PLUS, 	KC_MINS, 	KC_LCBR, 	KC_RCBR, 	KC_LBRC, 	KC_RBRC, 	_______, 
 | 
				
			||||||
 | 
							_______, 	KC_EXLM, 	KC_AT, 		KC_HASH, 	KC_CIRC, 	KC_ASTR, 	KC_SLSH, 	KC_TILD, 	KC_LABK, 	KC_RABK, 	KC_QUES, 	_______, 
 | 
				
			||||||
 | 
							_______, 	_______, 	_______, 	_______, 	_______, 			_______, 		_______, 	_______, 	_______, 	_______, 	_______
 | 
				
			||||||
 | 
						)
 | 
				
			||||||
 | 
					}; 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef RGBLIGHT_ENABLE
 | 
				
			||||||
 | 
					const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS({9, 1, HSV_RED});
 | 
				
			||||||
 | 
					const rgblight_segment_t PROGMEM my_ar_numpad_layer[] = RGBLIGHT_LAYER_SEGMENTS({40, 2, HSV_WHITE});
 | 
				
			||||||
 | 
					const rgblight_segment_t PROGMEM my_symbol_layer[] = RGBLIGHT_LAYER_SEGMENTS({28, 2, HSV_WHITE});
 | 
				
			||||||
 | 
					const rgblight_segment_t PROGMEM my_other_layer[] = RGBLIGHT_LAYER_SEGMENTS({16, 2, HSV_WHITE});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
 | 
				
			||||||
 | 
					    my_capslock_layer,		// Caplock indicator
 | 
				
			||||||
 | 
					    my_ar_numpad_layer,		// Arrow keys & Numpad, Operator keys, reset key, RGB control and media control
 | 
				
			||||||
 | 
						my_symbol_layer,		// F1-F12 keys & Symbols
 | 
				
			||||||
 | 
						my_other_layer			// Self-Defined
 | 
				
			||||||
 | 
					);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void keyboard_post_init_user(void) {
 | 
				
			||||||
 | 
					    rgblight_layers = my_rgb_layers;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bool led_update_user(led_t led_state) {
 | 
				
			||||||
 | 
					    rgblight_set_layer_state(0, led_state.caps_lock);
 | 
				
			||||||
 | 
					    return true;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					layer_state_t layer_state_set_user(layer_state_t state) {
 | 
				
			||||||
 | 
					    rgblight_set_layer_state(1, layer_state_cmp(state, 1));
 | 
				
			||||||
 | 
					    rgblight_set_layer_state(2, layer_state_cmp(state, 2));
 | 
				
			||||||
 | 
					    rgblight_set_layer_state(3, layer_state_cmp(state, 3));
 | 
				
			||||||
 | 
					    return state;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
							
								
								
									
										2
									
								
								keyboards/quarkeys/z40/keymaps/via/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								keyboards/quarkeys/z40/keymaps/via/rules.mk
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					VIA_ENABLE = yes
 | 
				
			||||||
 | 
					LTO_ENABLE = yes
 | 
				
			||||||
							
								
								
									
										23
									
								
								keyboards/quarkeys/z40/readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								keyboards/quarkeys/z40/readme.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					# Quarkeys Z40 Low Profile Keyboard
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					A 40% Bottom mount low-profile & MX switch compatible keyboard.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Keyboard Maintainer: [Quarkeys Studio](www.quarkeys.com)
 | 
				
			||||||
 | 
					* Hardware Supported: Z40-ACR, Z40-Pastry
 | 
				
			||||||
 | 
					* Hardware Specs: Per-key RGBs, layer & Capslock indicators
 | 
				
			||||||
 | 
					* For [RGB Matrix feature](https://docs.qmk.fm/#/feature_rgb_matrix): `RGB_MATRIX_ENABLE = yes`, `RGBLIGHT_ENABLE = no`.
 | 
				
			||||||
 | 
					* For [RGB Light feature](https://docs.qmk.fm/#/feature_rgblight): `RGB_MATRIX_ENABLE = no`, `RGBLIGHT_ENABLE = yes`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Make example for this keyboard solder version keymap(after setting up your build environment):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    make quarkeys/z40:default
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Flashing example for this keyboard:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    make quarkeys/z40:default:flash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**Bootloader:** Press the `QK_BOOT` keycode at ESC position of layer 1.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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).
 | 
				
			||||||
							
								
								
									
										17
									
								
								keyboards/quarkeys/z40/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								keyboards/quarkeys/z40/rules.mk
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,17 @@
 | 
				
			|||||||
 | 
					# Build Options
 | 
				
			||||||
 | 
					#   change yes to no to disable
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					BOOTMAGIC_ENABLE = yes    	# Enable Bootmagic Lite
 | 
				
			||||||
 | 
					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
 | 
				
			||||||
 | 
					NKRO_ENABLE = yes           # Enable N-Key Rollover
 | 
				
			||||||
 | 
					BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 | 
				
			||||||
 | 
					AUDIO_ENABLE = no           # Audio output
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Do not enable RGB_MATRIX_ENABLE together with RGBLIGHT_ENABLE
 | 
				
			||||||
 | 
					RGBLIGHT_ENABLE = no	    # Enable this and unable RGB_MATRIX_ENABLE to use RGB light effect
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RGB_MATRIX_ENABLE = yes		# Enable this and unable RGBLIGHT_ENABLE to use RGB Matrix effect 
 | 
				
			||||||
 | 
					RGB_MATRIX_DRIVER = WS2812	# Comment out this line when RGBLIGHTING is enabled
 | 
				
			||||||
							
								
								
									
										44
									
								
								keyboards/quarkeys/z40/z40.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								keyboards/quarkeys/z40/z40.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,44 @@
 | 
				
			|||||||
 | 
					/* 
 | 
				
			||||||
 | 
					/ Copyright 2022 quarkeys
 | 
				
			||||||
 | 
					/ 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
 | 
				
			||||||
 | 
					/ the Free Software Foundation, either version 2 of the License, or
 | 
				
			||||||
 | 
					/ (at your option) any later version.
 | 
				
			||||||
 | 
					/ This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 | 
					/ but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 | 
					/ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 | 
					/ GNU General Public License for more details.
 | 
				
			||||||
 | 
					/ You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					/ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "z40.h"
 | 
				
			||||||
 | 
					#ifdef RGB_MATRIX_ENABLE
 | 
				
			||||||
 | 
					led_config_t g_led_config = { {
 | 
				
			||||||
 | 
					    // Key Matrix to LED Index
 | 
				
			||||||
 | 
					    /*
 | 
				
			||||||
 | 
					        { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B }, \
 | 
				
			||||||
 | 
					        { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B }, \
 | 
				
			||||||
 | 
					        { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B }, \
 | 
				
			||||||
 | 
					        { k30, k31, k32, k33, k34, k35, XXX, k36, k37, k38, k39, k3A }\
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					        { 46,     45,     44,     43,     42,     41,     40,     39,     38,     37,     36,     35      },
 | 
				
			||||||
 | 
					        { 34,     33,     32,     31,     30,     29,     28,     27,     26,     25,     24,     23      },
 | 
				
			||||||
 | 
					        { 22,     21,     20,     29,     18,     17,     16,     15,     14,     13,     12,     11      },
 | 
				
			||||||
 | 
					        { 10,      9,      8,      7,      6,          5,          4,      3,      2,      1,      0      }
 | 
				
			||||||
 | 
					  }, 
 | 
				
			||||||
 | 
					  {  // Index to Physical Position
 | 
				
			||||||
 | 
					      {225, 64}, {200, 64}, {180, 64}, {160, 64}, {140, 64},            {110, 64}, { 80, 64}, { 60, 64}, { 40, 64}, { 20, 64}, {  0, 64},
 | 
				
			||||||
 | 
					      {225, 42}, {200, 42}, {180, 42}, {160, 42}, {140, 42}, {120, 42}, {100, 42}, { 80, 42}, { 60, 42}, { 40, 42}, { 20, 42}, {  0, 42},
 | 
				
			||||||
 | 
					      {225, 21}, {200, 21}, {180, 21}, {160, 21}, {140, 21}, {120, 21}, {100, 21}, { 80, 21}, { 60, 21}, { 40, 21}, { 20, 21}, {  0, 21},
 | 
				
			||||||
 | 
					      {225,  0}, {200,  0}, {180,  0}, {160,  0}, {140,  0}, {120,  0}, {100,  0}, { 80,  0}, { 60,  0}, { 40,  0}, { 20,  0}, {  0,  0}
 | 
				
			||||||
 | 
					  }, 
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					      1, 1, 1, 1, 1,    1, 1, 1, 1, 1, 1,
 | 
				
			||||||
 | 
					      1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1,
 | 
				
			||||||
 | 
					      1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1,
 | 
				
			||||||
 | 
					      1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1
 | 
				
			||||||
 | 
					  } 
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
							
								
								
									
										29
									
								
								keyboards/quarkeys/z40/z40.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								keyboards/quarkeys/z40/z40.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,29 @@
 | 
				
			|||||||
 | 
					/* 
 | 
				
			||||||
 | 
					/ Copyright 2022 quarkeys
 | 
				
			||||||
 | 
					/ 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
 | 
				
			||||||
 | 
					/ the Free Software Foundation, either version 2 of the License, or
 | 
				
			||||||
 | 
					/ (at your option) any later version.
 | 
				
			||||||
 | 
					/ This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 | 
					/ but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 | 
					/ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 | 
					/ GNU General Public License for more details.
 | 
				
			||||||
 | 
					/ You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					/ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#pragma once
 | 
				
			||||||
 | 
					#include "quantum.h"
 | 
				
			||||||
 | 
					#define XXX KC_NO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define LAYOUT( \
 | 
				
			||||||
 | 
					    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, \
 | 
				
			||||||
 | 
					    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, \
 | 
				
			||||||
 | 
					    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, \
 | 
				
			||||||
 | 
					    k30, k31, k32, k33, k34,    k35,   k36, k37, k38, k39, k3A \
 | 
				
			||||||
 | 
					) { \
 | 
				
			||||||
 | 
					    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B }, \
 | 
				
			||||||
 | 
					    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B }, \
 | 
				
			||||||
 | 
					    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B }, \
 | 
				
			||||||
 | 
					    { k30, k31, k32, k33, k34, k35, XXX, k36, k37, k38, k39, k3A }\
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user