 05be1de1aa
			
		
	
	
		05be1de1aa
		
	
	
	
	
		
			
			* FORK! * WIP - just how i like it * empty * more movement * mouse keys * more vimminess * append/insert shift * WIP - vim macros * blocked out layer below in cmd mode. also, about to restart my cmd approach. * WIP - new vim layer ripoff of the ergodox one, but rewritten as a state machine. * debugged some, got key repeat working * moooar coverage * moooar coverage * regular vis mode * basically done with basics. * some refactoring - common movement sequences into helper function - added some rgb controls * modkey passthru feature * stdized on cmd-left/right instead of ctrl-a/e sadly. as there's no reliable shift-ctrl-e * indicator lights * moved vim layer into userspace * cleaned up some yanking edge cases * docs and some tweaks to layerescapes * updated/added license strings * updated comments * moved config changes to keymap * spurious changes removed
		
			
				
	
	
		
			66 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|  /* Copyright 2015-2017 Christon DeWan
 | |
|  *
 | |
|  * 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/>.
 | |
|  */
 | |
| 
 | |
| #ifndef USERSPACE
 | |
| #define USERSPACE
 | |
| 
 | |
| #include QMK_KEYBOARD_H
 | |
| #include "action_layer.h"
 | |
| 
 | |
| #define X_____X KC_NO
 | |
| 
 | |
| bool process_record_xtonhasvim(uint16_t keycode, keyrecord_t *record);
 | |
| 
 | |
| enum xtonhasvim_keycodes {
 | |
|   DUMMY = SAFE_RANGE,
 | |
|   VIM_START, // bookend for vim states
 | |
|   VIM_A,
 | |
|   VIM_B,
 | |
|   VIM_C,
 | |
|   VIM_CI,
 | |
|   VIM_D,
 | |
|   VIM_DI,
 | |
|   VIM_E,
 | |
|   VIM_H,
 | |
|   VIM_G,
 | |
|   VIM_I,
 | |
|   VIM_J,
 | |
|   VIM_K,
 | |
|   VIM_L,
 | |
|   VIM_O,
 | |
|   VIM_P,
 | |
|   VIM_S,
 | |
|   VIM_U,
 | |
|   VIM_V,
 | |
|   VIM_VS, // visual-line
 | |
|   VIM_VI,
 | |
|   VIM_W,
 | |
|   VIM_X,
 | |
|   VIM_Y,
 | |
|   VIM_PERIOD, // to support indent/outdent
 | |
|   VIM_COMMA,  // and toggle comments
 | |
|   VIM_SHIFT, // avoid side-effect of supporting real shift.
 | |
|   VIM_ESC, // bookend
 | |
|   VIM_SAFE_RANGE // start other keycodes here.
 | |
| };
 | |
| 
 | |
| enum xtonhasvim_layers {
 | |
|   _EDIT = 12,
 | |
|   _CMD
 | |
| };
 | |
| 
 | |
| 
 | |
| #endif
 |