Add cijanzen Pearl 40% keymap (#2878)
* Add personal keymap for Pearl 40% * Updating readme and adding keymap image * Updated readme * Force make to use Python 3 * cleanup keymap * updated keymap image * update readme for new keymap image * reverting atmega32a_program * removed redundant sections of user config and rules * fixed user config file * fixed led indicators to properly show layer 4
This commit is contained in:
		
							parent
							
								
									ddb1c83695
								
							
						
					
					
						commit
						d1dfefc897
					
				
					 5 changed files with 144 additions and 0 deletions
				
			
		
							
								
								
									
										29
									
								
								keyboards/pearl/keymaps/cijanzen/README.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								keyboards/pearl/keymaps/cijanzen/README.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,29 @@
 | 
				
			||||||
 | 
					# cijanzen's Pearl 40%
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Layout
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The firmware offers five layers:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1. Base layer
 | 
				
			||||||
 | 
					2. Numbers and arrows (Fn1)
 | 
				
			||||||
 | 
					3. F-row and navigation (Fn2)
 | 
				
			||||||
 | 
					4. Media and RGB controls (Fn3)
 | 
				
			||||||
 | 
					5. Utils (Fn2+Fn3)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					A few specifics worth mentioning:
 | 
				
			||||||
 | 
					- Autoshift has been enabled to allow for easier access of shifted keys
 | 
				
			||||||
 | 
					- Tab will operate as tab key on tap and fn layer on hold
 | 
				
			||||||
 | 
					- Indicator LEDs indicate the current layer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Base for this firmware copied from jetpacktuxedo's and rask's QMK firmware
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Compiling and flashing
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					To compile and flash the HEX follow the [Pearl 40% instructions](https://gist.github.com/clee/a43f198a70de0e6dae22d7638b41440a).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					You might need to check the comments at the bottom of the gist as well.
 | 
				
			||||||
							
								
								
									
										27
									
								
								keyboards/pearl/keymaps/cijanzen/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								keyboards/pearl/keymaps/cijanzen/config.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,27 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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/>.
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef CONFIG_USER_H
 | 
				
			||||||
 | 
					#define CONFIG_USER_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include QMK_KEYBOARD_CONFIG_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#undef BACKLIGHT_LEVELS
 | 
				
			||||||
 | 
					#define BACKLIGHT_LEVELS 3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
							
								
								
									
										77
									
								
								keyboards/pearl/keymaps/cijanzen/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								keyboards/pearl/keymaps/cijanzen/keymap.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,77 @@
 | 
				
			||||||
 | 
					#include QMK_KEYBOARD_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define ____ KC_TRNS
 | 
				
			||||||
 | 
					// Tab on tap or Function layer 1 on hold
 | 
				
			||||||
 | 
					#define FN_TAB LT(1, KC_TAB)
 | 
				
			||||||
 | 
					#define KC_SLP KC_SYSTEM_SLEEP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
 | 
					    // BASE LAYER
 | 
				
			||||||
 | 
					    [0] = LAYOUT_all(
 | 
				
			||||||
 | 
					        KC_ESC,    KC_Q,      KC_W,      KC_E,      KC_R,      KC_T,      KC_Y,      KC_U,      KC_I,      KC_O,      KC_P,      KC_LBRC,   KC_RBRC,
 | 
				
			||||||
 | 
					        FN_TAB,    KC_A,      KC_S,      KC_D,      KC_F,      KC_G,      KC_H,      KC_J,      KC_K,      KC_L,      KC_SCLN,              KC_ENT,
 | 
				
			||||||
 | 
					        KC_LSFT,   KC_Z,      KC_X,      KC_C,      KC_V,      KC_B,      KC_N,      KC_M,      KC_COMM,   KC_DOT,    KC_SLSH,              MO(2),
 | 
				
			||||||
 | 
					                   KC_LCTL,   KC_LALT,   KC_LGUI,   KC_BSPC,   KC_BSPC,              KC_SPC,               MO(3),     MO(1)
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
 | 
					    // BASE LAYER TWO (Fn1)
 | 
				
			||||||
 | 
					    [1] = LAYOUT_all(
 | 
				
			||||||
 | 
					        KC_GRV,    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_UP,     KC_QUOT,               KC_BSLS,
 | 
				
			||||||
 | 
					        ____,      ____,      ____,      ____,      ____,      ____,      ____,      ____,      KC_LEFT,   KC_DOWN,   KC_RGHT,               KC_RSFT,
 | 
				
			||||||
 | 
					                   ____,      ____,      ____,      KC_DEL,    KC_DEL,               ____,                 KC_RGUI,   ____
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
 | 
					    // FROW LAYER AND ARROWS (Fn2)
 | 
				
			||||||
 | 
					    [2] = LAYOUT_all(
 | 
				
			||||||
 | 
					        KC_ESC,    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_PGUP,   ____,                  ____,
 | 
				
			||||||
 | 
					        ____,      ____,      ____,      ____,      ____,      ____,      ____,      ____,      KC_HOME,   KC_PGDN,   KC_END,                ____,
 | 
				
			||||||
 | 
					                   MO(4),     ____,      ____,      ____,      ____,                 ____,                 ____,      ____
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
 | 
					    // MEDIA AND RGB (Fn3)
 | 
				
			||||||
 | 
					    [3] = LAYOUT_all(
 | 
				
			||||||
 | 
					        ____,      RGB_M_P,   RGB_M_B,   RGB_M_R,   RGB_M_SW,  RGB_M_SN,  RGB_M_K,   RGB_M_X,   RGB_M_G,   KC_MPRV,   KC_MPLY,   KC_MNXT,    KC_DEL,
 | 
				
			||||||
 | 
					        ____,      ____,      ____,      RGB_HUI,   RGB_SAI,   RGB_VAI,   ____,      ____,      ____,      ____,      ____,                  ____,
 | 
				
			||||||
 | 
					        ____,      RGB_MOD,   RGB_TOG,   RGB_HUD,   RGB_SAD,   RGB_VAD,   BL_TOGG,   BL_STEP,   ____,      ____,      ____,                  ____,
 | 
				
			||||||
 | 
					                   ____,      ____,      ____,      ____,      ____,                 ____,                 ____,      ____
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
 | 
					    // UTIL (Fn1+Fn3)
 | 
				
			||||||
 | 
					    [4] = LAYOUT_all(
 | 
				
			||||||
 | 
					        KC_SLP,    ____,      ____,      ____,      ____,      ____,      ____,      ____,      ____,      ____,      ____,      KC_PSCR,    RESET,
 | 
				
			||||||
 | 
					        ____,      ____,      ____,      ____,      ____,      ____,      ____,      ____,      ____,      ____,      ____,                  ____,
 | 
				
			||||||
 | 
					        ____,      ____,      ____,      ____,      ____,      ____,      ____,      ____,      ____,      ____,      ____,                  ____,
 | 
				
			||||||
 | 
					                   ____,      ____,      ____,      ____,      ____,                 ____,                 ____,      ____
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Status LED layer indicators courtesy of jetpacktuxedo's firmware
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					uint32_t layer_state_set_kb(uint32_t state)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  if (state & (1<<1)) { // if we are on layer 1
 | 
				
			||||||
 | 
					    PORTD |= (1 << PD0); // light num lock led
 | 
				
			||||||
 | 
					  } else if (state & (1<<2)) { // if we are on layer 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (state & (1<<4)) {
 | 
				
			||||||
 | 
					      PORTD |= (1 << PD0); // light all indicator leds
 | 
				
			||||||
 | 
					      PORTD |= (1 << PD1);
 | 
				
			||||||
 | 
					      PORTD |= (1 << PD6);
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					      PORTD &= ~(1 << PD0);
 | 
				
			||||||
 | 
					      PORTD |= (1 << PD1); // light caps lock led
 | 
				
			||||||
 | 
					      PORTD &= ~(1 << PD6);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  } else if (state & (1<<3)) { // if we are on layer 3
 | 
				
			||||||
 | 
					    PORTD |= (1 << PD6); // light scroll lock led
 | 
				
			||||||
 | 
					  } else if (state & (1<<4)) { // if we are stuck on layer 4
 | 
				
			||||||
 | 
					    PORTD |= (1 << PD0); // light all indicator leds
 | 
				
			||||||
 | 
					    PORTD |= (1 << PD1);
 | 
				
			||||||
 | 
					    PORTD |= (1 << PD6);
 | 
				
			||||||
 | 
					  } else {
 | 
				
			||||||
 | 
					    PORTD &= ~(1 << PD0);
 | 
				
			||||||
 | 
					    PORTD &= ~(1 << PD1);
 | 
				
			||||||
 | 
					    PORTD &= ~(1 << PD6);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  return state;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								keyboards/pearl/keymaps/cijanzen/pearl-cijanzen-keymap.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								keyboards/pearl/keymaps/cijanzen/pearl-cijanzen-keymap.jpg
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 415 KiB  | 
							
								
								
									
										11
									
								
								keyboards/pearl/keymaps/cijanzen/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								keyboards/pearl/keymaps/cijanzen/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,11 @@
 | 
				
			||||||
 | 
					# build options
 | 
				
			||||||
 | 
					BOOTMAGIC_ENABLE = yes
 | 
				
			||||||
 | 
					MOUSEKEY_ENABLE = no
 | 
				
			||||||
 | 
					EXTRAKEY_ENABLE = yes
 | 
				
			||||||
 | 
					CONSOLE_ENABLE = no
 | 
				
			||||||
 | 
					COMMAND_ENABLE = yes
 | 
				
			||||||
 | 
					BACKLIGHT_ENABLE = yes
 | 
				
			||||||
 | 
					RGBLIGHT_ENABLE = yes
 | 
				
			||||||
 | 
					RGBLIGHT_CUSTOM_DRIVER = yes
 | 
				
			||||||
 | 
					# TAP_DANCE_ENABLE = yes
 | 
				
			||||||
 | 
					AUTO_SHIFT_ENABLE = yes
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue