[Keymap] clean up userspace, add XD75 / Keyboardio Atreus (#13121)
Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Drashna Jaelre <drashna@live.com>
This commit is contained in:
		
							parent
							
								
									424b9ff709
								
							
						
					
					
						commit
						ade989962a
					
				
					 44 changed files with 2063 additions and 1203 deletions
				
			
		
							
								
								
									
										149
									
								
								users/replicaJunction/process_records.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										149
									
								
								users/replicaJunction/process_records.c
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,149 @@ | |||
| /* Copyright 2021 Joshua T.
 | ||||
|  * | ||||
|  * 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 "process_records.h" | ||||
| 
 | ||||
| uint8_t mod_state; | ||||
| 
 | ||||
| 
 | ||||
| __attribute__ ((weak)) | ||||
| bool process_record_user_kb(uint16_t keycode, keyrecord_t *record) { | ||||
|     return true; | ||||
| } | ||||
| 
 | ||||
| // Runs for each key down or up event.
 | ||||
| bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||||
|     // Returning true here will cause QMK to continue handling the key normally.
 | ||||
|     // Returning false indicates that we've handled everything the keycode should do, and QMK
 | ||||
|     // should not continue handling the keypress.
 | ||||
|     //
 | ||||
|     // NOTE: There is also a process_record_kb function that can be defined in the keyboard-
 | ||||
|     // specific code. This allows the keyboard to have its own process_record function.
 | ||||
|     // This is supposed to be "higher" than the user function, meaning the kb function
 | ||||
|     // is shared for all keymaps for the keyboard.
 | ||||
|     //
 | ||||
|     // For this reason, I add my own function, called process_record_user_kb, and at the end
 | ||||
|     // of this function, I defer to that one if it exists.
 | ||||
|     // return process_record_user(keycode, record);
 | ||||
| 
 | ||||
| 
 | ||||
|     // Custom keycode / function handling, based on the core function
 | ||||
|     // process_record_quantum
 | ||||
|     // https://github.com/qmk/qmk_firmware/blob/master/quantum/quantum.c
 | ||||
| 
 | ||||
|     if (!( | ||||
| #ifdef USER_CAPS_WORD_ENABLE | ||||
|         process_record_caps_word(keycode, record) && | ||||
| #endif | ||||
| #ifdef USER_MOUSE_JIGGLE_ENABLE | ||||
|         process_record_mouse_jiggle(keycode, record) && | ||||
| #endif | ||||
| #ifdef USER_NUM_WORD_ENABLE | ||||
|         process_record_num_word(keycode, record) && | ||||
| #endif | ||||
| #ifdef USER_SECRETS_ENABLE | ||||
|         process_record_secrets(keycode, record) && | ||||
| #endif | ||||
| #ifdef USER_SUPER_ALT_TAB_ENABLE | ||||
|         process_record_super_alt_tab(keycode, record) && | ||||
| #endif | ||||
|         true)) { | ||||
|         return false; | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     // Miscellaneous keycode handling
 | ||||
|     mod_state = get_mods(); | ||||
| 
 | ||||
|     switch(keycode) | ||||
|     { | ||||
|         case QK_MAKE: { | ||||
|             if (record->event.pressed) | ||||
|                 SEND_STRING("qmk compile --keyboard " QMK_KEYBOARD " --keymap " QMK_KEYMAP); | ||||
|             return false; | ||||
|         } | ||||
|         case QK_FLSH: { | ||||
|             if (record->event.pressed) { | ||||
|                 SEND_STRING("qmk flash --keyboard " QMK_KEYBOARD " --keymap " QMK_KEYMAP); | ||||
|             } | ||||
|             return false; | ||||
|         } | ||||
|         case QK_VERS: { | ||||
|             if (record->event.pressed) { | ||||
|                 SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION ", Built on: " QMK_BUILDDATE); | ||||
|             } | ||||
|             return false; | ||||
|         } | ||||
|         case PRG_EQ: { | ||||
|             if (record->event.pressed) { | ||||
|                 SEND_STRING("=="); | ||||
|             } | ||||
|             return false; | ||||
|         } | ||||
|         case PRG_NE: { | ||||
|             if (record->event.pressed) { | ||||
|                 SEND_STRING("!="); | ||||
|             } | ||||
|             return false; | ||||
|         } | ||||
|         case PRG_GEQ: { | ||||
|             if (record->event.pressed) { | ||||
|                 SEND_STRING(">="); | ||||
|             } | ||||
|             return false; | ||||
|         } | ||||
|         case PRG_LEQ: { | ||||
|             if (record->event.pressed) { | ||||
|                 SEND_STRING("<="); | ||||
|             } | ||||
|             return false; | ||||
|         } | ||||
|         case PRG_ARR: { | ||||
|             if (record->event.pressed) { | ||||
|                 SEND_STRING("=>"); | ||||
|             } | ||||
|             return false; | ||||
|         } | ||||
| 
 | ||||
|         case PS_ITEM: { | ||||
|             if (record->event.pressed) { | ||||
|                 SEND_STRING("$_"); | ||||
|             } | ||||
|             return false; | ||||
|         } | ||||
|         case FS_PIPE: { | ||||
|             if (record->event.pressed) { | ||||
|                 SEND_STRING("|>"); | ||||
|             } | ||||
|             return false; | ||||
|         } | ||||
|         case FS_ARR: { | ||||
|             if (record->event.pressed) { | ||||
|                 SEND_STRING("->"); | ||||
|             } | ||||
|             return false; | ||||
|         } | ||||
|         case SHEBANG: { | ||||
|             if (record->event.pressed) { | ||||
|                 SEND_STRING("#!"); | ||||
|             } | ||||
|             return false; | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     return process_record_user_kb(keycode, record); | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Joshua T
						Joshua T