 fd0bd29a0a
			
		
	
	
		fd0bd29a0a
		
	
	
	
	
		
			
			* Adding my personal planck keymap * Adding readme.md to my keymap * Create my userspace add users/ishtob/ * Moved macros off keymap macros now exsists in my userspace, moved them off keyboard specific keymaps * Create my userspace add users/ishtob/ * rebase from main QMK repo
		
			
				
	
	
		
			69 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
| Based on userspace written by @drashna 2017
 | |
| Copyright 2018 Hsian Chang  <ishtob@gmail.com> @ishtob
 | |
| 
 | |
| 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 "ishtob.h"
 | |
| #include "action.h"
 | |
| #include "action_layer.h"
 | |
| // #include "dynamic_macro.h"
 | |
| #ifdef AUDIO_ENABLE
 | |
|   #include "audio.h"
 | |
| #endif
 | |
| 
 | |
| 
 | |
| // Add reconfigurable functions here, for keymap customization
 | |
| // This allows for a global, userspace functions, and continued
 | |
| // customization of the keymap.  Use _keymap instead of _user
 | |
| // functions in the keymaps
 | |
| __attribute__ ((weak))
 | |
| void matrix_init_keymap(void) {}
 | |
| 
 | |
| __attribute__ ((weak))
 | |
| void matrix_scan_keymap(void) {}
 | |
| 
 | |
| __attribute__ ((weak))
 | |
| bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
 | |
|   return true;
 | |
| }
 | |
| 
 | |
| __attribute__ ((weak))
 | |
| bool process_record_secrets(uint16_t keycode, keyrecord_t *record) {
 | |
|   return true;
 | |
| }
 | |
| 
 | |
| // Call user matrix init, then call the keymap's init function
 | |
| void matrix_init_user(void) {
 | |
|   matrix_init_keymap();
 | |
| }
 | |
| 
 | |
| // No global matrix scan code, so just run keymap's matix
 | |
| // scan function
 | |
| void matrix_scan_user(void) {
 | |
|   matrix_scan_keymap();
 | |
| }
 | |
| 
 | |
| bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | |
|     switch (keycode) {
 | |
|     case DFU:
 | |
|       if (record->event.pressed) {
 | |
|         clear_keyboard();
 | |
|         reset_keyboard();
 | |
|       }
 | |
|       return false;
 | |
|       break;      
 | |
|     }
 | |
|   return process_record_keymap(keycode, record) && process_record_secrets(keycode, record);
 | |
| }
 | |
| 
 |