 2881f53dd4
			
		
	
	
		2881f53dd4
		
	
	
	
	
		
			
			* [refactor] updating ninjonas layout blocks and standardized LOWER & ADJUST * [feat] added new macro M_TERM to open MacOS terminal app * [feat] introducing mod-tap functionality on keymap * [fix] fixing oled turning on when it feels like it. thanks @drashna for helping * [feat] updating OLED to rotate logo 180 degrees * [feat] updating keymaps to reflect VSCode frequent habits * [refactor] converting crkbd modifier keys to layer blocks * [fix(#6903)] converting _delay_ms to wait_ms on launching terminal macro
		
			
				
	
	
		
			109 lines
		
	
	
		
			No EOL
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			109 lines
		
	
	
		
			No EOL
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # QMK User Configuration for [ninjonas](https://github.com/ninjonas/qmk-yonas)
 | ||
| Tired of copying and pasting the same macros and tap dances for all my keymaps. Utilizing user keymaps functionality.
 | ||
| See: https://docs.qmk.fm/#/feature_userspace
 | ||
| 
 | ||
| ## [ninjonas.c](ninjonas.c)
 | ||
| - ninjonas [QMK user configuration](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_userspace.md)
 | ||
| - On `keymap.c` include `ninjonas.h`
 | ||
|   ```c
 | ||
|   #include "ninjonas.h"
 | ||
|   ```
 | ||
| 
 | ||
| ## Supported Keyboards
 | ||
| - [Crkbd ](../../keyboards/crkbd/keymaps/ninjonas)
 | ||
| - [Hotdox](../../keyboards/hotdox/keymaps/ninjonas)
 | ||
| - [Pinky3](../../keyboards/pinky/3/keymaps/ninjonas)
 | ||
| - [Lily58](../../keyboards/lily58/keymaps/ninjonas)
 | ||
| 
 | ||
| ## Features
 | ||
| ### [Keys](ninjonas.h#L37)
 | ||
| |Code | Description |
 | ||
| |---|---|
 | ||
| |K_LOCK | MacOS shortcut to execute lock command  + CTRL + Q |
 | ||
| |K_CSCN | MacOS shortcut to copy a portion of the screen to the clipboard |
 | ||
| |K_MDSH | MacOS shortcut to get em-dash `–` |
 | ||
| |K_RAPP | MacOS shortcut to switch apps to the right |
 | ||
| |K_LAPP | MacOS shortcut to switch apps to the left |
 | ||
| 
 | ||
| ### [Layers](ninjonas.h#L44)
 | ||
| |Code | Description |
 | ||
| |---|---|
 | ||
| |LT_LOW | Tap for ENTER, hold for RAISE |
 | ||
| |LT_RAI | Tap for SPACE, hold for LOWER |
 | ||
| |LT_LOW + LT_RAI | Hold for ADJUST  |
 | ||
| |LM_LOW | Dedicated key to momentarily toggle to use LOWER layer |
 | ||
| |LM_RAI | Dedicated key to momentarily toggle to use RAISE layer |
 | ||
| 
 | ||
| ### [Mod-Taps](ninjonas.h#L50)
 | ||
| |Code | Description |
 | ||
| |---|---|
 | ||
| |MT_DEL | Tap for Delete, hold for  + ALT + SHIFT |
 | ||
| |MT_EQL | Tap for =, hold for ALT + SHIFT |
 | ||
| 
 | ||
| ### [Layout Blocks](ninjonas.h#L54)
 | ||
| Predefined keyboard layout templates to speed up configuring split keyboards
 | ||
| 
 | ||
| |Code | Description |
 | ||
| |---|---|
 | ||
| |QWERTY | Qwerty Layout |
 | ||
| |DVORAK | Dvorak Layout |
 | ||
| |COLEMAK | Colemak Layout |
 | ||
| |NUM | Number Rows |
 | ||
| |FUNC | Function Rows |
 | ||
| |SYM | Symbol Rows \(When holding shift on numbers\) |
 | ||
| |NAV | Navigation Cluster |
 | ||
| |MOUSE | Mouse Cluster |
 | ||
| |MEDIA | Media Cluster |
 | ||
| |MOD | Modifier Cluster |
 | ||
| 
 | ||
| ### [Macros](process_records.c)
 | ||
| |Code | Description |
 | ||
| |---|---|
 | ||
| |M_PYNV | macro to activate pyenv with the name `jira` |
 | ||
| |M_MAKE | macro to send QMK make command to compile keyboard |
 | ||
| |M_FLSH | macro to send QMK make command to compile keyboard with the correct bootloader |
 | ||
| |M_VRSN | macro to send QMK version |
 | ||
| |M_SHFT | Sends  + alt + shift to a keycode to activate [ShiftIt](https://github.com/fikovnik/ShiftIt) |
 | ||
| |M_CODE | Opens [Visual Studio Code](https://code.visualstudio.com/) on current directory |
 | ||
| |M_TERM | Launches Spotlight and calls Terminal |
 | ||
| |M_XXX1 to M_XXX5 | Reserved for secret macros see [Secrets](#secrets)  |
 | ||
| 
 | ||
| ### [Tap-Dance](tap_dances.h)
 | ||
| |Code | Description |
 | ||
| |---|---|
 | ||
| |T_ESC | Tap once for ESC, double tap for CAPS_LOCK |
 | ||
| |T_LBRC | Tap once for [, double for back browser |
 | ||
| |T_RBRC | Tap once for ], double for forward browser |
 | ||
| |T_TAB | Tap once for TAB, double for CTRL + TAB |
 | ||
| |T_GRV | Tap once for GRV, double for  + GRV |
 | ||
| |T_GUI | Tap once for , double to open spotlight |
 | ||
| |T_W | Tap for W, double tap for  + W |
 | ||
| |T_Q | Tap for Q, double tap for  + Q |
 | ||
| 
 | ||
| ### Secrets
 | ||
| There's times where you have macros you don't want to share like emails, an address you need but you always forget, passwords 😱, & and private strings. Based off [drashna's secret macros](https://github.com/qmk/qmk_firmware/blob/master/users/drashna/readme_secrets.md), it's now possible to do this. All you need to do is create a `secrets.c` file. Below is an example of how this is used.
 | ||
| 
 | ||
| ```c
 | ||
| // secrets.c
 | ||
| #include "ninjonas.h"
 | ||
| 
 | ||
| static const char * const secret[] = {
 | ||
|   "BLANK1",
 | ||
|   "BLANK2",
 | ||
|   "BLANK3",
 | ||
|   "BLANK4",
 | ||
|   "BLANK5"
 | ||
| };
 | ||
| 
 | ||
| bool process_record_secrets(uint16_t keycode, keyrecord_t *record) {
 | ||
|   switch (keycode) {
 | ||
|     case M_XXX1...M_XXX5:
 | ||
|       if (record->event.pressed) {
 | ||
|         send_string(secret[keycode - M_XXX1]);
 | ||
|       }
 | ||
|       break;
 | ||
|   }
 | ||
|   return true;
 | ||
| }
 | ||
| 
 | ||
| ``` |