 32d03eef90
			
		
	
	
		32d03eef90
		
			
		
	
	
	
	
		
			
			* feat(build): added script for compiling with docker easily * chore: bring my own build with docker to master * chore: delete a file that does not make sense anymore * feat: first redox for danielo * chore: basic compatibility between redox and my space * refactor: removed some old stuff * feat: added go coding symbols * feat: name control_k and alt_j * chore: reduce combo term * feat: improved first layer of redox * feat: add configurations to the redox * feat: make alt tab more portable * feat: small improvements to redox layout * feat: added leader * refactor: move leader defs to my userspace config * chore: movement modified * feat: more predefined keys and a a new combo * feat: redox alt tab functionality * refactor: move alt_tab processing to a separate file * refactor: early return * refactor: move process record to a separate file * format leader function * chore: backspace on digits layer * feat: add extra combo * feat: added more combos * implement guard proposed by @drashna Co-Authored-By: Drashna Jaelre <drashna@live.com> * chore: include @drashna placeholder suggestion Co-Authored-By: Drashna Jaelre <drashna@live.com> Co-authored-by: Drashna Jaelre <drashna@live.com>
		
			
				
	
	
		
			38 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #include "danielo515.h"
 | |
| #include "alt_tab.h"
 | |
| 
 | |
| bool                       altPressed = false;
 | |
| __attribute__((weak)) void alt_tab_activated(void){};
 | |
| __attribute__((weak)) void alt_tab_deactivated(void){};
 | |
| extern bool                onMac;
 | |
| 
 | |
| // =============== ALT_TAB single key handling
 | |
| bool process_alt_tab(uint16_t keycode, keyrecord_t *record) {
 | |
|     switch (keycode) {
 | |
|         case ALT_TAB:
 | |
|             if (!record->event.pressed) {
 | |
|                 return false;
 | |
|             }
 | |
|             if (altPressed) {
 | |
|                 tap_code(KC_TAB);
 | |
|             } else {
 | |
|                 altPressed = true;
 | |
|                 onMac ? register_code(KC_LGUI) : register_code(KC_LALT);
 | |
|                 tap_code(KC_TAB);
 | |
|                 alt_tab_activated();
 | |
|             }
 | |
|         // avoid alt releasing if the key is of movement
 | |
|         case KC_RIGHT ... KC_UP:
 | |
|             if (altPressed) {
 | |
|                 return true;  // yes QMK, do your stuff
 | |
|             }
 | |
|     }
 | |
|     // Reset sticky alt tab when any other key is pressed
 | |
|     if (altPressed) {
 | |
|         onMac ? unregister_code(KC_LGUI) : unregister_code(KC_LALT);
 | |
|         altPressed = false;
 | |
|         alt_tab_deactivated();
 | |
|         return false;
 | |
|     }
 | |
|     return true;
 | |
| };
 |