forked from mfulz_github/qmk_firmware
		
	[Keymap] Add initial Unicorne keyboard layout for bcat (#15613)
This commit is contained in:
		
							parent
							
								
									c6ad3bf23d
								
							
						
					
					
						commit
						9475767e7a
					
				
							
								
								
									
										19
									
								
								keyboards/yanghu/unicorne/keymaps/bcat/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								keyboards/yanghu/unicorne/keymaps/bcat/config.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,19 @@ | ||||
| /* Copyright 2021 Jonathan Rascher
 | ||||
|  * | ||||
|  * 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 BCAT_ORTHO_LAYERS | ||||
							
								
								
									
										83
									
								
								keyboards/yanghu/unicorne/keymaps/bcat/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								keyboards/yanghu/unicorne/keymaps/bcat/keymap.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,83 @@ | ||||
| /* Copyright 2021 Jonathan Rascher
 | ||||
|  * | ||||
|  * 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 | ||||
| 
 | ||||
| #include "bcat.h" | ||||
| 
 | ||||
| #if defined(OLED_ENABLE) | ||||
| #    include "bcat_oled.h" | ||||
| #endif | ||||
| 
 | ||||
| const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||
|     // clang-format off
 | ||||
|     /* Default layer: http://www.keyboard-layout-editor.com/#/gists/b6d0b16a913e7d1faeafc9fc751c413f */ | ||||
|     [LAYER_DEFAULT] = LAYOUT( | ||||
|         KC_TAB,   KC_Q,     KC_W,     KC_E,     KC_R,     KC_T,                         KC_Y,     KC_U,     KC_I,     KC_O,     KC_P,     KC_BSPC, | ||||
|         KC_ESC,   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_MPLY,  KC_LCTL,  LY_LWR,   KC_SPC,   KC_ENT,   LY_RSE,   KC_RALT,  KC_MUTE | ||||
|     ), | ||||
|     /* Lower layer: http://www.keyboard-layout-editor.com/#/gists/99dd65d3b857a272be7a1804b20bc266 */ | ||||
|     [LAYER_LOWER] = LAYOUT( | ||||
|         MC_ALTT,  KC_EXLM,  KC_AT,    KC_HASH,  KC_DLR,   KC_PERC,                      KC_CIRC,  KC_AMPR,  KC_ASTR,  KC_LPRN,  KC_RPRN,  _______, | ||||
|         KY_CSPC,  KY_ZMRST, KY_ZMOUT, KY_ZMIN,  KC_WBAK,  KC_WFWD,                      KC_PIPE,  KC_UNDS,  KC_PLUS,  KC_LCBR,  KC_RCBR,  KC_TILD, | ||||
|         _______,  KC_APP,   KC_PSCR,  KC_SLCK,  KC_PAUS,  KC_LGUI,                      KC_BSLS,  KC_MINS,  KC_EQL,   KC_LBRC,  KC_RBRC,  KC_GRV, | ||||
|                                       _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______ | ||||
|     ), | ||||
|     /* Raise layer: http://www.keyboard-layout-editor.com/#/gists/cf9e899867763dc45b65917ce4cf93ff */ | ||||
|     [LAYER_RAISE] = LAYOUT( | ||||
|         KC_CAPS,  KC_1,     KC_2,     KC_3,     KC_4,     KC_5,                         KC_6,     KC_7,     KC_8,     KC_9,     KC_0,     _______, | ||||
|         _______,  KC_F1,    KC_F2,    KC_F3,    KC_F4,    KC_F5,                        KC_LEFT,  KC_DOWN,  KC_UP,    KC_RGHT,  KC_F11,   KC_DEL, | ||||
|         _______,  KC_F6,    KC_F7,    KC_F8,    KC_F9,    KC_F10,                       KC_HOME,  KC_PGDN,  KC_PGUP,  KC_END,   KC_F12,   KC_INS, | ||||
|                                       _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______ | ||||
|     ), | ||||
|     /* Adjust layer: http://www.keyboard-layout-editor.com/#/gists/7eb0f1c437169f30cc18eac271ad2302 */ | ||||
|     [LAYER_ADJUST] = LAYOUT( | ||||
|         _______,  MU_TOG,   KC_MPLY,  KC_VOLU,  KC_MSTP,  _______,                      EEP_RST,  RESET,    _______,  _______,  _______,  _______, | ||||
|         _______,  MU_MOD,   KC_MPRV,  KC_VOLD,  KC_MNXT,  _______,                      RGB_RMOD, RGB_VAD,  RGB_VAI,  RGB_MOD,  RGB_SPI,  _______, | ||||
|         _______,  _______,  _______,  KC_MUTE,  _______,  _______,                      RGB_HUI,  RGB_SAD,  RGB_SAI,  RGB_HUD,  RGB_SPD,  _______, | ||||
|                                       _______,  _______,  _______,  _______,  RGB_TOG,  _______,  _______,  _______ | ||||
|     ), | ||||
|     // clang-format on
 | ||||
| }; | ||||
| 
 | ||||
| bool encoder_update_user(uint8_t index, bool clockwise) { | ||||
|     switch (index) { | ||||
|         case 0: | ||||
|             /* Left encoder (scrolling) */ | ||||
|             tap_code(clockwise ? KC_PGDN : KC_PGUP); | ||||
|             return false; | ||||
|         case 1: | ||||
|             /* Right encoder (volume) */ | ||||
|             tap_code(clockwise ? KC_VOLU : KC_VOLD); | ||||
|             return false; | ||||
|         default: | ||||
|             return true; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| #if defined(OLED_ENABLE) | ||||
| oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_270; } | ||||
| 
 | ||||
| void oled_task_keymap(const oled_keyboard_state_t *keyboard_state) { | ||||
|     render_oled_layers(); | ||||
|     oled_advance_page(/*clearPageRemainder=*/false); | ||||
|     oled_advance_page(/*clearPageRemainder=*/false); | ||||
|     render_oled_wpm(keyboard_state->wpm); | ||||
|     render_oled_pet(/*col=*/0, /*line=*/6, keyboard_state); | ||||
| } | ||||
| #endif | ||||
							
								
								
									
										33
									
								
								keyboards/yanghu/unicorne/keymaps/bcat/readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								keyboards/yanghu/unicorne/keymaps/bcat/readme.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,33 @@ | ||||
| # bcat's Unicorne layout | ||||
| 
 | ||||
| This ergo layout follows my preferred [split 3x6 + 3 thumb | ||||
| keys](https://github.com/qmk/qmk_firmware/tree/master/layouts/community/split_3x6_3/bcat) | ||||
| layout, adding bindings for the two rotary encoders on the bottom row. (The | ||||
| left encoder scrolls vertically and the right encoder adjusts volume.) Also, | ||||
| since the Unicorne keyboard has a speaker, I added bindings on the adjust layer | ||||
| to activate and configure music mode. Finally, an adorable unicorn prances on | ||||
| the OLED, running faster the quicker you type. | ||||
| 
 | ||||
| ## Default layer | ||||
| 
 | ||||
|  | ||||
| 
 | ||||
| ([KLE](http://www.keyboard-layout-editor.com/#/gists/b6d0b16a913e7d1faeafc9fc751c413f)) | ||||
| 
 | ||||
| ## Lower layer | ||||
| 
 | ||||
|  | ||||
| 
 | ||||
| ([KLE](http://www.keyboard-layout-editor.com/#/gists/99dd65d3b857a272be7a1804b20bc266)) | ||||
| 
 | ||||
| ## Raise layer | ||||
| 
 | ||||
|  | ||||
| 
 | ||||
| ([KLE](http://www.keyboard-layout-editor.com/#/gists/cf9e899867763dc45b65917ce4cf93ff)) | ||||
| 
 | ||||
| ## Adjust layer | ||||
| 
 | ||||
|  | ||||
| 
 | ||||
| ([KLE](http://www.keyboard-layout-editor.com/#/gists/7eb0f1c437169f30cc18eac271ad2302)) | ||||
							
								
								
									
										1
									
								
								keyboards/yanghu/unicorne/keymaps/bcat/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								keyboards/yanghu/unicorne/keymaps/bcat/rules.mk
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | ||||
| BCAT_OLED_PET = isda | ||||
| @ -49,3 +49,4 @@ compile kbdfans/kbd67/hotswap 65_ansi_blocker_split_bs | ||||
| compile keebio/bdn9/rev1 | ||||
| compile keebio/quefrency/rev1 | ||||
| compile lily58/rev1 | ||||
| compile yanghu/unicorne/f411 | ||||
|  | ||||
| @ -24,6 +24,7 @@ AN-C, CannonKeys Instant60, DZ60. | ||||
| ### Ergo | ||||
| 
 | ||||
| * [Lily58](https://github.com/qmk/qmk_firmware/tree/master/keyboards/lily58/keymaps/bcat) | ||||
| * [Unicorne](https://github.com/qmk/qmk_firmware/tree/master/keyboards/yanghu/unicorne/keymaps/bcat) | ||||
| 
 | ||||
| ### Ortho | ||||
| 
 | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| # Enable Bootmagic Lite for keyboards that don't have an easily accessible
 | ||||
| # reset button, but keep it disabled for all others to reduce firmware size.
 | ||||
| ifneq ($(filter $(strip $(KEYBOARD)),ai03/polaris dz60 kbdfans/kbd67/hotswap),) | ||||
| ifneq ($(filter $(strip $(KEYBOARD)),ai03/polaris dz60 kbdfans/kbd67/hotswap yanghu/unicorne/f411),) | ||||
| 	BOOTMAGIC_ENABLE = yes | ||||
| else | ||||
| 	BOOTMAGIC_ENABLE = no | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Jonathan Rascher
						Jonathan Rascher